考试吧

计算机等级

考试吧>等级考试>计算机二级考试>C语言>模拟试题>正文
2016年9月计算机二级C语言考前40天必做试题(1)
考试吧 2016-08-11 17:51:39 评论(1)条

  点击查看:2016年9月计算机二级C语言考前40天必做试题汇总

  一、选择题(每小题1分。共40分)

  (1)软件设计中划分模块的一个准则是(  )。

  A.低内聚低耦合

  B.高内聚低耦合

  C.低内聚高耦合

  D.高内聚高耦合

  (2)下列数据结构中,属于非线性结构的是(  )。

  A.循环队列

  B.带链队列

  C.二叉树

  D.带链栈

  (3)算法的空间复杂度是指(  )。

  A.算法在执行过程中所需要的计算机存储空间

  B.算法所处理的数据量

  C.算法程序中的语句或指令条数

  D.算法在执行过程中所需要的临时工作单元数

  (4)下列选项中不属于结构化程序设计原则的是(  )。

  A.可封装

  B.自顶向下

  C.模块化

  D.逐步求精

  (5)在E—R图中,用来表示实体联系的图形是(  )。

  A.椭圆形

  B.矩形

  C.菱形

  D.三角形

  (6)有三个关系R、S和T如下:

  其中关系T由关系R和S通过某种操作得到,该操作为(  )。

  A.选择

  B.投影

  C.交

  D.并

  (7)数据库应用系统中的核心问题是(  )。

  A.数据库设计

  B.数据库系统设计

  C.数据库维护

  D.数据库管理员培训

  (8)下面叙述中错误的是(  )。

  A.软件测试的目的是发现错误并改正错误

  B.对被调试的程序进行“错误定位”是程序调试的必要步骤

  C.程序调试通常也称为Debug

  D.软件测试应严格执行测试计划,排除测试的随意性

  (9)将E-R图转换为关系模式时,实体和联系都可以表示为(  )。

  A.属性

  B.键

  C.关系

  D.域

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

  A.使用三种基本结构构成的程序只能解决简单问题

  B.结构化程序由顺序、分支、循环三种基本结构组成

  C.C语言是一种结构化程序设计语言

  D.结构化程序设计提倡模块化的设计方法

  (11)耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是(  )。

  A.提高耦合性降低内聚性有利于提高模块的独立性

  B.降低耦合性提高内聚性有利于提高模块的独立性

  C.耦合性是指一个模块内部各个元素间彼此结合的紧密程度

  D.内聚性是指模块间互相连接的紧密程度

  (12)下列叙述中正确的是(  )。

  A.栈是“先进先出”的线性表

  B.队列是“先进后出”的线性表

  C.循环队列是非线性结构

  D.有序线性表既可以采用顺序存储结构,也可以采用链式存储结构

  (13)支持子程序调用的数据结构是(  )。

  A.栈

  B.树

  C.队列

  D.二叉树

  (14)下列排序方法中,最坏情况下比较次数最少的是(  )。

  A.冒泡排序

  B.简单选择排序

  C.直接插入排序

  D.堆排序

  (15)C源程序中不能表示的数制是(  )。

  A.十六进制

  B.八进制

  C.十进制

  D.二进制

  (16)下列数据结构中,能够按照“先进后出”原则存取数据的是(  )。

  A.循环队列

  B.栈

  C.队列

  D.二叉树

  (17)对于循环队列,下列叙述中正确的是(  )。

  A.队头指针是固定不变的

  B.队头指针一定大于队尾指针

  C.队头指针一定小于队尾指针

  D.队头指针可以大于队尾指针,也可以小于队尾指针

  (18)程序流程图中带有箭头的线段表示的是(  )。

  A.图元关系

  B.数据流

  C.控制流

  D.调用关系

  (19)结构化程序设计的基本原则不包括(  )。

  A.多态性

  B.自顶向下

  C.模块化

  D.逐步求精

  (20)软件设计中模块划分应遵循的准则是(  )。

  A.低内聚低耦合

  B.高内聚低耦合

  C.低内聚高耦合

  D.高内聚高耦合

  (21)在软件开发中,需求分析阶段产生的主要文档是(  )。

  A.可行性分析报告

  B.软件需求规格说明书

  C.概要设计说明书

  D.集成测试计划

  (22)算法的有穷性是指(  )。

  A.算法程序的运行时间是有限的

  B.算法程序所处理的数据量是有限的

  C.算法程序的长度是有限的

  D.算法只能被有限的用户使用

  (23)有三个关系R、S和T如下: 

