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项正确。