c例题 习题
C程序设计基础练习题4及答案
一、单选题1、以下数组定义中,错误的是()。
A.inta[3]={‰2,3,4};B.inta[]={l,2,3};C.inta[5]={l z2,3};D.inta[5],b;正确答案:A解析:A、数组长度为3,但赋了4个初值2、设有定义inta[10]={0};则说法正确的是()。
A.数组初始化错误,初值个数少于数组元素个数B.数组a有10个元素,各元素的值为0C.数组a有1个元素,其值为0D.数组a有10个元素,其中a[0]的值为0,其他元素的值不确定正确答案:B解析:B、当定义的同时,给数组赋了初值,但初值个数小于数组长度时,剩余的数组元素全赋为03、执行下面的初始化语句,()保存的不是字符串。
A.charstr[6]={,S, ,r,,,i√n,,,g,};B.charstr[]={'S';t','r,,,i,z,n∖,g,,0};C.charstr[10]={'S',,t',,r',,i√n∖,g,,,∖0,};D.charstr[10]="String";正确答案:A解析:A、Str数组长度为6,6个元素值都不是'0)没有成为字符串B›,∖0,的ASClI码是0,初始化为。
或'∖0'是一样的。
4、设有以下定义,则数组Sl和s2()ocharsl[]={'S'z,t','r'∕i√n','g');chars2[]="String";A.长度不同,但内容相同B.长度相同,内容也相同C.长度相同,但内容不同D.长度不同,内容也不同正确答案:D解析:D、s2比Sl多一个∖0T长度多15、设已定义charstr[6]={,a√b√∖O√c√d√∖O,};执行语句printf(("%s",str)后,输出结果为()。
C语言逻辑推理例题(附答案)
参考答案:
#include<stdio.h>
#include<stdlib.h>
main()
{
short a,b,c,d,e,l1,l2,l3; /*a,b,c,d,e分别代表小狗,小兔,小猫,小猴,小鹿*/
for(a=1;a<=5;a++)
for(b=1;b<=5;b++)
C:“在A和D中间有一个是罪犯。”
D:“B说的是事实”
经过充分的调查,证实四人中只有两人说了真话,并且罪犯只有一个。请确定真正的罪犯。
参考答案:(1)
#include<stdio.h>
#include<stdlib.h>
main()
{
short a,b,c,d,l1,l2,l3,l4;
for(a=0;a<=1;a++)
if(l1==1&&l2==1&&l3==1&&l4==1&&l5==1)/*如果都成立*/
printf("%d,%d,%d,%d,%d\n",y,o,f,m,d);/*输出结果*/
}
}
}
}
system("pause");
}
3、甲、乙、丙三人,一个人喜欢看足球,一个人喜欢看拳击,一个人喜欢看篮球。已知甲不爱看篮球,丙既不喜欢看篮球又不喜欢看足球。现有足球、拳击、篮球比赛的入场券各一张,请你根据他们的爱好,把票分给他们。
丙:1号是亚洲,5号是非洲;
丁:4号是非洲,3号是大洋洲;
戊:2号是欧洲,5号是美洲。
c语言习题(1-4章)
A.八进制数B.十六进制数C.十进制数D.非法数
8.下列可以正确表示字符型常量的是(B)
A.”a”B.’\t’C.”\n”D.\168
9.已知int i; float f;,正确的语句是(D)
A. int(f)%2.0; B.int(f)%i;
C. int(f%i); D(int)f%i;
float y=123.4567;
printf(“ x=%2d,x=%6d,x=%o,x=%x\n”,x,x,x,x);
printf(“y=%8.4f,y=%8.2f,y=%.5\n”,y,y,y);
}
答案:x=127, x=127, x=177
y=123.4567,y=123.46, y=123.45670
5
#include<stdio.h>
void main()
{
Int x=3,y=5;
Printf(“%d,%d\n”,(x--,--y),x++);
}
答案:4,3
6
#include<stdio.h>
void main()
{
Int a=3;
Printf(“%d,%d\n”,a,(a-=a*a));
}
答案:-6,-6
5 若变量以说明为int类型,要给a、b、c输入数据,以下正确的输入语句是( A )
A scanf (“%d%d%d”,&a,&b,&c);
B scanf ( “%d%d%d,”a,b,c);
C scanf ( “%D%D%D”,&a;&b,&c);
D scanf (“%d%d%d”,&a,&b,&c);
C语言程序设计及实验指导练习及习题参考答案(8--10)
C语言程序设计及实验指导练习及习题参考答案(8--10) 8练习参考答案1、练习8-1.如果有定义:intm,n=5,某p=&m;与m=n等价的语句是BA.m=某p;B.某p=某&n;C.m=&n;D.m=某某p;8-2.设计一个程序计算输入的两个数的和与差,要求自定义一个函数um_diff(floatop1,floatop2,float某pum,float某pdiff),其中op1和op2是输入的两个数,某pum和某pdiff是计算得出的和与差。
解答:#includeintmain(void){floatop1,op2,um,diff;voidum_diff(floatop1,floatop2,float某pum,float某pdiff);printf(“inputop1andop2:“);canf(“%f%f”,&op1,&op2);um_d iff(op1,op2,&um,&diff);printf(“%f+%f=%f;%f-%f=%f\\n”,op1,op2,um,op1,op2,diff);return0;}voidum_diff(floatop1,floatop2,float某pum,float某pdiff){某pum=op1+op2;某pdiff=op1–op2;}8-3.两个相同类型的指针变量能不能相加?为什么?解答:不能。
因为指针变量是一种特殊的变量,指针变量的值存放的是所指向变量的地址,两个地址相加并不能保证结果为一个有效的地址值,因而在C语言中指针变量相加是非法的。
8-4.根据表8.2所示,这组数据的冒泡排序其实循环到第6遍(即n-2)时就已经排好序了,说明有时候并不一定需要n-1次循环。
请思考如何改进冒泡排序算法并编程实现(提示:当发现一遍循环后没有数据发生交换,说明已经排好序了)。
解答:设置一个标志变量flag,进入一轮循环前设置为0,在循环中有发生数据交换就改写flag值为1。
C语言习题3
第四章最简单的C程序设计4.1 选择题【题4.1】putchar函数可以向终端输出一个 D 。
A)整型变量表达式值B)实型变量值C)字符串D)字符或字符型变量值【题4.2】以下程序的输出结果是 D 。
main(){printf(“\n*s1=%15s*”, “chinabeijing”);printf(“\n*s2=%-5s*”, “chi”);}A)*s1=chinabeijing * B)*s1=chinabeijing **s2=**chi* *s2=chi *C)*s1=*chinabeijing* D)*s1= chinabeijing**s2=chi* *s2=chi *【题4.3】printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。
如果字符串长度大于5,则输出按方式【B;如果字符串长度小于5,则输出按方式【C】。
A)从左起输出该字串,右补空格B)按原字符长从左向右全部输出C)右对齐输出该字串,左补空格D)输出错误信息【题4.4】已有定义int a=-2;和输出语句:printf(“%8lx”,a);以下正确的叙述是D 。
A)整型变量的输出格式符只有%d一种B)%x是格式符的一种,它可以适用于任何一种类型的数据C)%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的D)%8lx不是错误的格式符,其中数字8规定了输出字段的宽度【题4.5】以下C程序正确的运行结果是。
main(){long y=-43456;printf(“y=%-8ld\n”,y);printf(“y=%-08ld\n”,y);printf(“y=%08ld\n”,y);printf(“y=%+8ld\n”,y);}A)y= -43456 B)y=-43456y=- 43456 y=-43456y=-0043456 y=-0043456y=-43456 y=+-43456C)y=-43456 D)y= -43456y=-43456 y=-0043456y=-0043456 y=00043456y= -43456 y=+43456【题4.6】以下C程序正确的运行结果是。
50道C++编程练习题及解答
50道C/C++编程练习题1、输入3个数,求最大值int main(){ int a,b,c,m;cin>>a>>b>>c;m=a;if(b>m) m=b;if(c>m) m=c;cout<<m;}2、编程序,求方程ax2+bx+c=0的根#include<iostream>#include<cmath>using namespace std;int main(){double a,b,c,d,x1,x2;cin>>a>>b>>c;if(a==0)if(b==0) cout<<"error\n";else cout<< "x="<<-c/b<<endl;else{ d=b*b-4*a*c;if(fabs(d)<=1e-6)cout<<"x1=x2="<<-b/(2*a)<<endl;else if(d>1e-6){ x1=(-b+sqrt(d))/(2*a);x2=(-b-sqrt(d))/(2*a);cout<<"x1="<<x1<<",x2="<<x2<<endl; }else cout<<"方程无实根\n";}}3、输入一个成绩,打印相应的等级int main(){ int a;cin >> a;if(a>=90) cout<<"A";else if(a>=80) cout<<"B";else if(a>=70) cout<<"C";else if(a>=60) cout<<"D";else cout<<"E";} 4、输入3个double类型的值,判断这3个值是否可以表示一个三角形的三条边。
C 习题与答案
第一章习题一、选择填空1.下列各种高级语言中,()是面向对象的程序设计语言。
A.BASIC;B.PASCAL;C.C++D.Ada2.下列各种高级语言中,()是最早提出了对象的概念。
A.Algol60;B.Simula67;C.Smalltalk;D.C++3.下述面向对象抽象的原理中,()是不对的。
A.数据抽象;B.行为共享;C.进化;D.兼容;4.()不是面向对象系统所包含的要数。
A.重载;B.对象;C.类;D.继承;5.关于C++与C语言的关系的描述中,()是错误的。
A.C语言是C++的一个子集;B.C语言与C++是兼容的;C.C++对C语言进行了一些改进;D.C++和C语言都是面向对象的;6.下面关于对象概念的描述中,()是错误的。
A.对象就是C语言中的结构变量;B.对象代表着正在创建的系统中的一个实体;C.对象是一个状态和操作(或方法)的封装体;D.对象之间的信息传递是通过消息进行的;7.下面关于类概念的描述中,()是错误的。
A.类是抽象数据类型的实现;B.类是具有共同行为的若干对象的统一描述体;C.类是创建对象的样板;D.类就是C语言中的结构类型;8.C++对C语言作了很多改进,下列描述中()使得C语言发生了质变,即从面向过程变成为面向对象。
A.增加了一些新的运算符;B.允许函数重载,并允许设置缺省参数;C.规定函数说明必须用原型;D.引进了类和对象的概念;9.按照标识符的要求,()符号不能组成标识符。
A.连接符;B.下划线;C.大小写字母;D.数字字符;10.下列符号中,()不可作为分隔符。
A.,;B.:;C.?;D.;二、判断下列描述的正确性,对者划√,错者划×。
1.C++引进了引用的概念,对编程带来了很多方便。
Y2.C++允许使用友元,但是友元会破坏封装性。
Y3.C++中使用了新的注释符(//),C语言中注释符(/*…*/)不能在C++中使用。
X4.C++中为了减轻使用者的负担,与C语言相比较C++中减少了一些运算符。
【免费下载】C练习题252题其中重点题41题131117
注:红色字体为重点题,黑色字体为非重点题。
答案:蓝色表示练习题第一章餐饮食品中常见的危害因素单选题1.下列食品中,容易引起食物中毒的是:A. 常温下放置较长时间的青专鱼B. 没有煮熟、外表呈青色的四季豆C. 以上都是2.青专鱼特有的引起食物中毒的致病因素是:A. 致病菌B. 组胺C. 亚硝酸盐3.食品中最可能引起食物中毒的危害是:A. 化学性危害和物理性危害B. 细菌和病菌C. 寄生虫和霉菌4.下列哪种食品中的亚硝酸盐含量可能最高?A. 青皮红肉鱼B. 烤肉C. 暴腌菜5.细菌生长良好的温度范围(即危险温度带)是:A. -18℃~30℃B. 25℃~70℃C. 5℃~60℃6.以下哪种食物最可能引起亚硝酸盐食物中毒?A. 变质的鱼肉B. 制作不当的腌肉、肴肉C. 霉变的花生7.下列哪种鱼类可引起组胺食物中毒?A. 河豚鱼B. 金枪鱼C. 青鱼8.大部分餐饮食品中能够实际运用的控制食品中细菌生长繁殖最有效的措施是:A. 控制时间和温度B. 控制酸碱度和氧气C. 控制温度和湿度9.以下哪种食品最适宜于细菌生长?A. 柠檬B. 裱花蛋糕C. 苏打饼干10.为防止豆浆引起的食物中毒,豆浆在煮沸后一般应维持沸腾多少时间?A. 1分钟B. 3分钟C. 5分钟11.以下哪种是国家禁止餐饮业采购、加工和销售的贝类?A. 福寿螺B. 黄泥螺C. 织纹螺12.引起亚硝酸盐食物中毒最常见的原因是:A. 误用亚硝酸盐当食盐用B. 食用腐烂变质蔬菜C. 食用腌腊肉13.预防河豚鱼中毒最有效的措施是。
A. 采用高温长时间(如在200℃温度条件下烹煮2小时)烹煮河豚鱼B. 不食用鲜河豚鱼,只食用河豚鱼干C. 不食用河豚鱼或河豚鱼干多选题1. 以下哪些是致病性病毒的特点?A. 可以通过人的排泄物污染食品B. 在适宜的条件下,食品中的病毒可以增殖C. 可在食品与食品之间传播D. 可在食品接触的表面与食品之间传播2. 以下哪些是河豚鱼的特点?A. 毒素加热后也难以去除B. 除严格按要求加工的干制品外,不得经营任何鲜或冰河豚鱼C. “巴鱼”是河豚的一种,也禁止经营D. 禁止经营任何生或熟的河豚鱼干制品是非题1.烹饪时只要烧熟煮透,就可以杀灭所有细菌。
C语言递归练习(附答案)
dic递归基础练习题:1.求1+2+3+……+n的值int sum(int a,int b){if(b==a) return a;return a+sum(a+1,b);}2. 求1*2*3*……*n的值cheng(int begin,int end){if(begin==end) return begin;return begin * cheng(begin+1,end);}3. 数的全排列问题。
将n个数字1,2,…n的所有排列按字典顺序枚举出猴2 3 12 1 33 1 23 2 14. 数的组合问题。
从1,2,…,n中取出m个数,将所有组合按照字典顺序列出。
如n=3,m=2时,输出:1 21 32 35. 小猴子第一天摘下若干桃子,当即吃掉一半,又多吃一个.第二天早上又将剩下的桃子吃一半,又多吃一个.以后每天早上吃前一天剩下的一半另一个.到第10天早上猴子想再吃时发现,只剩下一个桃子了.问第一天猴子共摘多少个桃子?fruit(int begin,int times){if(times==10) return begin;return fruit((begin+1)*2,times+1);}6. 有雌雄一对兔子,假定过两个月便可繁殖雌雄各一的一对小兔子。
问过n个月后共有多少对兔子?7. 一个人赶着鸭子去每个村庄卖,每经过一个村子卖去所赶鸭子的一半又一只。
这样他经过了七个村子后还剩两只鸭子,问他出发时共赶多少只鸭子?经过每个村子卖出多少只鸭子?duck(int begin,int times){if(times==7) return begin;return duck((begin+1)*2,times+1);}8.著名的菲波拉契(Fibonacci)数列,其第一项为0,第二项为1,从第三项开始,其每一项都是前两项的和。
编程求出该数列前N项数据。
int fbi(int i){if(i<2){if(i == 0) return 0;else return 1;}return fbi(i-1) +fbi(i-2);}9. 求两个数的最大公约数。
50道C++编程练习题及解答-c编程例题
50道C++编程练习题及解答-c编程例题C++作为一种广泛应用的编程语言,通过不断的练习可以帮助我们更好地掌握其语法和编程思维。
以下是为您精心准备的 50 道 C++编程练习题及详细解答,希望能对您的学习有所帮助。
练习题 1:计算两个整数之和题目描述:编写一个 C++程序,输入两个整数,计算并输出它们的和。
```cppinclude <iostream>using namespace std;int main(){int num1, num2, sum;cout <<"请输入第一个整数:";cin >> num1;cout <<"请输入第二个整数:";cin >> num2;sum = num1 + num2;cout <<"两个整数之和为:"<< sum << endl;return 0;}```练习题 2:判断一个数是否为偶数题目描述:编写一个 C++程序,输入一个整数,判断它是否为偶数。
```cppinclude <iostream>using namespace std;int main(){int num;cout <<"请输入一个整数:";cin >> num;if (num % 2 == 0) {cout << num <<"是偶数" << endl;} else {cout << num <<"不是偶数" << endl;}return 0;}```练习题 3:找出三个数中的最大值题目描述:编写一个 C++程序,输入三个整数,找出并输出其中的最大值。
```cppinclude <iostream>using namespace std;int main(){int num1, num2, num3, max;cout <<"请输入第一个整数:";cin >> num1;cout <<"请输入第二个整数:";cin >> num2;cout <<"请输入第三个整数:";cin >> num3;max = num1;if (num2 > max) {max = num2;}if (num3 > max) {max = num3;}cout <<"三个数中的最大值为:"<< max << endl;return 0;}```练习题 4:计算阶乘题目描述:编写一个 C++程序,输入一个正整数,计算并输出它的阶乘。
C语言编程习题及答案
1-1. 编写求圆的面积、周长的程序。
圆的半径从键盘输入。
#include<stdio.h>void main(){float r,c,s;scanf("%f",&r);c=2*3.1415926*r;s=3.1415926*r*r;printf("周长为:%f,面积为:%f\n",c,s);}1-2.输入三个正数,计算并输出由此构成的立方体的体积。
#include<stdio.h>void main(){float a,b,c,v;scanf("%f,%f,%f",&a,&b,&c);v=a*b*c;printf("体积为:%f\n", v);}1-3.输入华氏温度h,计算并输出摄氏温度s. (转换公式:s=5 / 9(h - 30) )。
#include<stdio.h>void main(){float h,s;printf("请输入华氏温度:");scanf("%f",&h);s=5.0/9.0*(h-32);printf(" 摄氏温度为:%f\n", s);1-4.用*号输出字母C的图案。
#include<stdio.h>void main(){printf(" **\n");printf(" *\n");printf("*\n");printf("*\n");printf(" *\n");printf(" **\n");}2-1.输入三个正数a,b,c,如果能构成三角形,计算并输出该三角形的面积。
面积公式:(其中:p=(a+b+c)/2)#include<stdio.h>#include<math.h>#define p(a,b,c,x) sqrt(x*(x-b)*(x-c))void main(){double a,b,c,x;scanf("%lf,%lf,%lf",&a,&b,&c);if(a<0||b<0||c<0||a+b<=c||a+c<=b||b+c<=a)printf("不能构成三角形");else{x=(a+b+c)/2;printf("能构成三角形,面积=%lf\n",p(a,b,c,x));}}2-2.分段函数。
c语言程序基础练习题500道(附答案)
1.下列四组选项中,均不是C语言关健字的选项是( A )。
A) define B) gect C) include D) whileIF char scanf gotype printf case pow2.下面四个选项中,均是合法整型常量的选项是( A )。
A)160 B)-0xcdf C) -01 D)-0x48a-0xffff 01a 986,012 2e5011 0xe 0668 0x3.下面四个选项中,均是不合法的转义符的选项是( B )。
A) '\"' B) '\1011' C) '\011' D) '\abc''\\' '\' '\f' '\101''xf' '\A' '\}' 'x1f'4.下面不正确的字符串常量是( A )。
A)'abc' B)"12'12" C)"0" D)" "5.以下选项中不合法的用户标识符是( A )。
A)abc.c B)file C)Main D)PRINT6.C语言提供的合法关键字是( D )。
A) swithB) cherC) CaseD)default7.下列标识符组中,合法的用户标识符为 AA)_0123与ssipedB)del-word与signedC)list与*jerD) keep%与wind8.在C语言中,逻辑值"真"的表示是用( C )。
A) true B) 整型值0 C)非另整型值D) T9若有以下定义char s='\092';则该语句( b )A)使s的值包含一个字符B)定义不合法,s的值不确定C)使s的值包含4个字符D)使s的值包含3个字符10设C语言中,int类型数据占2个字节,则float类型数据占(D )个字节。
c语言习题及答案
【习题1】一、判断并改错1.1 C程序执行的入口是main()函数,所以main函数必须放在程序的开头。
错误:main函数可以放在程序的任何位置。
并不限定在程序的开头。
定义一个函数包括数据说明部分和执行语句部分,两者可以交叉出现。
错误:不可以交叉出现,数据说明部分在执行语句部分的前面。
scanf("%d,%d",&x,&y);的正确输入格式:3,4<回车>。
正确注释内容太多会影响程序的执行效率。
错误:不会影响程序的执行效率。
因为在编译时,编译系统将注释内容删除或用空格代替,所以注释内容不会编译到目标程序中。
<二、编程题输入圆的半径,求圆的周长,并将结果保留两位小数输出到屏幕上。
提示:定义圆的半径r,圆的周长:2**r,输出结果保留2位小数可以用%.2f输入两个整数,输出其中最大者。
提示:模仿例【习题2】一、单项选择题下面四个选项中,均是不合法的用户标识符的选项是(C)。
A)BA 、x_0、do-B)float、1a0、_YC)x-y、goto、123D)_123、tmp、CHAR下列选项中不正确的常数的选项是(D)。
A)0x12F B)C)D)0388下面正确的字符常量是(B)。
A)"a" B)'\\' C)"\n" D)"\376"下面正确的字符串常量是(C )。
A)'a' B)'376' C)"\\n" D)376表达式'A'+4*'b'的正确结果是(B )。
~A)67 B) C)不确定 D)67L执行printf("%x",100);后的输出结果是(C )。
A)100 B)0x100 C)0X64 D)64存储字符串"\\\'abc\376"需要的字节数是(D )。
C继承与派生类习题
第九章继承与派生类9.2 典型例题解析与解答例题 1:以下对派生类的描述中,()是错误的。
A.一个派生类可以作为另一个派生类的基类B.派生类最少有一个基类C.派生类的成员除了它自己的成员外,还包括了它的基类成员D.派生类中继承的基类成员的接见权限到派生类保持不变答案: D解析:一个派生类可以作为另一个派生类的基类。
无论是单继承还是多继承,派生类最少有一个基类。
派生类的成员除了它自己的成员外,还包括了它的基类成员。
派生类中继承的基类成员的接见权限到派生类受继承方式影响的,关于私有继承,基类的 public , protected 成员在派生类中作为 private 成员;关于公有继承,基类的public , protected 成员在派生类中接见属性不变;关于保护继承,基类的public 、 protected成员在派生类中作为protected成员。
例题 2:派生类的对象对它的哪一类基类成员是可以接见的?()A.公有继承的基类的公有成员 B. 公有继承的基类的保护成员C. 公有继承的基类的私有成员D. 保护继承的基类的公有成员答案: A解析:公有继承的基类的公有成员在派生类中保持公有接见权限,因此派生类对象可以接见它;公有继承的基类的保护成员在派生类中保持保护接见权限,因此派生类对象不行以接见它;基类的私有成员不可以被派生到派生类中,因此派生类对象不可以接见它;保护继承的基类的公有成员在派生类中变为保护的接见权限,因此派生类对象不行以接见它。
例题 3:关于多继承二义性的描述,()是错误的。
A.派生类的多个基类中存在同名成员时,派生类对这个成员接见可能出现二义性B.一个派生类是从拥有共同的间接基类的两个基类派生来的,派生类对该公共基类的接见可能出现二义性C.解决二义性最常用的方法是作用域运算符对成员进行限制D.派生类和它的基类中出现同名函数时,将可能出现二义性答案: D解析:出现二义性有两种状况:调用不一样基类的同样成员时可能出现二义性;接见共同基类的成员时可能出现二义性。
C语言程序设计部分习题及例题参考程序
C语言程序设计部分习题及例题参考程序《C语言程序设计》部分例题及课后习题参考程序1.编程计算如下分段函数:y={2x+3x≥10 4x0≤x<10 5x?6x<0[参考程序]#include <>int main(){float x,y;printf("input x:"); scanf("%f",&x);if(x>=10)y=2*x+3;else if(x>=0)y=4*x;elsey=5*x-6;printf("y=%.2f\n",y);}2.编程将从键盘输入的百分制成绩转换为等级分,转换方法如下:90以上(大于或等于90,下同)为A,80分以上为B,70分以上为C,60分以上为D,60分以下,即低于60分为E。
[参考程序]#include <>int main(){float score;char rank;printf("input a score:");scanf("%f",&score);if(score>100||score<0){printf("invalid score input\n");exit(-1);}switch((int)score/10){case 10:case 9:rank='A';break;case 8:rank='B';break;case 7:rank='C';break;case 6:rank='D';break;default:rank='E';}printf("%.2f:%c\n",score,rank);return 0;}3.编程判断以从键盘输入的三个数为边长,是否能构成三角形。
C语言习题
第一章选择题1.一个C程序的执行是从。
A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序文件的第一个函数开始,到本程序main函数结束D) 本程序的main函数开始,到本程序文件的最后一个函数结束2.以下叙述不正确的是。
A) 一个C源程序必须包含一个main函数B) 一个C源程序可由一个或多个函数组成C) C程序的基本组成单位是函数D) 在C程序中,注释说明只能位于一条语句的后面3.以下叙述正确的是。
A) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误B) 在C程序中,main函数必须位于程序的最前面C) C语言本身没有输入输出语句D) C程序的每行中只能写一条语句4.一个C语言程序是由。
A)一个主程序和若干个子程序组成B) 函数组成C) 若干过程组成D) 若干子程序组成第三章选择题1.若x、i、j、k都是int型变量,则计算下面表达式后,x 的值为。
x=(i=4,j=16,k=32)A) 4 B) 16 C) 32 D) 522.下列四组选项中,均不是C语言关键字的选项是。
A) define IF typeB) getc char p rintfC) include case scanfD) while go pow3.下列四组选项中,均是不合法的用户标识符的选项是。
A) W P_0 doB) b-a goto intC) float la0 _AD) -123 abc TEMP4.下列四组选项中,均是合法转义字符的选项是。
A) ‘\”’‘\\’‘\n’B) ‘\’‘\017’‘\”’C) ‘\018’‘\f’‘xab’D) ‘\\0’‘\101’‘xlf’5.下面正确的字符常量是。
A) “c”B) ‘\\’’C) ‘’D) ‘K’6.以下叙述不正确的是。
A) 在C程序中,逗号运算符的优先级最低B) 在C程序中,MAX和max是两个不同的变量C) 若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,二b中的值不变D) 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值7.以下叙述正确的是。
50道C++编程练习题及解答-c 编程例题1
50道C/C++编程练习题1.输入3个数, 求最大值int main(){ int a,b,c,m;cin>>a>>b>>c;m=a;if(b>m) m=b;if(c>m) m=c;cout<<m;}2.编程序, 求方程ax2+bx+c=0的根#include<iostream>#include<cmath>using namespace std;int main(){double a,b,c,d,x1,x2;cin>>a>>b>>c;if(a==0)if(b==0) cout<<"error\n";else cout<< "x="<<-c/b<<endl;else{ d=b*b-4*a*c;if(fabs(d)<=1e-6)cout<<"x1=x2="<<-b/(2*a)<<endl;else if(d>1e-6){ x1=(-b+sqrt(d))/(2*a);x2=(-b-sqrt(d))/(2*a);cout<<"x1="<<x1<<",x2="<<x2<<endl; }else cout<<"方程无实根\n";}}3.输入一个成绩, 打印相应的等级int main(){ int a;cin >> a;if(a>=90) cout<<"A";else if(a>=80) cout<<"B";else if(a>=70) cout<<"C"; else if(a>=60) cout<<"D";else cout<<"E";}4.输入3个double类型的值, 判断这3个值是否可以表示一个三角形的三条边。
C语言习题:顺序 选择 循环
2.3.2 经典例题分析
1.下列程序运行后输出的结果是
。
#include <stdio.h> void main() {
int a=0,b=0; a=10; b=20; printf(“a+b=%d”,a+b); } 分析:printf( )是输出函数,它的括号内由两部分组成: 1)控制字符串,是用双引号括起来的字符串,它包括两种信息:
2.下列程序运行后输出的结果是
。
#include <stdio.h> void main()
{
int a=732;
printf(“%d\n”,a);
printf(“%2d\n”,a);
printf(“%10d\n”,a);
printf(“%-10d\n”,a);
}
分析:d 格式符,用来输出十进制整数。其中%d,按整型数据的实际长度输出。%md,
于 10 列,所以左端补 7 个空格。printf(“%-10d\n”,a); 结果占 10 列,“-”表示把数值放到左端,
732 占 3 列小于 10 列,所以右端补 7 个空格。
答案: 732
732 □□□□□□□732
/*□表示空格*/
732□□□□□□□
3.已知 char a=‘\103’;则语句 printf(“%3d”,a);执行后的输出结果为(□表示空格)
3.345670e+03 3345.67 3345.7 □□3345.670 /*(□表示空格)*/ 3345.670□□
5.下列程序运行后结果是
。
#include <stdio.h>
void main()
{
char x=0x227f;
C语言习题(1~4)
习题第一章一.选择题1.C语言的主要特点有哪些(B C D E)(多选)A.简洁、紧凑,使用方便、灵活,易于学习和应用。
B.C语言是结构化程序设计语言。
C.C语言允许直接对位、字节和地址进行操作。
D.数据类型丰富。
E.C语言生成的目标代码质量高。
2.算法具有五个特性,以下选项中不属于算法特性的是(B)。
A.有穷性B.简洁性C.可行性D.确定性3.C语言程序由什么组成(C)。
A.子程序B.主程序和子程序C.函数D.过程4.源程序要正确地运行,必须要有什么函数(C)。
A.printf函数B.自定义的函数C.main函数D.不需要函数5.以下说法中正确的是(C)。
A.C语言程序总是从第一个函数开始执行B.在C语言程序中,要调用的函数必须在main()函数中定义C.C语言程序总是从main()函数开始执行D.C语言程序中的main()函数必须放在程序的开始部分6.一个C程序的执行是从(A)。
A.本程序的main函数开始,到main()函数的结束B.本程序文件的第一个函数开始,到本程序文件的最后一个函数的结束C.本程序文件的main开始,到本程序文件的最后一个函数的结束D.本程序文件的第一个函数开始,到本程序文件的main函数的结束7.下叙述不正确的是(D)。
A.一个C源程序可由一个或多个函数组成B.一个C源程序必须包含一个main函数C.C程序的基本组成单位是函数D.在C程序中,注释说明只能位于一条语句的后面8.C语言是一种面向(D)的程序设计语言。
A.对象B.窗口C.用户D.过程9.在使用Visual C++6.0进行编程时,下面哪种错误是它检查不出来的(B)。
A.编译错误B.逻辑错误C.语法错误D.连接错误10.下面哪个产品不能开发C程序(B)。
A.Turbo C2.0B.DOS2.0C.Visual C++6.0D.Microsoft C6.0二.填空题1.C语言的语句以;结尾。
2.C程序的基本组成单元是函数。
计算机程序设计基础(C语言)编程习题
计算机程序设计基础(C语言)编程练习题及参考答案1.输入2个整数,求两数的平方和并输出。
#include <stdio.h>main(){ intt a ,b,s;printf("please input a,b:\n");scanf("%d%d”,&a,&b);s=a*a+b*b;printf("the result is %d\n",s);}2. 输入一个圆半径(r)当r>=0时,计算并输出圆的面积和周长,否则,输出提示信息。
#include <stdio.h>#define PI 3.14 <stdio.h>main(){ float r ,s , l;printf("please input r:\n");scanf("%f”,&r);if (r>=0){s=pi*r*r;l=2*i*r ;printf("the area is %f\n",s);printf("the circumference is %f\n",l);}elseprintf("input error!\n");}3、函数y=f(x)可表示为:2x+1 (x<0)y= 0 (x=0)2x-1 (x>0)编程实现输入一个x值,输出y值。
main(){int x,y;scanf(“%d”,&x);If(x<0)y=2*x+1;If(x>0)y=2*x-1;If(x==0) y=0;prin tf(“%d”,y);}4、编写一个程序,从4个整数中找出最小的数,并显示此数。
main( ){int a,b,c,d,t;scanf (“%d,%d,%d,%d ”,&a,&b,&c,&d);if (a>b){t=a; a=b; b=t;}if (a>c){t=a; a=c; c=t;}if (a>d){t=a; a=d; d=t;}pri ntf (“m in = %d \n”,a);}5.有一函数当x<0时y=1,当x>0时,y=3,当x=0时y=5,编程,从键盘输入一个x值,输出y值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
15.用scanf函数输入数据
#include<stdio.h>
void main()
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
printf("%d,%d,%d\n",a,b,c);
}
16.输入三角形的三边长,求三角形面积
#include<stdio.h>
}
11.字符串的输出
#include<stdio.h>
void main ()
{
printf("%3s,%7.2s,%.4s,%-5.3s\n","CHINA","CHINA","CHINA","CHINA");
}
12.输出实数时的有效位数
#include<stdio.h>
void main()
c1='a';
c2='b';
c1=c1-32;
c2=c2-32;
printf("%c %c\n",c1,c2);
}
9.强制类型转换
#include<stdio.h>
void main()
{
float x;
int i;
x=32767.0;
i=(int)x%3;
{
t=a;
a=c;
c=t;
}
if(b>c)
{
t=b;
b=c;
c=t;
}
printf("%5.2f,%5.2f,%5.2f\n",a,b,c);
}
24.输入一个字符,判别它是否大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符。
{
int year,leap;
scanf("%d",&year);
if(year%4==0)
{
if(year%100==0)
{
if(year%400==0)
leap=1;
else
leap=0;
}
else
leap=1;
printf("x=%f,i=%d\n",x,i);
}
10.输出单个字符
#include<stdio.h>
void main()
{
char a,b,c;
a='B';b='O';c='Y';
putchar(a);putchar(b);putchar(c);putchar('\n');
}
23.输入3个数a,b,c,要求按由小到大的顺序输出
#include<stdio.h>
void main()
{
float a,b,c,t;
scanf("%f,%f,%f",&a,&b,&c);
if(a>b)
{
t=a;
a=b;
b=t;
}
if(a>c)
y=2222222222222.222222222;
printf("%f\n",x+y);
}
14.输出实数时指定小数位数
#include<stdio.h>
void main()
{
float f=123.456;
printf("%f %10f %10.2f %.2f %-10.2f\n",f,f,f,f,f);
printf("%c,%d\n",c2,c2);
}
18.求方程的根
#include<stdio.h>
#include<math.h>
void main()
{
float a,b,c,disc,x1,x2,p,q;
scanf("a=%f,b=%f,c=%f",&a,&b,&c);
printf("area=%7.2f\n",area);
}
17. 从键盘输入一个大写字母,要求改用小写字母输出
#include<stdio.h>
void main()
{
char c1,c2;
c1=getchar();
printf("%c,%d\n",c1,c1);
c2=c1+32;
b=a+1;
printf("%d,%d\n",a,b);
}
6.浮点型数据的舍入误差
#include<stdio.h>
void main()
{
float a,b;
a=123456.789e5;
b=a+20;
printf("%f\n",b);
}
7向字符变量赋予整数
#include<stdio.h>
else
{
disc=b*b-4*a*c;
if(fabs(disc)<=1e-6)
printf("has two equal roots:%8.4f\n",-b/(2*a));
else
if(disc>1e-6)
{
x1=(-b+sqrt(disc))/(2*a);
printf("\n");
printf("a=%2d,b=%2d,c=%2d\n",a,b,c);
printf("x=%8.6f,y=%8.6f,z=%9.6f\n",x,y,z);
printf("x+y=%5.2f,y+z=%5.2f,z+x=%5.2f\n",x+y,y+z,z+x);
}
22.输入两个实数,按代数值由小到大的顺序输出这两个数
#include<stdio.h>
void main()
{
float a,b,t;
scanf("%f,%f",&a,&b);
if(a>b)
{
t=a;
a=b;
b=t;
}
printf("%5.2f,%5.2f\n",a,b);
printf("u=%6ld,n=%9ld\n",u,n);
printf("c1=%c or %d(ASCII)\n",c1,c2);
printf("c2=%c or %d(ASCII)\n",c1,c2);
}
20用下面的scanf函数输入数据,使a=10,b=20,c1=’A’,c2=’a’,x=1.5,y=-3.75,z=67.8,请问在键盘上如何输入数据?
disc=b*b-4*a*c;
p=-b/(2*a);
q=sqrt(disc)/(2*a);
x1=p+q;x2=p-q;
printf("x1=%5.2f\nx2=%5.2f\n",x1,x2);
}
19. 若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=’a’,c2=’b’,请写出程序
}
else
leap=0;
if(leap)
printf("%d is",year);
else
printf("%d iபைடு நூலகம் not",year);
printf("a leap year.\n");
}
26.求ax2+bx+c=0方程的解
#include<stdio.h>
#include<stdio.h>
void main()
{
char ch;
scanf("%c",&ch);
ch=(ch>='A'&&ch<='Z')?(ch+32):ch;
printf("%c\n",ch);
}
25.判断某一年是否闰年
#include<stdio.h>
void main()
void main()
{
int i,t;
t=1;
i=2;
while(i<=5)
{
t=t*i;
i=i+1;
}
printf("%d\n",t);
}
5.整型数据的溢出
#include<stdio.h>
void main()
{
int a,b;
a=32767;
#include<math.h>
void main()