当前位置:文档之家› 2014C期中考试试卷及答案(标准)

2014C期中考试试卷及答案(标准)

试卷编号:9144所属语言:C语言试卷方案:C语言期中测试试卷总分:100分共有题型:2种━━━━━━━━━━━━━━一、填空共7题(共计28分)━━━━━━━━━━━━━━第1题(4.0分)题号:1783若有一个口袋中放有12个球,其中有3个红的,3个白的和6个黑的,从中任取8个球,问共有多少种不同的颜色搭配?main(){int i, j, count=0;for (i=0;i<=3;i++)for (j=0;j<=3;j++)if (【1】<=6)printf("%2d: %d %d %d\n", 【2】, i, j, 8-i-j); }答案:=======(答案1)=======8-i-j=======(答案2)=======++count第2题(4.0分)题号:1747下列程序的运行结果是【1】int n=1;do{printf ("**");}while(--n= =0);答案:=======(答案1)=======****第3题(4.0分)题号:1794下面程序的功能是打印100以内个位数为6且能被3整除的所有数,请填空.# include <stdio. h>main(){ inti,j;for (i=0; i<=【1】; i++){ j=i*10+6;if【2】continue;printf("%d",j);} }答案:=======(答案1)=======9=======(答案2)=======j%3!=0#j%3第4题(4.0分)题号:1816执行下述程序#include <string.h>#include <stdio.h>main(){char b[30];strcpy (&b[0],"GH");strcpy (&b[1],"DEF");strcpy (&b[2],"ABC");printf ("%s\n",b);}其输出结果是【1】答案:=======(答案1)=======GDABC第5题(4.0分)题号:1821当运行下述程序时,其输出结果是【1】#include <stdio.h>main(){int y=18,i=0,j,a[8];do{a[i]=y%2;i++;y=y/2;} while (y>=1);for (j=i-1;j>=0;j--)printf("%d",a[j]);printf("\n");}答案:=======(答案1)=======10010第6题(4.0分)题号:1825以下程序在运行时输入:10 20 30则输出结果是【1】#include <stdio.h>intfunc(inta,intb,int c){return (a+b+c);}main(){intx,y,z;printf("Enter x,y,z: ");scanf("%d%c%d",&x,&y,&z);z=func(x,x+y,func(x,x+y,z));printf("z=%d\n",z);}答案:=======(答案1)=======z=110第7题(4.0分)题号:1834执行下述程序的输出结果是【1】int a=5;int b=7;main(){ int a=4,b=5,c;c=plus(a,b);printf("A=B=%d\n",c);}plus(intx,int y){int z;z=x+y;return(z);}答案:=======(答案1)=======A=B=9━━━━━━━━━━━━━━━━━二、单项选择共65题(共计72分)━━━━━━━━━━━━━━━━━第1题(1.0分)题号:4530设int c=5和inta,a=2+(c+=c++,c+8,++c),则a=______.A:15B:14C:13 D:16答案:B第2题(1.0分)题号:4505若定义了float x; 则计算表达式x=25/2/2后,x的值是______.A:6B:6.25C:6.5D:12答案:A第3题(1.0分)题号:4477在下列语句中,变量都已定义为整型变量.不正确的赋值语句是______.A:++tB:n1=(n2=(n3=0))C:k=i=jD:a=b+c=1答案:D第4题(1.0分)题号:4529判断char型变量cl是否为小写字母的最简单且正确的表达式为______.A:a'<=cl<='z'B:(cl>=a)&&(cl<=z)C:('a'<=cl')&&('z>=cl')D:(cl='a')&&(cl<='z')答案:D第5题(1.0分)题号:4472表达式i =1, i+1, i ++,最终i的值为______. A:1B:2C:3D:4答案:B第6题(1.0分)题号:4492若定义了double t; 则表达式t=1,t+5,t++ 的值是______.A:1B:6.0C:2.0D:1.0答案:D第7题(1.0分)题号:4519若给定条件表达式(M)?(a++): (a--),则其中表达式M______.A:和(M==0)等价B:和(M==1)等价C:和(M!=0)等价D:和(M!=1)等价答案:C第8题(1.0分)题号:4484若定义了inta,b; 则表达式a=b=4,a+1,b+1,a+b的值是______.A:4B:5C:8D:10答案:C第9题(1.0分)题号:4517设有如下定义int x=10,y=3,z; 则语句printf("%d\n",z=(x%y,x/y));的输出结果是______.A:1B:0C:4D:3答案:D第10题(1.0分)题号:4490在C语言中,下列不能作为C常量的是______.A:0xa5B:2.5e-2C:300D:0582答案:D第11题(1.0分)题号:4498假设在程序中,a、b、c均被定义成整型并且已赋大于1的值,能正确表示代数式的表达式是______.A:1/a*b*cB:1/(a*b*c)C:1/a/b/(float)cD:1.0/a/b/c答案:D第12题(1.0分)题号:4548以下叙述正确的是______.A:C程序中,main函数必须位于程序的最前面B:C程序的每行中只能写一条语句C:C程序本身没有输入输出语句D:在对一个C程序进行编译的过程中,可发现注释中的拼写错误答案:C第13题(1.0分)题号:4525设整型变量x为5,y为2,值为1的表达式是______.A:!(y==x/2)B:Y!=x%3C:X>0&&y<0D:X!=y||x>=y答案:D第14题(1.0分)题号:4520下列程序段选择项,使i的运行结果为4的程序字段是______.A:int i=0,j=0 (i=3,(j++)+i)B:int i=1,j=0 j=i=((i=3)*2)C:int i=0,j=1; (j==1)?(i=1): (i=3)D:int i=1,j=1; i+=j+=2答案:D第15题(1.0分)题号:4507在C语言中,正确的的结论是______.A:对文件操作必须先关闭文件B:对文件操作必须先打开文件C:对文件操作顺序没有统一规定D:以上都错答案:B第16题(1.0分)题号:4542设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为______.A:4B:16C:32D:52答案:C第17题(1.0分)题号:4534以下程序main(){ int a=-1,b=4,k;k=(++a<0)&&!(b--<=0);printf("%d%d%d\n",k,a,b);}输出结果是______.A:104B:103C:003D:004答案:D第18题(1.0分)题号:4516已知小写字母a的ASCII码为97,大写字母A 的ASCII码为65. 以下程序main(){ unsignedint a=32, b=66; printf("%c\n", a+b); }的结果为______.A:66B:98C:bD:B答案:C第19题(1.0分)题号:4461表达式3&&6&&9的值为______.A:3B:6C:9D:1答案:D第20题(1.0分)题号:4506以下选项中合法的字符常量是______. A:"B"B:\010'C:68D:D答案:B第21题(1.0分)题号:4521下列______满足:当x的值为偶数时值为"真",为奇数时值为"假".A:X%2==0B:!x%2 !=0C:(x/2 * 2-x)==0D:!(x%2)答案:B第22题(1.0分)题号:4510假定w、x、y、z、m均为int型变量,有如下程序段:w=1; x=2; y=3; z=4; m=(w<x)?w:x; m=(m<y)?m:y; m=(m<z)?m:z;则该程序运行后,m的值是______.A:4B:3C:2D:1答案:D第23题(1.0分)题号:4537设x为int型变量,则执行以下语句后,x的值为______.x=10;x*=x-=x-x;A:100B:20C:40D:30答案:A第24题(1.0分)题号:4543下列变量定义中合法的是______.A:short _a=1-.le-1B:double b=1+5e2.5C:long do=0xfdaLD:float 2_and=1-e-3答案:A第25题(1.0分)题号:4464在C语言中,字符(char)型数据在内存中是以______形式存储的.A:原码B:补码C:反码D:ASCII码答案:D第26题(1.0分)题号:4592若定义了int a; 则表达式3>1?(a=2,a+2):2的值是______.A:1B:2C:3D:4答案:D第27题(1.0分)题号:4594在C语言中,能正确表示a≥100或a≤10的关系表达式是______.A:a>=100 or a<=10B:a>=100|a<=10C:a>=100||a<=10D:a>=100&&a<=10答案:C第28题(1.0分)题号:4607若执行下面的程序时从键盘上输入4和5,则输出是______.main(){ inta,b,s;scanf("%d%d",&a,&b);x=a*b;if(a<b) printf("%d\n",x);elseprintf("%d\n,x--);}A:14B:16C:18D:20答案:D第29题(1.0分)题号:4620有如下程序:main0{ int y=3,x=3,z=1;printf("%d %d\n",(++x,y++),z+2);}运行该程序的输出结果是______.A:3 4B:4 2C:4 3D:3 3答案:D第30题(1.0分)题号:4613设x和y均为int型变量,则执行下面的循环后,x值为______.for(y=1 , x=1 ; y<=50 ; y++){if(x>=10) break;if(x%2= =1){x+=5;continue;}x-=3;}A:4B:6C:8D:10 答案:D第31题(1.0分)题号:4580执行语句printf("%d\n",!!9); 的输出结果是______.A:0B:1C:9D:-9答案:B第32题(1.0分)题号:4603以下程序的输出结果是______.main(){ int a=12,b=12;printf("%d,%d\n",- -a,+ +b);}A:10 10B:12 12C:11 10D:11 13答案:D第33题(1.0分)题号:4556以下程序运行的结果为______.main(){ int w=4,x=3,y=2,z=1;printf ("%d \n ", w<x ?w : z<y ?z : x );}A:1B:1.3C:78D:以上3个答案均错误答案:A第34题(1.0分)题号:4583下列程序的执行结果是______.main(){int a;a=3*5, a*4, a+5;printf("%d\n",a);}A:65B:20C:15D:10答案:C第35题(1.0分)题号:4610当c的值不为0时,能正确将c的值赋给变量a、b是______.A:c=b=a;B:(a=c)||(b=c)C:(a=c)&&(b=c)D:a=c=b答案:C第36题(1.0分)题号:4642下面程序的功能是在输入的一批正整数中求出最大者,输入0结束循环,请选择填空. inta,max=0;scanf("%d",&a);while(______){if(max<a) max=a; scanf("%d",&a);}printf("%d",max);A:a==0B:aC:!a==1D:!a答案:B第37题(1.0分)题号:4637下面程序段的运行结果是______.a=1;b=2;c=2;while(a<b<c) {t=a;a=b;b=t;c--;}printf("%d,%d,%d",a,b,c);A:1,2,0B:2,1,0C:1,2,1D:2,1,1答案:A第38题(1.0分)题号:4629语句while (exp); 中的表达式exp等价于______.A:exp==0B:exp!=1C:exp!=0D:exp==1答案:C第39题(1.0分)题号:4633下列程序中,循环执行的次数是______.for (i=2;i==0; ) printf("%d\n",i--); A:1次B:2次C:0次D:无数次答案:C第40题(1.0分)题号:4634设有程序段int k=10;while (k=0) k=k-1;则下面描述中正确的是______.A:while 循环执行10次B:循环是无限循环C:循环体语句一次也不执行D:循环体语句执行一次答案:C第41题(1.0分)题号:4632以下for循环的执行次数是______.for(x=0,y=0;(y=123)&&(x<4);x++);A:是无限循环B:循环次数不定C:执行4次D:执行3次答案:C第42题(1.0分)题号:4636语句while(!E);中表达式!E等价于______. A:E= =0B:E!=1C:E!=0D:E= =1答案:A第43题(1.0分)题号:4628下列程序段中,do-while循环的循环体执行的次数是______.int i=1;do{i*=2;}while (i<100);A:0次B:6次C:7次D:8次答案:C第44题(1.0分)题号:4648下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除.请选择填空.int i=0,j,k;do {i++; k=316-13*i;} while(______);j=k/11;printf("316=13*%d+11*%d",i,j);A:k/11B:k%11C:k/11=0D:k/11= =0答案:B第45题(1.0分)题号:4630下列程序的执行结果是______.main(){ int x=3;doprintf("%3d",x-=2);while(!(--x));}A:1B:0C:1 -2D:死循环答案:C第46题(2.0分)题号:4643下面程序的运行结果是______.intnum=0;while(num<=2){num++;printf("%d\n",num);}A:1B:12C:12 3D:1234答案:C第47题(2.0分)题号:4646下描述中正确的是______.A:由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句.B:do-while循环由do开始,在while(表达式)后面不能写分号C:在do-while循环体中,一定要有能使while 后面表达式的值变为零("假" )的操作D:do-while循环中,根据情况可以省略while 答案:C第48题(2.0分)题号:4645以下程序段______.x=-1;do{x=x*x;}while(!x);A:是死循环B:循环执行两次C:循环执行一次D:有语法错误答案:C第49题(2.0分)题号:4649下面程序运行结果是______.int y=10;do {y--;} while(--y);printf("%d\n",y--);A:-1B:1C:8D:0答案:D第50题(1.0分)题号:4653已知:int a[10];则对 a 数组元素的正确引用是______.A:a[10]B:a[3.5]C:a(5)D:a[10-10]答案:D第51题(1.0分)题号:4656在c语言中,引用数组元素时,其数组下标的数据类型允许是______.A:整型常量B:整型表达式C:整型常量或整型表达式D:任何类型的表达式答案:C第52题(1.0分)题号:4698下面程序段的运行结果是______.char c[5]={'a','b','\0','c','\0'};printf("%s",c);}A:a''b'B:abC:ab cD:a b答案:B第53题(1.0分)题号:4672调用strlen("abcd\0ef\0g")的返回值是______.A:4B:5C:8D:9答案:A第54题(1.0分)题号:4687下述程序代码中有语法错误的行是______. inti,ia[10],ib[10]; /*第1行*/for (i=0;i<=9;i++) /*第2行*/ia[i]=0; /*第3行*/ib=ia; /*第4行*/ A:第1行B:第2行C:第3行D:第4行答案:D第55题(1.0分)题号:4679若有以下定义和语句, char s[12]="a book!"; printf("%d",strlen(s));则输出结果是______. A:12B:8C:7D:6答案:C第56题(1.0分)题号:4663若有说明:int a[3][4]; 则对a数组元素的正确引用是______.A:a[2][4]B:a[1,3]C:a[1+1][0]D:a(2)(1)答案:C第57题(2.0分)题号:4695下面程序段的功能是将字符串s中所有的字符c 删除.请选择填空.#include "stdio.h"main(){ char s[80];inti,j;gets(s);for(i=j=0;s[i]!='\0\;i++)if(s[i]!='c') ______;s[j]='\0';puts(s);}A:s[j++]=s[i]B:s[++j]=s[i]C:s[j]=s[i]; j++D:s[j]=s[i]答案:A第58题(2.0分)题号:4699下列程序的执行结果是______.#include "string.h"main( ){char c[]="\t\v\\\0will\n";printf ("%d"; strlen (C)) ;}A:14B:3C:9D:6答案:B第59题(2.0分)题号:4667若有说明:int a[3][4]={0};则下面正确的叙述是______.A:只有元素a[0][0]可得到初值0B:此说明语句不正确.C:数组a中各元素都可得到初值,但其值不一定为0.D:数组a中每个元素均可得到初值0答案:D第60题(1.0分)题号:4731以下程序运行后,输出结果是______。

相关主题