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

2017年北京林业大学森林工程专业-专业综合测试之C语言程序设计复试仿真模拟三套题

  摘要

一、选择题

1. 有以下程序:

程序运行后的输出结果是( )。 A. B. C. D.

【答案】A

【解析】本题执行过程为:i=l, 1%2=1,if 条件成立,输出*与#; i=2, 2%2=0, if 条件不成立,

i=3,3%2=1,执行continue 结束本次循环,执行下一次循环;输出*与#; i=4, 4%2=0,执行continue ,

开始下一次循环;i=5,5%2=1,输出*与#; i=6退出循环。最后输出$,A 项正确。

2. 以下叙述中错误的是( )。

A. 同一个数组中所有元素的类型相同

B. 不可以跳过前面的数组元素给后面的元素赋初值0

C. 定义语句

D. 若有定义语句

【答案】D

【解析】一维数组初始化时,不可能跳过前面的元素给后面的元素赋初值,当所赋初值少于所定义数组的元素个数时,将自动给后面的元素补以初值0, 当所赋初值多于所定义数组的元素个数时,在编译时将给出出错信息。

3. 以下选项中叙述正确的是( )

A.C 程序中的语句要经过编译才能转换成二进制机器指令

第 2 页,共 15 页 给a 数组中所有元素赋初值0 编译时将忽略多余的初值

B. 算法需要包含所有三种基本结构

C. 有些算法不能用三种基本结构来表达

D. 简单算法的操作步骤不能超过20步

【答案】A

【解析】编译就是把高级语言变成计算机可以识别的二进制语言,不经过编译的源程序是不能运行的,A 选项正确。算法不一定要包含所有三种基本结构,也可以只包含一种或两种,B 选项错误。结构化程序主要由3种 基本控制结构组成,循环结构、选择结构、顺序结构,它们组成的算法结构可以解决任何复杂的问题,C 项错误。算法的复杂程序不是由操作步骤多少决定的,而是按时间复杂度与空间复杂度来衡量,D 选项错误。

4. 设x 、y 、z 均为实型变量,代数式

A.x/y+z

B.x%y%z

C.x/y/z

D.x*z/y

【答案】C

【解析】X 、/的结合顺序是从左到右,所以x 先除以y , 再除以z 。

5. 若有以下程序段

则以下选项中值为6的表达式是( )。

【答案】C

【解析】定义长度为3的struct 数组a , a 中每个元素的next 值是指向下一个元素,实际上数组a 的元素构成了一条单链表,指针p 指向单链表的头部项返回的都是

6. 设

【答案】C 【解析】

的结合顺序是从左到右,所以x 先除以y ,再除以z 。

第 3 页,共 15 页 在C 语言中的正确写法是( )。 等于指向三的值5。 均为实型变量,代数式在C 语言中的正确写法是( )。

7. 有以下程序:

程序运行后的输出结果是( )。

A.4

B.10

C.14

D.6

【答案】B

【解析】函数f 的功能是通过递归计算数组t 中元素的和。在主函数中调用了递归函数(f 将递归函数f ( ) 的递归式展开

8. 若要实现total=l+2+3+4+5求和,以下程序段错误的是( )。

A.

B.

C.

第 4 页,共 15 页 ), ,