2017年中国民航大学程序设计复试实战预测五套卷
● 摘要
一、选择题
1. 下面结构体的定义语句中,错误的是( )。
【答案】B
【解析】C 语言中结构体变量的定义有3种方法:①定义结构体类型的同时定义结构体变量,如C 项;②使 用无名结构体类型定义结构体变量,如D 项;③先定义结构体类型,后定义结构体变量,如A 项。
2. 以下选项中叙述正确的是( )。 A. 是合法的变量定义语句
B. 数组说明符的一对方括号中只能使用整型常量,而不能使用表达式
C. 数组下标的下限可以是负值
D. 若有数组定义【答案】A
【解析】A 项正确定义了字符变量cl 、c2, 字符型指针c3, 字符型一维数组,A
项正确。是下标运算符,“下标”可以是任何非负整型数据,取值范围是0〜(数据元素的个数一1)。在引用数组元素时,下标运算符内可以是常量也可以是变量或者表达式,B 项错误。数组下标的下限不可以是负值,C 项错误。数组下标必须是整型数据,3.12为浮点数,D 项错误。
3. 设有定义:以下选项中,表达式值与其他三个不同的是( )。
【答案】A
【解析】赋值运算结合性为由右向左结合,成功实现赋值后以左值为返回值。逻辑表达式成立则返回1,不成立返回0。A 项,逻辑表达式
值给b , 再将b 赋给a ,
D 项,逻辑表达式
4. 有以下程序:
成立,则不成立,则表达式值为0; B项,将C 赋成立,则表达式值为1; 表达式值为1; C项,逻辑表达式则语句是合法的 表达式值为1。A 项与其他项不同。
则以下叙述正确的是( )。
A. 在main 函数中声明了 findmax 函数
B. 在main 函数中定义了 findmax 函数
C. 在main 函数中两次调用了 findmax 函数
D. 在main 函数内、外重复定义了 findmax 函数
【答案】A
【解析】程序编译是从上到下进行的,所以如果函数定义放在主函数之后,那么在函数调用时必须提前声明函数,可以在主函数之前声明函数,也可以在主函数中函数调用之前声明函数。题目中函数findmax 定义放在了函数之后,所以主函数中声明了 findma 函数
。
为函数声明
,为函数调用
,
为函数定义。A 选项正确。B 选项是在main 函数外定义的findmax
函数,错误。在main 函数中,出现了一次findmax 函数的声明和一次findmax 函数的调用,不是两次调用,C 选项错误。D 选项在main 函数内不是定义findmax 函数而是声明findmax 函数。
5. 若有函数声明
:以下叙述正确的是( )。
A. 函数参数array ,ptr 都是指针变量
B. 函数参数array 不是指针变量,ptr 是指针变量
C. 调用函数时,实参数组的值将一一复制给array 数组
D. 调用函数时,array 是按值传送,ptr 是按地址传送
【答案】A
【解析】数组名为数组的首地址,也是指向数组的指针,所以array 和ptr 都是指针,A 项正确,B 项错误。调用函数时,将实参数组首地址赋给指针array , 而不是传递整个数组元素,C 项错误。调用函数时,ar-ray 与ptr 都是按地址传送的,D 项错误。
6. 有以下程序
程序运行后的输出结果是( )。
A.4
B.2
C.8
D.1
【答案】C
【解析】函数的嵌套调用,
7 若有定义inta , b ;, 通过语句.
b 的输入数据是( )。
A.35
B.3, 5
C.3;5
D.35
【答案】C
scanf 函数在输入字符型时,【解析】要求输入数据时按照一一对应的位置原样输入这些字符。
根据语句scan
隔,故输入3; 5。
8. 若有以下程序
则程序的输出结果是( )。
A.17,37
B.49,2401
C.17,289
D.49,289
【答案】A
【解析】S (k+j)展开后是5+2*5+2=17,T (k+j)展开后是5+2*5+2*5+2*5+2=37。 即要求输入整型数3和5, 由于语句中间是由相最终输出8。 能把整数3赋给变量a , 5赋给变量
二、设计题
9. 函数fun 的功能是:将8所指字符串中除了下标为奇数、同时ASCII 值也为奇数的字符之外,其余的所 有字符都删除,串中剩余字符所形成的一个新串放在t 所指的数组中。。
例如,若s 所指字符串中的内容为
但所在元素
其中字符A 的ASCII 码值虽为奇数,