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

2017年北京市培养单位工程科学学院864程序设计考研强化模拟题

  摘要

一、选择题

1. 有以下程序:

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

A.0

B.3

C.7

D.8

【答案】B

【解析】C 语言中,字符串没有专门的类型表示,是通过字符数组表示,在字符串末尾用表识字符串结 束。字符串s 的前三个字符满足if 语句,所以当遇到时,for 循环终止,所以最后输出n 值为3。

2. 以下函数findmax 拟实现在数组中查找最大值并作为函数值返回,但程序中有错,导致不能实现预定功能。

造成错误的原因是( )。

A. 定义语句inti ,max ; 中,max 未赋初值

B. 赋值语句max=MIN; 中,不应给max 赋MIN 值

C. 语句

【答案】D

【解析】该题中for 循环先将MIN 值赋值给max ,再判断x[i]与max 的值比较,即每次都是

第 2 页,共 43 页 中,判断条件设置错误 D. 赋值语句max=MIN; 放错了位置

将MIN 值与X[i]值进行比较,因为MIN 被定义为整型的最小值,所以无论x[i]的值是什么都不会影响if 的判断语句,始终执行max=x[i]。所以最后返回的是最后一个x[i]的值,本题的错误在于max=MIN的位置错误,max=MIN应该放在for 循环之前,仅在循环之前赋一次值,然后在循环中不断跟新max 的值。

3. 设有以下程序段:

要引用结构体变量Std 中的color 成员,下列写法中错误的是( )。

【答案】C

【解析】在使用结构体变量引用结构体中的成员变量时,可以使用

指针引用结构体中的成员变量是,可以使用来指向结构体中的成员。

4. 若有定义则下列说法中正确的是( )。

A. 定义了基类型为int 的三个指针变量

B. 定义了基类型为int 的具有三个元素的指针数组pt

C. 定义了一个名为

【答案】D

【解析】pt 是一个指针,指向的数据类型为含有三个约束的整型数组。

5. 已知大写字母A 的码是65, 小写字母a 的码是97。以下不能将变量c 中的大写字母转换为对应小写字母的语句是( )。

【答案】A

【解析】A 项,模26运算后得到0~25之间的数,再与‘a ’相减结果是负数。B 项,

表中,同一字母的小写码比大写码数值上大32; C 项,

价于C 项。

第 3 页,共 43 页 来引用,使用结构体具有三个元素的整型数组 D. 定义了一个名为pt 的指针变量,它可以指向每行有三个整数元素的二维数组 码D 项,c-‘A ’取值在0~26, 等

6. 以下选项中合法的C 语言赋值语句是( )。

【答案】A

【解析】B 项和C 项缺少分号,不合法。D 项类型转换不合法,应为

7. 若有定义语句 执行了之后,输入语句正确的是( )。

A. B. C. D.

【答案】C

,格式控制和地址【解析】输入函数scanf 使用的标准形式是:scanf (格式控制,地址列表)

列表间用逗号隔开。由题知_即px 指向x 的地址,py 指向y 的地址。AD 两项错误,表达式中的x 和y 都需要取地址;B 项,格式控制和地址列表间用逗号隔开。

8. 有以下函数:

程序运行时从第一行开始输入

A.

B.this is a C. D.

【答案】C 则输出结果是( )。 【解析】scanf 语句接收字符串时遇到空格就认为字符串的结束,所以a 数组中为this , b数组中为is ,但是 gets 函数遇到回车才认为结束,所以c 数组为

9. 有以下程序段

若要求使p 指向一个int 型的动态存储单元,在横线处应填入的是( )。

A.int

B. (int*)

C.int*

D. (*int)

第 4 页,共 43 页