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

2017年湖南农业大学食品科技学院341农业知识综合三[专业硕士]之C程序设计考研强化模拟题

  摘要

一、选择题

1 设有如下定义.

【答案】A

【解析】可用以下3种形式来引用结构体变量中的成员,其中结构体变量名也可以是已定义的结构体数组的数组元素:①结构体变量名. 成员名;②指针变量名->成员名;③(*指针变量名). 成员名。题目中a 为数组名是地址常量,不是指针变量,A 项引用错误。a[0]为变量名,B 项引用正确。p 为指针,且正确的指向结构体变量,C 项引用正确。D 项符合第三种引用方式,引用正确。

2. 执行以下程序段后,w 的值为( )。

A.-1

B.NULL

C.1

D.0

【答案】C

【解析】因为都是非零整数,因此又因为知也为真,因此的值为1。

3. 设函数中有整型变量n ,为保证其在未赋值的情况下初值为0, 应选择的存储类别是 ( )。

A.auto

B.register

C.static

D.auto 或 register

【答案】C

【解析】静态存储类型定义变量在未对其初始化时会对其初始化为默认值,其中int 型的默认初始化是0,其他选项的存储类型不能保证。

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

A. 简单递归不需要明确的结束递归的条件

第 2 页,共 31 页

则以下错误引用结构体成员n 的是( )。

B. 任何情况下都不能用函数名作为实参

C. 函数的递归调用不需要额外开销,所以效率很高

D. 函数既可以直接调用自己,也可以间接调用自己

【答案】D

【解析】D 项正确,C 语言中的函数可以递归调用,S 卩:可以直接或间接地自己调用自己。前者称简单递归, 后者称间接递归。A 项错误,递归必定要有一个明确的结束递归的条件;B 项错误,递归就是把函数名作为实参 的一种特殊情况;C 项错误,函数的递归调用过程中,系统要为每一层调用中的变量开辟存储单元,要记住每一层调用后的返回点,要增加许多额外的开销,通常会降低程序的运行效率。

5. 有以下程序:

程序的输出结果是( )。

A.22

B.18

C.20

D.16

【答案】D

【解析】语

退出循环。

6. 有如下程序:

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

第 3 页,共 31 页 相当

于程序执行过程为

【答案】A

【解析】可用以下3种形式来引用结构体变量中的成员:①结构体变量名. 成员名;②指针变量名>成员名;③(*指针变量名). 成员名。数组名是指向数组首地址,也可以当做指向数组的指

针来使用。

元素指向数组第三个元素

运行后的输出结果是为字符串A 项正确。 指向数组第一个

7. 以下函数按每行8个输出数组中的数据:

下画线处应填入的语句是( )。

A.

B.

C.

D.

【答案】C

【解析】每行输出8个数组数据的实现,即输出8个后就输出一个换行,所以,应该对8取余,当结果为0时输出换行符,即用语句

8. 以下使指针指向一个字符串的选项错误的是( )。

A. B. C. D.

【答案】A

【解析】A 项中定义了指针ps 后,

法将str 的首地

址赋给一个常量,语法错误。

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

A.14.0

B.31.5

C.7.5

D. 程序有错无输出结果

【答案】D

第 4 页,共 31 页

可表达。 表示指针ps 指向地址的内容,而不是地址,无