2016年计算机二级C语言考前40天摸底测试题(1)

  由关系R和S通过运算得到关系T,则所使用的运算为(  )。

  A.并

  B.自然连接

  C.笛卡尔积

  D.交

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

  A.C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令

  B.C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件

  C.用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中

  D.C语言源程序经编译后生成后缀为.obj的目标程序

  (25)以下选项中,合法的一组C语言数值常量是(  )。

  A.12. 0Xa23 4.5e0

  B.028 .5e-3 -0xf

  C. .177 4e1.5 0abc

  D.0x8A 10,000 3.e5

  (26)以下选项中不合法的标识符是(  )。

  A.&a

  B.FOR

  C.print

  D._00

  (27)一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是(  )。

  A.12345ABCDE

  B.EDCBA54321

  C.ABCDE12345

  D.54321EDCBA

  (28)下列叙述中正确的是(  )。

  A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构

  B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况

  C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况

  D.循环队列中元素的个数是由队头指针和队尾指针共同决定的

  (29)下列叙述中正确的是(  )。

  A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的

  B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构

  C.顺序存储结构能存储有序表,链式存储结构不能存储有序表

  D.链式存储结构比顺序存储结构节省存储空间

  (30)在面向对象方法中,不属于“对象”基本特点的是(  )。

  A.一致性

  B.分类性

  C.多态性

  D.标识唯一性

  (31)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是(  )。

  A.一对一

  B.一对多

  C.多对一

  D.多对多

  (32)数据流图中带有箭头的线段表示的是(  )。

  A.控制流

  B.事件驱动

  C.模块调用

  D.数据流

  (33)在软件开发中,需求分析阶段可以使用的工具是(  )。

  A.N-S图

  B.DFD图

  C.PAD图

  D.程序流程图

  (34)数据厍管理系统是(  )。

  A.操作系统的一部分

  B.在操作系统支持下的系统软件

  C.一种编译系统

  D.一种操作系统

  (35)以下关于结构化程序设计的叙述中正确的是(  )。

  A.结构化程序使用goto语句会很便捷

  B.在C语言中,程序的模块化是利用函数实现的

  C.一个结构化程序必须同时由顺序、分支、循环三种结构组成

  D.由三种基本结构构成的程序只能解决小规模的问题

  (36)对于一个正常运行的C程序,以下叙述中正确的是(  )。

  A.程序的执行总是从main函数开始,在程序的最后一个函数中结束

  B.程序的执行总是从程序的第一个函数开始,在main函数结束。

  C.程序的执行总是从main函数开始

  D.程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束

  (37)以下选项中能表示合法常量的是(  )。

  A.1,200

  B.1.5E2.0

  C.'\'

  D."\007"

  (38)若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是(  )。

  A.1

  B.0

  C.2

  D.不知道a的值,不能确定

  (39)有以下程序:

2016年计算机二级C语言考前40天摸底测试题(1)

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

  A、*2*6

  B.*3*5

  C.*5

  D.*7

  (40)有以下程序:

2016年计算机二级C语言考前40天摸底测试题(1)

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

  A.500

  B.401

  C.503

  D.1404

  二、程序填空题(共18分)

  下列给定程序中,函数fun的功能是:求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指的变量中。ss所指字符串数组中共有M个字符串,且串长小于N。请在程序的下划线处填人正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!

2016年计算机二级C语言考前40天摸底测试题(1)

  三、程序修改题(共18分)

  下列给定程序中函数fun的功能是:将p所指字符串中的所有字符复制到b中,要求每复制三个字符之后插入一个空格。例如,若给a输入字符串:ABCDEFGKHJK,调用函数后,字符数组b中的内容为:ABC DEF GHI JK。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构。

2016年计算机二级C语言考前40天摸底测试题(1)

  四、程序设计题(共24分)

  某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出,请编写函数fun,其功能是:求出该学生的平均分,并放人记录的ave成员中。例如,学生的成绩是:85.5,76,69.5,85,91,72,64.5,87.5,则他的平均分应为78.875。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

  

2016年计算机二级C语言考前40天摸底测试题(1)

  

