全国计算机二级C语言公共基础120题详解版.docx
《全国计算机二级C语言公共基础120题详解版.docx》由会员分享,可在线阅读,更多相关《全国计算机二级C语言公共基础120题详解版.docx(24页珍藏版)》请在冰豆网上搜索。
全国计算机二级C语言公共基础120题详解版
公共基础知识120题详解篇
(1)下面叙述正确的是__C____。
A.算法的执行效率与数据的存储结构无关
B.算法的空间复杂度是指算法程序中指令(或语句)的条数
C.算法的有穷性是指算法必须能在执行有限个步骤之后终止
D.以上三种描述都不对
[评析]
时间复杂度:
在运行算法时所耗费的时间为f(n)(即n的函数)。
空间复杂度:
实现算法所占用的空间为g(n)(也为n的函数)。
A应为有关。
(2)以下数据结构中不属于线性数据结构的是___C___。
A.队列
B.线性表
C.二叉树
D.栈
[评析]
一棵二叉树的一个结点下面可以有2个子结点,故不是线性结构(通俗地理解,看是否能排成条直线)。
A是先进先出的线性表;B是宏观概念,包括顺序表、链表、堆栈、队列…;D是先进后出的线性表
(3)在一棵二叉树上第5层的结点数最多是___B___。
A.8
B.16
C.32
D.15
[评析]依次从上到下,可得出:
第1层结点数为1;
第2层结点数为2*1=2;
第3层结点数为2*2=4;
第n层结点数为2的n-1次幂
(4)下面描述中,符合结构化程序设计风格的是____A__。
A.使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑
B.模块只有一个入口,可以有多个出口
C.注重提高程序的执行效率
D.不使用goto语句
[评析]
B没这规定,模块之间的可以通过多个接口来耦合
C结构化程序设计提倡程序的可读性(可理解性),超过程序执行效率的要求
D结构化程序设计限制goto语句的使用,因为goto语句的功能可以用三种基本的控制结构来代替,但也不是绝对不能用,只是限制使用(少用)。
(5)下面概念中,不属于面向对象方法的是__D____。
A.对象
B.继承
C.类
D.过程调用
[评析]
面向对象=对象+类+继承+通过消息的通信
对象:
一组属性及其上的操作的封装体
类:
一组有相同属性和操作的对象的集合
继承:
一个类为另一个类上的扩充的方式,子类继承父类,主要目的是代码复用
消息:
对象间通信的手段
D是结构化程序设计或过程式(函数式)语言中的,一般的面向对象程序设计语言兼容这种方式,但不是其特征,故最佳选项为D
(6)在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是____B__。
A.可行性分析
B.需求分析
C.详细设计
D.程序编码
[评析]
分析员对用户的要求作出分析,并画出数据流程图,该图通俗易懂,不涉及到如何在计算机上实现,这是需求分析阶段。
软件工程中的瀑布模型:
问题定义,可行性研究,需求分析,概要设计,详细设计,编码,测试,运行和维护
相关链点:
层次图和HIPO图是概要设计中的工具图;程序流程图、N-S图、问题分析PAD图、设计程序语言PDL是详细设计中的工具图
(7)在软件开发中,下面任务不属于设计阶段的是__D____。
A.数据结构设计
B.给出系统模块结构
C.定义模块算法
D.定义需求并建立系统模型
[评析]
A、B为概要设计中的,C为详细设计中的,D为分析阶段中的
(8)数据库系统的核心是__B___。
A.数据模型
B.数据库管理系统
C.软件工具
D.数据库
[评析]
数据库管理系统DBMS是数据库系统的核心,上层与用户打交道,底层与操作系统接口
注意点:
数据库系统与数据库管理系统的区别
前者指的一整套业务系统,包括用户、应用程序、DBMS及操作系统的支持
(9)下列叙述中正确的是__C____。
A.数据库是一个独立的系统,不需要操作系统的支持
B.数据库设计是指设计数据库管理系统
C.数据库技术的根本目标是要解决数据共享的问题
D.数据库系统中,数据的物理结构必须与逻辑结构一致
[评析]
(10)下列模式中,能够给出数据库物理存储结构与物理存取方法的___A___。
A.内模式
B.外模式
C.概念模式
D.逻辑模式
[评析]
通过前些题可知道,数据库的物理结构最底层,即对应内模式,对应的模式映像为内模式/模式(概念模式映像),逻辑独立性则对应于模式/外模式映像
(11)算法的时间复杂度是指__C____。
A.执行算法程序所需要的时间
B.算法程序的长度
C.算法执行过程中所需要的基本运算次数
D.算法程序中的指令条数
[评析]
算法的复杂度分时间复杂度和空间复杂度。
时间复杂度:
在运行算法时所耗费的时间为f(n)(即n的函数)。
空间复杂度:
实现算法所占用的空间为g(n)(也为n的函数)
(12)下列叙述中正确的是__A____。
A.线性表是线性结构
B.栈与队列是非线性结构
C.线性链表是非线性结构
D.二叉树是线性结构
[评析]
一棵二叉树的一个结点下面可以有2个子结点,故不是线性结构(通俗地理解,看是否能排成条直线)。
此题与
(2)题类似
(13)设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为___B___。
A.349
B.350
C.255
D.351
(13)
[评析]
完全二叉树:
若二叉树中最多只有最下面两层的结点的度可以小于2,并且最下面一层的结点(叶结点)都依次排列在该层最左边的位置上,这样的二叉树为完全二叉树。
完全二叉树除叶结点层外的所有结点数(叶结点层以上所有结点数)为奇数,此题中,699是奇数,叶结点层以上的所有结点数为保证是奇数,则叶结点数必是偶数,这样我们可以立即选出答案为B!
如果完全二叉树的叶结点都排满了,则是满二叉树,易得满二叉树的叶结点数是其以上所有层结点数+1
此题的其实是一棵满二叉树,我们根据以上性质,699+1=700,700/2=350,即叶结点数为350,叶结点层以上所有结点数为350-1=349。
(14)结构化程序设计主要强调的是_B_____。
A.程序的规模
B.程序的易读性
C.程序的执行效率
D.程序的可移植性
[评析]
(15)在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是__D____。
A.概要设计
B.详细设计
C.可行性分析
D.需求分析
题中所述为需求分析
可行性研究包括经济可行性、技术可行性、操作可行性,即以最小的代价确定系统的规模是否现实
概要设计的任务是确定软件的总体结构、子结构和模块的划分
详细设计的任务是确定每一模块的实现细节,包括数据结构、算法和接口
(16)数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。
下列图符名标识的图符不属于数据流图合法图符的是_A_____。
A.控制流
B.加工
C.数据存储
D.源和潭
[评析]
数据流图用于需求分析阶段,在此阶段我们只考虑大致的数据流流向,而不关心内部具体的处理,以及如何在计算机上实现,不必讨论控制流,我们只关心的:
数据流、数据储存、变换/加工(相当于一个黑盒,不关心内部细节)、外部实体,数据流图通俗易懂,因为它远离了计算机,用户(无需懂编程)和软件人员都易接受。
(17)软件需求分析阶段的工作,可以分为四个方面:
需求获取、需求分析、编写需求规格说明书以及__B____。
A.阶段性报告
B.需求评审
C.总结
D.都不正确
(18)下述关于数据库系统的叙述中正确的是(A)
A.数据库系统减少了数据冗余
B.数据库系统避免了一切冗余
C.数据库系统中数据的一致性是指数据类型的一致
D.数据库系统比文件系统能管理更多的数据
[评析]
关于数据管理技术的三个阶段如下:
1.人工管理阶段
人工管理数据的特点是:
(1)数据不保存。
(2)数据无专门软件进行管理。
(3)数据不共享。
(4)数据不具有独立性。
2.文件系统阶段
该阶段的数据管理具有如下特点:
(1)数据可以长期保存。
(2)由文件系统管理数据。
文件系统管理数据存在如下缺点:
(1)数据共享性差,数据冗余度大。
(2)数据独立性差。
3.数据库系统阶段
与人工管理和文件系统阶段相比较,数据库系统阶段具有如下的特点:
(1)数据结构化
(2)数据共享性高、冗余度小、易扩充
(3)数据独立性高
(4)统一的数据管理和控制数据库管理系统必须提供以下几个方面的数据控制和保护功能:
(19)关系表中的每一横行称为一个__A____。
A.元组
B.字段
C.属性
D.码
(19)
[答案]A
[评析]
字段:
列,属性名
属性:
实体的某一特性,如学生表中的学号、姓名…
码(主健):
元组(实体)的惟一标识,比如学生有同名的,但学号是惟一的。
(20)数据库设计包括两个方面的设计内容,它们是__A____。
A.概念设计和逻辑设计
B.模式设计和内模式设计
C.内模式设计和物理设计
D.结构特性设计和行为特性设计
[评析]
需求分析--(需求说明)-->概念设计--(概念结构)-->逻辑结构设计--(逻辑结构)-->物理设计--(物理结构)-->
(21)算法的空间复杂度是指___D___。
A.算法程序的长度
B.算法程序中的指令条数
C.算法程序所占的存储空间
D.算法执行过程中所需要的存储空间
[评析]
时间复杂度:
在运行算法时所耗费的时间为f(n)(即n的函数)。
空间复杂度:
实现算法所占用的空间为g(n)(也为n的函数)。
(22)下列关于栈的叙述中正确的是__D____。
A.在栈中只能插入数据
B.在栈中只能删除数据
C.栈是先进先出的线性表
D.栈是先进后出的线性表
(23)在深度为5的满二叉树中,叶子结点的个数为__C___。
A.32
B.31
C.16
D.15第n层结点数为2的n-1次幂,
(24)对建立良好的程序设计风格,下面描述正确的是__A____。
A.程序应简单、清晰、可读性好
B.符号名的命名要符合语法
C.充分考虑程序的执行效率
D.程序的注释可有可无
[评析]
结构化程序设计中力求程序的可读性(如代码清晰,结构明了,附加注释……),
(25)下面对对象概念描述错误的是__A____。
A.任何对象都必须有继承性
B.对象是属性和方法的封装体
C.对象间的通讯靠消息传递
D.操作是对象的动态性属性
(26)下面不属于软件工程的3个要素的是__D____。
A.工具
B.过程
C.方法
D.环境
[评析]软件工程三要素工具、方法、过程,
(27)程序流程图(PFD)中的箭头代表的是__B____。
A.数据流
B.控制流
C.调用关系
D.组成关系
(28)在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。
其中数据独立性最高的阶段是__A____。
A.数据库系统
B.文件系统
C.人工管理
D.数据项管理
关于数据管理技术的三个阶段如下表:
1.人工管理阶段
人工管理数据的特点是:
(1)数据不保存。
(2)数据无专门软件进行管理。
(3)数据不共享。
(4)数据不具有独立性。
2.文件系统阶段
该阶段的数据管理具有如下特点:
(1)数据可以长期保存。
(2)由文件系统管理数据。
文件系统管理数据存在如下缺点:
(1)数据共享性差,数据冗余度大。
(2)数据独立性差。
3.数据库系统阶段
与人工管理和文件系统阶段相比较,数据库系统阶段具有如下的特点:
(1)数据结构化
(2)数据共享性高、冗余度小、易扩充
(3)数据独立性高
(4)统一的数据管理和控制数据库管理系统必须提供以下几个方面的数据控制和保护功能:
(1)数据的安全性(security)保护。
(2)数据的完整性(integrity)控制。
(3)数据库恢复(recovery)。
(4)并发(concurrency)控制。
(5)事务(transaction)支持。
(29)用树形结构来表示实体之间联系的模型称为_B_____。
A.关系模型
B.层次模型
C.网状模型
D.数据模型
[评析]
层次模型结构是一棵有向树,树中的每个结点代表一种记录类型,这些结点满足:
有且仅有一个结点无双亲(根结点),其它结点有且仅有一个双亲结点。
网状模型则相当于一个有向图,与层次模型结构不同的是:
一个结点可以有多个双亲结点,且多个结点可以无双亲结点。
关系模型则是二维表,一张表即为一个关系,这个很常见,如学生关系(学号,姓名,出生年月,性别),就像我们的办公软件中电子表格那样的表格。
D项的数据模型不是数据库的基本模型。
(30)关系数据库管理系统能实现的专门关系运算包括__B____。
A.排序、索引、统计
B.选择、投影、连接
C.关联、更新、排序
D.显示、打印、制表
[评析]
选择:
我们根据某条件选择出一行或多行元组(一个元组即为二维表中的一行)
投影:
按字段(也称属性,比如学生关系(学号,姓名,出生年月,性别),学号、姓名……都是属性)选取一列或多列(一个二维表中所有元组在某一列或几列上截取出来)。
连接:
2个或2个以上的表连接组成一张新的表,通常有条件连接。
比如学生关系(学号,姓名,系号),又有一张系表(系号,系名,主任),2张表可以合并为一张这样的表(学号,姓名,系号,系名,主任)
(31)算法一般都可以用哪几种控制结构组合而成___D___。
A.循环、分支、递归
B.顺序、循环、嵌套
C.循环、递归、选择
D.顺序、选择、循环
[评析]
结构化程序设计中,基本的控制结构为顺序、选择、循环
(32)数据的存储结构是指__B____。
A.数据所占的存储空间量
B.数据的逻辑结构在计算机中的表示
C.数据在计算机中的顺序存储方式
D.存储在外存中的数据
(33)设有下列二叉树:
对此二叉树中序遍历的结果为___B___。
A.ABCDEF
B.DBEAFC
C.ABDECF
D.DEBFCA
(34)在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送___D___。
A.调用语句
B.命令
C.口令
D.消息
(35)检查软件产品是否符合需求定义的过程称为__A___。
A.确认测试
B.集成测试
C.验证测试
D.验收测试
确认测试也称合格测试或验收测试,主要由用户参加,检验软件规格说明的技术标准的符合程度,是保证软件质量的最后关键环节。
单元测试主要采用白盒法,之后再采用集成测试,主要采用黑盒法。
这些主要由开发者的工作,而无用户参与,不是检查是否符合需求定义的。
(36)下列工具中属于需求分析常用工具的是__D____。
A.PAD
B.PFD
C.N-S
D.DFD
[评析]
PAD,问题分析图,常用于详细设计;
PFD,程序流程图,常用于详细设计,我们很多如C、VB…程序设计书上都有简单的实例;
N-S,方框图,比程序流程图更灵活,也常用于详细设计;
DFD,数据流图,远离具体在计算机上的实现,不懂计算机的用户也能看懂,用于需求分析。
(37)下面不属于软件设计原则的是___C___。
A.抽象
B.模块化
C.自底向上
D.信息隐蔽
[评析]
(38)索引属于______。
A.模式
B.内模式
C.外模式
D.概念模式
[评析]
要特别记住此题的答案。
索引的写入修改了数据库的物理结构,而不是简单的逻辑设计。
内模式规定了数据在存储介质上的物理组织方式、记录录址方式。
(39)在关系数据库中,用来表示实体之间联系的是__D____。
A.树结构
B.网结构
C.线性表
D.二维表
(39)
[评析]
关系数据库中的关系,用二维表表示,A为层次数据模型的,B为网状数据模型的。
数据库模型分为:
层次模型、网状模型、关系模型、面向对象模型。
(40)将E-R图转换到关系模式时,实体与联系都可以表示成__B____。
A.属性B.关系
C.键
D.域
[评析]
基本概念题,实体与联系可以表示成关系,关系可以表示成二维表。
(41)在下列选项中,哪个不是一个算法一般应该具有的基本特征__C____。
A.确定性
B.可行性
C.无穷性
D.拥有足够的情报
[评析]
算法具有确定性、可行性,并拥有足够的情报。
(42)希尔排序法属于哪一种类型的排序法__B____。
A.交换类排序法
B.插入类排序法
C.选择类排序法
D.建堆排序法
[评析]
(43)下列关于队列的叙述中正确的是__C____。
A.在队列中只能插入数据
B.在队列中只能删除数据
C.队列是先进先出的线性表
D.队列是先进后出的线性表
[评析]
队列是先进先出的,栈是先进后出的,2者的区别一定要搞清楚。
(44)对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为___B___。
A.N+1
B.N
C.(N+1)/2
D.N/2
(45)信息隐蔽的概念与下述哪一种概念直接相关__B____。
A.软件结构定义
B.模块独立性
C.模块类型划分
D.模拟耦合度
[评析]
模块独立性越强,则信息隐蔽性越好。
(46)面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是__C____。
A.模拟现实世界中不同事物之间的联系
B.强调模拟现实世界中的算法而不强调概念
C.使用现实世界的概念抽象地思考问题从而自然地解决问题
D.鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考
(47)在结构化方法中,软件功能分解属于下列软件开发中的阶段是__C____。
A.详细设计
B.需求分析
C.总体设计
D.编程调试
[评析]
从先到后一排,是:
需求分析、总体设计、详细设计、编程调试
(48)软件调试的目的是__B____。
A.发现错误
B.改正错误
C.改善软件的性能
D.挖掘软件的潜能
(49)按条件f对关系R进行选择,其关系代数表达式为___C___。
A.R|X|R
B.R|X|R
C.бf(R)
D.∏f(R)
[评析]
C是选择一行,D是投影一列,二者要区分开。
(50)数据库概念设计的过程中,视图设计一般有三种设计次序,以下各项中不对的是___D___。
A.自顶向下
B.由底向上
C.由内向外
D.由整体到局部
[评析]
通常有如下几种方法:
1、自顶向下。
2、自底向上。
3、由里向外。
4、混合策略。
(51)在计算机中,算法是指__C____。
A.查询方法
B.加工方法
C.解题方案的准确而完整的描述
D.排序方法
(52)栈和队列的共同点是__C____。
A.都是先进后出
B.都是先进先出
C.只允许在端点处插入和删除元素
D.没有共同点
栈是先进后出的,队列是先进先出的,共同点是只允许在端点处插入和删除元素。
栈都是在一端进与出,而队列是在一端进在另一端出。
(53)已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是______。
A.cedba
B.acbed
C.decab
D.deabc
[评析]
后序又叫后根,一次递归过程是先左再右最后根;中序是先左再根最后右。
(54)在下列几种排序方法中,要求内存量最大的是___D___。
A.插入排序
B.选择排序
C.快速排序
D.归并排序
[分析]
(55)在设计程序时,应采纳的原则之一是___A___。
A.程序结构应有助于读者理解
B.不限制goto语句的使用
C.减少或取消注解行
D.程序越短越好
(56)下列不属于软件调试技术的是__B____。
A.强行排错法
B.集成测试法
C.回溯法
D.原因排除法
A、C、D都是具体的程序调试方法,而B是宏观的程序测试方法。
测试有单元测试、集成测试、确认测试、系统测试。
比如我们在进行单元测试时,发现程序有错误,我们再可以根据A、C、D的方法来找错误。
(57)下列叙述中,不属于软件需求规格说明书的作用的是_D_____。
A.便于用户、开发人员进行理解和交流
B.反映出用户问题的结构,可以作为软件开发工作的基础和依据
C.作为确认测试和验收的依据
D.便于开发人员进行需求分析
(58)在数据流图(DFD)中,带有名字的箭头表示___C___。
A.控制程序的执行顺序
B.模块之间的调用关系
C.数据的流向
D.程序的组成成分
(59)SQL语言又称为__C____。
A.结构化定义语言
B.结构化控制语言
C.结构化查询语言
D.结构化操纵语言
(60)视图设计一般有3种设计次序,下列不属于视图设计的是__B____。
A.自顶向下
B.由外向内
C.由内向外
D.自底向上
[评析]
通常有如下几种方法:
1、自顶向下。
先全局框架,然后逐步细化
2、自底向上。
先局部概念结构,再集成为全局结构
3、由里向外。
先核心结构,再向外扩张
4、混合策略。
1与2相结合,先自顶向下设计一个概念结构的框架,再自底向上为框架设计局部概念结构
(61)数据结构中,与所使用的计算机无关的是数据的___C___。
A.存储结构
B.物理结构
C.逻辑结构
D.物理和存储结构
[评析]
(62)栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是__D____。
A.ABCED
B.DBCEA
C.CDABE
D.DCBEA
栈是先进后出的,因为在E放入前,A、B、C、D已经依次放进栈里了,故这四个元素出栈的顺序只能是D、C、B、A,E可是其中排序的任何位置,答案只有D符合了。
(63)线性表的顺序存储结构和线性表的链式存储结构分别是__B____。
A.顺序存取的存储结构、顺序存取的存储结构
B.随机存取的存储结构、顺序存取的存储结构
C.随机存取的存储结构、随机存取的存储结构
D.任意存取的存储结构、任意存取的存储结构
(64)在单链表中,增加头结点的目的是_A_____。
A.方便运算的实现
B.使单链表至少有一个结点
C.标识表结点中首结点的位置
D.说明单链表是线性表的链式存储实现
(65)软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指___B___。
A.模块间的关系
B.系统结构部件转换成软件的过程描述
C.软件层次结构
D.软件开发过程
(66)为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为___B___。
A.PAD图
B.N-S图
C.结构图
D.数据流图
(67)数据