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

2016年中国民航大学航空工程学院程序设计考研复试题库

  摘要

一、选择题

1. 以下叙述正确的是( )。

A.C 语言程序是由过程和函数组成的

B.C 语言函数可以嵌套调用,例如:fun (fun (x )

C.C 语言函数不可以单独编译

D.C 语言中除了main 函数,其他函数不可以作为单独文件形式存在

答:B

【解析】一个函数的返回值可以作为参数然后传给另一个函数,因此函数是可以嵌套调用的。A 项错误,C 语言程序只有函数构成,没有过程;C 项错误,编译系统的任务在于检查语法错误,只要符合语法规则的C 程序都可以通过编译,就算是单独的函数也可以;D 项错误,在C 语言中除main ( )函数以外的其他函数可以和main ( )函数在同一个C 文件中,也可以单独处于其他的C 文件,只要在使用到这些函数的main ( )函数的C 文件中用预编译指令“#include”包含进来即可。

2. 以下选项中,合法的数值型常量是( )。

A.3.1415

B. “A ”

C.092

D.OxDH

答:A

【解析】数值型常量包括整型常量和实型常量。整型常量有三种:①十进制常量,用0〜9表示,不能以0开头;②八进制常量,用0〜7表示,必须用0开头;③十六进制常量,用0~9和A~F(a~f)表示,必须以Ox 或OX 开头。实型常量:用带小数点的数字表示,其值有两种表达形式,分别为十进制小数形式和指数形式。3.1415为实型常量,A 项正确。“A ”为长度为1的字符串常量,B 项错误。092按照格式来说是八进制整型常量,但是八进制不会出现9, C 项错误。OxDH 按照格式说是十六进制整型常量,但是不应该出现H , D 项错误。

3. 有以下程序:

若文本文件filea.txt 中原有内容为:hello ,贝U 运行以上程序后,文件

( )。

A.Helloabc

B.abclo

C.abc

D.abchello

答:C 【解析】为写而打开文本文件。这时,如果指定的文件不存在,系统将用在fopen 调用

文件以写的形式打开再利用fprintf 函中指定的文件名建立一个新文件; 如果指定的文件已存在,则将从文件的起始位置开始写,文件中

原有的内容将全部消失数对文件进行操作,而

故中的内容是abc 。 是先将文件清空,再写入,所以本题是将abc 写入

中的内容为

4. 若要求从键盘读入含有空格字符的字符串,应使用函数( )。

A.gets ( )

B.getc ( )

C.getchar ( )

D.scanf ( )

答:A

,直到读入一个换行符为【解析】A 项,gets 函数用来从终端键盘读入字符串(包括空格符)

止。B 项错误,C 语言标准库中没有getc 函数;C 项,getchar 函数是从键盘读入单个字符,空格、回车符都将作为字符读入;D 项,scanf 函数用

入数据的分隔符而不能被读入。

5. 若有函数:

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

A. 调用fun 函数时只有数组执行按值传送,其他实参和形参之间执行按地址传送

B. 形参a 和n 都是指针变量

C. 形参a 是一个数组名,n 是指针变量

D. 调用fun 函数时将把double 型实参数组元素一一对应地传送给形参a 数组

答:B

【解析】AC 两项错误,函数中的形参

一个指针,并没有把数组的元素顺序赋值。

6. 有以下程序:

格式符输入字符串时,空格和回车符都作为输已经退化为一个指针;D 项错误,fun 中只是传入

程序的运行结果是( )。

A.abcdl234mnop5678

B.abcd234op8

C.a2o8

D.alm5

答:B

【解析】程序执行过程为:定义指针数组,长度为4, 并为其初始化为4个字符串。定义指向指针的指针变 量,并为其初始化为指针数组首地址。f0r 循环依次输出4个字符串,第i 个字符串从第i 个下标值处开始输出到 字符串结束,即第一个字符串输出abed , 第二个字符串输出234, 第三个字符串输出op ,第四个字符串输出8。程序的运行结果是abcd2340p8, 故B 项正确。

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

A. 如果根据算法需要使用无限循环(即通常所称的“死循环”),则只能使用while 语句

B. 对于“for (表达式1; 表达式2; 表达式3)循环体”首先要计算表达式2的值,以便决定是否开始循环

C. 对于“for (表达式1; 表达式2; 表达式3)循环体”,只在个别情况下才能转换成while 语句

D. 只要适当地修改代码,就可以将do-while 与while 相互转换

答:D

【解析】D 项正确,C 语言中do-while 语句和while 语句作用是等价的,二者可以经过适当的修改互换。A 项错误,do-while 和for 循环也能写成死循环;B 项错误,for 循环首先执行表达式1; C 项错误,for 循环体经过适当的修改都可以转换成while 语句。

8. 执行以下程序段后,w 的值为( )。

A.-1

B.NULL

C.1

D.0

答:C

【解析】因为

真,因此

都是非零整数,因此的值为1。

又因为知也为