2016年计算机二级C语言考前40天摸底测试题(1)
2016年计算机二级C语言考前40天摸底测试题(1)

  一、选择题

  (1)B

  【解析】一般较优秀的软件设计。应尽量做到高内聚,低耦合,即减弱模块之问的耦合性和提高模块内的内聚性,有利于提高模块的独立性。

  (2)C

  【解析】树是简单的非线性结构,所以二叉树作为树的一种也是一种非线性结构。

  (3)A

  【解析】算法的空间复杂度是指算法在执行过程中所需要的内存空间。所以选择A。

  (4)A

  【解析】结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句,所以选择A。

  (5)C

  【解析】在E-R图中实体集用矩形,属性用椭圆,联系用菱形。

  (6)D

  【解析】关系T中包含了关系R与S中的所有元组,所以进行的是并的运算。

  (7)A

  【解析】数据库应用系统中的核心问题是数据库的设计。

  (8)A

  【解析】软件测试的目的是为了发现错误而执行程序的过程,并不涉及改正错误,所以选项A错误。程序调试的基本步骤有:错误定位、修改设计和代码,以排除错误、进行回归测试,防止引进新的错误。程序调试通常称为Debug,即排错。软件测试的基本准则有:所有测试都应追溯到需求、严格执行测试计划,排除测试的随意性、充分注意测试中的群集现象、程序员应避免检查自己的程序、穷举测试不可能、妥善保存测试计划等文件。

  (9)C

  【解析】从E-R图到关系模式的转换是比较直接的,实体与联系都可以表示成关系,E-R图中属性也可以转换成关系的属性。

  (10)A

  【解析】使用顺序,选择(分支),循环三种基本结构构成的程序可以解决所有问题,而不只是解决简单问题,所以A错误。

  (11)B

  【解析】模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性,所以A错误,B正确。耦合性是模块间互相连接的紧密程度的度量而内聚性是指一个模块内部各个元素间彼此结合的紧密程度,所以C与D错误。

  (12)D

  【解析】栈是先进后出的线性表,所以A错误;队列是先进先出的线性表,所以B错误;循环队列是线性结构的线性表,所以C错误。

  (13)A

  【解析】栈支持子程序调用。栈是一种只能在一端进行插入或删除的线性表,在主程序调甩子函数时要首先保存主程序当前的状态,然后转去执行子程序,最终把子程序的执行结果返回到主程序中调用子程序的位置,继续向下执行.这种调用符合栈的特点,因此本题的答案为A。

  (14)D

  【解析】冒泡排序与简单插入排序与简单选择排序法在最坏情况下均需要比较n(n-1)/2次,而堆排序在最坏情况下需要比较的次数是nlog2n。

  (15)D

  【解析】在C语言中整型常量可以用十进制、八进制和十六进制等形式表示,但不包括二进制,所以选择D。

  (16)B

  【解析】栈是按先进后出的原则组织数据的。队列是先进先出的原则组织数据。

  (17)D

  【解析】循环队列的队头指针与队尾指针都不是固定的,随着人队与出队操作要进行变化。因为是循环利用的队列结构,所以队头指针有时可能大于队尾指针,有时也可能小于队尾指针。

  (18)C

  【解析】在数据流图中,用标有名字的箭头表示数据流。在程序流程图中,用标有名字的箭头表示控制流。所以选择C。

  (19)A

  【解析】结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句,所以选择A。

  (20)B

  【解析】软件设计中模块划分应遵循的准则是高内聚低偶合、模块大小规模适当、模块的依赖关系适当等。模块的划分应遵循一定的要求,以保证模块划分合理,并进一步保证以此为依据开发出的软件系统可靠性强,易于理解和维护。模块之间的耦合应尽可能的低,模块的内聚度应尽可能的高。

  (21)B

  【解析】A错误,可行性分析阶段产生可行性分析报告。C错误,概要设计说明书是总体设计阶段产生的文档。D错误,集成测试计划是在概要设计阶段编写的文档。B正确,需求规格说明书是后续工作如设计、编码等需要的重要参考文档。

  (22)A

  【解析】算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。有穷性是指算法程序的运行时间是有限的。

  (23)D

  【解析】自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,所以B错误。笛卡尔积是用R集合中元素为第一元素,S集合中元素为第二元素构成的有序对,所以C错误。根据关系T可以很明显地看出是从关系R与关系S中取得相同的关系组所以取得是交运算,选择D。

  (24)A

  【解析】C语言中的非执行语句不会被编译,不会生成二进制的机器指令,所以A错误。由C语言构成的指令序列称C源程序,C源程序经过C语言编译程序编译之后生成一个后缀为.OBJ的二进制文件(称为目标文件);最后要由“连接程序”把此.OSJ文件与C语言提供的各种库函数连接起来生成一个后缀为.EXE的可执行文件。

  (25)A

  【解析】C语言中八进制整型常量的开头是数字0,十六进制整型常量的数字开头是Ox。C语言中的实型常量有两种表示形式:小数形式,小数形式表示的实型常量必须要有小数点;指数形式,以“e”或“E”后跟一个整数来表示以1O为底数的幂数,且规定字母e或E之前必须要有数字,且e或E后面的指数必须为整数。B选项中028错误,八进制中没有数字8。C选项中4el.5中e后面的指数不是整数。D选项中3.e5小数点后面缺少数字。

  (26)A

  【解析】C语言中标识符由字母、下划线、数字组成,且开头必须是字母或下划线。另外,关键字不能作为标识符。因为C语言中区分大小写,所以B选项中的“FOR”可以作为标识符来用。A选项中含有非法字符&,所以选择A。

  (27)B

  【解析】栈是先进后出的原则组织数据,所以人栈最早的最后出栈,所以选择B。

  (28)D

  【解析】循环队列有队头和队尾两个指针,但是循环队列仍是线性结构的,所以A错误;在循环队列中只需要队头指针与队尾两个指针来共同反映队列中元素的动态变化情况,所以B与C错误。

  (29)A

  【解析】链式存储结构既可以针对线性结构也可以针对非线性结构,所以B与C错误。链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间,所以D错误。

  (30)A

  【解析】对象有如下一些基本特点:标识唯一性、分类性、多态性、封装性、模块独立性好。所以选择A。

  (31)B

  【解析】因为一间宿舍可以住多个学生即多个学生住在一个宿舍中,但一个学生只能住一间宿舍,所以实体宿舍和学生之间是一对多的关系。

  (32)D

  【解析】数据流图中带箭头的线段表示的是数据流,即沿箭头方向传送数据的通道,一般在旁边标注数据流名。

  (33)B

  【解析】在需求分析阶段可以使用的工具有数据流图(DFD图),数据字典(DD),判定树与判定表,所以选择B。

  (34)B

  【解析】数据库管理系统是数据库的机构,它是一种系统软件,负责数据库中数据组织、数据操纵、数据维护、控制及保护和数据服务等。是一种在操作系统之上的系统软件。

  (35)B

  【解析】滥用goto语句将使程序的流程毫无规律,可读性差,对于初学者来说尽量不要使用,所以A错误。一个结构化程序可以包含顺序、分支、循环结构中的一种或多种,所以C错误。由三种基本结构构成的程序可以解决任何复杂的问题,所以D错误。

  (36)C

  【解析】任何一个c程序都是从主函数main开始,至主函数main结束,所以选择C选项。

  (37)D

  【解析】A选项中整型常量应表示为1200,不能包含“,”。B选项中E后面的指数必须为整数。C选项中转义字符以“\”开始,若要表示字符“\”,应写为“\\”。

  (38)A

  【解析】逻辑或”||”要求只要两边的运算对象有一个非零,结果就为真。虽然不知道a的值,但是若a为1,则左边运算对象为1;若a的值不是1,则右边运算对象的值为1所以总能保证一边非零,所以结果为真,即1。

  (39)D

  【解析】do...while语句是先执行后判断,所以第一次先执行循环体,判断i%3==1的条件,由于i为5,所以余数为2,条件不成立,执行i++,i的值为6,判断while条件为真;第二次执行循环体,同第一次循环的执行过程一样,i的值变为7,判断while条件为真;第三次执行循环体,此时i%3==1,条件成立,再判断i%5==2也成立,打印*与i的值,即*7,然后执行break语句,跳出循环。所以选择D选项。

  (40)C

  二、程序填空题

  【参考答案】

  (1)M

  (2)<

  (3)k

  【考点分析】

  本题考查:for循环语句的循环条件;if语句条件表达式;return语句完成函数值的返回。

  【解题思路】

  填空1:题目指出ss所指字符串数组中共有M个字符串,所以for循环语句循环条件是i

  填空2:要求求长度最短的字符串,*n中存放的是已知字符串中长度最短的字符串的长度,这里将当前字符串长度与*n比较,若小于*n,则将该长度值赋给*n,因此if语句的条件表达式为len<*n。

  填空3:将最短字符串的行下标作为函数值返回,变量k储存行下标的值。

  三、程序修改题

  

2016年计算机二级C语言考前40天摸底测试题(1)

  【考点分析】

  本题考查:指针类型变量作为函数的参数,函数的参数不仅可以是整型、实型、字符型等数据类型,还可以是指针类型。它的作用是将一个变量的地址传送到另一个函数中。

  【解题思路】

  (1)题目中P是指针型变量作函数参数,因此绘b[k]赋值时出现错误。

  (2)题目要求赋值3个字符后加一个空格,所以应该是先给b[k]赋值空格,然后变量k再加1。

  【解题宝典】

  C语言中为了表示指针变量和它所指向的变量之间的关系,在程序中用“*”符号表示“指向”,例如,pointer代表指针变量.而*pointer是pointer所指向的变量。

  四、程序设计题

2016年计算机二级C语言考前40天摸底测试题(1)

  【考点分析】

  本题考查:结构体类型成员运算,指向结构体类型的指针变量作函数参数。

2016年计算机二级C语言考前40天摸底测试题(1)
展开全文
评论(1条) 发表
Copyright © 2004-
考试吧(m.566.com)北京美满明天科技有限公司
社会统一信用代码:91110108MA01WU311X
帮助中心