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

2017年山西大学数学科学学院834程序设计考研导师圈点必考题汇编

  摘要

一、选择题

1. 若a 是数值类型,则逻辑表达式

A.1

B.0

C.2

D. 不知道a 的值,不能确定

【答案】A

【解析】C 语言没有专门提供逻辑类型,0作为逻辑数据代表假,非0的数作为逻辑数据代表真。C 语言同时规定,逻辑数据真为1,逻辑数据假为0。根据题意可知逻辑表达式的值为恒为“真”。

2. 有以下程序:

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

A.2, 3

B.2, 4

C.3, 4

D.4, 6

【答案】B

【解析】程序中定义了一个3含有三个结构体node 元素的数组,数组中的元素的next 指针分别指向后一个元素,最后一个元素的next 指针置为NULL 。p 指针最初指向x 数组中的第一行元素的第一个元素,即为2; 即第一次输出2,第二次输出的是x 数组中的第二行元素的第一个元素,为4。

3. 有以下程序:

第 2 页,共 53 页 的值是( )。

程序的运行结果是( )。

A.5,5,5,5,5

B.3,5,5,5,5

C.5,3,3,3,5

D.3,5,3,5,5

【答案】A

【解析】程序执行过程为:p 指向i ,q 指向j ,调用函数f ,将i 与j 地址传递给s 与t ,判断i 是否小于j ,成立则将j=5赋值给i ,则i=5,返回指向i 的指针并赋给r ,则r 指向i ,最后输出5,5,5,5,5,故A 选项正确。

4. 有以下程序:

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

A.10, 64

B.10, 10

C.64, 10

D.64, 64

【答案】A

【解析】C 语言中带参数的宏可以理解为用参数直接替代定义式中的变量,而不经过任何修

改。所以

算结果是不同的。

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

A. 基类型不同的指针可以直接相互赋值

B. 函数可以通过指针形参向所指单元传回数据

C. 字符型指针可以指向一个字符串

D. —般情况下,指针的运用可使程序代码效率更高

【答案】A

【解析】把一个指针变量的值赋给另一个指针变量,但一定要确保这两个指针变量的基类型

第 3 页,共 53 页

所以有无括号的运

是相同的。

6. 有以下程序

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

A.1, 2, 4

B.1, 3, 6

C.3, 10, 14

D.3, 6, 10

【答案】C

【解析】case 分支后面如果没有break , 那么就会顺序执行下面的case , 直到遇到break 跳出或者到switch 语句块结尾。所以第一次循环后s 的值为3, 打印输出。第二次S 的值为即

为10, 打印输出。第三次没有匹配成功直接执行default 语句,s=s+4, 所以s 的值为14, 打印输出。

7. 有以下程序:

编译时编译器提示错误信息,你认为出错的语句是( )。

【答案】A

【解析】A 项,是不正确的表达式;

8. if 语句的基本形式是:if (表达式)语句,以下关于“表达式”值的叙述中正确的是( )。

A. 必须是逻辑值

B. 必须是整数值

C. 必须是正数

D. 可以是任意合法的数值

【答案】D

【解析】if 是C 语言的关键字,在其后一对圆括号中的表达式可以是c 语言中任意合法的表达式。

第 4 页,共 53 页