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

2016年燕山大学重型机械协同创新中心B14C语言程序设计复试笔试仿真模拟题

  摘要

一、选择题

1. 有以下程序:

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

【解析】程序前面表达式等同于a=2; 优先级低于得b=l。

2. 有以下程序:

程序运行后的输出结果是( )。 A.6 1 B.7 0 C.6 3 D.7 1 答:B 【解析】

这时分配的内存就是7个字节,包括结束字符

第一个遇到结束字符

求的是字符串的个数,为0。

第 2 页,共 34 页

程序执行过程为:c=241, c/100=2, 2%9=2, 得

为真,

非0值为真,0值为假,即(-1)为真,逻辑与表达式

无论之后如

为空

何赋值,都不会改变,sizeof 是计算字符串所占存储空间的大小,因

结束赋值,

这时

3. 以下可以将任意一个两位整数n 的个位数与十位数对换的表达式为( )。

A. (n-n/10×10)×10+n/10 B.n-n/l0×l0+n/10 C.n/10+(n-n/10) D. (n-n/10)×10+(n/10) 答:A

A 项n/10得到十位数字,n-n/10得到个位数字,,n-n/10【解析】将个位数乘以10加上十位数字(×10)×l0+n/10实现将任意一个两位整数个位数与十位数对换,A 项正确。B 项n-n/10×10得到个位数字,n/10为十位数字,n-n/10×l0+n/10实现两位整数个位数与十位数之和,B 项错误。C 项n/10+(n-n/10)=n, 不能实现题目中要求,C 项错误。D 项n/10是十位数字,n-n/10为原两位整数减去十位数字,不是个位数字,D 项错误。

4. 设有定义

:用错误的是( )。

A. .

B.

C.

D. 答:A

【解析】长度为n 的数组其各个元素的下标应该是从0到n-1, 因此,长度为10的数组a , 第10个元素为

5. 设有一个

而不是

A 项正确。

若则对a 数组元素的引

的矩阵已经存放在一个M 行N 列的数组x 中,且有以下程序段:sum=0;

以上程序段计算的是( )。 A. 矩阵两条对角线元素之和 B. 矩阵所有不靠边元素之和 C. 矩阵所有元素之和 D. 矩阵所有靠边元素之和 答:D

【解析】程序执行过程为:第一个for 循环实现对第一列和第N 列求和。第二个for 循环在上

一个for 循环结果上实现对第一行和第M 行从第二个元素到第N-1个元素的求和,总体来说,就是矩阵所有靠边元素之和,故D 选项正确。

6. 阅读以下程序:

第 3 页,共 34 页

该程序在编译时产生错误,其出错原因是( )。 A. 定义语句出错,case 是关键字,不能用作用户自定义标识符 B. 定义语句出错,printF 不能用作用户自定义标识符 C. 定义语句无错,scanf 不能作为输入函数使用 D. 定义语句无错,printf 不能输出case 的值 答:A

【解析】在C 语言中,关键字又称保留字,它是系统预先定义的,具有特定含义的标识符, 故不允许用户重新定义。case 为C 语言中的关键字,因此用户不能再定义标识符为case 的变量。

7. 有如下程序:

程序运行后的输出结果是( )。 A.NAME0 B.NAMEE C.NAME D. 答:A

【解析】程序执行过程为:调用函数disp ,将字符串“NAME”首地址传给指针str , 在while 循环中,依次

判断字符串中字符是否为

时,结束循环,返回字符

NAME0。

8. 设有定义:

紧接着的赋值语句正确的是( )。

A. B. C. D. 答:A

第 4 页,共 34 页

不是的

则输出字符,

否则结束循环。当

码0, 并输出。程序运行后的输出结果是: