C 综合复习选择结果答案版.docx
- 文档编号:4034414
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:20
- 大小:29.09KB
C 综合复习选择结果答案版.docx
《C 综合复习选择结果答案版.docx》由会员分享,可在线阅读,更多相关《C 综合复习选择结果答案版.docx(20页珍藏版)》请在冰豆网上搜索。
C综合复习选择结果答案版
考试时选择题部分需要涂答题卡,请带2B铅笔
考试题型:
单项选择:
30*1填空题:
8*2读程序:
6*4
程序填空:
3题:
7*2编写程序:
3题:
5+5+6
一、单项选择:
1.C语言程序的基本单位是A。
A.函数B.过程C.子程序D.子函数
2.C语言规定:
在一个源程序中,main函数的位置D。
A.必须在最后B.必须在最开始C.必须在系统调用的函数的后面D.可以任意
3.每个C语言程序必须有且只有一个(C)。
A、库函数B、空函数C、main函数D、自定义函数
4.一个C程序的执行是从(A)。
A、本程序的main函数开始,到main函数结束
B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C、本程序的main函数开始,到本程序文件的最后一个函数结束
D、本程序文件的第一个函数开始,到本程序main函数结束
5.设inta=2,b;则执行b=a&&1;语句后,b的结果是(B)。
A、0B、1C、2D、3
6.在C语言中,复合语句B。
A.必须出现在循环或分支中B.必须包含多条语句
C.必须使用{}将有关语句括起来D.以上三种都对
7.下面正确的字符常量是(C)。
A、“c”B、‘\\’’C、‘W’D、‘’
8.下列C常量中合法的是B。
A.\097B.‘5’C.1e-0.1D.10-1
9.C语言中的标识符只能由字母、数字和下划线3种字符组成,且第一个字符(C)。
A)必须为字母B)必须为下划线C)必须为字母或下划线
10.在C语言中,变量所分配的内存空间大小C。
A.均为一个字节B.由用户自己定义C.由变量的类型决定D.任意的
11.如果在用户的程序中要使用C库函数中的数学函数时,应在该源文件中使用的include命令是(B)。
A、#include
C、#include
12.在C语言中,要求参加运算的数必须是整数的运算符是C。
A./B.!
C.%D.==
13.设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f的值的数据类型为C。
A.floatB.intC.doubleD.不确定
14.下列表达式的值为0的是C。
A.3<5B.3/5.0C.3/5D.3%5
15.设inta=12;,则执行完语句a*=2+3后,a的值为(A)。
A、60B、27C、12D、5
16.逗号表达式(a=3*5,a*4),a+15的值是(C)。
A、15B、60C、30D、75
17.以下能正确地定义整型变量a,b和c并为它们赋初始值5的语句是(A)。
A、inta=5,b=5,c=5;B、inta,b,c=5;
C、a=5,b=5,c=5;D、a=b=c=5;
18.putchar函数可以向终端输出一个D。
A.字符串B.整型变量表达式值C.实型变量值D.字符或字符型变量值
19.语句printf(“a=%4d,b=%4d\n”,123,12345);执行后输出的结果是(D)。
(说明:
□表示空格)
A、a=123,b=1234B、a=123□,b=12345
C、a=123,b=2345D、a=□123,b=12345
20.若有以下程序段:
intx1=1,x2=2,x3=3;
x3=x1/x2;
printf(“%d\n”,x3);
执行后输出的结果是(C)。
A、0.5B、1/2C、0D、3
21.有输入语句:
scanf("a=%d,b=%d,c=%d",&a,&b,&c);,为使变量a的值为1,b的值为3,c的值为2;从键盘输入数据的正确形式应当是(D)。
A、132<回车>B、1,3,2<回车>
C、a=1□b=3□c=2<回车>D、a=1,b=3,c=2<回车>
22.C语言用( C)表示逻辑真。
A.tB.TrueC.非0D.0
23.在C语言中,if语句后的一对圆括号中,用以决定分支流程的表达式(B)
A、只能用逻辑表达式B、可用任意表达式
C、只能用逻辑表达式或关系表达式D、只能用关系表达式
24.语句if(i)i++;中的条件表达式i等价于(C)。
A、i==0B、i!
=1C、i!
=0D、-1
25.设intx,y,z;执行语句x=y=z=0;++x&&++y||++z;后,x,y,z的值依次为B。
A.1,0,0B.1,1,0C.1,0,1D.1,1,1
26.若有说明:
intw=1,x=2,y=3,z=4;则执行下列语句后的m值是A。
m=(w w: x; m=(m m: y; m=(m m: z; A.lB.2C.4D.3 27.C语言规定,if语句的嵌套结构中,else总是与(D)配对。 A、与最近的if配套B、与第一个if配套 C、按缩进位置相同的if配套D、与最近的且尚未配对的if配套 28.判断char型变量ch是否为大写字母的正确表达式是C。 A.(ch>=’A’)&(ch<=’Z’)B.’A’<=ch<=’Z’ C.(ch>=’A’)&&(ch<=’Z’)D.(’A’<=ch)AND(’Z’>=ch) 29.执行下面的程序段后,变量k的值是B。 intk=5; switch(k--) {case4: k+=2; case5: k+=3; case6: k+=4;break; default: k+=10; } A.9B.11C.12D.13 30.假设a=1,则执行完下面语句后,a的值为(C)。 switch(a) {case0: a=a+1; case1: a=a+2; case2: a=a+3;break; case3: a=a+4;break; default: a=a+5; } A、1B、3C、6D、15 31.下列循环结构至少能执行一次循环体的是(B) A.whileB.do-whileC.forD.if-goto 32.设有程序段则下面描述中正确的是C。 intk=10; while(k==0)k=k-1; A.循环是无限循环B.while循环执行10次 C.循环体语句一次也不执行D.循环体语句执行一次 33.以下程序段C。 x=-1; do {x=x*x; }while(! x); A.是死循环B.循环执行二次C.循环执行一次D.有语法错误 34.有以下程序段: ints=0,i=10; do{ s=s+i; }while(i<10); 循环体执行的次数是(B)。 A、0B、1C、10D、无限次 35.下面程序的运行结果是(B)。 #include voidmain() {inta=1,b=10; do {b-=a;a++;}while(b--<0); printf("a=%d,b=%d\n",a,b); } A、a=3,b=11B、a=2,b=8C、a=1,b=-1D、a=4,b=9 36.执行下面程序段后屏幕的显示结果是A。 inti=1;while(i)printf(“%d”,i--); A.1B.0C.无显示D.死循环 37.若i为整型变量,则以下循环执行次数是D。 for(i=2;i==0;i++)printf(“%d”,i--); A.无限次B.2次C.l次D.O次 38.执行语句for(i=1;i++<4;);后变量i的值是C。 A.3B.4C.5D.不定 39.对for(表达式1;;表达式3)可理解为(B)。 A、for(表达式1;0;表达式3)B、for(表达式1;1;表达式3) C、for(表达式1;表达式1;表达式3)D、for(表达式1;表达式3;表达式3) 40.以下错误的描述是(A) A、break语句和continue语句的作用是一样的 B、break语句可用于do~while语句 C、在循环语句中使用break语句是为了跳出循环,提前结束循环 D、在循环语句中使用continue语句是为了结束本次循环,而不终止整个循环 41.以下对一维数组a的正确定义是D。 A.intn=5;inta[n];B.intn;inta[n]; C.intn;scanf(“%d”,n);inta[n];D.#defineN5inta[N]; 42.若有定义inta[10];则下面有问题的赋值语句是(D)。 A、a[0]=0;B、a[2*3]=2*3C、a[9]=2.5D、a[10]=10; 43.若有整型数组inta[]={2,4,6,8,10},则a[4]的值为(D)。 A、4B、6C、8D、10 44.若要定义c为2×3的二维数组,正确的定义语句是(A)。 A、floatc[2][3]B、floatc[2,3]C、floatc(2,3)D、floatc (2)(3) 45.设inta[][4]={1,2,3,4,5,6,7,8,9,10};则数组a的第一维的大小是(B) A.2B.3C.4D.无确定值 46.以下对二维数组a的正确说明是: C A.floata(3,4)B.inta[3][]C.doublea[2][4]D.inta(5)(5) 47.下面程序段的显示结果是C。 staticinta[3][4]={3,8,9,10,2,5,-3,5,7,0,-1,14}; inti,sum=0; for(i=0;i<3;i++)sum+=a[i][2]; printf(“%d”,sum); A.13B.6C.5D.0 48.已知inta[][3]={{0,1},{2,3,4,},{5,6},{7}};则a[2][1]的值是C。 A.0B.2C.6D.7 49.有数组定义intnum[][3]={{0},{1,2,3}};num有B个元素。 A.3B.6C.9D.不确定 50.C程序的函数内A。 A.不可以嵌套定义函数B.可以嵌套定义过程 C.可以嵌套定义函数和过程D.可以嵌套定义函数 51.C语言规定,函数返回值的类型由________C____。 A.return语句中的表达式类型决定。 B.由调用该函数的函数类型决定。 C.由定义函数时指定的函数类型决定。 D.由调用该函数的表达式形式决定。 52.按照C语言规定,以下不正确的是D。 A.实参可以是常量、变量或表达式B.形参可以是常量、变量或表达式 C.实参可以为任意类型D.形参应与其对应的实参类型一致 53.以下程序的运行结果是(B)。 #include voidswap(inta,intb) {intt; t=a;a=b;b=t; } voidmain() { inti=3,j=5; printf(“%d,%d,”,i,j); swap(i,j); printf(“%d,%d\n”,i,j); } A、3,5,3,5B、3,5,5,3C、3,3,5,5D、5,5,3,3 54.以下程序的运行结果是(B)。 #include voidmain() {intfun(inta,intb); intx=3,y=8,z=6,r; r=fun(fun(x,y),2*z); printf("%d\n",r); } intfun(inta,intb) {if(a>b)return(a+b); elsereturn(a-b); } A、-16B、-17C、17D、16 55.以下叙述不正确的是(D)。 A.一个C源程序可由一个或多个函数组成 B.一个C源程序必须包含一个main函数 C.C程序的基本组成单位是函数 D.在C程序中,注释说明只能位于一条语句的后面 56.下面不正确的字符串常量是(A)。 A.‘abc’B.“12’12”C.“0”D.“ 57.以下表达式值为3的是(B)。 A.16-13%10B.2+3/2C.14/3-2D.(2+6)/(12-9) 58.若有代数式3ae/(bc),则不正确的C语言表达式是(C)。 A.a/b/c*e*3B.3*a*e/b/cC.3*a*e/b*cD.a*e/c/b*3 59.若x、i、j和k都是int型变量,则执行下面表达式后x的值为(C)。 x=(i=4,j=16,k=32) A.4B.16C.32D.52 60.执行表达式a=12,a=a+13,a+20后a的值为(C)。 A.45B.12C.25D.13 61.设intx=1,y=2,z=3;,则表达式x==z||x+y>z的值是(A)。 A.0B.1C.2D.3 62.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=‘A’+‘6’-‘3’;后,c2中的值为(B)。 63.设有说明: charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为(C)。 A.intB.floatC.doubleD.char 64.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。 如果字符串长度大于5,则输出按方式(B)。 A.从左起输出该字串,右补空格B.按原字符长从左向右全部输出 C.右对齐输出该字串,左补空格D.输出错误信息 65.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是(D)。 inta1,a2;charc1,c2; scanf(“%d%d”,&a1,&a2); scanf(“%c%c”,&c1,&c2); A.1020AB<回车>B.1020<回车>AB<回车> C.1020AB<回车>D.1020AB<回车> 66.有输入语句: scanf(“%d%d%d”,&a,&b,&c);为使变量a的值为1,b为3, c为2,从键盘输入数据的正确形式应当是(C)。 (_表示空格)" A.132<回车>B.1,3,2<回车> C.132<回车>D.a=1,b=3,c=2<回车> 67.以下说法正确的是(D)。 A.输入项可以为一实型常量,如scanf(“%f”,3.5); B.只有格式控制,没有输入项,也能进行正确输入,如scanf(“a=%d,b=%d”); C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%4.2f”,&f); D.当输入数据时,必须指明变量的地址,如scanf(“%f”,&f); 68.若有以下定义,则正确的赋值语句是(B)。 inta,b;floatx; A.a=1,b=2B.b++;C.a=b=5D.b=int(x); 69.以下关于运算符优先顺序的描述中正确的是(C)。 A.关系运算符<算术运算符<赋值运算符<逻辑与运算符 B.逻辑与运算符<关系运算符<算术运算符<赋值运算符 C.赋值运算符<逻辑与运算符<关系运算符<算术运算符 D.算术运算符<关系运算符<赋值运算符<逻辑与运算符 70.表示图中坐标轴上阴影部分的正确表达式是(C)。 //////// //////// X abc A.(x<=a)&&(x>=b)&&(x<=c)B.(x<=a)||(b<=x<=c) C.(x<=a)||(x>=b)&&(x<=c)D.(x<=a)&&(b<=x<=c) 71.若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是(C)。 A.A%2==1B.! (A%2==0)C.! (A%2)D.A%2 72.设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是(D)。 A.‘x’&&‘y’B.x<=yC.x||y+z&&y-zD.! ((x z||1) 73.已知x=43,y=0,ch=‘A’;则表达式(x>=y&&ch<‘B’&&! y)的值是(C)。 A.0B.语法错C.1D.“假” 74.执行以下语句后a的值为(B)。 inta=5,b=6,w=1,x=2,y=3,z=4; (a=w>x)&&(b=y>z); A.5B.0C.2D.1 75.以下程序的运行结果是(B)。 #include“stdio.h” main() { inta,b,d=241; a=d/100%9; b=(-1)&&(-1); printf(“%d,%d”,a,b); } A.6,1B.2,1C.6,0D.2,0 76.以下if语句语法正确的是(B)。 A.if(x>0)printf(“%f”,x) elseprintf(“%f”,-x); B.if(x>0) {x=x+y;printf(“%f”,x);} elseprintf(“%f”,-x); C.if(x>0) {x=x+y;printf(“%f”,x);}; elseprintf(“%f”,-x); D.if(x>0) {x=x+y;printf(“%f”,x)} elseprintf(“%f”,-x); 77.以下不正确的if语句形式是(C)。 A.if(x>y&&x! =y);B.if(x==y)x+=y; C.if(x! =y)scanf(“%d”,&x)elsescanf(“%d”,&y);D.if(x 38.已知intx=10,y=20,z=30;以下语句执行后x,y,z的值是(B)。 if(x>y)z=x;x=y;y=z; A.x=10,y=20,z=30B.x=20,y=30,z=30 C.x=20,y=30,z=10D.x=20,y=30,z=20 78.设以下变量均为int类型,则值不等于7的表达式是(C)。 A.(x=y=6,x+y,x+1)B.(x=y=6,x+y,y+1) C.(x=6,x+1,y=6,x+y)D.(y=6,y+1,x=y,x+1) 79.已知intx=0,y=1.5;执行以下程序段以后,y的值为(D)。 if(x! =0) if(x>0)y=1; elsey=-1; printf(“%d”,y); A.0B.-1C.1.5D.1 80.若有条件表达式(exp)? a++: b--,则以下表达式中能完全等价于表达式(exp)的是(B)。 A.(exp==0)B.(exp! =0)C.(exp==1)D.(exp! =1) 81.下面程序段的运行结果是(C)。 intn=0; while(n++<=2);printf(“%d\n”,n); A.2B.3C.4D.有语法错 82.下面程序段的运行结果是(C)。 a=1;b=2;c=1; while(a printf(“%d,%d,%d”,a,b,c); A.1,2,0B.2,1,0C.1,2,1D.2,1,1 83.下面有关for循环的正确描述是(D)。 A.for循环只能用于循环次数已经确定的情况 B.for循环是先执行循环体语句,后判断表达式 C.在for循环中,不能用break语句跳出循环体 D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 84.若i为整型变量,则以下循环执行次数是(B)。 for(i=2;i==0;)printf(“%d”,i--); A.无限次B.0次C.1次D.2次 85.在C语言中,引用数组元素时,其数组下标的数据类型允许是(C)。 A.整型常量B.整型表达式 C.整型常量或整型表达式D.任何类型的表达式 86.若有说明: inta[10];则对a数组元素的正确引用是(D) 。 A.a[10]B.a[3.5]C.a(5)D.a[10-10] 87.对以下说明语句的正确理解是(B)。 inta[10]={6,7,8,9,10}; A.将5个初值依次赋给a[1]至a[5] B.将5个初值依次赋给a[0]至a[4] C.将5个初值依次赋给a[6]至a[10] D.因为数组长度与初值的个数不相同,所以此语句不正确 88.若有说明: inta[3][4]={0};则下面正确的叙述是(D)。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 综合复习选择结果答案版 综合 复习 选择 结果 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)