c语言上机考试题库word版.docxVIP

  • 0
  • 0
  • 约6.57千字
  • 约 13页
  • 2026-01-30 发布于山东
  • 举报

c语言上机考试题库

第一部分单选题(50题)

1、以下关于函数参数的说法正确的是?()

A.形参是局部变量

B.实参是局部变量

C.形参在函数调用后释放

D.实参在函数调用后释放

【答案】:答案解析:形参是函数内局部变量(调用时分配内存,调用结束释放),实参是主调函数中的变量(生命周期与主调函数一致),故选A。

2、数组名的本质是?()

A.数组第一个元素的地址

B.数组最后一个元素的地址

C.数组元素的个数

D.数组的大小

【答案】:答案解析:数组名是首元素地址(常量,不可修改),故选A。

3、若charstr[]=Clanguage;则字符串长度是?()

A.10

B.11

C.12

D.13

【答案】:答案解析:字符串长度以\0结束,Clanguage含10个字符(不含\0),故选A。

4、函数指针的作用是?()

A.存储函数的地址

B.调用函数

C.实现回调函数

D.以上都正确

【答案】:答案解析:函数指针存储函数地址,可通过指针调用函数,常用于回调函数,故选D。

5、break语句不能用于以下哪种结构?()

A.for循环

B.while循环

C.do-while循环

D.if语句

【答案】:答案解析:break可用于循环(for/while/do-while)和switch语句,不能用于if语句,故选D。

6、二维数组a[3][4]的元素个数是?()

A.7

B.12

C.3

D.4

【答案】:答案解析:3行4列,共3×4=12个元素,故选B。

7、以下指针运算中,结果为值的是?()

A.*p

B.p+1

C.a

D.p-2

【答案】:答案解析:*p是解引用,获取指针指向变量的值,B、C、D结果均为指针,故选A。

8、以下关于函数参数的说法正确的是?()

A.形参是函数定义时的变量

B.实参是函数调用时的变量/常量

C.形参和实参类型需匹配

D.以上都正确

【答案】:答案解析:A、B、C均是函数参数的基本规则,故选D。

9、以下switch语句中,正确使用字符常量的是?()

A.switch(c){caseA:printf(A);break;}

B.switch(c){caseA:printf(A);break;}

C.switch(c){caseA:printf(A);break;}

D.switch(c){casea:b:printf(ab);break;}

【答案】:答案解析:字符常量用单引号,B是标识符,C是字符串,D语法错误(多个case需分开),故选A。

10、定义单精度浮点型变量y并赋值2.718的语句是?()

A.doubley=2.718;

B.floaty=2.718f;

C.floaty=2.718;

D.inty=2.718;

【答案】:答案解析:float是单精度,需加f后缀(否则默认double),double是双精度,故选B。

11、若inta=2,b=4;执行if(a==b)a=0;elseb=0;后a和b的值分别是?()

A.0,4

B.2,0

C.0,0

D.2,4

【答案】:答案解析:a==b为假,执行else,b=0,a保持2,故选B。

12、以下if语句的语法正确的是?()

A.if(x0){printf(a);elseprintf(b);}

B.if(x0)printf(a);else{printf(b);}

C.if(x0)printf(a);elseprintf(b);}

D.if(x0){printf(a);}elseprintf(b);}

【答案】:答案解析:A缺少},C多},D多},B语法正确(else后{}可加可不加),故选B。

13、以下哪个是合法的字符常量?()

A.a

B.ab

C.a

D.a

【答案】:答案解析:字符常量用单引号包裹单个字符,A是字符串,B是两个字符(错误),D是标识符,故选C。

14、若inta[3]={1,2,3},p=a;则(p+2)的值是?()

A.1

B.2

C.3

D.无定义

【答案】:答案解析:p+2指向a[2],解引用*(p+2)=a[2]=3,故选C。

15、以下if语句语法正确的是?()

A.if(x0)printf(yes);

B.ifx0printf(yes);

C.if(x0);printf(yes);

D.if(x0){printf(yes)}

【答案】:答案解析:if后条件需加括号,B缺少括号,C分号导致语句结束,D缺少分号,故选A。

16、若intx=1;执行switch(x){case1:printf(1);break;case1:printf(2);break;}会出现什么情况?

文档评论(0)

1亿VIP精品文档

相关文档