电大c语言期末试题精编答案.docxVIP

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

电大c语言期末试题

第一部分单选题(50题)

1、do-while循环的语法格式正确的是?()

A.do语句;while(条件);

B.do{语句}while(条件)

C.do语句while(条件);

D.do;语句;while(条件);

【答案】:答案解析:do-while格式为“do循环体;while(条件);”,循环体可是单条语句或代码块,B缺少分号,C缺少分号,D循环体为空,故选A。

2、以下转义字符表示换行的是?()

A.\t

B.\n

C.\

D.\r

【答案】:答案解析:\t是制表符,\n是换行符,\是反斜杠,\r是回车符,故选B。

3、以下关于指针的说法正确的是?()

A.野指针是指向无效地址的指针

B.空指针是野指针的一种

C.避免野指针需初始化并及时置空

D.以上都正确

【答案】:答案解析:A、B、C均是野指针的核心知识点,故选D。

4、数组在内存中的存储方式是?()

A.随机存储

B.连续存储

C.链式存储

D.散列存储

【答案】:答案解析:数组元素在内存中连续存放,便于通过下标访问,故选B。

5、以下关于循环语句的说法错误的是?()

A.for循环三个表达式均可省略

B.while循环先判断后执行

C.do-while循环至少执行一次

D.continue可用于switch语句

【答案】:答案解析:continue仅用于循环语句,不能用于switch,A、B、C说法正确,故选D。

6、若inta[5]={10,20,30,40,50},p=a+3;则p的值是?()

A.30

B.40

C.50

D.无定义

【答案】:答案解析:a+3指向a[3],*p=40,故选B。

7、以下关于函数递归的说法错误的是?()

A.必须有终止条件

B.可能导致栈溢出

C.效率比循环高

D.代码简洁

【答案】:答案解析:递归调用会创建栈帧,效率低于循环,A、B、D正确,C错误,故选C。

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

A.1

B.2

C.3

D.4

【答案】:答案解析:a是首地址,a+1是第二个元素地址,*(a+1)=a[1]=2,故选B。

9、函数参数为数组时,形参的写法错误的是?()

A.inta[]

B.int*a

C.inta[5]

D.inta

【答案】:答案解析:D中inta是普通变量,不能接收数组名(地址),A、B、C均正确,故选D。

10、若intx=4;执行if(x++4)printf(A);elseprintf(B);输出结果是?()

A.A

B.B

C.AB

D.无输出

【答案】:答案解析:x++是后置自增,条件判断时x=4,44为假,执行else(输出B),后x变为5,故选B。

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

A.形参是局部变量

B.实参是局部变量

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

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

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

12、若inti=0;执行do{i++;printf(%d,i);}while(i3);输出结果是?()

A.123

B.012

C.12

D.无输出

【答案】:答案解析:do-while先执行,i从1到3,输出123,故选A。

13、预处理命令#definePI3.14159的作用是?()

A.定义变量

B.定义常量

C.函数声明

D.包含头文件

【答案】:答案解析:#define是宏定义,用于定义常量(无分号,直接替换),故选B。

14、以下数组定义错误的是?()

A.inta[5];

B.inta[5]={1,2,3,4,5};

C.inta[5]={1,2,3,4,5,6};

D.inta[]={1,2,3,4,5};

【答案】:答案解析:C初始化元素超5个,编译报错,其余正确,故选C。

15、逻辑表达式30的结果是?()

A.0

B.1

C.3

D.真

【答案】:答案解析:逻辑与只要有一个operand为0则结果为0,3为真,0为假,故选A。

16、C语言中,语句结束的标志是?()

A.逗号

B.分号

C.冒号

D.句号

【答案】:答案解析:C语言单条语句以分号(;)结尾,复合语句用{}包裹,故选B。

17、若inta=3,b=4;则表达式ab++的值是?()

A.12

B.15

C.16

D.7

【答案】:答案解析:b++是后置自增,先参与运算(ab=3*4=12),再自增(b变为5),故选A。

18、若inta[4]={10,20,30,40};则*(a+2)的值是?(

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档