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

2017年江西师范大学软件学院869C语言程序设计与数据结构考研冲刺密押题

  摘要

一、选择题

1. 为了避免在嵌套的if-else 语句中产生二义性,C 语言规定与else 子句配对是( )。

A. 与其在同一行上的if 子句

B. 在其之后最近的不带else 的if 子句

C. 与其缩排位置相同的if 子句

D. 在其之前最近的不带else 的同层if 子句

【答案】D

【解析】if 总是与它上面最近的、未配对的else 配对。

2. 有以下程序(其中k 的初值为八进制数):

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

A.12

B.11

C.10

D.9

【答案】D

【解析】k 的初值是八进制数011,转换为十进制数就是9,在输出时自增运算符“++”是作为后缀出现的,因此是先输出9,然后k 的值再自增1。

3. 有以下程序:

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

A.1256

B.5634

C.5612

D.3456

【答案】B

【解析】第一次funl 传递参数5, 6,输出5, 6, 第二次调用fun2,fun2的作用是将全局变量a 变为3, b 变为4, 故输出3, 4。

4. 以下叙述中错误的是( )。

A. 用typedef 定义新的类型名后,原有类型名仍有效

B. 可以用typedef 将已存在的类型用一个新的名字来代表

C. 可以通过typedef 增加新的类型

D. 用typede 可以为各种类型起别名,但不能为变量起别名

【答案】C

【解析】关键字typedef 的作用只是将C 语言中已有的数据类型作置换,并不是增加新的类型,因此C 项错误。

5. 有以下程序:

程序的运行结果是( )。

A.y=0

B.y=l

C.y=2

D.y=3

【答案】D

【解析】数组a 定义结果为,指针P 指向执行一p ; 语句

y 的值为指针p 所指向的地址的存储值为3。 后,p 指向数组元素

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

以上程序段计算的是( )。

A. 矩阵两条对角线元素之和

B. 矩阵所有不靠边元素之和

C. 矩阵所有元素之和

D. 矩阵所有靠边元素之和

【答案】D

【解析】程序执行过程为:第一个for 循环实现对第一列和第N 列求和。第二个for 循环在上一个for 循环结果上实现对第一行和第M 行从第二个元素到第N-1个元素的求和,总体来说,就是矩阵所有靠边元素之和,故D 选项正确。

7. 若有以下程序

则程序的输出结果是( )。

A.11,2

B.25,2

C.11,12

D.25,26

【答案】D

【解析】S (k+j)展开后是(3+2)*(3+2)=25,T (k+j)展开后是(3+2)*(3+2)/(3+2)*(3+2)+1=26。

8. 有以下程序:

程序的运行结果是( )。

A.1, 0, 1, 0

B.1, 1, 0, 1

C.1, 0, 0, 1

D.1, 1, 1, 0

【答案】A

【解析】本题程序执行过程为:

求解逻辑表达式先求解++a,a=l,则整个表达式为真,不计算++b,然后求解++c,不计算++d,最后得到a=l,b=0, c=l,d=0,故A 项正确。

9. 有以下程序: