全国计算机等级考试二级C语言真题库之选择题(11)

★全国计算机等级考试等级考试真题库

全国计算机等级考试等级考试真题库之选择题(11)

1.下列叙述中正确的是

A) 一个算法的空间复杂度大,则其时间复杂度也必定大 B) 一个算法的空间复杂度大,则其时间复杂度必定小 C) 一个算法的时间复杂度大,则其空间复杂度必定小 D) 算法的时间复杂度与空间复杂度没有直接关系 参考答案:D

【解析】算法的空间复杂度是指算法在执行过程中所需要的内存空间,算法的时间复杂度,是指执行算法所需要的计算工作量,两者之间并没有直接关系,答案为D。 2.下列叙述中正确的是

A) 循环队列中的元素个数随队头指针与队尾指针的变化而动态变化 B) 循环队列中的元素个数随队头指针的变化而动态变化 C) 循环队列中的元素个数随队尾指针的变化而动态变化 D) 以上说法都不对 参考答案:A

【解析】在循环队列中,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置。因此,从排头指针front指向的后一个位置直到队尾指针rear指向的位置之间所有的元素均为队列中的元素。所以循环队列中的元素个数与队头指针和队尾指针的变化而变化,A正确。

3.一棵二叉树中共有80个叶子结点与70个度为1的结点,则该二叉树中的总结点数为 A) 219 B) 229 C) 230 D) 231

参考答案:B

【解析】二叉树中,度为0的节点数等于度为2的节点数加1,即n2=n0-1,叶子节点即度为0,则n2=79,总结点数为n0+n1+n2=80+70+79=229,答案为B。

4.对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为 A) 9 B) 10 C) 45 D) 90

参考答案:C 【解析】冒泡法是在扫描过程中逐次比较相邻两个元素的大小,最坏的情况是每次比较都要将相邻的两个元素互换,需要互换的次数为9+8+7+6+5+4+3+2+1=45,选C。 5.构成计算机软件的是 A) 源代码 B) 程序和数据 C) 程序和文档

D) 程序、数据及相关文档 参考答案:D

【解析】软件指的是计算机系统中与硬件相互依赖的另一部分,包括程序、数据和有关的文档,选D。 6.软件生命周期可分为定义阶段、开发阶段和维护阶段,下面不属于开发阶段任务的是 A) 测试 B) 设计

C) 可行性研究 D) 实现

1

★全国计算机等级考试等级考试真题库

参考答案:C

【解析】开发阶段包括分析、设计和实施两类任务。其中分析、设计包括需求分析、总体设计和详细设计3个阶段,实施则包括编码和测试两个阶段,C不属于开发阶段。 7.下面不能作为结构化方法软件需求分析工具的是 A) 系统结构图 B) 数据字典(DD)

C) 数据流程图(DFD图) D) 判定表

参考答案:A

【解析】结构化方法软件需求分析工具主要有数据流图、数据字典、判定树和判定表。 8.在关系模型中,每一个二维表称为一个 A) 关系 B) 属性 C) 元组

D) 主码(键) 参考答案:A

【解析】关系模型采用二维表来表示,即每个二维表称为一个关系。

9.若实体A和B是一对多的联系,实体B和C是一对一的联系,则实体A和C的联系是 A) 一对一 B) 一对多 C) 多对一 D) 多对多

参考答案:B

【解析】A和B为一对多的联系,则对于A中的每一个实体,B中有多个实体与之联系,而B与C为一对一联系,则对于B中的每一个实体,C中之多有一个实体与之联系,则可推出对于A中的每一个实体,C中有多个实体与联系,所以为一对多联系。 10.

A) 选择 B) 投影 C) 交 D) 并

参考答案:D

【解析】关系T中的元素与关系R和关系S中不同元素的总和,因此为并操作。

11.我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令。关于转换以下说法错误的是 A) 一条C语句可能会被转换成零条机器指令 B) 一条C语句可能会被转换成多条机器指令 C) 一条C语句对应转换成一条机器指令

D) 某种类型和格式的C语句被转换成机器指令的条数是固定的 参考答案:C 【解析】一个C语句经过编译后产生若干条机器指令?声明部分不是语句,不产生机器指令,只是对有关数据的声明?而且固定类型和格式的C语句被转换成机器指令的条数固定?所以选择C选项? 12.关于\条件表达式)循环体\,以下叙述正确的是

A) 循环体的执行次数总是比条件表达式的执行次数多一次 B) 条件表达式的执行次数总是比循环体的执行次数多一次 C) 条件表达式的执行次数与循环体的执行次数一样 D) 条件表达式的执行次数与循环体的执行次数无关 参考答案:B

2

★全国计算机等级考试等级考试真题库

【解析】while循环是先判断条件,满足条件后执行循环体,执行完后接着判断条件,执行,直到最后一次判断条件后不成立,跳出循环,所以最后一次执行了条件表达式,但是没有执行循环体,所以选择B选项? 13.关于C语言的符号常量,以下叙述中正确的是 A) 符号常量的符号名是标识符,但必须大写

B) 符号常量是指在程序中通过宏定义用一个符号名来代表一个常量 C) 符号常量在整个程序中其值都不能再被重新定义 D) 符号常量的符号名必须是常量 参考答案:B 【解析】在C语言中,可以用一个标识符来代表一个常量,称为符号常量?这个标识符必须在程序中进行特别的\指定\并符合标识符的命名规则?用作符号常量的标识符通常采用大写字母表示,在主函数中其值不能再被定义?所以选择B选项?

14.若有以下程序 #include main()

{ int b=10, a=-11; a %= b %= 4;

printf(\ }

则程序的输出结果是 A) 1 2 B) -1 2 C) -1 -2 D) 1 -2

参考答案:B

【解析】先计算b%=4,即b=b%4,结果为2,然后计算a%=2,结果为-1,最后a的值为-1,b的值为2,所以选择B选项? 15.若有以下程序 #include main()

{ int a=0,b=0,c=0;

c= (a -= ++a), (a+=b, b+=4); printf(\ }

则程序的输出结果是 A) 0,4,0 B) 0,4,4 C) 1,4,1 D) 1,4,4

参考答案:A

【解析】逗号运算符的结合性从左到右,因此逗号表达式将从左到右进行计算。且逗号运算符的优先级最低,所以先计算c=(a-=++a)这部分。其中,赋值运算符从右往左计算,先执行++a,a自增1后再赋值,所以a的值为1,执行a=a-1,即a=1-1,a的值为0,并将0赋给变量c?第二部分(a+=b,b+=4),先执行a=a+b,a=0+0,即a的值为0,然后执行b+=4,b=0+4,即b的值为4?所以打印结果为0,4,0,选择A选项? 16.若有以下程序 #include main()

{ int a=0,b=0,c=0,d;

c= (a+=b,, b+=a); /*第4行*/

3

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4