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 页