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

2017年江西财经大学软件与通信工程学院841C语言程序设计(软件)考研仿真模拟题

  摘要

一、选择题

1. 以下程序段中的变量已正确定义:

程序段的输出结果是( )。

A. B. C. D.

【答案】D

【解析】for 语句在没有说明时,仅仅是跟随其后的第一条语句。这时注意第二个for 循环有一个“;”结束,所以视为空语句,表示什么也不做,然后是下一个顺序语句,即输出语句,这时没有for 循环,只输出一个“*”。

2. 有以下程序:

程序运行的结果是。

【答案】D

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

3. 以下选项中叙述正确的是( )。

A. 复杂任务可以分解成简单子任务

B.C 语言程序中的所有函数必须保存在同一个源文件中

C. 全部三种基本结构都包含的才是结构化程序

D.C 语言程序可以定义多个不同内容的main 函数

【答案】A

【解析】结构化程序设计把一个复杂的问题的求解过程分成阶段进行,即复杂任务可以分解成简单的任务,A 项正确。C 语言程序中的函数不一定要保存在同一个源文件中,外部函数可以

B 项错误。被同程序中其他源文件中调用,结构化程序主要由3种基本控制结构组成,循环结构、

选择结构、顺序结构,它们组成的算法结构可 以解决任何复杂的问题。算法不一定要包含所有三种基本结构,也可以只包含一种或两种,C 项错误。C 程序由 一个或若干个函数构成,程序中有且只能有一个主函数,即main 函数,D 项错误。

4. 有以下程序

执行程序时,给变量x 输入10, 程序的输出结果是( )。

A.55

B.54

C.65

D.45

【答案】A

【解析】一个直接或间接地调用自身的算法称为递归算法。在一个递归算法中,至少要包含一个初始值和一个递归关系。本题的fun ( )函数在n 等于1时返回1,而在其余情况下返回所以本题的递归算法可以这样来表示:

此时不难看出,该递归算法实现的是计算而且n 必须大于0, 否则会陷入死循环。 故题目输出的结果是

5. 下面关于编译预处理的命令行,正确的是( )。

【答案】A

,A 项满足宏定义用法;C 语言【解析】宏定义用法一般表达式为“#define宏名替换文本”

中是区分大小写的,define 属于C 语言的关键字,不可以大写,B 、C 项错误;D 项中,int 是代表整数类型,不满足define 用法,D 项错误。

6. 设有定义:则以下语句错误的是( )。

A.p=a;

B.p=b;

C.p=c; D.

【答案】A

【解析】p 为指针变量,存放变量的地址。对指针变量赋值,值必须是地址值。a 为整型变量不是地址值, 不能赋值给p , A项错误。数组名为数组首地址,b 为地址可以赋值给p , B项正确。c 为指针变量,初始化为 NULL , 与p 均为整型指针,可以将其赋值给p , C项正确。&为取地址运算符,为数组元素b[0]的地址,可以赋值给p ,D 项正确。

7. 以下选项中与语句功能不同的switch 语句是( )。

【答案】B

【解析】在switch 语句的执行过程中,执行完case 后面的语句后,如果遇到break 语句就停止,否则将继续执行下一个case 中的语句,直到遇到break 语句。B 项,当a==1是

a=b, 刚好和题干要求相反。

8. 有以下程序:

己知字母A 的ASCII 码值为65, 程序运行后的输出结果是( )。

A.E , 68

B.D , 69