C语言期末总复习习题第四套
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
30. 以下叙述正确的是( )。 A、在C程序中,main函数必须位于程序的最前面 B、C语言本身没有输入输出语句 C、C程序的每行中只能写一条语句 D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误 标记此题 31. 设有说明:char w;int x,float y;double z; 则表达式w*x+z-y值的数据类型 为( )。 A、float B、int C、char D、double 标记此题 32. 编辑c程序的步骤: A、编辑 编译 执行 连接 B、编辑 编译 连接 执行 C、编辑 连接 编译 执行 D、编辑 执行 编译 连接 标记此题 33. 若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的 值是( )。 A、2.500000 B、3.500000 C、2.750000 D、0.000000 标记此题 34. 在32位计算机中,C语言中,存储一个字符型、整型、单精度实型变 量所需的空间是( )。 A、1、4、4 B、1、2、8 C、1、1、4 D、2、2、4 标记此题
A、10 B、3 C、5 D、6 标记此题 44. 设有定义:float a=2,b=4,h=3;下面表达式与代数式子(a+b)*h/2结 果不相同的是( )。 A、((a+b)*h)/2 B、9 C、(1/2)*(a+b)*h D、(a+b)*h*1/2 标记此题 45. 以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是: A、if((a>B) &&(b>C) ) k=1; else k=0; B、if(a<=B) k=0; else if(b<=C) k=1; else k=0; C、if((a>B) ||(b>C) ) k=1 D、if(a>B) k=1; else if(b>C) k=1; 标记此题 46. 以下各标识符中,合法的用户标识符为( )。 A、A#C B、main C、mystery D、ab* 标记此题 47. 以下能正确地定义整型变量a,b和c 并为其都赋初值5的语句是( )。 A、int a=b= c= 5; B、a= 5,b=5,c=5; C、int a,b, c= 5; D、a= b= c=5;
一、单选(共90分) 1. _________是构成C语言的基本单位。 A、函数 B、子过程 C、过程 D、子函数 标记此题 2. 在C语言的环境中头文件的后缀名是; A、*.h B、C程序的源文件 C、*.bak D、*.obj 标记此题 3. 在嵌套使用if语句时,C语言规定else总是________。 A、和之前与其具有相同缩进位置的if配对 B、和之前的第一个if配对 C、和之前与其最近的且不带else的if配对 D、和之前与其最近的if配对 标记此题 4. 以下程序 x=-1; do{ x=x*x; }while(!x); 循环体的执行次数是:( ) A、死循环 B、执行零次 C、执行两次 D、执行一次 标记此题
。
D、**** 标记此题 37. 以下程序的输出结果为( )。 #include <stdio.h> main() { int i; for(i=1;i<=5;i++) { if(i%2) printf("*"); else continue; printf("#"); } printf("$\n"); } A、*#*#*#$ B、*#*#$ C、#*#*#*$ D、#*#*$ 标记此题 38. 若x,i,j和k都是int型变量,则执行下面表达式后x的值为 x=(i=4,j=16,k=32) A、4
#include <stdio.h> main() { int i,sum; for(i=1;i<6;i++) sum+=i; printf("%d\n",sum); } A、15 B、不确定 C、14 D、0 标记此题 24. 设以下变量均为int类型,则值不等于7的表达式是( )。 A、(x= y= 6, x+y,x+1) B、(x= 6,x+1,y= 6,x+y) C、(x= y= 6,x+y,y+1) D、(y=6,y+l,x = y,x+1) 标记此题 25. 已知 int t=0; while (t=1) {...} 则以下叙述正确的是 A、循环控制表达式的值为0 B、循环控制表达式不合法 C、循环控制表达式的值为1
y=1 (x>0) y=0 (x=0) C、y=-1 (x<0) y=1 (x>0) y=0 (x≠0) D、y=-1 (x>0) y=1 (x<0) y=0 (x=0) 标记此题 11. 以下程序的输出结果是( )。 main() { int n=1; printf("%d %d %d\n",n,n++,n--); } A、1 1 1 B、1 1 0 C、1 0 1 D、1 2 1 标记此题 12. 当a=1,b=2,c=3,d=4时,执行完下面一段程序后x的值是( if(a<b) if(a<d) x=1; else if(a<c) if(b<d) x=2; )
else x=3; else x=6; else x=7; A、1 B、3 C、2 D、6 标记此题 13. 设变量x和y均已正确定义并赋值,以下if语句中,在编译时将产生错 误信息的是( ) A、if(x++); B、if(x>y) x--; else y++; C、if(x>y&&y!=0); D、if(y<0)x++;y++; else x++; 标记此题 14. 下列程序运行结果是: main() { int x=9,y=5,z=8; if(x<y) if(y<0) z=0; else z+=1; printf("%d\n",z); } A、6
for(x=0,y=0; !x&&y<=5;y++)语句执行循环的次数是( ) A、0 B、6 C、5 D、无数次 标记此题 19. 定义 char a=‘A’; printf(“%d”,a); A、65 B、A C、97 D、a 标记此题 20. 已知字母A的ASCII码为十进制65,且c2为字符型,则执行 c2=‘A’+‘6’-‘3’后,c2中的值为( )。 A、D B、不确定的值 C、68 D、C 标记此题 21. 若一个int型数据在内存中占2个字节,则unsigned int 型数据的取值 范围为( )。 A、0~255 B、0~65535 C、0~32767 D、0~2147483647 标记此题 22. 以下叙述中正确的是 A、用C语言实现的算法必须要有输入和输出操作 B、用C语言实现的算法可以没有输出但必须要有输入 C、用C语言实现的算法可以没有输入但必须要有输出 D、用C程序实现的算法可以既没有输入也没有输出 标记此题 23. 以下程序执行后sum的值是( )。
B、8 C、7 D、9 标记此题 15. 有以下程序 #include <stdio.h> main() { int i,j,x=0; for(i=0;i<2;i++) { x++; for(j=0;j<=3;j++) { if(j%2) continue; x++; } x++; } printf("x=%d\n",x); } 程序执行后的输出结果是: A、x=4 B、x=6
D、4 标记此题 29. 有以下程序 main() { int i=0,s=0; do{ if(i%2) { i++; continue; } i++; s+=i; } while(i<7); printf("%d\n",s); } 执行后输出结果是( )。 A、16 B、28 C、12 D、21 标记此题
5. C语言源程序名的后缀是 A、exe B、cp C、obj D、c 标记此题 6. 下列叙述中正确的是( )。 A、break语句只能用于switch语句 B、在switch语句中,不一定使用break语句 C、break语句必须与switch语句中的case配对使用 D、在switch语句中必须使用default 标记此题 7. 阅读以下程序: #include <stdio.h> main() { int s; scanf("%d",&s); switch(s==!s) { case 0:printf("The number is not 0");break; case 1:printf("The number is 0"); break; } } 程序运行后,如果从键盘上输入?9,则输出结果是( )。 A、The number is not 0 B、0
C、k=0,m=5 D、k=1,m=5 标记此题 28. 有以下程序 #include <stdio.h> main() { int a=15,b=21,m=0; switch(a%3) { case 0:m++; break; case 1:m++; switch(b%2) { default:m++; case 0:m++;break; } } printf("%d\n",m); } 程序运行后的输出结果是( ) A、1 B、3 C、2
D、以上说法都不对 标记此题 26. int a=5,b=0; printf(“%d,%d\n”, a&&b,a||b); 输出值为:( ) A、5,0 B、1,0 C、1,5 D、0,1 标记此题 27. 下述程序的输出结果是( )。 #include <stdio.h> main() { int k=0,m=0; int i,j; for(i=0;i<2;i++) { for(j=0;j<3;j++) k++; k-=j; } m=i+j; printf("k=%d,m=%d",k,m); } A、k=0,m=3 B、k=1,m=3
பைடு நூலகம்
C、程序出错 D、The number is 0 标记此题 8. 对下面三条语句(其中s1和s2为内嵌语句),正确的论断是( )。 (1)if (a) s1;else s2; (2) if (a==0) s2;else s1; (3)if (a!=0) s1;else s2; A、三者相互等价 B、(1) 和 (3) 等价 , 但与 (2) 不等价 C、三者互不等价 D、(1) 和 (2) 等价 , 但与 (3) 不等价 标记此题 9. 在以下给出的表达式中,与while(E)中的(E)不等价的表达式是( ) A、(!E==0) B、(E==0) C、(E>0||E<0) D、(E!=0) 标记此题 10. 以下程序段所对应的数学关系表示式是: if(x<0) y=-1; else if(x==0) y=0; else y=1; A、y=-1 (x<0) y=1 (x>0) y=1 (x=0) B、y=-1 (x<0)
C、x=8 D、x=12 标记此题 16. C语言中目标文件的后缀名是 : A、.c B、.exe C、.obj D、.h 标记此题 17. 设x和y均为int型变量,则执行下面的循环后,y值为( for(y=1,x=1;y<=50;y) { if(x=10) break; if(x%2==1) { x=5; continue; } x-=3; } A、1 B、6 C、4 D、2 标记此题 18. 如果x和y都是整数,而已正确定义。 )
B、32 C、16 D、52 标记此题 39. 若有说明语句:char c='\72'则变量c是( )。 A、包含1个字符 B、包含3个字符 C、包含2个字符 D、说明不合法,c的值不确定 标记此题 40. 下面说法不正确的是: A、一个C源程序可由一个或多个函数组成 B、C程序的基本组成单位是函数 C、一个C源程序必须包含一个main函数 D、在C程序中,注释说明只能位于一条语句的后面 标记此题 41. 负数在计算机的存储形式: A、原码 B、 补码 C、反码 D、原码 、 反码 、 补码任意一种 标记此题 42. 结构化程序由三种基本结构组成,三种基本结构组成的算法 A、可以完成任何复杂的任务 B、只能完成符合结构化的任务 C、只能完成部分复杂的任务 D、只能完成一些简单的任务 标记此题 43. 执行下列程序段后,I值是( for(I=1,x=1;I<=20;I++) { break; if(x%2==1) x+=5; continue; x-=3; } )。 int I,x; if(x>=10) { }
35. 若a为整型变量,则下面语句 a=-2L; printf(“%d\n”,a); A、赋值不合法 B、输出为不确定值 C、输出值为-2.0 D、输出值为-2 标记此题 36. 下面程序的执行结果是:() #include<stdio.h> void main() { int i=0; while(1) { printf("*"); i++; if(i<3) break; } printf("\n"); } A、* B、** C、***