云南师范大学计算机技术基础C语言期末考试样卷及答案

云南师范大学2011-2012学年下学期统一考试

《计算机技术基础》(C语言)期末考试样卷

考试方式(闭卷机考) 考试时量:100分钟 试卷编号(样卷)

一、判断题:(每题1分,共15分)

1. 在C程序中,注释内容在编译时被忽略,因此好的C程序不需要注释。B A.对 B.错

2. #define是一种特殊的C语句,在行末没有分号。B A.对 B.错

3. C语言中表达式3%2是合法的表达式。A A.对 B.错

4.在C程序中,赋值语句x=123和x=0123后,变量x的值是不同的。A

A.对 B.错 5.2&&3的结果为1。A

A.对 B.错

6. C程序总是从程序的第一条语句开始顺序执行。B

A.对 B.错

7.C语言中,函数的定义可以嵌套。B

A.对 B.错

8. 结构体中的成员变量可以有不同的数据类型。A

A.对 B.错

9.出现在主调函数之前的用户自定义函数,可以不必加函数声明。A

A.对 B.错

10.C语言中用for循环语句实现的功能,用while循环语句不一定能实现。B

A.对 B.错

11.有如下说明:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为5的表达式是 *(P+4)。 A A.对 B.错

12.字符串和字符数组都要求其最后一个字符为’\\0’。B

A.对 B.错

13.合理使用共用体可以节省内存空间。A

A.对 B.错

14. 函数是C程序的基本单位。A

A.对 B.错

15. 全局变量在程序中的任何地方都有效。 B

A.对 B.错

二、 单选题(在本题的每一小题的被选答案中只有一个正确答案,多选不给分,

每题1分,共40分) 1、下面叙述错误的是____。D A. C程序中,各种括号应成对出现

B. C程序中,赋值号的左边不可以是表达式 C. C程序中,变量名的大小写是有区别的

D. C程序中,若未给变量赋初值,则变量的初值自动为0

2.有宏定义:#define E 2.718则编译预处理时将E替换成一个____。D A.单精度常量 B.单精度变量 C.双精度变量 D.字符串 3、C程序中,合法的关键字是____。A

A. int B. integer C. Int D. Integer 4.以下选项中正确的定义语句是____。C

A.double a; b;

B.double a=b=7; D.double, a, b;

C.double a=7, b=7;

5.C程序中,运算对象必须为整型数据的运算符是____。B A. ++ B. % C. / D. * 6.下列选项中,优先级最低的运算符是____。D A . != B. || C. ++ D. ,

7.将数学表达式ab/(c+df)改写为C语言表达式,正确的是____。C

A. ab/(c+df) B. a*b/c+d*f C. a*b/(c+d*f) D. (a*b)/(c+d)*f 8. C程序中语句结束符是____。C

A. : B. /* C. ; D. , 9.C语言中,错误的转义字符是____。D

A. ‘\\n’ B. ’\\101’ C. ‘\\”’ D .‘\\108’ 10.判断char型变量ch是否为数字的表达式是____。C

A. ‘0’<=ch<=‘9’ B. (ch>’0’) && (ch <‘9’) C. (ch>=‘0’)&&(ch<=‘9’) D. (ch>=‘0’)||(ch<=‘9’)

11. 设x,y,t为int型变量,则执行语句”x=1;y=3;t=(++x)&&(x+y)||++y;”后,

y的值为____。B

A.4 B.3 C.1 D.不确定的值 12.C语言函数内定义的局部变量的隐含存储类别是____。B A.static B.auto C.register D.extern 13.对switch后括号内的表达式,叙述正确的是____。C A. 只能是数字 B. 可以是浮点数 C. 只能是整型数据或字符型数据 D. 以上叙述都不对 14.以下数组的定义中,合法的是____。C

A. int x(3); B. int x[3] C. int x[2+1]; D. int n=3,x[n]; 15.以下初始化中能正确进行字符串赋值的操作是_____。C

A.char *a=“abc”; B.char *a; gets(a);

C.char a[3]= “abc”; D.char a[3]={‘a’,’b’,’c’}; 16. 取地址运算符&,只能作用于_____。C

A.常量 B.表达式 C.变量 D.整型变量 17.以下程序的执行结果是________。D main()

{ char t = ‘w’, a = ‘m’, b = ‘d’, c = ‘x’,m; m =( t>a ) ? t : a; m =( m >b ) ? m : b; m =( m >c ) ? m : c; printf( \; }

A.w B.m C.d D.x

18.下列关于switch和break语句的说法中正确的是_____。B A.break语句只能用在switch语句中

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