- 2022-04-09 发布 |
- 37.5 KB |
- 5页



申明敬告: 本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
文档介绍
C语言习题 答案错
一、基础知识填空题(每空2分)1、设(a=2,b=3,c=4),则表达式a*=c-b的值为 2 。2、在C语言中,每个语句和数据定义是用分号结束。3、C语言规定,必须用main作为主函数。4、已知x=3,y=5,循环语句while(x=y){y--;continue;}执行5次。5、#defineN3#defineMN+1#defineNUM(M+1)*M/2则NUM=10。6、若有定义structst{charname[10];doublescore;};则sizeof(structst)为18。7、C语言的主要数据类型有:整型(int)、字符类型和实数类型。8、对于数组a[3][4]来说,使用数组的某个元素时,行下标最大值是_2______,列下标最大值是___3____。9、 在C语言中,数组的首地址是数组名。10、 用C语言描述下列命题:a是偶数a%2==0。二、单选题(每题2分)1、下面哪个是非法的变量名:D(变量名不能用数字开头)(A)fabs(B)E3(C)true(D)5ac2、C语言提供的合法关键字是:A(A)continue(B)print(C)function(D)end3、下列常数中哪些是不符合C语法规定的:A(A)‘’(B)‘101’(C)0x1e(D)1.e54、以下程序的运行结果是:Amain(){intc,x,y;x=0;y=0;c=0;c=x++&&y++;printf(“n%d%d%dn”,x,y,c);}(A)110(B)100(C)011(D)0015、两次运行下面的程序,如果从键盘上分别输入9和6,则输出结果是(C)。main(){intx;scanf(“%d”,&x);if(x++>8)printf(“%d”,x);elseprintf(“%dn”,x--);}(A)10和5(B)11和5(C)10和6(D)11和66、已知inti,a[5],*p;则以下哪个是非法的:Cn(A)p=&i(B)p=&a[4](C)p=*a+3(D)p=&i++7设有如下变量定义:inti=20,a,b;doublex=3.0,y=0.3;则以下表达式中,符合C语言语法的表达式是___A______。A.a+=a-=(b=6)*(a=8)B.x%(-3)C.a=a*3=2D.y=float(i)8、在C语言中,运算对象必须是整型数的运算符是:A(A)%(B)/(C)%和/(D)*9.有intx=2,y=3;则表达式(y-x)?(!4?1:2):(0?3:4)的值是BA.1B.2C.3D.410.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为AA.if(a)B.if(!a)C.if(a<>O)D.if(a=0)11.执行语句for(i=10;i>O;i--);后,变量i的值为__C__A.1OB.9C.OD.112.若inta,b;,则表达式(a=2,b=5,b++,a+b)的值是_B_A.7B.8C.6D.214.下列数组定义语句中不正确的是___D___。A.Inta[1][2];B.intb[][3]={0,1,2,3};C.intc[100][100]={0};D.intd[3][]={{1,2},{1,2,3},{1,2,3,4}};15、完成C源程序编辑后,到生成执行文件,C语言处理系统必须执行的步骤依次为___B__A.连接、编译B.编译、连接C.连接、运行D.运行三、程序阅读填空题(每题2分,共20分)1、voidmain(){inta=5,b=2;printf(“%dn”,a=a+1,a+b,b+1);}这个程序段的输出结果为:32、以下程序借助变量t把a、b中的值进行交换。voidmain(){inta,b,t;scanf(“%d,%d”,&a,&b);nt=a;a=b;b=t;printf(“a=%d,b=%d”,a,b);}3、从键盘输入字符,若是数字字符,则转换成数字后显示出来,在横线上填空。voidmain(){intc;c=getchar();if(C>=’0’&&c<=’9’)c-=’0’;printf(“%d”,c);}4、写出程序的运行结果:voidmain(){intx=3,y=4,z=5;if(x--)y++,z++ ;elsey-- ;z-- ;printf(“%d,%d,%dn”,x,y,z);},运行结果为2,5,55、写出程序的运行结果:voidmain(){longdata;scanf(“%ld”,&data);while(data){printf(“%ld”,data%10);data/=10;}}程序运行时,若输入23456,则输出结果是654326、当输入2时,下面程序的输出结果是i2voidmain(){inti;scanf(“%d”,&i);switch(i){case1:case2:putchar(‘i');case3:printf(“%dn”,i);break;default:printf(“OK!n”);}}7、下面程序的输出结果是5620#defineSUB(x,y)(x)*yvoidmain(){inta=4,b=5,c;nc=SUB(a++,b++);printf(“%d,%d,%dn”,a,b,c);}8、下面程序的输出结果是4voidmain(){intx,y;for(x=y=1;x<=100;x++){if(y>=10)break;if(y%3==1){y+=3;continue;}}printf(“%dn”,x);}9、下面程序运行的结果是_d,20__inta;fun(inti){a+=2*i;returna;}main(){inta=10;printf("d,%d\n",fun(a),a);四、综合应用题(共40分)1、编程求100~1000的累计和。答:#include查看更多