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 页