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

2017年沈阳航空航天大学航空航天工程学部823C语言程序设计考研强化模拟题

  摘要

一、选择题

1. 有以下程序:

以上程序执行后abc. dat文件的内容是( )。

A.China

B.Chinang

C.ChinaBeijing

D.BeijingChina

【答案】B

【解析】pf 是一个文件指针,

语句

是将

的前

是将文件位置指针移回到文件开头,语句写入五个字符,所以结果为Chinang 。

2. 有以下程序:

程序运行的结果是( )。

A.*7

B.*3*5

C.*5

第 2 页,共 33 页 执行后,fp 指向可读写的二进制文

个字符的内容写入中,即Beijing

。是从文件的开头位置向

D.*2*6

【答案】A

【解析】程序的功能时输出从5开始的第一个除以3的余数为1,除以5的余数为2的数。在do-while 循环中,总是先执行后判断,即至少会执行一次。在循环中,如果满足(i%3==l)&&(i%5==2), 那么输入i 的值,退出循环。

3. 若函数中有定义语句intk ;,则( )。

A. 系统将自动给k 赋初值0

B. 这时k 中的值无定义

C. 系统将自动给k 赋初值-1

D. 这时k 中无任何值

【答案】B

【解析】intk ;这条语句是定义一个整型变量k ,这是动态定义,编译程序仅为k 开辟存储单元,而没有在存储单元中存放任何初值,此时变量中的值时无意义的。若是静态定义,则会自动初始化,其默认值为0。

4. 有以下程序:

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

A.0, 4, 5

B.4, 4, 5

C.4, 4, 4

D.0, 0, 0

【答案】A

【解析】C 语言中可以将多条语句放在同一行,用“;”隔开。赋值运算和逗号运算都是从左

,得A 的值为5, 然后执行C=(A-=A-5), 即将A 到右结合。首先执行A-=A-5,即A=A-(A-5)

的值5赋给变量C , 使得C 的值也为5。然后执行下句逗号表达式中的A=B, 把B 的值0赋给A ,此时A 的值为0, 然后执行B=B+4, 使得B 的值为4,最后打印输出。

5. 有以下程序:

第 3 页,共 33 页

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

A.3

B.6

C.8

D.12

【答案】B

【解析】fun 函数的功能是返回两个数的算术平均数。

调用,

相当于

,运算,向下取整)输出结果是6。

6. 以下选项中的编译预处理命令行,正确的是( )。

A.#definePI3.14

B.##defineeps0.001

C.#DEFINETRUE

D.#defineintINT

【答案】A

【解析】A 项正确。不带参数的宏定义是用一个指定的标识符来代表一个字符串,其一般形式如下:#define宏名替换文本。需要注意:①在#define、宏名和替换文本之间用空格隔开;②在C 程序中,宏定义的定义位置一般写在程序的开头;③宏名一般用大写字母表示,便于与变量名区别;④宏定义是用宏名来表示一个字符串,在宏展开时以该字符串取代宏名,这只是一种简单的代换,预处理程序对它不做任何检查;⑤宏定义不是语句,在行末不加分号,如加上分号则连分号也一起替换。B 项define 前多了一个#。C 项缺少“替换文本”。D 项不能将一个自定义标识符宏定义为关键字。

7. 有以下函数:

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

A.3

B.50

C.2

D.96

【答案】D

【解析】执行语句时,首先是a 左移两位,其等效于将a 乘以4, 得到48, 然后

第 4 页,共 33 页

是嵌套其中

(之间的