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

2016年大连海洋大学工程(专业学位)649C语言程序设计原理考研复试题库

  摘要

一、选择题

1. 以下叙述中正确的是( )。

A.C 程序的基本组成单位是语句 B.C 程序中的每一行只能写一条语句 C. 简单C 语句必须以分号结束 D.C 语言必须在一行内写完 答:C

【解析】在C 语言中,每条语句必须以分号结束。A 项错误,C 程序的基本组成单位是函数;BD 两项错误,C 程序一行能写多条语句,也可以将一条语句分几行书写。

2. 有如下程序:

!

程序运行后的输出结果是( )。 A.1123 B.123 C.0123 D.001 答:A

【解析】程序执行过程为:for 循环开始,第一次循环,输出i=l,判断i<4成立,输出i=l,循环结束后i=2; 第二次循环,判断i<4成立,输出i=2, 循环结束后i=3; 第三次循环,判断i<4成立,输出i=3, 循环结束后i=4; 第四次循环,判断i<4不成立,退出循环。程序运行后的输出结果是1123, 故A 项正确。

3. 若有以下程序

则程序的输出结果是( )。 A.4,3,4 B.4,3,3 C.6,3,6 D.6,6,6 答:B

【解析】函数sp (p )调用前,p 指向k ; 调用后,指针p 被复制到a ,a 也指向存单元,k 和*p仍然是3。

4. 有以下程序

执行程序时,给变量x 输入10, 程序的输出结果是( )。 A.55 B.54 C.65 D.45 答:A

【解析】一个直接或间接地调用自身的算法称为递归算法。在一个递归算法中,至少要包含一个初始值和一个递归关系。本题的fun ( )函数在n 等于1时返回1,而在其余情况下返回

所以本题的递归算法可以这样来表示:

此时不难看出,该递归算法实现的是计算

语句

使得a 指向变量b (但是p 仍然指向k ); 在sp 函数内部输出4,sp 函数没有改变指针p 指向的内

而且n 必须大于0, 否则会陷入死循环。

故题目输出的结果是

5. 有如下程序:

程序运行后的输出结果是( )。 A.15 B.0 C.1 D.10 答:D

【解析】static 变量编译时,将其分配在内存的静态存储区中,在整个程序运行期间都不释放这些存储单元,即使退出函数,下次再进入该函数时,静态局部变量仍使用原来的存储单元,值是上一次函数调用结束时的值。程序执行过程为:执行for 循环,i=l,调用函

,调用函数sum (2)

退

返回指向init 的指针,输出

6. 以下四个程序中,完全正确的是( )。

答:B

【解析】A 项中,“main ( )”函数后面不能加分号;C 语言中注释语句的注释方法是

或//注释一行,

“indUde”前缺少“#”号。

不能嵌套使用,C 项错误; D 选项中预编译命令出

for

调。

调用用

数数