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

2017年新疆农业大学C程序设计复试仿真模拟三套题

  摘要

一、选择题

1. 有如下程序:

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

【答案】A

【解析】程序执行过程为:定义字符数组array ,调用函数sum 将数组首地址与4

传入函数

递归调

第四个元素地址;5;

执行

正确。

2. 有以下程序:

第 2 页,共 16 页

传入地址为数组第二个元素地址

递归调用

递归调用

0. 传入地址为数组第五个元素地址,此时

递归调

用传入地址为数组

返回

传入地址为数组第三个元素地址;

余下语句,返回9;

执行

余下语句,返回14; 执行

余下语句,返回12; 执行

余下语句,返回15, 并输出。故A 选项

程序运行后的输出结果是( )。 A.3344 B.2050 C.3040 D.0304 【答案】C

【解析】main 函数的主体是一个for 循环语句,for 循环中包含一个switch 语句,如果判断条件为0则进入第二个switch 语句,如果判断语句为1则执行

,最后将数组顺序输出。所

以程序功能是将数组的偶数项设为0, 奇数项如果为奇数则减1,为偶数就加1,最后得到结果。

3. 有以下程序:

程序运行后的结果是。 A.0 B.1 C.2 D.3

【答案】A

“/”

4. 设有定义:

A. B. C.

正确的输入数据

D. 【答案】A 【解析】A 项中

是起作用的,程序从键盘正确的读入前两个数据并且保存在指定的地址,

读入第三个数据后,将其放入缓冲区,然后寻找应该存放的地址,因为没有找到,程序会发生错误而中断,注释错误。B 项由于scanf 只接收两个数据,所以变量x 得不到赋值,注释正确。C 项scanf 会按照float 类型读取输入的第二个数据并且保存为int 类型,由于两种类型的存储形式与所占内存单元均不同,b 得不到正确的赋值,注释正确。D 项在使用scanf 函数时,如果除了格式说

第 3 页,共 16 页

的优先级高

则以下选项中对语句所作的注释叙述错误的是( )。

多余的格式符完全不起作用

多佘的输入项不能获得输入数据

; 格式串中允许加入格式符以外的字符串

输入项与格式符类型不匹配,变量b 和x 得不到

明字符和附加格式字符外,还有其他字符,则在输入数据时要求按一一对应的位置原样输入这些字符,注释正确。

5. 有以下程序

程序运行后的输出结果是( )。 A.5 B.50 C.6 D.60

【答案】A

【解析】最后一句应该是

指针p 指向c ,指针s 指向c[5],s-p 就是c 的地址与c[5]的地址之差(以int 的存储空间为单位),s 和p 都是int 型变量s=p+5,所以s-p=5。

6. 下列选项中,能够满足“若字符串si 等于字符串s2, 则执行ST ”要求的是( )。

A. B. C. D. 【答案】A 【解析】字符串比较不能直接进行比较,字符串判断函数是strcmp 。

7. 有以下程序:

第 4 页,共 16 页