2016年江西理工大学信息工程学院通信与信息系统(加试)之C语言程序设计复试笔试最后押题五套卷
● 摘要
一、选择题
1. 下面结构体的定义语句中,错误的是( )。
答:B
【解析】C 语言中结构体变量的定义有3种方法:①定义结构体类型的同时定义结构体变量,如C 项;②使 用无名结构体类型定义结构体变量,如D 项;③先定义结构体类型,后定义结构体变量,如A 项。
2. 有以下定义和语句:
能给w 中year 成员赋1980的语句是( )。
答:D
【解析】w 是一个结构体变量,Pw 是一个结构体指针变量,指向w 所在的内存单元。A 项错误,pw 是指针,所以在引用其内部变量时应该用操作符是结构体workers 中的结构体成员s 中的成员。
3. 有以下程序:
第 2 页,共 34 页 而不是BC 两项错误,year
程序运行后的输出结果是( )。
A.10,64
B.10,10
C.64,10
D.64,64
答:A
【解析】C 语言中带参数的宏可以理解为用参数直接替代定义式中的变量,而不经过任何修改。所以
,
4. 以下叙述中正确的是( )。
A. 简单递归不需要明确的结束递归的条件
B. 任何情况下都不能用函数名作为实参
C. 函数的递归调用不需要额外开销,所以效率很高
D. 函数既可以直接调用自己,也可以间接调用自己
答:D
【解析】D 项正确,C 语言中的函数可以递归调用,S 卩:可以直接或间接地自己调用自己。前者称简单递归, 后者称间接递归。A 项错误,递归必定要有一个明确的结束递归的条件;B 项错误,递归就是把函数名作为实参 的一种特殊情况;C 项错误,函数的递归调用过程中,系统要为每一层调用中的变量开辟存储单元,要记住每一层调用后的返回点,要增加许多额外的开销,通常会降低程序的运行效率。
5. 下面关于位运算符的叙述,正确的是( )。
A.&表示“按位与”的运算
B.#表示“按位异或”的运算 C. 表示“按位或”的运算
D. 〜表示“按位异或”的运算
答:A
【解析】C 语言提供的六种位运算符,如下表所示,
第 3 页,共 34 页
6. 有以下程序:
程序运行后的输出结果是( )。
A.13.700000
B.14.000000
C.15.400000
D.14.900000
答:A
sqrt 为平方根计算函数,【解析】
7. 有以下程序;
程序运行后的输出结果是( )。
A.8
B.9
C.5
D.6
答:A
,替换过程是,用宏调用提供的实参字符串,【解析】带参数的宏的调用格式:宏名(实参表)
MUN 被置换成X2+1/2;直接置换宏定义命令行中相应形参字符串,非形参字符保持不变。(2+1+1)
程序的运行结果是6,故D 选项正确。
8. 有以下程序:
第 4 页,共 34 页 格式输出后为13.700000。