当前位置:问答库>考研试题

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