大学工程学院C语言考试真题(综合题).docxVIP

  • 0
  • 0
  • 约6.21千字
  • 约 13页
  • 2026-01-27 发布于河南
  • 举报

大学工程学院C语言考试真题(综合题).docx

大学工程学院C语言考试真题

第一部分单选题(50题)

1、以下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。

2、若intx=5;执行if(x3x7)printf(yes);elseprintf(no);输出结果是?()

A.yes

B.no

C.yesno

D.无输出

【答案】:答案解析:x=53且7,条件为真,输出yes,故选A。

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

A.函数可提高代码复用性

B.函数可简化程序结构

C.函数可便于维护

D.以上都正确

【答案】:答案解析:函数的核心优势是复用、简化结构、便于维护,故选D。

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

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

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

C.数组元素的个数

D.数组的大小

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

5、C语言程序的基本单位是?()

A.语句

B.函数

C.变量

D.表达式

【答案】:答案解析:C程序由函数构成,main是入口函数,其他函数实现功能,故选B。

6、以下关于数组的说法正确的是?()

A.数组长度可动态修改

B.数组元素可不同类型

C.数组在内存中连续存储

D.数组名可作为左值赋值

【答案】:答案解析:A数组长度定义后固定,B元素必须同类型,D数组名是常量(不可赋值),C正确,故选C。

7、函数调用的一般格式是?()

A.函数名(实参列表);

B.函数名实参列表;

C.返回类型函数名(实参列表);

D.函数名=实参列表;

【答案】:答案解析:函数调用格式为“函数名(实参列表);”,实参与形参匹配,故选A。

8、若charstr[10]=abcde;则str[5]的值是?()

A.e

B.\0

C.随机值

D.无定义

【答案】:答案解析:字符串自动在末尾加\0,str[5]是\0,故选B。

9、若inta=3;执行if(++a==4)printf(A);elseprintf(B);输出结果是?()

A.A

B.B

C.AB

D.无输出

【答案】:答案解析:++a使a=4,条件为真,输出A,故选A。

10、以下关于数组越界的说法正确的是?()

A.编译时会报错

B.运行时一定会崩溃

C.可能导致程序错误

D.无影响

【答案】:答案解析:数组越界属于未定义行为,编译时不报错,运行时可能正常或崩溃,故选C。

11、函数参数传递中,地址传递的特点是?()

A.形参是实参的副本

B.形参修改不影响实参

C.传递的是变量地址

D.用于简单变量传参

【答案】:答案解析:地址传递(指针)传递变量地址,形参通过地址修改实参值,值传递是副本,故选C。

12、函数参数传递中,值传递的特点是?()

A.形参修改影响实参

B.形参是实参的副本

C.传递的是变量地址

D.用于数组传参

【答案】:答案解析:值传递时形参是实参的拷贝,修改形参不影响实参,地址传递才影响实参,故选B。

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

A.4

B.5

C.1

D.2

【答案】:答案解析:a+4是第五个元素地址,*(a+4)=a[4]=5,故选B。

14、以下字符串常量定义正确的是?()

A.charstr[]=C;

B.charstr[1]=C;

C.charstr[]={C};

D.charstr[2]={C,\0};

【答案】:答案解析:A用双引号定义字符串(自动加\0),B单引号用于字符常量,C无\0,D长度2正确但A更简洁,故选A。

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

A.inta[]

B.int*a

C.inta[5]

D.inta

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

16、若inta[5];则数组a的元素个数是?()

A.4

B.5

C.6

D.不确定

【答案】:答案解析:数组a[5]定义5个元素(下标0-4),故选B。

17、以下哪个for循环是无限循环?()

A.for(i=0;i5;i++)

B.for(;;)

C.for(i=0;i5;i--);

D.for(i=5;i0;i--)

【答案】:答案解

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档