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. 以下选项中,能用作用户标识符的是( )。
相关内容
相关标签