CC语言期末复习含完整答案

如有你有帮助,请购买下载,谢谢!

题型:

一、选择题: 1’ ×20

二、基础知识填空题 : 1’ ×15 三、阅读程序题:3’ ×6 四、完善程序题 : 2’ ×10 五、程序改错题 : 3’ ×4 六、编程题:2题,共 15 分 注意:

(1)选择题答案:每行5个,写清楚题号; (2)完善程序题答题时请注明横线处的编号; (3)改错题:写出错误所在行号,并改正; (4)用黑色水笔答题; (5)带上有效证件。

一、选择题

1. 计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是 C A)C语言程序仅可以编译执行 B)C语言程序仅可以解释执行

C)C语言程序既可以编译执行又可以解释执行 D)以上说法都不对

2. 以下叙述中错误的是 D

A)C语言的可执行程序是由一系列机器指令构成的 B)用C语言编写的源程序不能直接在计算机上运行 C)通过编译得到的二进制目标程序需要连接才可以运行

D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件 3. 以下叙述中错误的是 。 C

A.C语言编写的函数源程序,其文件名后缀可以是.C B.C语言编写的函数都可以作为一个独立的源程序文件 C.C语言编写的每个函数都可以进行独立的编译并执行 D.一个C语言程序只能有一个主函数 4. 一个C语言程序是由( ) A

A. 一个主程序和若干子程序组成 B. 函数组成 C. 若干过程组成 D. 若干子程序组成 5. 以下说法正确的是( ) C

C语言程序总是从第一个定义的函数开始执行

在C语言程序中,要调用的函数必须在main()函数中定义 C语言程序总是从main()函数开始执行

C语言程序中的main()函数必须放在程序的开始部分 6. 以下关于C源程序的叙述中正确的是 。 C A.注释只能出现在程序的开始位置或语句后面 B.一行中不能写多条语句 C.一条语句可以分写在多行中

D.一个源程序只能保存在一个文件中

1页

如有你有帮助,请购买下载,谢谢!

7. 在一个C程序中, 。B

A.main函数必须出现在所有函数之前 B.main函数可以在任何地方出现 C.main函数必须出现在所有函数之后 D.main函数必须出现在固定位置 8. 下列选项中可用作变量名的是__________ A

A. Case B. a-b C. $cd D. 2ab 9. 下列可用于C语言用户标识符的一组是 B

A)void, define, WORD B)a3_3,_123,Car C)For, -abc, IF Case D)2a, DO, sizeof

10. 以下选项中关于C语言常量的叙述错误的是: D A.所谓常量,是指在程序运行过程中,其值不能被改变的量 B.常量分为整型常量、实型常量、字符常量和字符串常量 C.常量可分为数值型常量和非数值型常量 D.经常被使用的变量可定义成常量

11. 以下4个选项中,不能看作一条语句的是 。D A.{;} B.a=0,b=0,c=0; C.if(a>0); D.if(b==0)m=l;n=2; 12. 以下选项中属于C语言的数据类型是( ) C

A.复数型 B .逻辑型 C .双精度型 D. 集合型

13. 以下只有在使用时才为该类型变量分配内存的存储类说明是( ) B A. auto和static B. auto和register C. register和static D. extern和register

14. 若有定义语句:int a=10;double b=3.14;,则表达式‘A’+a+b值得类型是 C A.char B.int C.double D.float 15. 以下选项中非法的表达式是 。D A.0<=x<100 B.i=j= =0 C.(char)(65+3) D.x+1=x+1 16. 已有声明“int x,a=3,b=2;”,则执行赋值语句“x=a>b++?a++:b++;”后,变量x、a、b的值分别为_____。A

A. 3 4 3 B. 3 3 4 C. 3 3 3 D. 4 3 4 17. 已定义c为字符型变量,则下列语句中正确是 。C A.c='97'; B.c=\ C.c=97; D.c=\18. 设有如下定义:int a=1,b=2,c=3,d=4,m=2,n=2;则执行表达式:(m=a>b)&&(n=c>d)后,n的值为 。B

