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

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

  摘要

一、选择题

1. 有以下程序:

程序的运行结果是( )。

【答案】C

【解析】调用f 函数时,将结构体数组名作为实参传给了形参指针,使结构体指针a 指向了结构体C 的首地址。因此,在f 函数中,对指针所指结构体中的成员的赋值就是对数组c 中元素的赋值,故返回主函数之后,数组c

2. 若有定义:

A.ps[0]是字符串”aa” B. C. D.

是字符串”aa”的首地址 是字符串”aa”的首地址 是字符串”aa”

成员的值已被更新,

最终输出结果为

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

【答案】C

ps 是指针变量,ps[0]指向的是数组首个元素的地址,【解析】定义一个字符串数组指针ps 后,即字符串“aa” 的首地址,C 项正确。

3. 有以下程序:

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

【答案】D

【解析】声明结构类型S 中有一个字符数组name , 在input , 为input 中成员name 初始化给name ,

由于

后,调用

函数

函数的形参为结构体指针,因此

函数中,定义了一个结构变量

执行功能是把

赋值

函数改变形参指针data 指向的

name 值的同时,也改变了实参input 的成员name 值;而形参value 为整型变量,是num 的一个副本,修改了nnm 的副本,对num 本身不产生影响,所以输出为#,3。

4. 有以下程序:

$

程序的运行结果是( )。 A.7, 6, 5 B.5, 5, 5 C.7, 5, 5 D.5, 6, 5 【答案】B

【解析】条件表达式的优先级高于赋值表达式,

中先执行

为否,则执行

运算,当以前缀形式出现时,则

先赋

先进行加一或减一操作,再取值,当以后缀形式出现时,则先取值,再进行加一或减一操作。

此时b 为5, 赋给i ,i 为5;

给j ,再进行

5. 有如下程序:

故最后输出的是5,5,5。

程序运行后的输出结果是( )。 A.A45D78 B.ABC678 C.34CD78 D.34AB78 【答案】A

【解析】本题执行过程为:

if 条件不成立执行else 函数体,i%3=l, if 输出字符A ; i=l,

条件成立输出字符4; i=2, i%3=2, if 条件成立输出字符5; i=3, if 条件不成立,输出字符D ; i=4和i=5时,分别输出字符7与8; i=6退出for 循环。所以程序运行后输出结果为A45D78, 故A 项正确。

6. 设有如下程序段:

以下叙述正确的是( )。 A. 只有a ,b ,c 的定义是合法的 B.a , b ,c ,d 的定义都是合法的 C. 只有a , b 的定义是合法的 D. 只有c 的定义是合法的 【答案】C

【解析】在对数组进行初始化时,如果对数组的全部元素赋以初值,定义时可以不指定数组长度,如果被定义数组的长度与初值个数不同,则数组长度不能省略;如果在说明数组时给出了长度,但没有给所有的元素赋予初始值,而只依次给前面的几个数组元素赋予初值,那么C 语言将自动对余下的元素赋初值。定义整型数组a ,长度为8, 并且其每个元素赋初值0, a 定义是合法的。定义整型数组b , 没有指定长度,但为1个元素赋值0,所以自动指定数组长度为1,b 定义是合法的。定义字符型数组c ,长度为2, 应对其元素赋值字符型常量,而“A ”与“B ”均为字符串,