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。