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

2017年西北工业大学生命学院857生物医学工程综合考研仿真模拟题

  摘要

一、选择题

1. 有以下程序:

程序运行以后的输出结果是( )。 A.7 B.8 C.9 D.10

【答案】C

【解析】如果函数的定义在调用之后,则必须要在调用之前声明函数。静态局部变量,在整个程序的运行期 间均有效。函数f 将整型变量a 定义为静态变量,所以每次调用函数f 时不再为a 重新赋值。第一次调用f 后,n=4, a=2,第二次调用时,a 已经变成了 2, 所以结果为4+5=9。

2. 一下四个程序中,完全正确的是( )

【答案】B

【解析】A 项中,“main ( ) ”函数后面不能加分号;C 语言中注释语句的注释方法是:

或注释一行,且前缺少“#”号。

不能嵌套使用,C 项错误; D

选项中预编译命令

3. 若变量已正确定义,有以下程序段

i=0:

其输出结果是( )。 A.0, 1 B.0, 0 C.1, 1

D. 程序进入无限循环 【答案】A

【解析】首先进入do 语句,输出0

;

是先判定i 是否为0, 不管判定结果如何,都执

行i++。i 等于0,判定结果为false ,执行i++,跳出do-while 循环,然后输出1。

4. 以下关于typedef 的叙述错误的是( )。

A. 用typedef 为类型说明一个新名,通常可以增加程序的可读性 B.typedef 只是将已存在的类型用一个新的名字来代表

C. 用typedef 可以为各种类型说明一个新名,但不能用来为变量说明一个新名 D. 用typedef 可以增加新类型 【答案】D

【解析】用typede 只是将已存在的类型用一个新的名字来代表,并没有增加新类型。

5. 设有以下语句

执行后,c 的值为( )。 A.9 B.7 C.8 D.6

【答案】A

【解析】

后得到8, 异或操作,两个操作数相同得0, 不同得1。a 的最右4位是0001,b

的最右4位是1000, 其佘尾全部是0。

6. 以下不能将键盘输入的字符串:This is a string〈回车〉读入到str 中的程序段是( )。

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

【解析】在使用scanf 函数时,在输入数据时,遇到空格,或按“回车”键或按“跳格”(Tab )键时该数据 认为结束。A 项中输入This 后有一个空格,认为数据输入结束,以后的数据不能再

读入到str 中,故选择A 项。 B 项用getchar 读人字符,键盘输入的所有字符均被认为是有效字符读入,用while 循环控制读入,当读入字符为 回车时结束读入,字符串被正确的读入到str 中。C 项用gets 函数读入字符串,它读入键盘输入的所有字符,遇到回车自动结束读入,所以也能正确读入字符串到str 中。D 项用do...while 和指针循环控制字符输入,依次判断输入字符是否为回车符,若不是回车符则放人字符数组中,直到读入回车符,结束循环,数组str 中正确存放人指定的字符串。

7. 若有函数:

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

A. 调用fun 函数时只有数组执行按值传送,其他实参和形参之间执行按地址传送 B. 形参a 和n 都是指针变量

C. 形参a 是一个数组名,n 是指针变量

D. 调用fun 函数时将把double 型实参数组元素一一对应地传送给形参a 数组 【答案】B

【解析】AC 两项错误,函数中的形参一个指针,并没有把数组的元素顺序赋值。

8. 有以下程序

若运行时从键盘上输入A.OPEN THE DOOR B.OPEN tHE dOOR

程序的输出结果是( )。

已经退化为一个指针;D 项错误,fun 中只是传入