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

2017年东北林业大学程序设计基础(同等学力加试)复试仿真模拟三套题

  摘要

一、选择题

1. 以下关于编译预处理的叙述中错误的是( )。

A. 预处理命令行必须位于源程序的开始

B. 源程序中凡是以#开始的控制行都是预处理命令行

C. 一行上只能有一条有效的预处理命令

D. 预处理命令是在程序正式编译之前被处理的

【答案】A

【解析】通常,预处理命令位于源文件的开头,也可以写在函数与函数之间。

2. 有以下程序:

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

A.ABCDEFGHIJKLMNOP

B.ABCDEFGHHKL

C.ABCD

D.AEIM

【答案】D

【解析】auto 变量又称为自动变量,函数定义变量时,如果没有指定存储类别,系统就认为所定义的变量具 有自动类别,D 选项正确。static 变量又称为静态变量,编译时为其分配的内存在静态存储区中。register 变量又称为寄存器变量,变量的值保留在CPU 的寄存器中,而不是像一般变量那样占内存单元。当定义一个函数时, 若在函数返回值的类型前加上说明符extern 时,称此函数为外部函数,外部函数在整个源程序中都有效。

3. 若有以下程序

则程序的输出结果是( )。

A.4,3,4

B.4,3,3

C.6,3,6

D.6,6,6

【答案】B

【解析】函数sp (p )调用前,p 指向k ; 调用后,指针p 被复制到a ,a 也指向

存单元,k 和*p仍然是3。

4. C 语言程序中,运算对象必须是整型数的运算符是( )。

A.&&

B./

C.%

D.*

【答案】C

【解析】模运算中不能出现浮点数,运算对象只能是整数。

5. 有以下程序:

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

A.-1

B.0

C.1

D.7

【答案】A

【解析】“++”和“一”运算,当以前缀形式出现时,则先进行加一或减一操作,再取值,当以后缀形式出现时,贝晚取值,再进行加一或减一操作。程序中执行

才跳出循环,执行下条语句,即a 为0时再执行

6. 若有以下程序

直到while 判断为0时后输出,最终输出的结果为-1。 语句使得a 指向变量b (但是p 仍然指向k ); 在sp 函数内部输出4,sp 函数没有改变指针p 指向的内

则程序的输出结果是( )。

A.5, 1, 2, -1

B.2, 1, 2, -1

C.2, 2, 2, 4

D.1, 2, 3, 4

【答案】A 【解析】和II 是逻辑运算符,符号两侧都为真时,结果为真,否则返回假;苻号两侧都为假时,结果为假,否则返回真。

题目没有答案,原题可能是

输出a ,b ,c ,d

第一个if 判定表达式中是两个赋值语句,结果判定为true ,执行结束后a=2, b=l,c=2在第二个if 判定表达式中,c==3判定为false ,然后执行d=-l,非零值,判定为true ,所以执行a=5,最终结果是a=5,b=1,c=2,d=-1,选A 。

7. 有如下程序:

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

A.8

B.9

C.7

D.10

【答案】A

strlen 是求字符串长度的函数,【解析】是一个长度为8的字符串,其中

均为转义字符常量,但是长度也是1, 因此输出结果是8, 答案为A 选项。

8. 设有以下定义:

则以下叙述正确的是( )。

A. 数组s1的长度小于s2的长度

B. 数组s1和s2的长度相同

C. 数组s1的长度大于s2的长度