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

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。