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

2017年湖南师范大学教育科学学院877C程序设计与网络技术考研强化模拟题

  摘要

一、选择题

1. 以下叙述中正确的是( )。

A. 在C 语言中,预处理命令行都以“#”开头 B. 预处理命令行必须位于C 源程序的起始位置 C.#include必须放在C 程序的开头

D.C 语言的预处理不能实现宏定义和条件编译的功能 【答案】A

【解析】编译预处理”就是在C 编译程序对C 源程序进行编译前,由编译预处理程序对这些编译预处理命令行进行处理的过程。A 项正确,在C 语言中,凡是以“#”号开头的行,都称为“编译预处理”命令行。B 项错误,预处理命令行可以出现在程序的任何一行的开始部位,其作C 项错误,#inClUde可以出现在程序的任意一行的开始部位;用一直持续到源文件的末尾;

D 项错误,预处理可以实现宏定义、条件编译和文件包含。

2. 有以下程序

程序的运行结果是( )。 A.11 7 B.12 12 C.11 11 D.12 7

【答案】A

【解析】f (2)展开后为,2*5+1,值为11,f (1+1)展开后为,1+1*5+1值为7。

3. 有以下程序:

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

A. B. C. D. 【答案】D

while 函数判断p 指针指向地址的内容是否和a 指针指向地址的内容相等,【解析】如果不是,则移动指针p+1, 当p 指向*b字符串中的

时,和首地址元素相等,退出while 语句后,p 再向

输出

及剩余的字符串,D 项正确。

右移动a 字符串长度+1个单位地址,此时p 指向

4. 表达式3.6-5/2+1.2+5%2的值是( )。

A.4.8 B.3.8 C.3.3 D.4.3

【答案】B 数部分被省略,5/2=2。

5. 有以下程序:

程序的运行结果是( )。 A.nO=3,nl=8,n2=9,nn=l B.n0=2,nl=5,n2=l, nn=l C.n0=2, nl=7,n2=10,nn=l

【解析】3.6--5/2+1.2+5%2=3.6-2+1.2+l=3.8;需要注意的是,两个整数相除仍然得到整数,小

D.n0=4,nl=8,n2=9,nn=l 【答案】A

【解析】本题执行过程为

n0=2, nl=5, n2=6

;

匹配匹配

匹配

匹配

退出循环。输出nO ,nl ,

配配

default ,nn=l,

n2,nn 为3,8,9, 1,故A 选项正确。

6. 如有表达式则其中与w 等价的表达式是( )。

【答案】D

【解析】?:表达式形式为

当表达式1的值为真,则结果

为表达式2的值;当表达式1的值为假,则结果为表达式3的值。可见表达式w 等价于

7. 有以下程序

程序运行后的输出结果是( ) A.6,4,3,2, B.6,2,1,1, C.1,1,2,6, D.2,3,4,6,

【答案】A

【解析】第一个嵌套的for 循环功能将对角线上的数据从大到小排序,其他数据不变,排序 值为6,输出第一行为6 4 3 2。 完成后,

8. 有以下程序