当前位置:问答库>考研试题

2018年广东工业大学机电工程院803C语言程序设计考研基础五套测试题

  摘要

一、选择题

1. 若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是( )。

A. 函数的形参和实参分别占用不同的存储单元

B. 形参只是形式上的存在,不占用具体存储单元

C. 同名的实参和形参占同一存储单元

D. 函数的实参和其对应的形参共占同一存储单元

【答案】A

【解析】函数体中,变量(包括形参)只在函数被调用时才临时开辟存储单元,当退出函数时,这些临时开辟的存储单元全被释放掉。C 语言中函数调用可以分成传值和传引用,传值调用,形参是实参的数据拷贝;传引用调用,形参是实参的指针拷贝;所以,形参和实参占用不同的存储单元。

2. 以下叙述中错误的是( )。

A. 同一个数组中所有元素的类型相同

B. 不可以跳过前面的数组元素给后面的元素赋初值0

C. 定义语句

D. 若有定义语句

【答案】D

【解析】一维数组初始化时,不可能跳过前面的元素给后面的元素赋初值,当所赋初值少于所定义数组的元素个数时,将自动给后面的元素补以初值0, 当所赋初值多于所定义数组的元素个数时,在编译时将给出出错信息。

3. 关于C 语言的变量名,以下叙述正确的是( )。

A. 变量名不可以与关键字同名

B. 变量名不可以与预定义标识符同名

C. 变量名必须以字母开头

D. 变量名是没有长度限制的

【答案】A

【解析】合法的标识符由字母(大、小写均可)、数字和下划线组成,并且必须以字母或下划线开头。关键字是指被C 语言保留的,不能用作其他用途的标识符,它们在程序中都代表着固定的含义,用户不可重新定义,A 项正确。预定义标识符是系统已经有过定义的标识符,用户可

给a 数组中所有元素赋初值0 编译时将忽略多余的初值

以重新定义,所以可以作为变量名,B 项错误。变量名除了以字母开头以外,还可以以下划线开头,C 项错误。变量名没有长度限制,但不可超过编译器可以辨识的范围,D 项错误。

4. 有以下程序:

程序运行后的输出结果是( )。

A.0

B. 变量无定义,输出不确定

C.-1

D.1

【答案】A

【解析】NULL 是包含在头文件stdiah 中的宏定义,其数值由编译器确定,一般情况下是0。

5. 有以下程序段:

当执行上述程序段,并从键盘输入:name=Lilinum=1001<回车>后,name 的值为( )。

A.Lili

B.name=Lili

C.Lilinum=

D.name=Lilinum=1001

【答案】A

【解析】在C 语言中输入多个字符串时,系统会把空格字符作为输入的字符串之间的分隔符。本题中,由于输入两个变量,所以中间应该以回车键为间隔,当从键盘输入name=Lilinum=1001只是输入第一个变量,并且只将Lili 赋值给了name 。

6. 以下选项中与语句功能不同的switch 语句是( )。

【答案】B

【解析】在switch 语句的执行过程中,执行完case 后面的语句后,如果遇到break 语句就停止,否则将继续执行下一个case 中的语句,直到遇到break 语句。B 项,当a==1是

a=b, 刚好和题干要求相反。

7. 在以下程序:

程序运行后的输出结果是( )。

A.0

B.1

C.2

D.3

【答案】A 【解析】>不满足跳出,if (a==0)不满足,跳出循环,并没有往下执行,因此b 值没有改变。

8. 下面关于位运算符的叙述,正确的是( )。

A.&表示“按位与”的运算

B.#表示“按位异或”的运算 C. 表示“按位或”的运算

D. 〜表示“按位异或”的运算

【答案】A

【解析】C 语言提供的六种位运算符,如下表所示,

9. 以下选项中,能用作用户标识符的是( )。