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
循
环
调。
调用用
函
函
数数