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

2017年华南理工大学设计学院803算法语言(C)考研强化模拟题

  摘要

一、选择题

1. 有以下程序:

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

A.11

B.21

C.6

D.120

【答案】B

【解析】在整个程序运行期间,静态局部变量在内存的静态存储区中占据着永久性的存储单元,其生存周期 一直延续至整个程序结束。fim 函数被调用了 5次,第1次

第2次,

第5次,

2. 有以下程序:

程序的运行结果是( )。

A.x-4

B.x-6

C.x=8

D.x=12

【答案】c

第3次,第4次,

【解析】第一次循环:i=0, 执行X++, x=l, 执行内层循环J=0, 由于

时,重复上述循环。

共执行两次循环,故X 最终结果是4*2=8。

3. 有以下程序:

程序的运行结果是( )。

A.22

B.41

C.100

D.121

【答案】B

【解析】调用fun 函数

4. 有如下程序:

程序运行时,从键盘输入:3〈回车〉后,程序输出结果为( )。

A.3, 4,

B.0, 1,

C.3, 4, 5,

D.0, 1, 2, 3,

【答案】D 时才执行X++, 即只有j 取1和3时执行x++, 此时x=l+l+l=3, 跳出内层循环,执行下一条x++, x=4。第二次循环:x=l

【解析】break 语句作用是结束整个循环过程,不再判断执行循环的条件是否成立,且在嵌套循环中,其只跳出最内层的一层循环。本题执行过程为:输入3, 则data=3; 执行for 循环,在

时,if 条件不成立,执行语句依次输出i 值,0,1,2,3; 直到i=4时,if 条件

成立,执行break 退出for 循环。故D 选项正确。

5. 有以下程序:

程序的运行结果是。(口代表一个空格)

A.10,12,a

B. □□0,012,a

C.010,12,a

D. □□10,12,a

【答案】D

【解析】%4d 表示先输出十进制,共占4个字符,而10已占2个字符,故先输出2个空格,然后输出10; %0表示输出八进制,10的八进制为12; 表示输出十六进制,即a 。

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

A. 在对指针进行加、减算术运算时,数字1表示1个存储单元的长度

B. 如果p 是指针变量,则*p表示变量p 的地址值

C. 如果p 是指针变量,则&p是不合法的表达式

D. 如果p 是指针变量,则*p+1和*(p+1)的效果是一样的

【答案】A

,而是【解析】A 项正确,在对指针进行加、减运算时,数字“1”不再代表十进制整数“1”

指1个存储单元长度。B 项错误,表示p 的值;C 项错误,表示变量p 的地址;D 项错误

是先取p 的值,然后执行+1操作,是先对指针移动1个存储空间,然后取值。

7. 以下程序中函数f 的功能是:当flag 为1时,进行由小到大排序;当flag 为0时,进行由大到小排序。