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

2017年南京林业大学林学院809C程序设计考研导师圈点必考题汇编

  摘要

一、选择题

1. 设有定义:

A. B. C.

正确的输入数据

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

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

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

2. 有以下程序:

程序运行后的输出结果是( )。 A.10 12 B.8 10 C.10 28 D.10 16 【答案】C

【解析】因为b 是全局变量,所以它的值在整个程序结束才会消失。for 循环中,

第一次循环

所以

然后

fun

这时的b 为5, 所以代

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

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

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

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

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

再看第二次循

所以

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

【答案】A

【解析】常量包括整型常量、实型常量、字符常量和字符串常量等。B 项,O.le+6是指数形式的常量,是合法的;C 项,是字符串常量;D 项,\011是表示八进制数整型常量。A 项错误,单引号表示字符常量,不能包含字符串,若要包含字符串,需用双引号。

4. 有如下程序:

程序运行时,输入A.1234 B.4321 C.4444 D.1111 【答案】B

则输出结果是( )。

【解析】在调用一个函数的过程中又出现直接或间接的调用该函数本身,称为函数的递归调用。本题程序的 执行过程为:在输入1234〈回车〉的情况下,调用人1,

在这次调用中的局部变量

调用调用

条件成立→调用

调用

函数,读入3,

局部变量

函数,

函数,读入2,

局部变量

函数,读入4,

局部变量

函数,读入回车,if 条件不成立,返回执行每次调用函数中if 语句后的输

出语句,即依次输出4321。故B 选项正确。

5. 有以下程序(字母A 的ASCII 代码为65):

程序运行后的输出结果是( )。 A. 输出格式不合法,输出出错信息 B.A , Y C.65, 90 D.65, 89 【答案】D

【解析】字符可以用整型来输出,输出的是对应的ASCII 值。‘A ’的ASCII 值为65, ‘Y ’的ASCII 值为89, 所以输出结果为65, 89。

6. 设有定义:

则以下赋值语句中正确的是( )。 A.s[0]=m[l]; B.s=m; C.s.l3=m.n;

D.s[2].x=m[2].x; 【答案】A

【解析】定义了结构体类型数组s ,长度为2,结构体类型数组m ,长度为2,并进行了初始化。同类型的结构体可以直接用变量名实现赋值,A 选项正确。数组名为数组首地址,地址常量之间不可以相互赋值,B 选项错误。C 选项引用结构体成员错误,数组名为地址常量不是结构体变量,不能引用成员。D 选项数组越界,不存在s[2]与m[2]。

7. 有以下程序:

程序的运行结果是( )。 A.10 B.20 C.14 D.16

【答案】C 【解析】

系统默认为指针指向数组中第

执行的是将数组

个元素,因此,在for 循环中

累加后赋值给n , 最后输出,值为14。