当前位置:问答库>考研试题

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 码值虽为奇数,