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

2017年浙江农林大学高级语言程序设计(同等学力加试)考研复试核心题库

  摘要

一、选择题

1. 关于C 语言的变量名,以下叙述正确的是( )。

A. 变量名不可以与关键字同名 B. 变量名不可以与预定义标识符同名 C. 变量名必须以字母开头 D. 变量名是没有长度限制的 【答案】A

【解析】合法的标识符由字母(大、小写均可)、数字和下划线组成,并且必须以字母或下划线开头。关键字是指被C 语言保留的,不能用作其他用途的标识符,它们在程序中都代表着固定的含义,用户不可重新定义,A 项正确。预定义标识符是系统已经有过定义的标识符,用户可以重新定义,所以可以作为变量名,B 项错误。变量名除了以字母开头以外,还可以以下划线开头,C 项错误。变量名没有长度限制,但不可超过编译器可以辨识的范围,D 项错误。

2. 若程序中有宏定义行:

#defineN100

则以下叙述中正确的是( )。

A. 宏定义行中定义了标识符N 的值为整数100

B. 在编译程序对C 源程序进行预处理时用100替换标识符N C. 上述宏定义行实现将100赋给标识符N D. 在运行时用100替换标识符N 【答案】D

【解析】D 项正确,预处理程序对源程序中所有使用宏名的地方进行直接替换。A 项错误,宏定义没有类型限制;B 项错误,预处理程序进行宏替换,而非编译程序;C 项错误,宏定义不是赋值操作,而是进行在预编译时进行替换。

3. 有以下程序

程序运行后的输出结果是( )。 A.4 B.3 C.5 D.6

【答案】A 【解析】

4. 有以下程序:

程序的运行结果是( )。 A.3,3 B.5,5 C.3,5 D.5,3 【答案】A

【解析】程序执行过程为:p 指针指向变量m ,调用函数,将m 地址传给指针s ,然后再让8指向变量k ,而P 指针所指并没有改变,输出为3,3。

5. 以下程序中函数f 的功能是:当flag 为1时,进行由小到大排序;当flag 为0时,进行由大到小排序。

程序运行后的输出结果是( )。 A.1,2,3,4,5,6,7, 8, 9,10, B.3, 4, 5, 6, 7, 2, 1, 8, 9, 10, C.5, 4, 3, 2, 1, 6, 7, 8, 9, 10,

D.10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 【答案】B

flag 为1时从小到大排序,flag 为0时从大到小排序,【解析】第一次排序结果为5, 4, 7, 6, 3, 2,1,8, 9,10; 第二次排序结果为3, 4, 5, 6, 7, 2,1,8, 9,10。

6. 有以下程序:

程序的运行结果是( )。 A.21 B.6

C.123456 D.11

【答案】A

【解析】程序执行过程为:以读/写方式建立一个新的文本文件内输入

值。

7. 有以下程序:

将1写入文件;执行

for 循环,将文件指针移到文件开头,将文件第一个数值1赋给k ,再将指针移动到开头,向文件

循环实现将a 数组中元素累加,结果21存放在文件中。调用rewind 将文件指

函数关闭文件,打印k

针移动到开头,调用fscanf 函数从文件中读出数值赋予k=21,调用