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

2017年上海海洋大学国家海洋局(联合培养)919计算机基础综合[专业学位]之C程序设计考研题库

  摘要

一、选择题

1. 有如下程序:

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

A.8, 2,

B •8,8,

C.2, 4,

D.4, 8,

【答案】A

【解析】*的优先级低于++,即先运算组下一个元素;i=l,输出

8, 2。

2. 有以下函数:

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

A.xyz

B.wxyz

C.zyxw

D.zyx

【答案】A

【解析】函数fim 是一个递归函数,递归的终止条件是输入的实参字符小于等于字符

第 2 页,共 33 页 再运算程序执行过程为:定义指针ptr 与数组然后指针加1, 指向数array , 执行for 循环,使指针指向数组,i=0, 输出指针指向的元素指针指向数组下一个元素;i=2退出for 循环。程序依次输出当

运行调用

3. 有以下程序

然后嵌套调用 输出结果为先输出x ,然后输出y ,最后输出z 。

程序的运行结果是( )。

A.852

B.963

C.741

D.875421

【答案】A

【解析】for 循环的执行过程如下:①计算表达式1; ②计算表达式2。若其值为非0, 转步骤

③;若其值为0,转步骤⑤;③执行一次for 循环体;④计算表达式3,转向步骤②;⑤结束循环。

_是先执行y 自减,然后输出y 的值。

第一次循环,y 等于9,y%3等于零,y 自减,输出8; 执行for 循环体的y--, y 等于7;

第二次循环,y 等于7, y%3不等于零,不输出;执行for 循环体的y--, y 等于6;

第三次循环,y 等于6, y%3等于零,y 自减,输出5; 执行for 循环体的y--, y 等于4:

4. 有如下程序:

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

A.56,57,

B.57,58,

C.57,57,

D.55,57,

【答案】C

【解析】convert ( )函数定义了一个形参:指针变量*data。函数体中将指针变量*data

第 3 页,共 33 页

对应地址的值进行加1处理,再返回加1前data 的值。main ( )函数中,定义了变量data 并赋初值56,调用covert ( )函数,改变变量data 的值,此时data=57; 程序执行data=convert

,函数convert ( )返回的是执行前data 的值,所以data=57。C 项正确。 (&data)

5. 有以下程序:

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

A.2,6

B.0,0

C.2,4

D.1,2

【答案】B

【解析】程序执行过程为:定义数组调用函数fun ,将数组地址传人函数,指针pi 指向a ,s 指向b ,定义指针t 并使其指向开辟的两个整型内存,为第一个内存赋值为数组a 第一个元素的2倍,即2,然后指针pi 指向a 数组第二个元素,为第二个内存赋值为数组a 第二个元素的2倍,即4,最后使指针s 指向动态开辟的两个内存的首地址。整个过程中数组b 没有发生变化,依次输出b 中元素为0,0,故B 项正确。

6. 以下选项中,合法的一组C 语言数值常量是( )。

【答案】A

【解析】A 项,C 语言中小数必须要有小数点,但是小数部分可以省略,12. 是合法的常量;C 语言中十六进制数以或开头,表示是指十六进制数在C 语言中,或后跟一个整数来表示以10为底的幂数,面的数字只能在0~7之间。C 项,B 项,028表示的是八进制,以0开头,0后e 后面只能跟整数,Oabc 表示八进制,0后面的数字只能

第 4 页,共 33 页