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

2017年甘肃省培养单位寒区旱区环境与工程研究所864程序设计之C程序设计考研仿真模拟题

  摘要

一、选择题

1. 有以下程序:

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

A.TrueB •TrueFalse

C.False

D.TrueFalseTrue

【答案】B 【解析】

此答案为B 选项。

2. 有以下程序:

程序的运行结果是( )。

A.15, 2

B.15, 15

C.2, 15

D.8, 8

【答案】A

【解析】本题求数组的最大值和最小值,首先把数组x 首地址的值赋给指针p , 故*p初始值为8, 而p 是地址值,P+1相当于数组中下一元素的地址,在for 循环,是求数组x 对应的最大值和最小值,fl 为最大值,f2为最小值。因此输出为15, 2。

此处是赋值语句“=”,注意赋值操作符与相等操作符“==”的区别,因

3. 若有定义:

则与上述定义完全等价的说明语句是( )。

A.int*a[20][10];

B.int*a[20];

C.int*a[10];

D.int*a[10][20];

【答案】A

【解析】新定义的类型T 为大小为10的整型数组,定义T 型指针数组*a[20],等价于定义了一个指向整型长度为10的数组的指针数组,这个指针数组大小为20,即为整型指针二维数组,行20列10,A 项正确。

4. 设有以下定义:

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

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

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

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

D. 数组s1和s2完全等价

【答案】C

【解析】为字符数组赋值字符串“0123”时,字符串中字符依次放人数组中后,在最后一个

数组s1长度为5。数组s2只需要4个单元即可放下所有初始字符后要添 加一个结束字符

化值,故数组长度为4。所以数组s1的长度大于S2的长度,C 项正确。两个数组等价是指两个数组长度和类型以及对应每个元素值均相 同,所以s1和82不是完全等价,D 项错误。

5. 有以下程序段

当执行上述程序段,从键盘上输入555667777123后,y 的值为( )。

A.566.0

B.55566.0

C.7777.0

D.566777.0

【答案】A

【解析】本题考查的是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中,其中的格式命令可以说明最大域宽。在百分号(%)与格式码之间的整数用于限制从对应域读入的最大字符数。因此j 的值为55,y 的值为566.0,字符数组name 的值为7777123。

6. 以下选项中不能作为C 语言合法常量的是( )。

【答案】A

【解析】常量包括整型常量、实型常量、字符常量和字符串常量等。单引号表示字符常量,但不能包含字符串。表达字符串常量时需用双引号。

7. 若有以下程序

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

A.1

B.9

C.8

D.5

【答案】B

【解析】函数的递归调用,调用过程如下表所示。