c语言期末测试题附答案)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程代码:A100002 座位号:

《计算机技术基础(C 语言)》试卷A

姓名: 学号: 专业:

学院: 班级:

20 年 月 日

一、

单项选择题(本大题共 15 小题,每题只有一个正确答案,答对

一题得 2 分,共 30 分) 1、以下关于C 语言标识符的描述中,正确的是

【 】。

A )标识符可以由汉字组成

B )标识符只能以字母开头

C )关键字可以作为用户标识符

D )Area 与area 是不同的标识符

2、使下列程序段输出“123,456,78”,键盘输入数据,正确的输入是【 】。

int i,j,k;

scanf(“%d,%3d%d”,&i,&j,&k );

printf(“%d,%d,%d \n”,i,j,k);

3、判断char 类型的变量c1是否为数字字符的正确表达式为 【 】。

A) (c1>=0)&&(c1<=9) B) (c1>=’0’)&&(c1<=’9’)

C) ’0’<=c1<=’9’ D) (c1>=’0’)||(c1<=’9’)

4、若有语句int a=1,b=2,c=3;则以下值为0的表达式是 【 】。

A

)’a’&&’b’ B )a<=b C )((a>b)||(b

5、已知:int a[2][3]; 则对数组元素的非法引用是 【 】

A. *(a[0]+2)

B. a[1][3] C . a[1][0] D. *(*(a+1)+2)

6、在循环语句的循环体中执行break 语句,其作用是 【 】。

A )跳出该循环体,提前结束循环

B )继续执行break 语句之后的循环体各语句

C )结束本次循环,进行下次循环

D )终止程序运行

7、执行语句

for(i=10;i>0;i--);后,变量i 的值为 【 】。

A )10

B )9

C )0

D )1

8、若有int *p1, *p2,k; 不正确的语句是 【 】

A. p1=&k

B. p2=p1

C. *p1=k+12

D. k=p1+p2

9、在函数中未指定存储类别的局部变量,其隐含的存储类别是【】

A. 静态(static)

B. 外部(extern)

C. 自动(auto)D. 寄存器(register)

10、如下程序的输出结果是【】

main( )

{ int x=2,a=0,b=0;

switch(x)

{ case 2: a++; b++;

case 1: ++a; b--; break;

case 0: b++;}

printf("a=%d, b=%d\n", a, b);}

A. a=2, b=0

B. a=2, b=1

C. a=1, b=1

D. a=1, b=0

11、表示关系a

A. (a

B. (a

C. (a

D. (a

12、有以下程序

#include

main()

{int x;

scanf(“%d”,&x);

if(x<=3) ; else

if(x !=10)printf(“%d\n”,x); }

程序运行时,输入的值在哪个范围才会有输出结果。【】

A.不等于10的整数

B.大于3且不等于10的整数

C.大于3或不等于10的整数

D.小于3的整数

13、break语句的正确用法是【】

A. 无论在任何情况下,都中断程序的执行,退出到系统下一层。

B. 在多重循环中,只能退出最靠近的那一层循环语句。

C. 跳出多重循环。

D. 只能修改控制变量。

14、若a, b, c, d均为整型变量,执行以下程序段后的t的值为【】

#define MAX(A,B) (A)<(B)?(A):(B)

................

a=5; b=3; c=3; d=4;

t=MAX(a+b,c+d) *10;

A. 70

B. 7

C. 8

D. 80

15、执行以下程序段后, m 的值为 【 】

int a[6]={1,2,3,4,5,6}, m, *p;

p=&a[0];

m=(*p)*(*(p+2))*(*(p+4));

A) 15 B) 14 C) 13 D) 12

第二部分 非选择题(共 70

分)

二、判断题

(本大题共 10 小题,每题1分,共 10 分,答T 表示说法正确.答F 表示说法不正确,本题只需指出正确与错误,不

需要修改)

16. 字符型数据不可以进行加减运算。 【 】

17. 函数定义与函数的声明是一回事。 【 】

18.在C 语言中函数能嵌套调用,也能嵌套定义。 【 】

19. 在C 语言中switch 语句必须使用break 语句。 【 】

20. for 循环中的三个表达式都可以省略。 【 】

21. do-while 循环是先进行循环体语句,后判断表达式。 【 】

22. 只能在main()函数中定义静态变量。 【 】

23. char *s1=“I love china ”;定义了一个指针变量s1,它的初值为字符串“I love

china ”的首地址。 【 】

24. int *p[4];与int (*p)[4];的作用相同,都是定义了一个指向数组的指针。

【 】

25. 预处理命令行最后也是以分号(;)结尾的。 【 】

三、填空题(本大题共 6 小题,每题 3 分,共 18 分。) 26、在C 语言中 * 作为单目运算符时表示____________,作为双

目运算符时表示__________,而作为一种标记时表示

______________。 27、表达式(a=3*5,a*4),a+5中a 的值是__________,整个表达式

的值是 _________。

28、设有如下的类型说明:

int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;

若数组所占内存单元的起始地址为446且整型数据占2个字节,则p+5=_______,

*(p+5)=______。

29、若定义了如下的共用体类型变量x 和结构类型变量y ,则x 和y 所占用的内存

字节数分别为_________和__________。

union stu1 struct stu2

{ int num; {int num;

char name[5]; char name[5];

char s; }x; char s; }y;

30、在TC 中CTRL+F9的功能是__________、__________和_____________。

31、有以下程序

相关文档
最新文档