A.1 B.2 C.3 D.0 19. 能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是 。D A.a>=10 or a<=0 B.a>=0|a<=10 C.a>=10 &&a<=0 D.a>=10‖a<=0 20. 若希望当num的值为奇数时,表达式的值为“真”,num的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是 。C

A.num%2==1 B.!(num%2==0) C.!(num%2) D.num%2 21. 能正确表示a和b同时为正或同时为负的逻辑表达式是 。D A.(a>=0‖b>=0)&&(a<0‖b <0) B.(a>=0&&b>=0)&&(a<0&&b <0) C.(a+b>0)&&(a+b<=0) D.a*b>0

22. 要判断char型变量m是否是数字,可以使用下列表达式( )B

2页

如有你有帮助,请购买下载,谢谢!

A.0<=m && m<=9 B. ‘0’<=m && m<=’9’ C. “0”<=m && m<=”9” D. 前面三个答案均是错误的

23. 若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1>k2)&&(k2=k2>k1)后,k1和k2的值分别为 B

A. 0和1 B. 0和20 C. 10和1 D. 10和20

24. 若有定义:int a,b; 通过语句scanf(“%d;%d”,&a,&b); 能把整数3赋给变量a,5付给变量b的输入数据是 C

A.3 5 B.3,5 C.3;5 D.35

25. if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是D A)必须是逻辑值 B)必须是整数值 C)必须是正数 D)可以是任意合法的数值

26. 下列条件语句中输出结果与其他语句不同的是 D A.if(a) printf(“%d\\n”,x); else printf(“%d\\n”,y); B.if(a==0) printf(“%d\\n”,y); else printf(“%d\\n”,x); C.if(a!=0) printf(“%d\\n”,x); else printf(“%d\\n”,y); D.if(a==0) printf(“%d\\n”,x); else printf(“%d\\n”,y);

27. 以下关于break和continue语句的叙述中正确的是 _________ 。 B A.break和continue语句都可以出现在switch语句中

B.break和continue语句都可以出现在循环语句的循环体中

C.在循环语句和switch语句之外允许出现break和continue语句 D.执行循环语句中的break或continue语句都将立即终止循环 28. 下列的语句中( )定义了一个能存储20个字符的数组C A.int a[21]; B.char b[20]; C.char c[21]; D.int d[20]; 29. 以下定义数组的语句中错误的是 C A.int num[]={1,2,3,4,5,6};

B.int num[][3]={{1,2},3,4,5,6};

C.int num[2][4]={{1,2},{3,4},{5,6}}; D.int num[][4]={1,2,3,4,5,6}; 30. 以下错误的定义语句是 C

A)int x[][3]={{0},{1},{1,2,3}}; B)int x[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}}; C)int x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}}; D)int x[][3]={1,2,3,4}; 31. 以下能正确定义一维数组的选项是 B

A)int a[5]={0,1,2,3,4,5}; B)char a[]={′0′,′1′,′2′,′3′,′4′,′5′,′\\0′}; C)char a={′A′,′B′,′C′}; D)int a[5]=\

32. C语言规定,函数返回值的类型是由( )决定的。 D

A. return语句中的表达式类型 B. 调用该函数时的主调函数类型 C. 调用该函数时由系统临时 D. 在定义函数时所指定的函数类型

33. 若已经定义的函数有返回值,则以下关于该函数调用的叙述中错误的是 26 。D A.函数调用可以作为独立的语句存在 B.函数调用可以作为一个函数的实参 C.函数调用可以出现在表达式中 D.函数调用可以作为一个函数的形参 34. 若调用一个函数,且此函数中没有return语句,则正确的说法是 21 。D A.该函数没有返回值 B.返回若干个系统默认值 C.能返回一个用户所希望的函数值 D.返回一个不确定的值

3页

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4