2017年新疆农业大学C++程序设计(加试)复试仿真模拟三套题
● 摘要
一、选择题
1. 以下叙述中正确的是( )
A. 程序设计的任务就是编写程序代码并上机调试
B. 程序设计的任务就是确定所用数据结构
C. 程序设计的任务就是确定所用算法
D. 以上三种说法都不完整
【答案】D
【解析】程序设计是指设计、编程、调试程序的方法和过程。因为程序是软件的主体,软件的质量主要通过 程序的质量来体现,在软件研宄中,程序设计的工作非常重要,内容涉及相关的基本概念、工具、方法及方法学。
2. 有如下程序:
程序运行后的输出结果是( )。
A.ABC
B.012
C.abc
D.123
【答案】B
【解析】while 循环语句执行时,首先判断表达式,成立(非0)则执行循环体,不成立(0)则退出循环。字符之间做加减法,是用其ASCII 码进行加减,所以程序执行过程为:定义字符变量ch=‘A ’,判断‘A ’<‘D ’成立,‘A ’-‘A ’=0,输出0, ch++后,值为‘B ’;判断‘B ’<‘D ’成立,‘B ’-‘A ’=1, 输出1, ch++后,值‘C ’;判断‘C ’<‘D ’成立,‘C ’-‘A ’=2,输出2,ch++后值‘D ’;判断‘D ’<‘D ’不成立,退出循环。程序运行后的输出结果是012, 故B 项正确。
3. 有以下程序:
程序的运行结果是( )。
A.21
B.6
C.123456
D.11
【答案】A
【解析】程序执行过程为:以读/写方式建立一个新的文本文件
内输入
值。
4. 有以下程序:
程序运行的结果是( )。
A.40
B.16
C.8
D.4
【答案】C
将1写入文件;执行for 循环,将文件指针移到文件开头,将文件第一个数值1赋给k ,再将指针移动到开头,向文件循环实现将a 数组中元素累加,结果21存放在文件中。调用rewind 将文件指函数关闭文件,打印k 针移动到开头,调用fscanf 函数从文件中读出数值赋予k=21,调用
【解析】左移一位相当于原数乘以二,右移相当于除以二,结果为4X2=8。没有超过char 的类型表示范围,所以输出8。C 语言中字符型变量可以用在任何整型变量可以使用的地方。
5. 有以下程序:
程序的运行结果是( )。
A.y=0
B.y=l
C.y=2
D.y=3
【答案】D
【解析】数组a 定义结果为,指针P 指向执行一p ; 语句
y 的值为指针p 所指向的地址的存储值为3。 后,p 指向数组元素
6. 以下叙述中正确的是( )。
A. 简单递归不需要明确的结束递归的条件
B. 任何情况下都不能用函数名作为实参
C. 函数的递归调用不需要额外开销,所以效率很高
D. 函数既可以直接调用自己,也可以间接调用自己
【答案】D
【解析】D 项正确,C 语言中的函数可以递归调用,S 卩:可以直接或间接地自己调用自己。前者称简单递归, 后者称间接递归。A 项错误,递归必定要有一个明确的结束递归的条件;B 项错误,递归就是把函数名作为实参 的一种特殊情况;C 项错误,函数的递归调用过程中,系统要为每一层调用中的变量开辟存储单元,要记住每一层调用后的返回点,要增加许多额外的开销,通常会降低程序的运行效率。
7. 有以下程序:
程序运行后的输出结果是( )。
A.48
B.34
C.35
D.45