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

2017年山西大学数学科学学院834程序设计考研冲刺密押题

  摘要

一、选择题

1. 若有定义语句:inta=12; ,则执行语句:a+=a- =a*a; 后,a 的值是( )。

A.-264 B.552 C.144 D.264

【答案】A

【解析】赋值运算结合性为自右向左,a+=a-a*a相当于a=a-a*a,a=a+a; 自右向左计算过程为a=a-a*a=_132,a=a+a=-264。

2. 有以下程序:

程序的运行结果是( )。 A.1, 2, 3, 4, B.3, 6, 9, 12, C.4, 7, 10, 13, D.1, 5, 9, 13, 【答案】C

【解析】函数fun 的功能是将参数a 的二维数组中反斜对角对应的数依次赋值给参数b 的一维数组。调用fun 函数

时,

第 2 页,共 52 页

是4行4列的二维数组

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

A.

语句B.

语句C.

语句D. 语句符

【答案】A

【解析】A 项正确,表示定义了长度为8的int 型数组,它里面的每个元素都是0。当所赋初值少于所定义数组的元素个数时,将自动给后面的元素补以初值0。B 项错误,C 语言规定可以通过赋初值来定义数组的大小,这时数组说明符的一对方括号中可以不指定数组的大小;C 项错误,a 是char 类型的数组,里面的元素应该是字符而非字符串,应该用单引号括起来;D 项错误,数组变量一旦定义,其地址值不可改变,不能给数组名重新赋值。

4. 以下函数findmax 拟实现在数组中查找最大值并作为函数值返回,但程序中有错,导致不能实现预定功能。

造成错误的原因是( )。

A. 定义语句inti ,max ; 中,max 未赋初值 B. 赋值语句max=MIN; 中,不应给max 赋MIN 值 C. 语句【答案】D

【解析】该题中for 循环先将MIN 值赋值给max ,再判断x[i]与max 的值比较,即每次都是将MIN 值与X[i]值进行比较,因为MIN 被定义为整型的最小值,所以无论x[i]的值是什么都不会影响if 的判断语句,始终执行max=x[i]。所以最后返回的是最后一个x[i]的值,本题的错误在于max=MIN的位置错误,max=MIN应该放在for 循环之前,仅在循环之前赋一次值,然后在循环中不断跟新max 的值。 5 在源程序的开始处加上.

scanf 等函数

第 3 页,共 52 页

是合法的

是不合法的,遗漏了数组的大小

是合法的,定义了一个包含两个字符的数组

是合法的,因为数组有三个字符空间的容量,可以保存两个字

中,判断条件设置错误

D. 赋值语句max=MIN; 放错了位置

,以下叙述正确的是 进行文件引用的原因( )。

A.stdio. h文件中包含标准输入输出函数的函数说明,通过引用此文件以便能正确使用prinff 、

B. 将stdio. h中标准输入输出函数链接到编译生成的可执行文件中,以便能正确运行 C. 将stdio. h中标准输入输出函数的源程序插入到引用处,以便进行编译链接 D. 将stdio. h中标准输入输出函数的二进制代码插入到引用处,以便进行编译链接 【答案】A 【解析】

文件中包含标准输入输出函数的函数说明,预处理指令

指程序可以在该文件中找到printf ,scanf 等函数,因此答案为A 选项。

6. 以下关于指针的叙述,错误的是( )。

A. 两个基类型相同的指针变量不能指向同一个对象 B. 可以通过对指针变量自增、自减来移动指针 C. 只有两个类型相同的指针才能进行减运算

D. —个指针变量可以通过不同的方式获得一个确定的地址值 【答案】A

【解析】只要两个指针变量基类型相同,可以指向同一个对象,A 项正确。

7. 有如下程序:

程序运行后的输出结果是( )。 A.TF B.T C.F D.TFT 【答案】A

【解析】x=0xl8为赋值表达式,十六进制数

非0, 即x 非0, if 条件成立输出T , 之后再输

出F 与回车符。程序运行后的输出结果是TF ,故A 选项正确。

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

程序运行后的输出结果是( )。 A.12 B.11

第 4 页,共 52 页