2016年大连海洋大学农业工程610C语言程序设计考研复试题库
● 摘要
一、选择题
1. 有如下程序:
程序运行后的输出结果是( )。
A.5 4 3 2 1
B.0 1 2 34
C.4 5 6 7 8
D.1 2 3 4 5
答:D
【解析】本题程序执行过程为:在时依次输出即调用sum 函数后依次输出1、2、3、4、5,D 项正确。
2. 以下关于return 语句的叙述中正确的是( )。
A. —个自定义函数中必须有一条return 语句
B. —个自定义函数中可以根据不同情况设置多条return 语句
C. 定义成viod 类型的函数中可以有带返回值的return 语句
D. 没有return 语句的自定义函数在执行结束时不能返回到调用处
答:B
【解析】A 项错误,当函数的返回值为void 类型时,函数中可以不含有return 语句;C 项错误,定义成void 类型的函数不可以有带返回值的return 语句,但可以有不带返回值的return 语句;D 项错误,无论函数是否带有 return 语句,当函数执行完后都会返回到调用处。
3. 有以下程序
程序的运行结果是( )。
A.a=2.b=l
B.a_2,b-2
C.a=l, b=l
D.a=l, b=0
答:A
【解析】当执行swicth 语句时,首先计算紧跟其后一对括号中的表达式的值,然后在switch 语句体内寻找与该值吻合的case 标号。如果有与该值相等的标号,则执行该标号后开始的各语句,包括在其后的所有case 和default 中的语句,直到switch 语句体结束;每当执行到break 语句时,立即跳出switch 语句体。switch 语句通常总是和break 语句联合使用,使得switch 语句真正起到分支的作用。x=l,首先进入外层分支1,接下来y=0,再进入内层分支0,执行a++,此时a=l,接下来遇到break ,跳出内层switch ; 由于外层分支中没有break 语句,会继续执行外层分支2,执行a++, b++,此时a=2, b=l; 然后遇到break 语句,跳出外层switch 。
4. 对于if (表达式)语句,以下叙述正确的是( )。
A. “表达式”的值可以是任意合法的数值
B. 在“表达式”中不能出现变量
C. 在“表达式”中不能出现常量
D. “表达式”的值必须是逻辑值
答:A
【解析】单分支选择语句if 语句格式如下:if (表达式)语句体。“表达式”可以是任意合法的C 语言表达式,包括关系表达式和逻辑表达式等,也可以是任意的数值类型(包括整型、实
,A 项正确。“表达式”中可以出现变量或者常量,也不一定必须是逻辑值,B 、型、字符型等)
C 、D 项错误。
5 在源程序的开始处加上.
scanf 等函数
B. 将stdio. h中标准输入输出函数链接到编译生成的可执行文件中,以便能正确运行
,以下叙述正确的是 进行文件引用的原因( )。A.stdio. h文件中包含标准输入输出函数的函数说明,通过引用此文件以便能正确使用prinff 、
C. 将stdio. h中标准输入输出函数的源程序插入到引用处,以便进行编译链接
D. 将stdio. h中标准输入输出函数的二进制代码插入到引用处,以便进行编译链接
答:A 【解析】文件中包含标准输入输出函数的函数说明,预处理指令是指程序可以在该文件中找到printf ,scanf 等函数,因此答案为A 选项。
6. 以下不能正确表示代数式
答:D 【解析】与/优先级相同,所以采用左结合的方式。D 项若改为:
7. 有以下程序:
程序:
程序的运行结果是( )。
A.6
B.5
C.4
D.3
答:A
【解析】程序执行过程为:定义字符串指针p 并为其初始化为“01234”,调用函数fun (p ), 将指针传入函 数。while 循环找到字符串的束符地址,然后使这个指针指向结束符下一个单元,结束循环。返回字符串首地址 与结束符下一个地址之差,也即是字符串长度加1。输出地址差为6, 故A 选项正确。
则为正确。 的C 语言表达是( )。