您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > C程序设计教程第一二三章综合测试(一)答案
第一二三综合测试一、单选题1.下列关于C语言的叙述,错误的是(A)A.英文字母大小写不加以区分B.不同类型的变量可以出现在同一个表达式中C.在赋值表达式中赋值号两边的类型可以不同D.某些运算符在不同的场合可以有不同的含义2.语句printf(″%x″,-1);执行后的输出结果是(D)A.-1B.–ffffC.1D.ffff3.设floata=2,b=4,c=3;以下C语言表达式与代数式1/2(a+b)c计算结果不一致的是(B)A.(a+b)*c/2B.(1/2)*(a+b)*cC.(a+b)*c*1/2D.c/2.0*(a+b)4.C语言中不能用来表示整常数的是(D)A.十进制B.十六进制C.八进制D.二进制5.若有输入语句scanf(″a=%f,b=%f″,&a,&b);欲使a值为10,b值为20,正确的输入为(C)A.10,20回车B.10■20回车C.a=10,b=20回车D.a=10■b=20回车6.在C语言中,反斜杠字符是(D)A.’\n’B.’\t’C.’\v’D.’\\’7.设d为字符变量,下列表达式不正确的是(C)A.d=97B.d='a'C.d=aD.d='\2'8.表达式10+'a'的结果类型是(C)A.longB.doubleC.intD.unsignedfloat9.在C语言中,运算对象必须是整型数的运算符是(A)A.%B./C.+D.*10.C语言中,命令行“#defineM25”将M定义为(A)A.符号常量B.字符常量C.实型常量D.变量11.以下程序段中,为了使变量a、b、c的值分别为数据1、A、2,则不正确的输入格式是(D)inta,c;charb;scanf(“%d%c%d”,&a,&b,&c);A.1A回车2回车B.1A2回车C.1A■2回车D.1回车A回车2回车12.以下选项中,不是C语句的是(D)A.i++;B.;C.{a++;b++;}D.scanf(“%d”,&a)13.以下程序运行后的结果是(B)#includestdio.hmain(){intx;printf(x=%d\n,x);}A.编译出错B.有不确定输出值C.无输出值D.运行出错14.以下选项中,不正确的赋值语句是(D)A.x=y;B.x++;C.x%=2;D.x==5;15.已有定义语句“floata=32.7;”,则不能正确执行的语句是(D)A.printf(“%3.2f\n”,a);B.scanf(“%3f”,&a);C.printf(“%3f”,a);D.scanf(“%3.2f”,&a);二、填空题1、以下不合法的用户标识符是①②④⑦。①a-1②1_a③a3B④if⑤INT⑥_22⑦B.txt2、将数学式xy212写成C语言表达式为sqrt((y*y+1)/(2*x))。3、表达式2/3+7%4+3.5/7的值是3.5。4、在C程序中,表示范围0<x≤5的正确表达式为x0&&x=5。5、以下合法的C语言常量是①⑦⑨。①\n②e-31③'105'④7ff⑤′\x111′⑥′\18′⑦x⑧′do′⑨-0x3b16、若有定义intx=1,y=1;,则执行逗号表达式y=3,x++,x+5后,该表达式的值是7,变量x的值是2,变量y的值是3。7、若有定义intx=5;,则表达式x+=x*=x的计算结果为50。8、若有定义inta=10,b=20,c=30;,则执行printf(“%d\n”,(a=50,b*a,c+a));语句的输出结果为80。9、若有inta;floatb;,则执行a=b=78.9;后,a中存放的值是78,b中存放的值是78.9。10、以下程序段是用40000■12.345A回车形式输入的3个数据40000、12.345、A分别赋给变量a、b、c,请填空。longa;doubleb;charc;scanf(“%ld%lf%c”,&a,&b,&c);三、分析下列程序段,写出执行结果(若结果中含有空格要把空格标出)1.inta=789;floatb=5.686,c=4.56;longd=135790;printf(*%6d%06d%-6d%2d*\n,a,a,a,a);*■■■789000789789■■■789*printf(#%0.4f#%8.4f%-07.1f\n,b,b,c);#5.6860#■■5.68604.6■■■■printf(%ldc%9ldf%-9ld\n,d,d,d);135790c■■■135790f135790■■■2.intx=40,y=4,z=4;10x=y==z;printf(%d\t,x);x=x==(y-z);printf(%d\t,x);3.inti=16,j;321615j=(i++)+i;printf(%d\t,j);i=15;printf(%d\t%d\t,++i,i);4.以下程序段运行时,若从键盘输入以下内容(从第1列开始),则输出结果是:1245123回车45678回车charc1,c2,c3,c4,c5,c6;scanf(%c%c%c%c,&c1,&c2,&c3,&c4);c5=getchar();c6=getchar();putchar(c1);putchar(c2);printf(%c%c\n,c5,c6);5.以下程序段运行时,若从键盘输入:102030回车,则输出结果是10300inti=0,j=0,k=0;scanf(%d%*d%d,&i,&j,&k);printf(%d%d%d,i,j,k);6.以下程序段运行时,若从键盘输入:B33回车,则输出结果是1Bchara,b;a=getchar();scanf(%d,&b);a=a-'A'+'0';b=b*2;printf(%c%c,a,b);四、改错题1.下面程序段有3处错误,请改正。Main改为main(){inta;floatb;a=3,b=4.5;改为a=3;b=4,5;printf(%f%d\n,a,b);改为printf(%d%f\n,a,b);}2.下面程序段是把摄氏温度c转化为华氏温度f,转化公式为f=9c/5+32,有4处错误,请改正。floatc,f;scanf(%f,c);改为scanf(%f,&c);f=(9/5)*c+32;改为f=(9.0/5)*c+32;print(c=%f,f=%f\n,&c,&f);改为printf(c=%f,f=%f\n,c,f);3.下面程序段有3处错误,请改正。charb=Y;改为charb=’Y’;putchar(‘b’);/*输出变量b中的字符*/改为putchar(b);putchar(“\n”);改为putchar(‘\n’);4.下面程序有5处语法错误,请改正。main();{intx;scanf(%d,&x);inty;y=5x;printf(y=%d\n,Y)}修改后如下:main(){intx;inty;scanf(%d,&x);y=5*x;printf(y=%d\n,y);}注意:变量的定义要放在程序最前面。
本文标题:C程序设计教程第一二三章综合测试(一)答案
链接地址:https://www.777doc.com/doc-2907603 .html