2018年南京林业大学林院809C程序设计考研核心题库
● 摘要
一、选择题
1. 有以下程序:
程序的运行结果是( )。
【答案】C
【解析】调用f 函数时,将结构体数组名作为实参传给了形参指针,使结构体指针a 指向了结构体C 的首地址。因此,在f 函数中,对指针所指结构体中的成员的赋值就是对数组c 中元素的赋值,故返回主函数之后,数组c
中
2. 有如下程序:
第 2 页,共 40 页
成员的值已被更新,
最终输出结果为
专注考研专业课
13年,提供海量考研优质文档!
程序运行后的输出结果是(
)。
A.min=l, max=9 B.min=0, max=9 C.min=l, max=4 D.min=0, max=4 【答案】B
【解析】在对数组进行初始化时,如果在说明数组时给出了长度,但没有给所有的元素赋予初始值,而只依次给前面的几个数组元素赋予初值,那么c 语言将自动对余下的元素赋初值0, 则
程序的执行过程为
:
调用函数
将数组array 首地
址传人函数,定义结构体变量res ,并为其成员赋值。for 循环查找数组array 数组的最小值0,将其赋值给res 的成员first , 查找数组最大值9, 赋值给res 的成员second 。最后返回结构体变量res , 则
输出
故
B 选项正确。
3. 以下叙述中正确的是( )。
A. 只要是用户定义的标识符,都有一个有效的作用域
B. 只有全局变量才有自己的作用域,函数中的局部变量没有作用域 C. 只有在函数内部定义的变量才是局部变量 D. 局部变量不能被说明为static 【答案】A
【解析】A 项正确,标识符的“作用域”是指程序中的某一部分中,标识符是有定义的,可以被C 编译和 连接程序所识别。在C 语言中,由用户命名的标识符都有一个有效的作用域。B 项错误,局部变量的作用域是所 在的函数体(或复合语句);C 项错误,在函数内部或复合语句内部定义的变量,称为局部变量;D 项错误,在 函数体(或复合语句)内部用static 来说明一个变量时,变量为静态局部变量。
第 3 页,共 40 页
专注考研专业课13年,提供海量考研优质文档!
4. 以下叙述中错误的是( )。
A. 基类型不同的指针可以直接相互赋值 B. 函数可以通过指针形参向所指单元传回数据 C. 字符型指针可以指向一个字符串
D. —般情况下,指针的运用可使程序代码效率更高 【答案】A
【解析】把一个指针变量的值赋给另一个指针变量,但一定要确保这两个指针变量的基类型是相同的。
5. 下列定义数组的语句中,正确的是( )。
A
)
B
)C
)
D
)
【答案】D
【解析】一维数组定义格式是:类型名数组名[整型常量表达式]。D 项正确,它使用预处理宏定义,N 可以看做是常量。A 项错误,没有指明数组的长度;B 项错误,数组长度不能由变量指明;C 项错误,数组长度应该整型常量表达式。
6. 有以下程序:
程序运行后的输出结果是( )。 A.6 B.1 C.0 D.3
【答案】D
【解析】
按位与运算符。a=3=118,b=3=118,按位与结果为11B=3,D 项正确。
7. 有以下程序:
第 4 页,共 40 页