全国计算机二级C语言公共基础120题详细讲解版.docx
《全国计算机二级C语言公共基础120题详细讲解版.docx》由会员分享,可在线阅读,更多相关《全国计算机二级C语言公共基础120题详细讲解版.docx(16页珍藏版)》请在冰豆网上搜索。
![全国计算机二级C语言公共基础120题详细讲解版.docx](https://file1.bdocx.com/fileroot1/2022-11/29/2079ce5e-9757-46b3-921b-9d58e16c0009/2079ce5e-9757-46b3-921b-9d58e16c00091.gif)
全国计算机二级C语言公共基础120题详细讲解版
公共基础知识120题详解篇
(1)下面叙述正确的是______。
A.算法的执行效率与数据的存储结构无关B.算法的空间复杂度是指算法程序中指令(或语句)的条数
C.算法的有穷性是指算法必须能在执行有限个步骤之后终止D.以上三种描述都不对
(1)[答案]C[考点]程序设计基础
[评析]时间复杂度:
在运行算法时所耗费的时间为f(n)(即n的函数)。
空间复杂度:
实现算法所占用的空间为g(n)(也为n的函数)。
A应为有关。
(2)以下数据结构中不属于线性数据结构的是______。
A.队列B.线性表C.二叉树D.栈
(2)[答案]C[考点]数据结构与算法
[评析]一棵二叉树的一个结点下面可以有2个子结点,故不是线性结构(通俗地理解,看是否能排成条直线)。
A是先进先出的线性表;B是宏观概念,包括顺序表、链表、堆栈、队列;D是先进后出的线性表
(3)在一棵二叉树上第5层的结点数最多是______。
A.8B.16C.32D.15
(3)[答案]B[考点]数据结构与算法
[评析]依次从上到下,可得出:
第1层结点数为1;第2层结点数为2*1=2;第3层结点数为2*2=4;第n层结点数为2的n-1次幂。
(4)下面描述中,符合结构化程序设计风格的是______。
A.使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑
B.模块只有一个入口,可以有多个出口C.注重提高程序的执行效率D.不使用goto语句
(4)[答案]A[考点]程序设计基础
[评析]B没这规定,模块之间的可以通过多个接口来耦合;C结构化程序设计提倡程序的可读性(可理解性),超过程序执行效率的要求;D结构化程序设计限制goto语句的使用,因为goto语句的功能可以用三种基本的控制结构来代替,但也不是绝对不能用,只是限制使用(少用)。
(5)下面概念中,不属于面向对象方法的是______。
A.对象B.继承C.类D.过程调用
(5)[答案]D[考点]软件工程基础
[评析]面向对象=对象+类+继承+通过消息的通信;对象:
一组属性及其上的操作的封装体;类:
一组有相同属性和操作的对象的集合;继承:
一个类为另一个类上的扩充的方式,子类继承父类,主要目的是代码复用;消息:
对象间通信的手段。
D是结构化程序设计或过程式(函数式)语言中的,一般的面向对象程序设计语言兼容这种方式,但不是其特征,故最佳选项为D
(6)在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是______。
A.可行性分析B.需求分析C.详细设计D.程序编码
(6)[答案]B[考点]软件工程基础
[评析]分析员对用户的要求作出分析,并画出数据流程图,该图通俗易懂,不涉及到如何在计算机上实现,这是需求分析阶段。
软件工程中的瀑布模型:
问题定义,可行性研究,需求分析,概要设计,详细设计,编码,测试,运行和维护。
相关链点:
层次图和HIPO图是概要设计中的工具图;程序流程图、N-S图、问题分析PAD图、设计程序语言PDL是详细设计中的工具图。
(7)在软件开发中,下面任务不属于设计阶段的是______。
A.数据结构设计B.给出系统模块结构C.定义模块算法D.定义需求并建立系统模型
(7)[答案]D[考点]软件工程基础
[评析]A、B为概要设计中的,C为详细设计中的,D为分析阶段中的
(8)数据库系统的核心是______。
A.数据模型B.数据库管理系统C.软件工具D.数据库
(8)[答案]B[考点]数据库设计基础
[评析]数据库管理系统DBMS是数据库系统的核心,上层与用户打交道,底层与操作系统接口。
注意点:
数据库系统与数据库管理系统的区别,前者指的一整套业务系统,包括用户、应用程序、DBMS及操作系统的支持。
(9)下列叙述中正确的是______。
A.数据库是一个独立的系统,不需要操作系统的支持B.数据库设计是指设计数据库管理系统
C.数据库技术的根本目标是要解决数据共享的问题D.数据库系统中,数据的物理结构须与逻辑结构一致
(9)[答案]C[考点]数据库设计基础
[评析]晕倒,数据库管理系统是人人都可设计的吗?
那SYBASE和ORACLE等不都没饭吃了?
普通人的数据库设计就是在DBMS的支持下设计几表格,命几个名而已;D也错了的,数据库具有物理独立性和逻辑独立性,比如QQ是一个完整的数据库系统,我们使用的只是客户端应用程序,其数据库在腾讯的服务器上,物理独立性呢指的是数据库的底层结构改变了,而QQ的客户端不用变,对应地,逻辑独立性是指QQ的客户端改变了,数指据库的结构不用变了,否则,这么多QQ版本,那腾讯的服务器不是乱了套?
(10)下列模式中,能够给出数据库物理存储结构与物理存取方法的是______。
A.模式B.外模式C.概念模式D.逻辑模式
(10)[答案]A[考点]数据库设计基础
[评析]通过前些题可知道,数据库的物理结构最底层,即对应模式,对应的模式映像为模式/模式(概念模式映像),逻辑独立性则对应于模式/外模式映像。
(11)算法的时间复杂度是指______。
A.执行算法程序所需要的时间B.算法程序的长度
C.算法执行过程中所需要的基本运算次数D.算法程序中的指令条数
(11)[答案]C[考点]数据结构与算法
[评析]算法的复杂度分时间复杂度和空间复杂度。
时间复杂度:
在运行算法时所耗费的时间为f(n)(即n的函数)。
空间复杂度:
实现算法所占用的空间为g(n)(也为n的函数)。
称O(f(n))和O(g(n))为该算法的复杂度。
简单的例子比如常见的顺序结构时间复杂度为O
(1),1层循环里面次数为n,时间复杂度就是O(n),2层循环fori=1ton,forj=1ton算法时间复杂度为O(n2)(里面为n的平方),复杂度主要用于算法的效率比较与优化,比如排序,查找…
(12)下列叙述中正确的是______。
A.线性表是线性结构B.栈与队列是非线性结构
C.线性链表是非线性结构D.二叉树是线性结构
(12)[答案]A[考点]数据结构与算法
[评析]一棵二叉树的一个结点下面可以有2个子结点,故不是线性结构(通俗地理解,看是否能排成条直线)。
此题与
(2)题类似
(13)设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为______。
A.349B.350C.255D.351
(13)[答案]B[考点]数据结构与算法
[评析]完全二叉树:
若二叉树中最多只有最下面两层的结点的度可以小于2,并且最下面一层的结点(叶结点)都依次排列在该层最左边的位置上,这样的二叉树为完全二叉树。
比如图:
完全二叉树除叶结点层外的所有结点数(叶结点层以上所有结点数)为奇数,此题中,699是奇数,叶结点层以上的所有结点数为保证是奇数,则叶结点数必是偶数,这样我们可以立即选出答案为B!
如果完全二叉树的叶结点都排满了,则是满二叉树,易得满二叉树的叶结点数是其以上所有层结点数+1比如图:
此题的其实是一棵满二叉树,我们根据以上性质,699+1=700,700/2=350,即叶结点数为350,叶结点层以上所有结点数为350-1=349。
(14)结构化程序设计主要强调的是______。
A.程序的规模B.程序的易读性C.程序的执行效率D.程序的可移植性
(14)[答案]B[考点]程序设计基础
[评析]又是结构化的问题,何谓结构化?
简单地比如:
VB:
If...EndIf,C:
if..{...},Pascle:
Begin...End
我们在"结构"的中间写代码,从哪执行到哪结束我们能很快抓住!
此题中重要性为:
B>C>D
(15)在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是______。
A.概要设计B.详细设计C.可行性分析D.需求分析
(15)[答案]D[考点]软件工程基础
[评析]题中所述为需求分析。
可行性研究包括经济可行性、技术可行性、操作可行性,即以最小的代价确定系统的规模是否现实。
概要设计的任务是确定软件的总体结构、子结构和模块的划分。
详细设计的任务是确定每一模块的实现细节,包括数据结构、算法和接口。
也许有人这么久了还不知道什么叫系统,什么叫模块。
晕倒,这里罗嗦一下,软件工程中的系统指的整个软件系统,比如QQ的所有东西,我们用的是客户端程序,实际的东西放在腾讯公司的服务器上,主要是数据库,包括在中间的传输过程,这一整个相关的东东都叫做OICQ的系统;什么叫模块,这里不单指如VB里的"标准模块"、"类模块",也不单指一个窗体或者一个文件,宏观上讲,软件工程中把一种功能或相关功能把它做成一个模块,这个模块有可能是一个过程,有可能是一个函数…从功能角度度量模块的联系为模块的聚(一般来说越强越好,不易出错);模块之间的联系为耦合,比如我们编程中常用把一实参的值赋给了函数中的形参,使函数完成某一功能,耦合度越低越好,独立性就强;何谓独立性?
比如我们二级编程都有考到全局变量、局部变量,函数中的局部变量独立性很强,函数外无法访问…何谓变量?
晕~~如果这都要说,那你可以不用考二级了。
(16)数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。
下列图符名标识的图符不属于数据流图合法图符的是______。
A.控制流B.加工C.数据存储D.源和潭
(16)[答案]A[考点]软件工程基础
[评析]数据流图用于需求分析阶段,在此阶段我们只考虑大致的数据流流向,而不关心部具体的处理,以及如何在计算机上实现,不必讨论控制流,我们只关心的:
数据流、数据储存、变换/加工(相当于一个黑盒,不关心部细节)、外部实体,数据流图通俗易懂,因为它远离了计算机,用户(无需懂编程)和软件人员都易接受。
比如一个简单的软件系统逻辑模型:
输入流和输出流即D中的源和潭。
(17)软件需求分析阶段工作,可以分为4个方面:
需求获取、需求分析、编写需求规格说明书以及______。
A.阶段性报告B.需求评审C.总结D.都不正确
(17)[答案]B[考点]软件工程基础
[评析]评审(复审)每阶段都有,把前三个方面说完了,还剩什么呢?
此题需要记一下,至于各名词的解释,顾名即可思义。
(18)下述关于数据库系统的叙述中正确的是______。
A.数据库系统减少了数据冗余B.数据库系统避免了一切冗余
C.数据库系统中数据的一致性是指数据类型的一致D.数据库系统比文件系统能管理更多的数据
(18)[答案]A[考点]数据库设计基础
[评析]关于数据管理技术的三个阶段如下:
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)支持。
B错,为什么会有关系规化理论,其主要目的之一是减少数据的冗余,说明数据库系统还存在一定的冗余;C错,数据完整性约束指一组完整性规则的集合,不一定是数据类型的一致性;D项也太菜鸟了吧,数据能管理存放多少数据主要看机子硬盘空间和一些相关的设置,比如在数据库管理系统中设置某个用户的空间最大为多少。
(19)关系表中的每一横行称为一个______。
A.元组B.字段C.属性D.码
(19)[答案]A[考点]数据库设计基础
[评析]字段:
列,属性名。
属性:
实体的某一特性,如学生表中的学号、…码(主健):
元组(实体)的惟一标识,比如学生有同名的,但学号是惟一的。
比如表:
学号 性别 院系
0221301 朝霞 女 油院矿机0221310 周建峰 男 西南工业大学机电院
0221326 曾晓明 男 西南工业大学机电院0221315 郭文广 男 西南工业大学机电院
(20)数据库设计包括两个方面的设计容,它们是______。
A.概念设计和逻辑设计B.模式设计和模式设计
C.模式设计和物理设计D.结构特性设计和行为特性设计
(20)[答案]A[考点]数据库设计基础
[评析]需求分析--(需求说明)-->概念设计--(概念结构)-->逻辑结构设计--(逻辑结构)-->物理设计--(物理结构)-->
(21)算法的空间复杂度是指______。
A.算法程序的长度B.算法程序中的指令条数
C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间
(21)[答案]D[考点]程序设计基础
[评析]时间复杂度:
在运行算法时所耗费的时间为f(n)(即n的函数)。
空间复杂度:
实现算法所占用的空间为g(n)(也为n的函数)。
算法为什么会占用存储存空间?
主要是存空间,因为算法中的变量、地址等等通常保存在存中(如果在虚存、缓存,甚至已在CPU中运行,也算占用了存储空间)。
(22)下列关于栈的叙述中正确的是______。
A.在栈中只能插入数据B.在栈中只能删除数据C.栈是先进先出的线性D.栈是先进后出的线性表
(22)[答案]D[考点]数据结构与算法
[评析]此题为基本概念,必记,注意:
队列是先进先出的线性表,结合起来记不要搞混。
(23)在深度为5的满二叉树中,叶子结点的个数为______。
A.32B.31C.16D.15
(23)[答案]C[考点]数据结构与算法
[评析]首先搞清楚满二叉树与完全二叉树之间的区别,前面已解释过。
依次从上到下,可得出:
第1层结点数为1;第2层结点数为2*1=2;第3层结点数为2*2=4;第n层结点数为2的n-1次幂。
(24)对建立良好的程序设计风格,下面描述正确的是______。
A.程序应简单、清晰、可读性好B.符号名的命名要符合语法
C.充分考虑程序的执行效率D.程序的注释可有可无
(24)[答案]A[考点]程序设计基础
[评析]结构化程序设计中力求程序的可读性(如代码清晰,结构明了,附加注释……),故D错;
如果程序写的都是错的,谈何风格?
如果符号名的命名不符合语法,编译会报错,也是很基本的错误,B错;追求程序的可读性要高于执行效率,C错。
(25)下面对对象概念描述错误的是______。
A.任何对象都必须有继承性B.对象是属性和方法的封装体
C.对象间的通讯靠消息传递D.操作是对象的动态性属性
(25)[答案]A[考点]程序设计基础
[评析]此题为基本概念,必记!
(26)下面不属于软件工程的3个要素的是______。
A.工具B.过程C.方法D.环境
(26)[答案]D[考点]软件工程基础
[评析]这里阐述一下,以上答案为原稿的答案,有的书上答案应该为B,解释如下:
软件工程包括的三要素是:
软件开发方法学、工具和环境支持,而其主体容是软件开发方法学。
1、软件开发方法,比如根据瀑布模型有结构化分析与设计方法,有原型化开发方法
2、软件开发工具各个瀑存模型阶段都有相关工具,比如需求分析阶段有DFD数据流程图,详细设计阶段有HIPO图或PAD图,编码工具有VC、VB……
3、软件开发环境是全面支持软件开发全过程的软件工具集合。
软件工程三要素工具、方法、过程,请大家记一下。
(27)程序流程图(PFD)中的箭头代表的是______。
A.数据流B.控制流C.调用关系D.组成关系
(27)[答案]B[考点]软件工程基础
[评析]如果A,那么B,否则C,这是我们二级中很熟悉的程序流程方式,我们可以画成相应的PFD图或N-S图。
易知箭头控制应该是哪条语句执行,即B答案。
(28)在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。
其中数据独立性最高的阶段是______。
A.数据库系统B.文件系统C.人工管理D.数据项管理
(28)[答案]A[考点]数据库设计基础
[评析]同(18)
(29)用树形结构来表示实体之间联系的模型称为______。
A.关系模型B.层次模型C.网状模型D.数据模型
(29)[答案]B[考点]数据库设计基础
[评析]层次模型结构是一棵有向树,树中的每个结点代表一种记录类型,这些结点满足:
有且仅有一个结点无双亲(根结点),其它结点有且仅有一个双亲结点。
网状模型则相当于一个有向图,与层次模型结构不同的是:
一个结点可以有多个双亲结点,且多个结点可以无双亲结点。
关系模型则是二维表,一表即为一个关系,这个很常见,如学生关系(学号,,出生年月,性别),就像我们的办公软件中电子表格那样的表格。
D项的数据模型不是数据库的基本模型。
(30)关系数据库管理系统能实现的专门关系运算包括______。
A.排序、索引、统计B.选择、投影、连接C.关联、更新、排序D.显示、打印、制表
(30)[答案]B[考点]数据库设计基础
[评析]此题为数据库的基本概念,如果你完全没学过数据库,可以对照办工软件的电子表格进行如下理解:
选择:
我们根据某条件选择出一行或多行元组(一个元组即为二维表中的一行)
投影:
按字段(也称属性,比如学生关系(学号,,出生年月,性别),学号、……都是属性)选取一列或多列(一个二维表中所有元组在某一列或几列上截取出来)。
连接:
2个或2个以上的表连接组成一新的表,通常有条件连接。
比如学生关系(学号,,系号),又有一系表(系号,系名,主任),2表可以合并为一这样的表(学号,,系号,系名,主任)
(31)算法一般都可以用哪几种控制结构组合而成______。
A.循环、分支、递归B.顺序、循环、嵌套C.循环、递归、选择D.顺序、选择、循环
(31)[答案]D[考点]数据结构与算法
[评析]结构化程序设计中,基本的控制结构为顺序、选择、循环。
各种具体的程序设计语言中的一些控制结构都可以划分到这些类中。
比如VB里的SelectCase语句、If...Elseif...Else...EndIf,C/C++中的switch()、if{}……都属于选择控制结构。
相应的for循环和while语句都属于循环结构。
按从上到下顺序执行的即是顺序控制结构。
(32)数据的存储结构是指______。
A.数据所占的存储空间量B.数据的逻辑结构在计算机中的表示
C.数据在计算机中的顺序存储方式D.存储在外存中的数据
(32)[答案]B[考点]数据结构与算法
[评析]这是个基本概念题。
存储空间量只是数据的存储结构的一个属性,答案C也太片面,比如链表也是种存储方式,而非线性的还有树、图……我们所学的数据结构不涉及到数据在计算机外存(比如硬盘、软盘)具体的方式,而仅关心它们在存中逻辑结构,比如数组,它是存中一片连续的数据存储,我们对每一个元素都可以顺序地访问,只需要知道某一个元素的地址,其它数据元素的地址可以据库下标与数组类型(如字符型、整型……)所占的存储空间就可算出每个元素的地址,故顺序访问所有元素。
但是对于具体数据在存中的物理存储,我们很少关心。
比如某个数组建立时,它的首地址具体是多少?
它们在存中的二进制表示是什么的?
另,什么叫物理结构,什么叫逻辑结构,可以这样来理解,就好比物理结构是一个人的肉体,逻辑结构是一个人的灵魂,类似于计算机中硬件与软件的说法。
就好比我们上QQ,发送消息、接收消息,基本上近似大众人的思维,但发送消息与接收消息这些的具体技术过程或它们在CPU和硬盘上的活动,甚至二进制是什么呢?
去问腾讯公司
(33)设有下列二叉树:
对此二叉树中序遍历的结果为______。
A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA
(33)[答案]B[考点]数据结构与算法
[评析]该题原稿没图,故无从解释,此知识点的详解部分请看53题
(34)在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送______。
A.调用语句B.命令C.口令D.消息
(34)[答案]D[考点]程序设计基础
[评析]通过消息机制。
(35)检查软件产品是否符合需求定义的过程称为______。
A.确认测试B.集成测试C.验证测试D.验收测试
(35)[答案]A[考点]软件工程基础
[评析]A、C、D相近,但A为比较正规的说法名词。
确认测试也称合格测试或验收测试,主要由用户参加,检验软件规格说明的技术标准的符合程度,是保证软件质量的最后关键环节。
单元测试主要采用白盒法,之后再采用集成测试,主要采用黑盒法。
这些主要由开发者的工作,而无用户参与,不是检查是否符合需求定义的。
什么叫白盒黑盒?
相当于这样理解吧:
白盒测试,我们要注意到代码;黑盒,我们只关心程序运行的输入输出是否正确,一般是大量的测试,主要于非增量测试中使用,而非增量测试又一般适用于规模较小的系统开发。
可以想象,一个很大很复杂的系统,我们用黑盒法来集成测试,效果可想而知。
(36)下列工具中属于需求分析常用工具的是______。
A.PADB.PFDC.N-SD.DFD
(36)[答案]D[考点]软件工程基础
[评析]PAD,问题分析图,常用于详细设计;PFD,程序流程图,常用于详细设计,我们很多如C、VB…程序设计书上都有简单的实例;N-S,方框图,比程序流程图更灵活,也常用于详细设计;DFD,数据流图,远离具体在计算机上的实现,不懂计算机的用户也能看懂,用于需求分析。
什么叫详细设计?
它与我们编程有什么区别?
这样理解吧,公司的高级程序员,就是软件设计师,他们会搞详细设计的(在概要设计之后),比如用PAD或N-S画个图,它不涉及具体的某种程序设计语言的实现,但程序员们都能看懂,程序员再用某种语言(比如C、VB、JAVA…)按照图来写代码。
这个过程,高级程序员完成设计工作,程序员完成写代码工作。
(37)下面不属于软件设计原则的是______。
A.抽象B.模块化C.自底向上D.信息隐蔽
(37)[答案]C[考点]软件工程基础
[评析]我们无论是设计与编写代码,无论是画数据流图还是程序流图,习愦性思维都是先有输入才有输出,从下至下。
自底向上不是软件设计的原则。
(38)索引属于______。
A.模式B.模式C.外模式D.概念模式
(38)[答案]B[考点]数据库设计基础
[评析]要特别记住此题的答案。
索引的写入修改了数据库的物理结构,而不是简单的逻辑设计。
模式规定了数据在存储介质上的物理组织方式、记录录址方式。
(39)在关系数据库中,用来表示实体之间联系的是______。
A.树结构