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

2018年北京信息科技大学经济管理院813数据结构和C语言程序设计之C程序设计考研核心题库

  摘要

一、选择题

1.

若函数中有定义语句

B. 这时k 中的值无定义

C. 系统将自动给k 赋初值-1

D. 这时k 中无任何值

【答案】B 【解析】这条语句是定义一个整型变量k ,这是动态定义,编译程序仅为k 开辟存储单元,而没有在存储单元中存放任何初值,此时变量中的值时无意义的。若是静态定义,则会自动初始化,其默认值为0。

2. 有以下程序:

程序的运行结果是( )。

【答案】C

【解析】在funO 函数中

3. 若有以下程序

第 2 页,共 61 页 则( )。 A. 系统将自动给k 赋初值0 表示X 取值为a 的小数部分,因此,输入a

为输。

则程序的输出结果是( )。

A.0, 18, 3

B.1, 14, 3

C.0, 14, 3

D.0, 14, 6

【答案】C

【解析】题目中的for 循环可以写成

第一次循环,a=6,进入for 循环,b=0+6=6,c=l,a=6-l=5;

第二次循环,a=5,进入for 循环,b=6+5=ll,c=2,a=5-3=3;

第三次循环,a=3,进入for 循环,b=ll+3=14, c=3,a=3-3=0;

第四次循环,a=0, 跳出for 循环;输出结果是0, 14, 3。

4. 在C 语言中,以下选项中不能正确表示10X1000之值的是( )。

A.1.0E4.0

B.1.E4

C.10E3

D.1.0e4

【答案】A

【解析】实型常量用带小数点的数字表示,其值有两种表达形式,分别为十进制小数形式和指数形式。指数形式由十进制数加阶码标志“e ”或“E ”以及阶码(只能为整数,可以带符号)组成,而A 项中阶码4.0是浮点数,所以A 项不能正确表示10X1000之值,B 、C 、D 项都表示正确并且值为10000,故选择A 项。

5. 有以下程序段:

则的值为( )。

A.5

B.10

C.12

D. 无法确定

【答案】A

【解析】当直接用数组名给指针赋初始化值时,表示把数组首地址的值赋给指针,

6. 有以下程序:

第 3 页,共 61 页

表示

地址赋给表示将数组第5

个元素地址赋给故答案为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 函数。

7. 结构化程序由顺序、选择、循环三种基本结构组成,以下相关叙述错误的是( )。

A. 三种基本结构不可以嵌套使用

B. 顺序结构是按语句在程序中的先后顺序逐条执行,没有分支,没有转移

C. 选择结构是根据不同的条件执行不同分支中的语句

D. 循环结构是根据条件决定是否重复、重复执行多少次循环体语句

【答案】A

【解析】结构化程序主要由3种基本控制结构组成,顺序结构是最基本的算法结构,当执行由这些语句构成的程序时,将按这些语句在程序中的先后顺序逐条执行,没有分支,没有转移,没有步骤之间的相互约束,没有 对某一步骤的多次使用,完全按照步骤的原有次序依次执行,B 选项叙述正确。选择结构根据不同的条件去执行 不同分支中的语句,C 选项叙述正确。循环结构就是根据各自的条件,使同一组语句重复执行多次,D 选项叙述正确。三种结构可以嵌套使用,A 选项叙述错误,选择A 选项。

8. 有以下程序:

第 4 页,共 61 页