最新计算机c语言期末考试考试复习题.docx
- 文档编号:12667209
- 上传时间:2023-04-21
- 格式:DOCX
- 页数:26
- 大小:26.04KB
最新计算机c语言期末考试考试复习题.docx
《最新计算机c语言期末考试考试复习题.docx》由会员分享,可在线阅读,更多相关《最新计算机c语言期末考试考试复习题.docx(26页珍藏版)》请在冰豆网上搜索。
最新计算机c语言期末考试考试复习题
复习题
选择题
1.一个C程序的执行是从____A___。
A)本程序的main函数开始,到main函数结束
B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C)本程序文件的第一个函数开始,到本程序main函数结束
D)本程序的main函数开始,到本程序文件的最后一个函数结束
2.以下叙述不正确的是____D__。
A)一个C源程序必须包含一个main函数
B)一个C源程序可由一个或多个函数组成
C)C程序的基本组成单位是函数
D)在C程序中,注释说明只能位于一条语句的后面
3.一个C语言程序是由_____B____。
A.一个主程序和若干子程序组成
B.若干函数组成
C.若干过程组成
D.若干子程序组成
4.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为___C____。
x=(i=4,j=16,k=32)
A)4B)16C)32D)52
5.假定x和y为double型,则表达式x=2,y=x+3/2的值是___A_______。
A)3.500000B)3C)2.000000D)3.000000
6.下列四组选项中,均是不合法的用户标识符的选项是___B____。
A)WP_0do
B)b-agotoint
C)floatla0_A
D)-123abcTEMP
7.若有定义:
inta=3,b=2,c=1;并有表达式:
①a%b,②a>b>c,③b&&c+1,④c+=1,则表达式值相等的是___C____。
A)①和②B)②和③C)①和③D)③和④
8.以下程序段的输出结果是__C_____。
inta=1234;
printf("%2d\n",a);
A)12B)34C)1234D)提示出错,无结果
9.若w=1,x=2,y=3,z=4,则条件表达式w w: y y: z的值是_D______。 A)4B)3C)2D)1 10.设: inta=1,b=2,c=3,d=4,m=2,n=2;执行(a>b)&&(n=c>d)后n的值为__B_____。 A)1B)2C)3D)4 11.若要求在if后一对圆括号中表示a不等于0的关系,能正确表示这一关系表达式的是__D_____。 A)a<>0B)! aC)a==0D)a! =0 12.有一函数 以下程序段中不能根据x值正确计算出y值的是_____C__。 A)if(x>0)y=1;B)y=0; elseif(x==0)y=0;if(x>0)y=1; elsey=-1;elseif(x<0)y=-1; C)y=0;D)if(x>=0) if(x>=0);if(x>0)y=1; if(x>0)y=1;elsey=0; elsey=-1;elsey=-1; 13.有以下程序: main() { inti=1,j=1,k=2; if((j||k)&&i++)printf("%d,%d,%d\n",i,j,k); } 执行后输出结果是___B____。 A)1,1,2B)2,1,2C)1,2,2D)2,2,3 14.有如下程序 main() {inta=2,b=-1,c=2; if(a if(b<0)c=0; elsec++; elsec=a+1; printf("%d\n",c); } 该程序的输出结果是__D_____。 A)0B)1C)2D)3 15.若inti=10;执行下列程序后,变量i的正确结果是__C_____。 switch(i) { case9: i+=1; case10: i+=1; case11: i+=1; default: i+=1; } A)10B)11C)12D)13 16.下述程序段的运行结果是_C______。 inta=1,b=2,c=3,t; while(c>1) {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 17.以下程序段的循环次数是__B_____。 for(i=2;i==0;)printf(“%d”,i--); A)无限次B)0次C)1次D)2次 18.以下不是死循环的程序段是__A_____。 A)inti=100;B)for(;;); while (1) { i=i%100+1; } C)intk=36;D)ints=36; while(s)while(s); --s;--s; 19.以下程序段的循环次数是__B_____。 for(i=2;i==0;)printf(“%d”,i--); A)无限次B)0次C)1次D)2次 20.下面for循环语句_____C__。 inti; for(i=0;i<1;i++) printf(“***”); A)判断循环结束的条件非法B)是无限循环 C)只循环一次D)一次也不循环 21.以下对一维整型数组a的定义正确的是__B_____。 A)inta(10);B)intn=10,a[n]; C)intn;D)#defineSIZE10 scanf(“%d”,&n);inta[SIZE]; inta[n]; 22.以下程序的输出结果是____C___。 fun(inta,intb) {intc; c=a+b; returnc; } main() {intx=6,y=7,z=8,r; r=func(x+y,z); printf("%d\n",r); } A)11B)20C)21D)31 23.逻辑运算符两侧运算对象的数据类型_D_______。 A)只能是0和1B)只能是0或非0正数 C)只能是整型或字符型数据D)可以是任何类型的数据 24.若有定义intx=4;则执行语句x+=x*=x+1;后,x的值为(C)。 A)5B)20C)40D)无答案 25.若有定义: floata=3.0,b=4.0,c=5.0;则表达式1/2*(a+b+c)的值为(A)。 A)6.0B)6C)0.0D)无答案 26.设x,y均为整型变量,且x=8,y=5,则以下语句的输出结果是(D)。 printf("%d,%d\n",x--,++y); A)8,5B)7,5C)7,6D)8,6 27.对以下程序的判断,正确的是(B) #include voidmain() {intx,y; scanf(“%d,%d”,&x,&y); if(x>y) x=y; else x++; printf(“%d,%d”,x,y); } A)若输入数据3和4,则输出4和5 B)若输入数据4和3,则输出3和3 C)语法错误,不能通过编译 D)若输入数据4和3,则输出4和4 28.有如下程序 main() {inta=2,b=-1,c=2; if(a if(b<0)c=0; elsec++; elsec=a; printf("%d\n",c); } 该程序的输出结果是(C)。 A)0B)1C)2D)3 29.设x、y均为float型变量,则以下不合法的赋值语句是_B________。 A.++x;B.y=(x%2)/10C.x*=y+8;D.x=y=0; 30.有如下程序 main() {intx=1,a=0,b=0; switch(x) { case0: b++; case1: a++; case2: a++;b++; } printf("a=%d,b=%d\n",a,b); } 该程序的输出结果是(C)。 A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=2 31.有如下程序 main() {floatx=2.0,y; if(x<0.0)y=0.0; elseif(x<10.0)y=1.0/x; elsey=1.0; printf(“%f\n”,y); } 该程序的输出结果是(C)。 A)0.000000B)0.250000C)0.500000D)1.000000 32.下面程序段 intk=2; while(k=0){printf(“%d”,k);k--;} 则下面描述中正确的是(C)。 A)while循环执行10次B)循环是无限循环 C)循环题语句一次也不执行D)循环体语句执行一次 33.以下程序段(C)。 x=-1; do {x=x*x;} while(! x); A)是死循环B)循环执行2次C)循环执行1次D)有语法错误 34.设有下列程序段: chars[20]="Beijing",*p; p=s; 则执行p=s;语句后,下列叙述正确的是( )。 A)可以用*p表示s[0] B)s数组中元素的个数和p所指字符串长度相等 C)s和p都是指针变量 D)数组s中的内容和指针变量p中的内容相同 35.若inti=10;执行下列程序后,变量i的正确结果是___C____。 switch(i) { case9: i+=1; case10: i+=1; case11: i+=1; default: i+=1; } A)10B)11C)12D)13 36.以下程序的输出结果是__C_____。 fun(inta,intb) {intc; c=a+b; returnc; } main() {intx=6,y=7,z=8,r; r=func(x+y,z); printf("%d\n",r); } A)11B)20C)21D)31 37.以下关于do-while循环的不正确描述是___B______。 A.do-while的循环体至少执行一次 B.do-while循环由do开始,用while结束,在while(表达式)后面不能写分号 C.在do-while循环体中,一定要有能使while后面表达式的值变为零("假")的操作 D.do-while的循环体可以是复合语句 38.C语言规定: 在一个源程序中,main函数的位置____C_____。 A.必须在最开始 B.必须在系统调用的库函数的后面 C.可以任意 D.必须在最后 39.若有说明: inta[]={1,2,3,4,5,6,7};则a数组元素的个数是___C______。 A.2B.1 C.7D.无确定值 40.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是___C______。 (注: _表示空格) intal,a2,charc1,c2; scanf("%d%c%d%c",&a1,&c1,&a2,&c2); A.10A_20_BB.10_A_20_BC.10A20BD.10A20_B 41.C语言中的标识符只能用字母、数字、下划线三种字符组成,且第一个字符__C_______。 A.必须为字母B.必须为下划线 C.必须为字母或下划线D.可以是字母、数字、下划线 42.以下程序段___C______。 x=-1; do {x=x*x;} while(! x); A.是死循环B.循环执行二次 C.循环执行一次D.有语法错误 43.下面程序的输出是___A______。 main() {charx=060; printf("%d\n",x); A.48B.96C.60D.24 44.若有说明: inta[10];则对a数组元素的正确引用是(C)。 A.a[10]B.a[3.5]C.a[2]D.a[-1] 45.设x和y均为int型变量,则执行以下语句后的输出值为____B_____。 x=15; y=5; printf("%d",x%=(y/=2)); A.0B.1C.2D.3 46.若有inta=1,b=2,c=3,d=4,m=2,n=2;执行表达式(m=a>b)&&(n=c>d)后n的值为____C_____。 A.0B.1C.2D.3 51设有“inta;”,以下不能正确表达数学关系10 A.! (a<=10)&&! (a>=15)B.a==11||a==12||a==13||a==14 C.a>10&&a<15D.10 47.设正x、y均为整型变量,且x=10y=3,则以下语句的输出结果是__c_______。 pprintf("%d,%d\n",--x,--y); A.10,3B.9.3C.9.2D.10.2 48.以下程序的输出结果是___D______。 main() {inta=3; printf("%d\n",(a+=a-=a*a)); } A.-6B.12C.0D.-12 49.设a、b均为double型变量,且a=5.5,b=2.5,则表达式(int)a+b/b的值是___D______。 A.6.500000B.06C.5.500000D.6.000000 50.执行语句: for(i=1;i<4;i++);后,变量i的值是_B________。 A.3B.4C.5D.不变 51.下面程序的正确结果是(C) #include main() {inta=2,b=-1,c=2; if(a if(b<0)c=1; else c++; printf(“%d\n”,c); } A)0B)1C)2D)3 52.若有以下定义: floatx;inta,b; 则正确的switch语句是(C) A)B) switch(x)switch(x) {case1.0: printf(“*\n”);{case1,2: printf(“*\n”); }case3: printf(“**\n”) } C)D) switch(a+b)switch(a+b) {case1: printf(“*\n”);{case1: printf(“*\n”); case2: printf(“**\n”);case2: printf(“**\n”) }} 53.有定义语句: inta=1,b=2,c=3,x;,则以下选项中各程序段执行后,x的值不为3的是(C)。 A)if(c elseif(b elsex=3;elsex=1; C)if(a<3)x=3;D)if(a
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 计算机 语言 期末考试 考试 复习题