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

2017年江西财经大学软件与通信工程学院841C语言程序设计(软件)考研冲刺密押题

  摘要

一、选择题

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

A. 简单递归不需要明确的结束递归的条件

B. 任何情况下都不能用函数名作为实参

C. 函数的递归调用不需要额外开销,所以效率很高

D. 函数既可以直接调用自己,也可以间接调用自己

【答案】D

【解析】D 项正确,C 语言中的函数可以递归调用,S 卩:可以直接或间接地自己调用自己。前者称简单递归, 后者称间接递归。A 项错误,递归必定要有一个明确的结束递归的条件;B 项错误,递归就是把函数名作为实参 的一种特殊情况;C 项错误,函数的递归调用过程中,系统要为每一层调用中的变量开辟存储单元,要记住每一层调用后的返回点,要增加许多额外的开销,通常会降低程序的运行效率。

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

A.C 程序总是以main ( )作为程序执行的起始行

B.main ( )函数若不带参数,其后面的一对圆括号可省略

C. 函数体内的定义语句和可执行语句允许任意穿插出现

D.C 语言中的语句之间必须用分号作为分隔符

【答案】A

【解析】main ( )函数后面的括号告诉编译器这是一个函数,不可以省略,排除B 选项;在复合语句中, 不仅可以有执行语句,还可以有定义语句,定义语句应该出现在执行语句的前面,故排除C 选项;C 语言中的某 些语句可以不用分号,例如if 语句,宏定义,故D 选项错误;答案为A 选项。

3. 以下叙述中错误的是( )。

A.C 语言编写的函数源程序,其文件名后缀可以是.C

B.C 语言编写的函数都可以作为一个独立的源程序文件

C.C 语言编写的每个函数都可以进行独立的编译并执行

D. —个C 语言程序只能有一个主函数

【答案】C

【解析】C 源程序经过C 编译程序编译之后生成一个后缀为.OBJ 的二进制文件(称为目标文,然后由称为“连接程序”(Link )的软件,把此.OBJ 文件与C 语言提供的各种库函数连接件)

起来生成一个后缀为.EXE 的可执行文件。只有含有main 函数的经过编译链接才能执行。

4. 有以下程序:【程序中含有错误】

程序运行的结果是( )。

A.0

B.10

C.20

D. 出错

【答案】C

【解析】函数fun 的功能是:动态分配int 型大小的内存空间,指针P 指向该存储区的首地址,并将它初始化为参数n 的值,然后返回这个值,函数将传递给形参的变量保存在该存储区。a=fim(10)=10,则a+fun(10)=20。

5. 表达式的值是( )。

【答案】B

【解析】

小数部分被省略,

6. 有以下程序(字符a 的需要注意的是,两个整数相除仍然得到整数,码值为97)

程序运行后的输出结果是( )。

A.abc

B.789

C.7890

D.979899

【答案】B

【解析】因为小写字符a 、b 、c 的

中,每次对字符的

7. 设有定义:

则以下赋值语句中错误的是( )。

A.data2=datal;

B.data2=(2,6);

C.data2.real=datal.real;

D.data2.real=datal.unreal;

【答案】B

【解析】B 项错误,对结构体进行初始化时,应该用花括号括起来的一组值,而不是用小括号。

8. 有以下程序:

程序运行的结果是。

【答案】D

【解析】外层主循环i 从3减到1执行了3次,嵌套的循环变量j 从1增到2, 每轮执行2次,每次输出i+j的值,即为3+1、3+2、2+1、2+2、1+1、1+2,但注意每次内循环结束要换行。

码的值分别为97、98、99, 而在循环语句码的值取余数并输出,所以分别输出7、8、9, B项正确。