2017年东北林业大学程序设计基础(同等学力加试)复试仿真模拟三套题
● 摘要
一、选择题
1. 以下关于编译预处理的叙述中错误的是( )。
A. 预处理命令行必须位于源程序的开始
B. 源程序中凡是以#开始的控制行都是预处理命令行
C. 一行上只能有一条有效的预处理命令
D. 预处理命令是在程序正式编译之前被处理的
【答案】A
【解析】通常,预处理命令位于源文件的开头,也可以写在函数与函数之间。
2. 有以下程序:
程序运行后的输出结果是( )。
A.ABCDEFGHIJKLMNOP
B.ABCDEFGHHKL
C.ABCD
D.AEIM
【答案】D
【解析】auto 变量又称为自动变量,函数定义变量时,如果没有指定存储类别,系统就认为所定义的变量具 有自动类别,D 选项正确。static 变量又称为静态变量,编译时为其分配的内存在静态存储区中。register 变量又称为寄存器变量,变量的值保留在CPU 的寄存器中,而不是像一般变量那样占内存单元。当定义一个函数时, 若在函数返回值的类型前加上说明符extern 时,称此函数为外部函数,外部函数在整个源程序中都有效。
3. 若有以下程序
则程序的输出结果是( )。
A.4,3,4
B.4,3,3
C.6,3,6
D.6,6,6
【答案】B
【解析】函数sp (p )调用前,p 指向k ; 调用后,指针p 被复制到a ,a 也指向
存单元,k 和*p仍然是3。
4. C 语言程序中,运算对象必须是整型数的运算符是( )。
A.&&
B./
C.%
D.*
【答案】C
【解析】模运算中不能出现浮点数,运算对象只能是整数。
5. 有以下程序:
程序运行后的输出结果是( )。
A.-1
B.0
C.1
D.7
【答案】A
【解析】“++”和“一”运算,当以前缀形式出现时,则先进行加一或减一操作,再取值,当以后缀形式出现时,贝晚取值,再进行加一或减一操作。程序中执行
才跳出循环,执行下条语句,即a 为0时再执行
6. 若有以下程序
直到while 判断为0时后输出,最终输出的结果为-1。 语句使得a 指向变量b (但是p 仍然指向k ); 在sp 函数内部输出4,sp 函数没有改变指针p 指向的内
则程序的输出结果是( )。
A.5, 1, 2, -1
B.2, 1, 2, -1
C.2, 2, 2, 4
D.1, 2, 3, 4
【答案】A 【解析】和II 是逻辑运算符,符号两侧都为真时,结果为真,否则返回假;苻号两侧都为假时,结果为假,否则返回真。
题目没有答案,原题可能是
输出a ,b ,c ,d
第一个if 判定表达式中是两个赋值语句,结果判定为true ,执行结束后a=2, b=l,c=2在第二个if 判定表达式中,c==3判定为false ,然后执行d=-l,非零值,判定为true ,所以执行a=5,最终结果是a=5,b=1,c=2,d=-1,选A 。
7. 有如下程序:
程序运行后的输出结果是( )。
A.8
B.9
C.7
D.10
【答案】A
strlen 是求字符串长度的函数,【解析】是一个长度为8的字符串,其中
均为转义字符常量,但是长度也是1, 因此输出结果是8, 答案为A 选项。
8. 设有以下定义:
则以下叙述正确的是( )。
A. 数组s1的长度小于s2的长度
B. 数组s1和s2的长度相同
C. 数组s1的长度大于s2的长度
相关内容
相关标签