2017年青岛农业大学C程序设计(加试)考研复试核心题库
● 摘要
一、选择题
1. 有以下程序(其中k 的初值为八进制数):
程序运行后的输出结果是( )。
A.12
B.11
C.10
D.9
【答案】D
【解析】k 的初值是八进制数011,转换为十进制数就是9,在输出时自增运算符“++”是作为后缀出现的,因此是先输出9,然后k 的值再自增1。
2. 若有函数:
以下叙述中正确的是( )。
A. 调用fun 函数时只有数组执行按值传送,其他实参和形参之间执行按地址传送
B. 形参a 和n 都是指针变量
C. 形参a 是一个数组名,n 是指针变量
D. 调用fun 函数时将把double 型实参数组元素一一对应地传送给形参a 数组
【答案】B
【解析】AC 两项错误,函数中的形参
一个指针,并没有把数组的元素顺序赋值。
3. 设有以下程序段:
则变量y 的取值范围是( )。
【答案】B
第 2 页,共 25 页 已经退化为一个指针;D 项错误,fun 中只是传入
【解析】本题考点为求余符号。rand ( )产生随机整数,任何整数对30求余得到
或者说故B 选项正确。 的整数范围为0〜29, 则y 的取值范围为
4. 有以下程序:
程序运行后的输出结果是( )。
A.A
B.a
C.H
D.h
【答案】D
【解析】首先将H 赋给变量a ,问号前一个表达式成立,问号后面减去一个大写字母A 再加上小写字母a 实际是将原来的大写字母转换成小写字母,即H 转换成h ,再将结果赋给a 。
5. 有以下程序:
程序运行的结果是( )。
A.3 3 1
B.4 1
C.2
D.1
【答案】D
【解析】else 子句总是与最前面最近的不带else 的if 相结合,与书写格式无关,所以本题中的else 语句与第 二个if 语句配对,且if 和else 都在第一个if 的控制范围内。首先判断立,直接退出第一个if 语句,执行
输出结果为1。
6. 有如下程序:
第 3 页,共 25 页 不成的值是x 加之前的值,所以
程序运行后的输出结果是( )。
【答案】D
【解析】程序执行过程为:
定义结构体变量
将
ABC , 故D 项正确。
7. 设有以下语句
执行后,c 的值为( )。
A.9
B.7
C.8
D.6
【答案】A 【解析】后得到8, 异或操作,两个操作数相同得0, 不同得1。a 的最右4位是0001,b
的最右4位是1000, 其佘尾全部是0。
8. 以下叙述中错误的是( )。 赋值给调用strcpy
函数为结构体成员赋值
最后输出结果为
A.C 语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令
B.C 程序经过编译、链接步骤之后才能形成一个真正可执行的二进制机器指令文件
C. 用C 语言编写的程序称为源程序,它以
D.C 语言源程序经编译后生成后缀为
【答案】A
【解析】A 项错误,注释语句不会被翻译成二进制的机器指令。C 源程序经过C 编译程序编
,然后由“连接程序”(Link )的软件,译之后生成后缀 为.OBJ 的二进制文件(称为目标文件)
把OBJ 文件与各种库函数连接 起来生成一个后缀为.EXE 的可执行文件。
第 4 页,共 25 页
代码形式存放在一个文本文件中 的目标程序