2017年浙江工商大学C语言程序设计复试仿真模拟三套题
● 摘要
一、选择题
1. 有以下程序
:
程序运行后的输出结果是( )。
A.10, -1, 8,-3, 6,
B.5,4,3,2,1,
C.10, 2, 8, 4, 6,
D.5,-1,3,-3,1,
【答案】A
【解析】fim ( )函数功能是:对数组中,下标为偶数的元素累加5, 下标为奇数的元素减去5, 所以执行完fun ( )函数后,数组e 变为10, -0,8,-3,6。
2. 在C 语言程序中,下列说法中正确的是( )。
A. 函数的定义可以嵌套,但函数的调用不可以嵌套
B. 函数的定义不可以嵌套,但函数的调用可以嵌套
C. 函数的定义和调用均不可以嵌套
D. 函数的定义和调用均可以嵌套
【答案】B
【解析】C 语言规定,不能在函数的内部定义函数,但函数的调用可以嵌套。
3. avg 函数的功能是求整型数组中的前若干个元素的平均值,设数组元素个数最多不超过10, 则下列函数说明语句错误的是( )。 A. B. C. D.
【答案】C
【解析】C 项中函数的两个参数均为整型变量,不能满足题干的要求,声明不正确。
4. 若以下选项中的变量全部为整型变量,且已正确定义并赋值,则语法正确的switch 语句是( )。
【答案】D
【解析】A 项错误,case 后面的应该为整形或字符型常量;B 项错误,switch 后面的表达式需要在括号内;C 项错误,case 和后面的常量表达式应该由空格隔开。
5. 若有以下程序
则程序的输出结果是( )。
A.17,37
B.49,2401
C.17,289
D.49,289
【答案】A
【解析】S (k+j)展开后是5+2*5+2=17,T (k+j)展开后是5+2*5+2*5+2*5+2=37。
6. 以下函数findmax 拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能。
造成错误的原因是( )。
A. 定义语句
B. 赋值语句
C. 语句
D. 赋值语句
【答案】D
【解析】本题中for 循环中首先将MIN 值赋值给max , 然后用
将MIN 值与
值进行比较,所以无论的值是什么,都不会影响if 的判断语句,始终执行。所以函数返回的是数组中最后一个元素的值。本题的错误在于
先执
7. 以下关于算法的叙述中错误的是( )
A. 算法可以用伪代码、流程图等多种形式来描述
B. —个正确的算法必须有输入
C. 一个正确的算法必须有输出
D. 用流程图可以描述的算法可以用任何一种计算机高级语言编写成程序代码
【答案】B
【解析】一个正确的算法可以有零个或者多个输入,必须有一个或者多个输出。
8. 在C 语言中,以下选项中不能正确表示10X1000之值的是( )。
A.1.0E4.0
B.1.E4
C.10E3
D.1.0e4
【答案】A
【解析】实型常量用带小数点的数字表示,其值有两种表达形式,分别为十进制小数形式和指数形式。指数形式由十进制数加阶码标志“e ”或“E ”以及阶码(只能为整数,可以带符号)组成,而A 项中阶码4.0是浮点数,所以A 项不能正确表示10X1000之值,B 、C 、D 项都表示正确并且值为10000,故选择A 项。
的位置,for 循环之前应与max 的值比较。每次都是中max 未赋初值 中,不应给max 赋MIN 值 中判断条件设置错误 放错了位置
二、设计题