您好,欢迎访问三七文档
当前位置:首页 > 高等教育 > 习题/试题 > 2014年3月无纸化考试C语言笔试复习资料(参考答案)
2014年3月无纸化考试C语言笔试复习资料第一章C程序设计与数据类型和表达式1、我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令,关于转换以下说法错误的是BA)一条C语句可能会被转换成多条机器指令B)一条C语句对应转换成一条机器指令C)某种类型和格式的C语句被转换成机器指令的条数是固定的D)一条C语句可能会被转换成零条机器指令2、有以下程序Amain(){inta=0,b=0;a=10;/*给a赋值10,b=20;给b赋值20*/printf(a+b=%d\n,a+b);/*输出计算结果*/}程序运行后输出结果是A)a+b=10B)a+b=30C)30D)出错3、以下叙述中正确的是DA)a表示一个字符常量B)\是非法的C)'\0'表示字符0D)表达式:'a''b'的结果是假4、以下选项中不能作为c语言合法常量的是DA.\a'B.0.le+6C.'\011'D.'cd'5、以下选项中合法变量是AA)_10_B)sizeofC)A$D)5a6、若有以下程序#includestdio.hmain(){inta=0,b=0,c=0,d;c=(a+=b,,b+=a);/*第4行*/d=c;;/*第5行*/;/*第6行*/;printf(%d,%d,%d\n,a,b,c);/*笫7行*/}编译时出现错误,你认为出错的是BA)第6行B)笫4行C)第7行D)第5行7、有以下程序#includestdio.hmain(){intk=33;printf(%d,%o,%x\n,k,k,k);}程序的运行结果是BA.41,33,21B.33,41,21C.33,21,41D.33,33,338、表达式3.6-5/2+1.2+5%2的值是DA)4.3B)4.8C)3.3D)3.89、有以下定义:inta;longb;doublex,y;则以下选项中正确的表达式是AA)a%(int)(x-y)B)a=xy;C)(a*y)%bD)y=x+y=x10、以下能正确表述算式sin(2πr+30°)的C语言表达式是AA、sin(2*π*r+30)B、sin(2·3.14·r+30)C、sin(2·3.14·r+30·3.14/360.0)D、sin(2·3.14·r+30·3.14/180.0)11、若在程序中变量均被定义成int类型,并且已赋大于1的值,则下列选项中能正确表示代数式的表达式是DA.1/a/b/(double)cB.1.0/a/b/cC.1/a*b*cD.1/(a*b*c)12、设有定义:intx=2;以下表达式中,值不为6的是DA)x*=x+1B)x++,2*xC)x*=(1+x)D)2*x,x+=213、设inta=12,则执行完语句a+=a-=a*a后,a的值是DA.552B.264C.144D.-26414、有以下程序#includestdio.hmain(){inta=0,b=0,c=0,d=0;(++a||++b)?++c:++d;printf(%d,%d,%d,%d\n,a.,b,c,d);}程序的运行结果是DA)1,1,1,0B)1,0,0,1C)1,10,1D)1,0,1,015、设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=ab)&&(n=cd)运算后,n的值为BA.0B.2C.-1D.116、有以下程序#includestdio.hmain(){inta,b,c=241;a=c/100%9;b=(-1)&&(-1);printf(%d,%d\n,a,b);}程序运行后的输出结果是DA.0,2B.2,0C.1,0D.2,117、有以下程序#includestdio.hmain(){inta=2,c=5;printf(a=%%d,b=%%d\n,a,c);}程序的输出结果是AA.a=%d,b=%dB.a=2,b=5C.a=%%d,b=%%dD.a=%2,b=%518、当变量c的值不为2、4、6时,值也为“真”的表达式是DA(c=2&&c=6)&&(c%2!=1)B)(c=2&&c=6)&&!(c%2))C)(c==2)‖(c==4)‖(c==6)D)(c=2&&c=6)‖(c!=3)‖(c!=5)第二章基本语句19、设有定义:inta,b;floatx,y;,则以下选项对语句所作的注释叙述错误的是DA、scanf(%d%d,&a,&b,&x);/*多余的输入项不能获得输入数据*/B、scanf(Input:%d%d,&a,&b,);/*格式串中允许加入格式符以外的字符串*/C、scanf(%d%f%d,&a,&b,&x);/*输入项与格式类型不匹配,变量b和x得不到正确的输入数据*/D、scanf(%d%f,&a,&b);/*多余的格式符%f完全不起作用*/20、有以下程序#includestdio.hmain(){charcl,c2,c3,c4,c5,c6;scanf(%c%c%c%c,&cl,&c2,&c3,&c4);c5=getchar();c6=getchar();putchar(cl);putchar(c2);printf(%c%c\n,c5,c6);}程序运行后,若从键盘输入(从笫1列开始123回车45678回车则输出结果是DA.1267B.1256C.1278D.124521、有以下程序段#includestdio.hintj;floaty;charname[50];scanf(%2d%f%s,&j,&y,name);当执行上述程序段,从键盘上输入555667777abc后,y的值为BA)55566.0B)566.0C)7777.0D)566777.0第三章控制语句22、以下选项中叙述正确的是DA)C语言程序不需要包含main()函数B)程序语法错误要在运行时才能发现C)只要程序包含了三种基本的任意一种,就是结构化程序D)使用三种基本结构就可以实现任何复杂算法23、结构化程序由顺序、选择、循环三种基本结构组成,以下相关叙述错误的是DA)循环结构是根据条件决定是否重复、重复执行多少次循环体语句B)选择结构是根据不同的条件执行不同分支中的语句C)顺序结构查按语句在程序中的先后顺序逐条执行,没有分支,没有转移D)三种基本结构不可以嵌套使用24、以下叙述中正确的是BA)continue语句的使得整个循环终止B)使用break语句可以使流程跳出switch语句体C)在for语句中,break语句和continue语句的效果是一样的,可以互换D)break语句不能用于提前结束for语句的本层循环25、以下关于结构化程序设计的叙述中正确的是DA)一个结构化程序必须同时由顺序、分支、循环三种结构组成B)由三基本结构构成的程序只能解决小规模的问题C)结构化程序使用的goto语句会很便捷D)在C语言中,程序的模块化是利用函数实现的。26、设有定义:inta=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是DA)if(ab)c=a,a=b,b=c;B)if(ab){c=a;a=b;b=c;}C)if(ab){c=a,a=b,b=c;}D)if(ab)c=a;a=b;b=c;27、有如下嵌套的if语句if(ab)if(ac)k=a;elsek=c;elseif(bc)k=b;elsek=c;以下迭项中与上述if语句等价的语句是DA)k=(ab)?((bc)?a:b):((bc)?b:c);B)k=(ab)?a:b;k=(ac)?a:c;C)k=(ab)?a:b;k=(bc)?b:c;D)k=(ab)?((ac)?a:c):((bc)?b:c);28、有以下程序#includestdio.hmain(){intx;scanf(%d,&x);if(x10)printf(1);elseif(x20)printf(2);elseif(x30)printf(3);}若运行时输入:35回车则输出结果是BA)3B)1C)123D)229、有以下程序段scanf(%d%d%d,&a,&b,&c);if(ab)a=b;if(ac)a=c;printf(%d\n,a);}该程序段的功能是BA.输出a,b,c中值相等的数值B.输出a,b,c中最小值C.输出a,b,c中最大值D.输出a的原始值30、有如下程序#includestdio.hmain(){intx=0x13;if(x=0x18)printf(T);printf(F);printf(\n);}程序运行后的输出结果是CA)TB)TFTC)TFD)F31、若有以下程序#includestdio.hmain(){inta=l,b=2,c=3,d=4,r=0;if(a!=l);elser=l;if(b==2)r+=2;elseif(c!=3)r+=3;elseif(d==4)r+=4;printf(%d\n,r);}则程序的输出结果是AA.3B.7C.6D.1032、有以下程序#includestdio.hmain(){inta=l,b=2,c=3,d=0;if(a==l&&b++==2)if(b!=2||c--!=3)printf(%d,%d,%d\n,a,b,c);elseprintf(%d,%d,%d\n,a,b,c);elseprintf(%d,%d,%d\n,a,b,c);}程序运行后的输出结果是DA.1,2,3B.3,2,1C.1,3,2D1,3,333、有以下程序#includestdio.hmain(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;}case2:a++;b++;break;case3:a++;b++;}printf(“a=%d,b=%d\n”,a,b);}程序的运行结果是DA)a=1,b=0B)a=2,b=2C)a=1,b=1D)a=2,b=134、以下程序段中,循环次数不超过10的是DA、inti=6;do{i-=2;}while(i!=1);B、inti=5;do{i+=1;}while(i1);C、inti=1;do{i+=2;}while(i!=1);D、inti=10;do{i=i+1;}while(i0);35、有以下程序#includestdio.hmain(){intx=0,y=6;do{while(--y)x++;}while(y--);printf(%d,%d\n,x,y);}程序的运行结果是BA.5,0B.5,-1C.6,-1D.6,036、有以下程序#includestdio.hmain(){intk=5;while(--k)printf(“%d”,k-=3);printf(\n”);}执行后的输出结果是CA)4B)死循环C)1D)237、有以下程序#includestdio.hmain(){inti=5;do{if(i%3==1)if(i%5==2){printf(*%d,i);break;}i++;}while(i!=0);printf(\n);}程序的运行结果是DA)*3*5B)*2*6C)*5D)*738、有以下程序#includestdio.hmain(){inti;for(i=1;i=5;i++){if(i%2)printf(*);elsecontinue;printf(#);}printf($\n);}程序运行后结果是AA.*#*#*#$B.*#*#*#*$C.*#*#$D.*#*#*$39、有以下程序main(){inti,j,x=0;for(i=0;i2;i++){x++;for(j=0;j=3;j++){if(j%2)continue;x++;}x++;}printf(“x=%d\n”,x);}程序执行后的输出结果是BA)x=4B)x=8C)x=6D)x=1240、有以下程序
本文标题:2014年3月无纸化考试C语言笔试复习资料(参考答案)
链接地址:https://www.777doc.com/doc-2963975 .html