2017年南京师范大学F160C程序设计复试仿真模拟三套题
● 摘要
一、选择题
1. 有如下程序:
程序运行时,从键盘输入:3〈回车〉后,程序输出结果为( )。
A.3, 4,
B.1, 2, 3, 4,
C.0, 1, 2, 3, 4, 5,
D.0, 1, 2,
【答案】A
【解析】continue 语句只能用在循环结构中,其作用是结束本次循环,即不再执行循环体中continue 语句之后的语句,而是立即转入对循环条件的判断与执行。本题执行过程为:输入3, 则data=3; 执行for 循环,i=0,if 条件成立,结束本次循环,不输出i 值,执行下一次循环;直到条件不成立,依次输出i 值3, 4, 直到i=5退出for 循环。故A 选项正确。
2. 若有定义:
则正确的switch 语句是( )。
第 2 页,共 16 页 if
【答案】D
【解析】D 项正确,标号可以是整型表达式。A 项错误,case 是关键字,与其后面的常量表达式合称case 语句标号。常量表达式的类型必须与swicth 后圆括号中的表达式类型相同,各case 语句标号的值应该互不相同。c 是变量,不能作为表达式放在case 后面;B 项错误,switch 后面
不应该有分号;C 项错误,switch 参数值类型必须是这几种类型之一:
3. 设有定义:则以下选项中对语句所作的注释叙述错误的是( )。 A. B. C.
正确的输入数据
D.
【答案】A
【解析】A 项中是起作用的,程序从键盘正确的读入前两个数据并且保存在指定的地址,读入第三个数据后,将其放入缓冲区,然后寻找应该存放的地址,因为没有找到,程序会发生错误而中断,注释错误。B 项由于scanf 只接收两个数据,所以变量x 得不到赋值,注释正确。C 项scanf 会按照float 类型读取输入的第二个数据并且保存为int 类型,由于两种类型的存储形式与所占内存单元均不同,b 得不到正确的赋值,注释正确。D 项在使用scanf 函数时,如果除了格式说明字符和附加格式字符外,还有其他字符,则在输入数据时要求按一一对应的位置原样输入这些字符,注释正确。
4. 要求定义一个具有6个元素的int 型一维数组,以下选项中错误的是( )。 A. B. C.
D.
【答案】A
【解析】数组名后面括号内,必须是整型常量,不可以是变量,A 项定义错误。
5. 若有定义语句:库函数strcpy 的功能是复制字符串,以下选项中错误的函数调用是( )。 A. B. C. D.
【答案】A
【解析】题目中字符指针str3, 没有为指针开辟内存,能作为函数参数。
第 3 页,共 16 页
多余的格式符完全不起作用 多佘的输入项不能获得输入数据 输入项与格式符类型不匹配,变量b 和x 得不到; 格式串中允许加入格式符以外的字符串
6. 以下叙述中错误的是( )。
A. 同一个数组中所有元素的类型相同
B. 不可以跳过前面的数组元素给后面的元素赋初值0
C. 定义语句
D. 若有定义语句
【答案】D
【解析】一维数组初始化时,不可能跳过前面的元素给后面的元素赋初值,当所赋初值少于所定义数组的元素个数时,将自动给后面的元素补以初值0, 当所赋初值多于所定义数组的元素个数时,在编译时将给出出错信息。
7. 表达式:
A.0
B.3
C.4
D.5
【答案】B
【解析】运算符类型结果依然为4,
8. 有以下程序
:
给a 数组中所有元素赋初值0 编译时将忽略多余的初值 的值是( )。 的优先级高于的结果为所以先进行除法和求余运算,再进行减法运算。结果为4, 转换成double 类型再转换成强制类型转换表达式的形式((表达式)。:类型名)最后结果为3。
程序运行后的输出结果是( )。
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。
二、设计题
9. 学生的记录由学号和成绩组成,N 名学生的数据已在主函数中放入结构体数组s 中,请编写函数fun , 它 的功能是:按分数的高低排列学生的记录,高分在前。
注意:部分源程序存在文件中。
请勿改动主函数main 和其他函数中的任何内容,仅在函数fun 的花括号中填入你编写的若干
第 4 页,共 16 页
相关内容
相关标签