c语言设计考试题库及答案(考点梳理).docxVIP

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

c语言设计考试题库及答案(考点梳理).docx

c语言设计考试题库

第一部分单选题(50题)

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

A.doubley=2.718;

B.floaty=2.718f;

C.floaty=2.718;

D.inty=2.718;

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

2、以下switch语句中,case穿透的情况是?()

A.case后加break

B.case后不加break

C.有default

D.无default

【答案】:答案解析:case后不加break会继续执行下一个case的代码(穿透),加break则跳出,故选B。

3、do-while循环的特点是?()

A.先判断条件,后执行循环体

B.先执行循环体,后判断条件

C.条件不满足时也不执行循环体

D.只能执行一次

【答案】:答案解析:do-while是“先执行后判断”,至少执行一次循环体,for和while是“先判断后执行”,故选B。

4、以下哪个数据类型的占用字节数最大?()

A.char

B.short

C.int

D.double

【答案】:答案解析:char(1字节)、short(2字节)、int(4字节)、double(8字节),故选D。

5、以下关于数组的说法错误的是?()

A.数组元素必须是同一类型

B.数组长度必须是常量

C.数组可在函数内定义

D.数组可整体赋值

【答案】:答案解析:数组不能用“=”整体赋值,需逐个元素或循环赋值,A、B、C正确,故选D。

6、执行scanf(%d,%d,a,b);时,正确的输入格式是?()

A.23

B.2;3

C.2,3

D.2和3

【答案】:答案解析:scanf格式串中含逗号分隔符,输入需严格对应,故选C。

7、C语言程序编译的正确顺序是?()

A.预处理→编译→汇编→链接

B.编译→预处理→汇编→链接

C.预处理→汇编→编译→链接

D.链接→编译→汇编→预处理

【答案】:答案解析:C程序编译流程为预处理(处理#命令)→编译(生成汇编代码)→汇编(生成目标文件)→链接(生成可执行文件),故选A。

8、以下函数定义中,参数为两个int类型的是?()

A.voidfun(inta,floatb){}

B.voidfun(inta,intb){}

C.voidfun(floata,intb){}

D.voidfun(inta,charb){}

【答案】:答案解析:B中两个参数均为int类型,其余选项参数类型不匹配,故选B。

9、若inti=0;执行for(i=0;i5;i++){if(i%2==0)continue;printf(%d,i);}输出结果是?()

A.13

B.024

C.01234

D.无输出

【答案】:答案解析:i为偶数(0、2、4)时continue,输出奇数1、3,故选A。

10、指针的自增运算(p++)的含义是?()

A.指针值加1

B.指针指向的变量值加1

C.指针指向地址偏移一个类型大小

D.指针指向地址偏移1字节

【答案】:答案解析:p++使指针指向地址偏移“指向类型大小”(如int指针+4字节),故选C。

11、函数返回值的类型由______决定?()

A.return语句中的表达式类型

B.函数定义时的返回类型

C.函数调用时的参数类型

D.编译器默认类型

【答案】:答案解析:函数返回类型在定义时指定,return表达式类型需与返回类型匹配(不匹配则强制转换),故选B。

12、若charstr[10];执行strcpy(str,hello);后str的长度是?()

A.5

B.6

C.10

D.不确定

【答案】:答案解析:strcpy复制字符串hello(含\0),长度为5(不含\0),故选A。

13、若inta=6;执行a/=3;后a的值是?()

A.2

B.3

C.6

D.18

【答案】:答案解析:a/=3等价于a=a/3=6/3=2,故选A。

14、以下哪个操作会导致野指针?()

A.指针未初始化

B.指针指向的内存被释放后未置空

C.指针越界访问

D.以上都是

【答案】:答案解析:野指针是指向无效地址的指针,A、B、C均会导致野指针,故选D。

15、以下if语句中,赋值语句和判断语句混淆的是?()

A.if(x==5)

B.if(x=5)

C.if(x!=5)

D.if(x5)

【答案】:答案解析:x=5是赋值(将5赋给x),x==5是判断(x是否等于5),B混淆了两者,故选B。

16、若inti=1;执行while(i=4){printf(%d,i);i+=3;}输出结果是?

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档