二级c公共基础知识及练习题库.doc
国家二级C语言机试(公共基础知识)模拟试卷6(题后含答案及解析)
国家二级C语言机试(公共基础知识)模拟试卷6(题后含答案及解析)题型有:1. 选择题选择题1.在E-R图中,用来表示实体联系的图形是A.椭圆形B.矩形C.菱形D.三角形正确答案:C解析:构成E-R图的基本要素是实体型、属性和联系,其表示方法为:实体型(Entity)一用矩形表示;属性(Attribute)-椭圆形表示,联系(Relationship)一用菱形表示,菱形框内写明联系名。
知识模块:公共基础知识2.在E-R图中,用来表示实体的图形是A.矩形B.椭圆形C.菱形D.三角形正确答案:A解析:在E一R图中,用矩形表示实体集,在矩形内写上该实体集的名字;用椭圆形表示属性;用菱形(内部写上联系名)表示联系。
知识模块:公共基础知识3.数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的A.需求分析阶段B.逻辑设计阶段C.概念设计阶段D.物理设计阶段正确答案:C解析:E—R模型(实体联系模型)是将现实世界的要求转化成实体、联系、属性等几个基本概念,以及它们间的两种基本联接关系,并且可用一种图非常直观地表示出来。
它属于数据库设计的概念设计阶段。
知识模块:公共基础知识4.一间宿舍可住多个学生,则实体宿舍和学生之间的联系是A.一对一B.一对多C.多对一D.多对多正确答案:B解析:两个实体集间的联系可以有下面几种:一对一的联系、一对多或多对一的联系和多对多的联系。
由于一个宿舍可以住多个学生,所以它们的联系是一对多联系。
知识模块:公共基础知识5.一个工作人员可使用多台计算机,而一台计算机被多个人使用,则实体工作人员与实体计算机之间的联系是A.一对一B.一对多C.多对多D.多对一正确答案:C解析:如果一个工作人员只能使用一台计算机且一台计算机只能被一个工作人员使用,则关系为一对一:如果一个工作人员可以使用多台计算机,但是一台计算机只能被一个工作人员使用,则关系为一对多;如果一个工作人员可以使用多台计算机,一台计算机也可以被多个工作人员使用,则关系为多对多。
国家二级C语言(公共基础知识)机试模拟试卷20(题后含答案及解析)
国家二级C语言(公共基础知识)机试模拟试卷20(题后含答案及解析)题型有:1. 选择题选择题1.数据模型的三个要素是( )。
A.外模式、概念模式、内模式B.实体完整性、参照完整性、用户自定义完整性C.数据增加、数据修改、数据查询D.数据结构、数据操作、数据约束正确答案:D解析:数据模型是数据特征的抽象,所描述的内容有三个部分:数据结构、数据操作、数据约束。
数据结构主要描述数据的类型、内容、性质以及数据间的联系等。
数据操作主要描述在相应数据结构上的操作类型与操作方式。
数据约束主要描述数据结构内数据间的语法、语义联系,它们之间的制约与依存关系,以及数据动态变化的规则,以保证数据的正确、有效与相容。
知识模块:公共基础知识2.在数据库系统中,数据模型包括概念模型、逻辑模型和( )。
A.物理模型B.空间模型C.时间模型D.谓词模型正确答案:A解析:数据模型按照不同的应用层次分为3种类型:概念数据模型、逻辑数据模型、物理数据模型。
概念数据模型简称概念模型,它是一种面向客观世界、面向用户的模型;它与具体的数据库管理系统无关,与具体的计算机平台无关。
较为有名的概念数据模型有实体联系模型(E-R模型)、面向对象模型及谓词模型。
逻辑数据模型又称逻辑模型,它是一种面向数据库系统的模型,该模型着重于在数据库系统一级的实现。
逻辑数据模型有层次模型、网状模型、关系模型和面向对象模型。
物理数据模型又称物理模型,它是一种面向计算机物理表示的模型,此模型给出了数据模型在计算机上物理结构的表示。
知识模块:公共基础知识3.建立表示学生选修课程活动的实体联系模型,其中的丽个实体分别是( )。
A.学生和学号B.课程和课程号C.课程和成绩D.学生和课程正确答案:D解析:实体是概念世界中的基本单位,是客观存在并可以相互区别的事物。
要建立表示学生选修课程活动的实体联系模型,能互相区别并可以联系起来的实体是学生和课程。
知识模块:公共基础知识4.每所学校都有一名校长,而每个校长只在一所学校任职,则实体学校和实体校长之间的联系是( )。
全国计算机等级考试二级C语言公共基础知识(附例题)
第1章数据结构与算法经过对部分考生的调查以及对近年真题的总结分析,笔试部分经常考查的是算法复杂度、数据结构的概念、栈、二叉树的遍历、二分法查找,读者应对此部分进行重点学习。
详细重点学习知识点:1.算法的概念、算法时间复杂度及空间复杂度的概念2.数据结构的定义、数据逻辑结构及物理结构的定义3.栈的定义及其运算、线性链表的存储方式4.树与二叉树的概念、二叉树的基本性质、完全二叉树的概念、二叉树的遍历5.二分查找法6.冒泡排序法1.1算法考点1 算法的基本概念考试链接:考点1在笔试考试中考核的几率为30%,主要是以填空题的形式出现,分值为2分,此考点为识记内容,读者还应该了解算法中对数据的基本运算。
计算机解题的过程实际上是在实施某种算法,这种算法称为计算机算法.1.算法的基本特征:可行性、确定性、有穷性、拥有足够的情报。
2.算法的基本要素:(1)算法中对数据的运算和操作一个算法由两种基本要素组成:一是对数据对象的运算和操作;二是算法的控制结构。
在一般的计算机系统中,基本的运算和操作有以下4类:算术运算、逻辑运算、关系运算和数据传输。
(2)算法的控制结构:算法中各操作之间的执行顺序称为算法的控制结构.描述算法的工具通常有传统流程图、N—S结构化流程图、算法描述语言等。
一个算法一般都可以用顺序、选择、循环3种基本控制结构组合而成。
考点2 算法复杂度考试链接:考点2在笔试考试中,是一个经常考查的内容,在笔试考试中出现的几率为70%,主要是以选择的形式出现,分值为2分,此考点为重点识记内容,读者还应该识记算法时间复杂度及空间复杂度的概念。
1.算法的时间复杂度算法的时间复杂度是指执行算法所需要的计算工作量。
同一个算法用不同的语言实现,或者用不同的编译程序进行编译,或者在不同的计算机上运行,效率均不同。
这表明使用绝对的时间单位衡量算法的效率是不合适的。
撇开这些与计算机硬件、软件有关的因素,可以认为一个特定算法"运行工作量”的大小,只依赖于问题的规模(通常用整数n表示),它是问题规模的函数。
二级C公共基础知识及练习题库.doc
二级C公共基础知识及练习题库二级C公共基础知识及例题1.1数据结构与算法1.1.1算法1.算法的概念(1)概念:算法是指一系列解决问题的清晰指令.(2)4个基本特征:可行性、确定性、有穷性、拥有足够的情报。
(3)两种基本要素:对数据对象的运算和操作、算法的控制结构(运算和操作时间顺序)(4)设计的基本方法:列举法、归纳法、递推法、递归法、减半递推技术和回溯法。
2.算法的复杂度(1)算法的时间复杂度:执行算法所需要的计算工作量。
(2)算法的空间复杂度:执行算法所需的内存空间。
1.1.2数据结构的基本概念数据结构指相互有关联的的数据元素的集合,即数据的组织形式。
其中逻辑结构反映数据元素之间逻辑关系;存储结构为数据的逻辑结构在计算机存储空间中的存放形式,有顺序存储、链式存储、索引存储和散列存储4种方式。
数据结构按各种元素之间的前后件的关系的复杂度可划分为:(1)线性结构:有且只有一个根节点,且每个节点最多有一个直接前驱和一个直接后继的非空数据结构。
(2)非线性结构:不满足线性结构的数据结构。
1.1.3线性表及其顺序存储结构1.线性表的基本概念线性结构又称线性表,线性表是最简单也是最常用的一种数据结构。
2.线性表的顺序存储结构●元素所占的存储空间必须连续。
●元素在存储空间的位置是按逻辑顺序存放的。
3.线性表的插入运算在第i个元素之前插入一个新元素的步骤如下:步骤一:把原来第n个节点至第i个节点依次往后移一个元素位置。
步骤二:把新节点放在第i个位置上。
步骤三:修正线性表的节点个数。
4.线性表的删除运算删除第i个位置的元素的步骤如下:步骤一:把第i个元素之后的不包括第i个元素的n-i个元素依次前移一个位置;步骤二:修正线性表的结点个数。
1.1.4栈和队列1.栈及其基本运算(1)基本概念:栈是一种特殊的线性表,其插入运算与删除运算都只在线性表的一端进行,也被称为“先进后出”表或“后进先出”表。
●栈顶:允许插入与删除的一端。
C语言二级公共基础知识(详) 120题
公共基础知识课程简介计算机二级考试是以程序设计为主的计算机等级考试,目的是促进考生学习程序设计的热情,提高考生的程序设计水平。
而程序设计离不开算法、软件工程等知识的。
本课程作为计算机二级考试的公共基础课程,从理论的角度对数据结构、软件工程、结构化程序设计与面向对象的程序设计、数据库基础知识进行了简单的介绍,扩展考生的知识面,并对程序设计知识有一个系统的了解。
本课程一共有四个部分。
第一部分,主要介绍算法的基本概念,数据结构的基本概念和定义,线性表及其基本运算,二叉树的基本概念、存储结构及其应用,并介绍了一些常用的算法;第二部分,主要介绍程序设计的方法与风格,结构化程序设计,面向对象的程序设计方法,对象,方法,属性及继承与多态性;第三部分,主要介绍软件工程的基本概念,结构化分析方法,结构化设计方法,软件测试的基本方法和程序的调试方法,从工程的角度对软件开发进行了介绍;第四部分,主要介绍数据库,数据库管理系统,数据库系统的基本概念,数据模型,实体联系模型及E-R图等基本概念,关系代数理论中的基本运算,数据库设计的基本方法和步骤。
本课程作为公共基础课,在有限的篇幅和学时的情况下,当然不能将所涉及到的相关知识都讲透,如果对这些知识感兴趣,可去查阅相关主题的书籍,深入学习。
第一章的参考书:各类《数据结构》教程第二章的参考书:各类介绍程序设计与算法、面向对象程序设计的教程第三章的参考书:各类《软件工程》教程第四章的参考书:各类《数据库原理与应用》教程的基础部分学习方法本课程的学习,要求认真看书,对书中的内容进行归纳和总结,将所有的知识穿成一条线。
在看书的过程中,要仔细阅读,对书中重要的内容、概念要记住,因为本课程的考试是采用标准化的考试方式,单选和填空两种题型,因此要求考生对知识的掌握要准确,不能模棱两可。
反复地看书,做题,因为本课程主要是一些理论的知识,要求记忆的内容很多,因此,必须多做题,多看书,在做题的过程中检验自己对知识的理解和掌握情况是否到位、正确。
计算机二级(c语言)公共基础知识题目
一、选择题(1) 下面叙述正确的是(C)A. 算法的执行效率与数据的存储结构无关B. 算法的空间复杂度是指算法程序中指令(或语句)的条数C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止D. 以上三种描述都不对(2) 以下数据结构中不属于线性数据结构的是(C)A. 队列B. 线性表C. 二叉树D. 栈(3) 在一棵二叉树上第5层的结点数最多是(B) 注:由公式2k-1得A. 8B. 16C. 32D. 15(4) 下面描述中,符合结构化程序设计风格的是(A)A. 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B. 模块只有一个入口,可以有多个出口C. 注重提高程序的执行效率D. 不使用goto语句(5) 下面概念中,不属于面向对象方法的是(D) 注:P55-58A. 对象B. 继承C. 类D. 过程调用(6) 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是(B)A. 可行性分析B. 需求分析C. 详细设计D. 程序编码(7) 在软件开发中,下面任务不属于设计阶段的是(D)A. 数据结构设计B. 给出系统模块结构C. 定义模块算法D. 定义需求并建立系统模型(8) 数据库系统的核心是(B)A. 数据模型B. 数据库管理系统C. 软件工具D. 数据库(9) 下列叙述中正确的是(C)A.数据库是一个独立的系统,不需要操作系统的支持B.数据库设计是指设计数据库管理系统C.数据库技术的根本目标是要解决数据共享的问题D.数据库系统中,数据的物理结构必须与逻辑结构一致(10) 下列模式中,能够给出数据库物理存储结构与物理存取方法的是(A) 注:P108A. 内模式B. 外模式C. 概念模式D. 逻辑模式(11) 算法的时间复杂度是指(C)A. 执行算法程序所需要的时间B. 算法程序的长度C. 算法执行过程中所需要的基本运算次数D. 算法程序中的指令条数(12) 算法的空间复杂度是指(D)A. 算法程序的长度B. 算法程序中的指令条数C. 算法程序所占的存储空间D. 算法执行过程中所需要的存储空间(13) 设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为(B) 注:利用公式n=n0+n1+n2、n0=n2+1和完全二叉数的特点可求出A. 349B. 350C. 255D. 351(14) 结构化程序设计主要强调的是(B)A.程序的规模B.程序的易读性C.程序的执行效率D.程序的可移植性(15) 在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是(D) 注:即第一个阶段A. 概要设计B. 详细设计C. 可行性分析D. 需求分析(16) 数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。
(完整word版)全国计算机二级考试C语言(最全复习资料)
二级公共基础知识作为必考内容出现,出题形式为选择题前10道,占考试总分的10%。
考试其它比重:1、C语言程序的结构占总分1%2、数据类型及其运算占总分4%3、选择结构程序设计占比分的3%4、循环结构占比分的5%5、数组的定义和引用占比分的5%6、函数占比分的5%7、编译预处理占比分1%8、指针占比分的5%9、结构体占比分的3%10、位运算占比分的2%11、文件操作占比分的2%考试方式上机考试,时长120分钟单选题40分(含公共基础10分),操作题60分(包括程序填空题、程序修改题、程序设计题)第一部分 C语言知识复习资料第一章 C语言基本知识(90分)【考点1】C程序用C语言编写的程序称为C语言源程序,源程序文件的后缀名为“.c”。
源程序经编译后生成后缀名为“.obj”的目标文件,再把目标文件与各种库函数连接起来,生成“.exe”可执行文件。
C语言有三种基本结构:顺序结构、选择结构、循环结构。
【考点2】main函数又称主函数,是C程序的入口.main后面跟一对小括号和一对花括号,花括号括起来的部分称为main函数的函数体.一个C程序从main函数开始执行,到main函数体执行完结束,而不论main函数在整个程序中的位置如何。
每一个程序有且仅有一个main函数,其他函数都是为main函数服务的。
【考点3】存储形式计算机在电脑中保存数据是采用二进制形式,由0或1构成的二进制称为位(bit),八个位构成一个字节(Byte),1个Byte=8个bit。
二进制、八进制、十六进制转化为十进制采用乘法,十进制转化为二进制、八进制、十六进制采用除法.数据的存放位置就是它的地址。
【考点4】注释是对程序的说明,可出现在程序中任意合适的地方,注释从“/*"开始到最近一个“*/”结束,其间任何内容都不会被计算机执行,注释不可以嵌套。
【考点5】书写格式每条语句的后面必须有一个分号,分号是语句的一部分。
一行内可写多条语句,一个语句可写在多行上。
【精品】计算机二级C公共基础知识.docx
第一章数据结构与算法1.1算法1、丽是指解题方案的准确而完整的描述。
换句话说,算法绘对持定问题求斛步骤的…种描述。
♦:算法不等于程序,也不等于计算方法。
憾序的编制不可能优于算法的设材12、算法的基本特征(1)可行性。
针对实际问题而设计的算法,执行后能够得到满慈的结果。
(2)确定性。
每一条指令的含义明确,无二义性。
并且在任何条件下,算法只育唯一的一条执行路径,即相同的输入只能得出相同的输出。
<3)有穷性。
筛法必须在有限的时间内完成。
有两重含义,一是筛法中的操作步骤为有限个,二是每个步骤都能在有限时间内完成。
(4)拥有足够的情报。
算法中体种运算总是耍施加到各个运算对象上,而这些运算对彖乂可能具有某种初始状态,这就是算法执行的起点或依据。
因此,一个算法执行的结果总址与输入的初始数据有关,不同的输入将会有不同的结果输出。
当输入不够或输入错i吴时,算法将无达执行或执行有错。
-•般说來,当算法拥有足够的情报时,此算法才是有效的:而当提供的情报不够时,算法可能无效。
*:综上所述,所谓筛法,是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,且是明确的,此顺序将在有限的次数下终止。
3、術去复杂滾上要包括时间复杂皮和空间复杂度°(1)并法耐间复杂闽是指执行算法所岛要的计算工作量,可以用执行算法的过秤中所需基本运算的执行次数來度量。
(2)算法|空间复杂闽楚指执行这个算法所需要的内存空间o1.2数据结构的基本槪念1、|数据结构|超指柿互有关联的数据元索的集合。
2、数据结构主要研究和讨论以下三个方面的问题:(1)数据集合中各数据元索之间所固有的逻辑关系,即数据的逻辑结构。
数据的逻辑结构包含:1)表小数据元索的信息:2)心各数据元素之间的的后件关系丄.............................. (2)在对数据进行处理时,各数据元索在计算机中的存僻关系,即数据的存储结构。
数据的存储结构冇顺序、链接、索引等。
计算机等级考试公共基础知识(二级C)
第一章数据结构与算法1.1 算法1、算法:是指解题方案的准确而完整的描述。
算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。
2、算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。
特征包括:(1)可行性:(2)确定性:算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;(3)有穷性:算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;(4)拥有足够的情报。
3、算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。
4、指令系统:一个计算机系统能执行的所有指令的集合。
5、基本运算和操作包括:算术运算、逻辑运算、关系运算、数据传输。
6、算法的控制结构:顺序结构、选择结构、循环结构。
7、算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。
8、算法复杂度:算法时间复杂度和算法空间复杂度。
9、算法时间复杂度是指执行算法所需要的计算工作量。
10、算法空间复杂度是指执行这个算法所需要的内存空间。
1.2 数据结构的基本基本概念1、数据结构研究的三个方面:(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;(3)对各种数据结构进行的运算。
2、数据结构:指相互有关联的数据元素的集合。
3、数据的逻辑结构包含:(1)表示数据元素的信息;(2)表示各数据元素之间的前后件关系。
4、数据的存储结构有顺序、链接、索引等。
5、线性结构条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。
6、非线性结构:不满足线性结构条件的数据结构。
1.3 线性表及其顺序存储结构1、线性表由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。
在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。
二级c语言公共基础知识试题及答案
二级c语言公共基础知识试题及答案二级c语言公共基础知识试题及答案全国计算机二级等级考试的笔试包括基础知识和程序设计两部分,以下是由店铺整理关于二级c语言公共基础知识试题的内容,希望大家喜欢!二级c语言公共基础知识试题及答案(一)(1) 算法的复杂度主要包括______复杂度和空间复杂度。
答:时间(2) 数据的逻辑结构在计算机存储空间中的存放形式称为数据的______。
答:模式#逻辑模式#概念模式(3) 若按功能划分,软件测试的方法通常分为白盒测试方法和______测试方法。
答:黑盒(4) 如果一个工人可管理多个设施,而一个设施只被一个工人管理,则实体"工人"与实体"设备"之间存在______联系。
答:一对多#1:N#1:n(5) 关系数据库管理系统能实现的专门关系运算包括选择、连接和______。
答:投影(6) 在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可以分为三种:前序遍历、______遍历和后序遍历。
答:中序(7) 结构化程序设计方法的`主要原则可以概括为自顶向下、逐步求精、______和限制使用goto语句。
答:模块化(8) 软件的调试方法主要有:强行排错法、______和原因排除法。
答:回溯法(9) 数据库系统的三级模式分别为______模式、内部级模式与外部级模式。
答:概念#概念级(10) 数据字典是各类数据描述的集合,它通常包括5个部分,即数据项、数据结构、数据流、______和处理过程。
答:数据存储来源二级c语言公共基础知识试题及答案(二)(1) 设一棵完全二叉树共有500个结点,则在该二叉树中有______个叶子结点。
答:250(2) 在最坏情况下,冒泡排序的时间复杂度为______。
答:n(n-1)/2#n*(n-1)/2#O(n(n-1)/2)#O(n*(n-1)/2)(3) 面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个______。
国家二级C语言机试(公共基础知识)模拟试卷2(题后含答案及解析)
国家二级C语言机试(公共基础知识)模拟试卷2(题后含答案及解析)题型有:1. 选择题选择题1.下列关于栈的描述中错误的是A.栈是先进后出的线性表B.栈只能顺序存储C.栈具有记忆作用D.对栈的插入与删除操作中,不需要改变栈底指针正确答案:B解析:栈是限定在一端进行插入与删除的线性表。
栈顶(top):插入数据(即入栈)的一端;栈底(bottom):不能入栈也不能出栈的一端。
栈存储数据的原则:“先进后出”或“后进先出”。
栈的特性是具有记忆作用。
知识模块:公共基础知识2.按照“后进先出”原则组织数据的数据结构是A.队列B.栈C.双向链表D.二叉树正确答案:B解析:栈是限定在一端进行插入与删除的线性表。
在栈中,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。
栈顶元素总是最后被插入的元素,也是最先被删除的元素;栈底元素总是最先被插入的元素,也是最后才能被删除的元素。
即栈是按照“后进先出”(LastIn First Out,简称LIFO)或“先进后出”(First In Last Out,简称FILO)的原则组织数据的。
因此,栈也称为“后进先出表”或“先进后出”表。
知识模块:公共基础知识3.下列对队列的描述中正确的是A.队列属于非线性表B.队列按“先进后出”原则组织数据C.队列在队尾删除数据D.队列按“先进先出”原则组织数据正确答案:D解析:队列(queue)是指允许在一端进行插入、而在另一端进行删除的线性表。
允许插入的一端称为队尾:允许删除的一端称为队头。
在队列这种数据结构中,最先插入的元素将最先能够被删除:反之,最后插入的元素将最后才能被删除。
因此,队列又称“先进先出”或“后进后出”的线性表。
知识模块:公共基础知识4.下列叙述中正确的是A.栈是一种先进先出的线性表B.队列是一种后进先出的线性表C.栈与队列都是非线性结构D.以上三种说法都不对正确答案:D解析:栈是先进后出的线性表,队列是先进先出的线性表,二者均为线性结构。
计算机二级C语言笔试——公共基础知识选择80题
全国计算机二级历年考试——公共基础知识选择80题(1) 下面叙述正确的是______。
(C)A. 算法的执行效率与数据的存储结构无关B. 算法的空间复杂度是指算法程序中指令(或语句)的条数C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止D. 以上三种描述都不对(2) 以下数据结构中不属于线性数据结构的是______。
(C)A. 队列B. 线性表C. 二叉树D. 栈(3) 在一棵二叉树上第5层的结点数最多是______。
(B)A. 8B. 16C. 32D. 15(4) 下面描述中,符合结构化程序设计风格的是______。
(A)A. 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B. 模块只有一个入口,可以有多个出口C. 注重提高程序的执行效率D. 不使用goto语句(5) 下面概念中,不属于面向对象方法的是______。
(D)A. 对象B. 继承C. 类D. 过程调用(6) 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是______。
(B)A. 可行性分析B. 需求分析C. 详细设计D. 程序编码(7) 在软件开发中,下面任务不属于设计阶段的是______。
(D)A. 数据结构设计B. 给出系统模块结构C. 定义模块算法D. 定义需求并建立系统模型(8) 数据库系统的核心是______。
(B)A. 数据模型B. 数据库管理系统C. 软件工具D. 数据库(9) 下列叙述中正确的是______。
(C)A. 数据库是一个独立的系统,不需要操作系统的支持B. 数据库设计是指设计数据库管理系统C. 数据库技术的根本目标是要解决数据共享的问题D. 数据库系统中,数据的物理结构必须与逻辑结构一致(10) 下列模式中,能够给出数据库物理存储结构与物理存取方法的是______。
(A)A. 内模式B. 外模式C. 概念模式D. 逻辑模式(11) 算法的时间复杂度是指______。
二级C笔试复习资料(公共基础)
二级 C 笔试复习资料 (公共基础)
第一章 数据结构与算法
1.1 算法的基本概念 1、算法是一系列解决问题的清晰指令(解决方案的准确而完整的描述) 。 2、算法的 4 个基本特征: 可行性、确定性、 有穷性、 拥有足够的情报(指的是输入和输出) 。 3、算法的两个基本元素: (1)数据的运算和操作(算术运算、逻辑运算、关系运算、数据运算(主要包括赋值、输 入、输出等操作) ) ; (2)算法的控制结构(顺序、选择、循环) 。 4、算法复杂度:衡量算法好坏的量度。 (1)算法的时间复杂度:是指执行算法所需要的计算工作量(即算法的运算次数) ; (2)算法的空间复杂度:是指执行这个算法所需要的存储空间(内存空间) 。 1.2 数据结构的基本概念 1、数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。 2、数据结构的内容: (1)逻辑结构:反映数据元素之间逻辑关系,从逻辑关系上描述数据与数据的存储无关, 独立于计算机; (2)数据的存储结构(物理结构) :指数据的逻辑结构在计算机存储空间中的存放形式。 注意:①对于同一个逻辑结构,采用不同的存储结构,其数据处理的效率是不同的;②各数 据元素的计算机存储空间中的位置关系与它们的逻辑关系不一定相同。 (3)逻辑结构和存储结构的关系:①一种逻辑结构可以用不同的存储结构来实现;②存储 结构决定了算法的实现;③逻辑结构决定了算法的设计。 3、数据结构的分类:线性结构(线性表)与非线性结构。 (1)满足线性结构的两个条件:①有且只有一个根结点(没有前件的结点称为根结点) ;② 每一个结点最多有一个前件,也最多有一个后件。 (2)线性结构的操作:在一个线性结构中插入或删除任何一个结点后还应是线性结构。 4、线性表及其顺序存储结构 (1)线性表是最简单、最常用的一种线性数据结构; (2)线性表的长度是指星星表中结点的个数,当 n=0 时,称为空表; (3)通常定义一个一维数组来表示线性表的顺序存储空间; (4)顺序表的插入运算在最坏的情况下,N 个元素的线性表需要移动 N 次; (5)顺序表的删除运算在最坏的情况下,N 个元素的线性表需要移动 N-1 次。 5、栈(属于线性结构) (1)栈是限定在一端进行插入与删除的线性表,允许插入与删除的一端称为栈顶,而不允 许插入与删除的另一端称为栈底; (2)栈特点是先进后出、后进先出(栈有记忆的功能) ; (3)栈有两种存储方法:一是顺序栈,二是链式栈; (4)栈的基本运算有三种:入栈、退栈和读栈。 6、队列及其基本运算 (1)队列是允许在一端进行插入、而在另一端进行删除的线性表; (2)允许插入的一端叫队尾(尾指针,rear) ,允许删除的一端叫队头(头指针,front) ;
国家二级C语言机试(公共基础知识)模拟试卷10(题后含答案及解析)
国家二级C语言机试(公共基础知识)模拟试卷10(题后含答案及解析)题型有:1. 选择题选择题1.下列链表中,其逻辑结构属于非线性结构的是( )。
A.二叉链表B.循环链表C.双向链表D.带链的栈正确答案:A解析:二叉链表作为树的存储结构。
链表中节点的两个链域分别指向该节点的第一个孩子节点和下一个兄弟节点。
知识模块:二级公共基础知识2.下列关于栈的描述中正确的是( )。
A.在栈中只能插入元素而不能删除元素B.在栈中只能删除元素而不能插入元素C.栈是特殊的线性表,只能在一端插入或删除元素D.栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素正确答案:C解析:栈是限定在一端进行插入与删除的线性表。
在栈中允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。
知识模块:二级公共基础知识3.下列描述中正确的是( )。
A.线性链表是线性表的链式存储结构B.栈与队列是非线性结构C.双向链表是非线性结构D.只有根节点的二叉树是线性结构正确答案:A解析:线性表的链式存储结构称为线性链表。
线性表链式存储结构的基本单位称为存储节点,每个存储节点包括数据域和指针域两个组成部分。
各数据元素之间的前后件关系是由各节点的指针域来指示的。
指向线性表中第一节点的指针HEAD称为头指针,当HEAD=NULL时称为空表。
栈、队列和双向链表是线性结构,树是一种简单的非线性结构。
在树这种数据结构中,所有数据元素的关系具有明显的层次特征。
二叉树是非线性结构。
线性结构和非线性结构是从数据的逻辑结构角度来讲的,与该数据结构中有多少个元素没有关系。
即使是空的二叉树也是非线性结构。
知识模块:二级公共基础知识4.下列关于栈叙述正确的是( )。
A.栈顶元素最后被删除B.栈底元素最后才能被删除C.栈底元素永远不能被删除D.以上三种说法都不对正确答案:B解析:栈是先进后出的线性表,栈顶的元素最先被删除,栈底的元素最后被删除。
知识模块:二级公共基础知识5.下列关于栈的描述中错误的是( )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二级C公共基础知识及例题1.1数据结构与算法1丄1算法1.算法的概念(1)概念:算法是指一系列解决问题的清晰指令.(2)4个基本特征:可行性、确定性、有穷性、拥有足够的情报。
(3)两种基本要素:对数据对象的运算和操作、算法的控制结构(运算和操作时间顺序)(4)设计的基木方法:列举法、归纳法、递推法、递归法、减半递推技术和冋溯法。
2.算法的复杂度(1)算法的时问复杂度:执行算法所需要的计算王作量。
(2)算法的空间复杂度:执行算法所需的内存空问。
1. 1. 2数据结构的基木概念数据结构指相互有关联的的数据元素的集合,即数据的组织形式。
其屮逻辑结构反映数据元素Z间逻辑关系;存储结构为数据的逻笹结构在计算机存储空间中的存放形式,有顺序存储、链式存储、索引存储和散列存储4种方式。
数据结构按各种元素之间的前示件的关系的复杂度可划分为:(1)线性结构:有且只有一个根节点,且每个节点最多有一个直接前驱和一个直接后继的非空数据结构。
(2)非线性结构:不满足线性结构的数据结构。
1. 1. 3线性表及其顺序存储结构1.线性表的基木概念线性结构乂称线性表,线性表是最简单也是最常用的一种数据结构。
2.线性表的顺序存储结构•元素所占的存储空间必须连续。
•元素在存储空间的位置是按逻辑顺序存放的。
3・线性表的插入运算在第i个元索Z前插入一个新元素的步骤如下:步骤一:把原来第n个节点至第i个节点依次往后移一个元索位置。
步骤二:把新节点放在第i个位置上。
步骤三:修正线性表的节点个数。
4.线性表的删除运算删除第i个位置的元索的步骤如下:步骤一:把第i个元索Z后的不包括第i个元素的n-i个元索依次前移一个位置;步骤二:修正线性表的结点个数。
1. 1. 4栈和队列1.栈及其基木运算(1)基木概念:栈是一种特殊的线性表,其插入运算与删除运算都只在线性表的一端进行,也被称为“先进后出"表或,后进先出”表。
•栈顶:允许插入与删除的一端。
•栈底:栈顶的另一端。
(不允许插入与删除的一端)•空栈:栈屮没有元素的栈。
(2)特点。
•栈顶元索是最示被插入和最早被删除的元索。
•栈底元素是最早被插入和最后被删除的元素。
•栈有记忆作用。
•在顺序存储结构下,栈的插入和删除运算不需移动表屮其他数据元索。
•栈顶指针top动态反映了栈中元素的变化情况(3)顺序存储和运算:入栈运算、退栈运算和读栈顶运算。
2.队列及其基木运算(1)基木概念:队列是指允许在一端进行插入,在另一端进行删除的线性表,又称:先进先出“的线性表。
•队尾:允许插入的一端,用尾指针指向队尾元索。
•排头:允许删除的一端,用头指针指向头元素的前一位置。
(2)循环队列及其运算:入队运算与退队运算。
1. 1. 5树和二叉树1.树的基本概念树是简单的非线性结构,树屮有且仅有一个没有前驱的节点称为“根”,其余节点分成m个互不相交的有限集合Tl , T2,。
Tm,每个集合又是一棵树,称Tl , T2,。
Tm, m为根结点的子树。
•父节点:每一个节点只有一个前件,无前件的节点只有一个,称为树的根结点(简称树的根)。
• 了节点:每一个节点可以后多个后件,无后件的节点称为叶子节点。
•树的度:所有节点最大的度。
•树的深度:树的最大的层次。
2.二叉树及其基本性质二叉树是一种非线性机构,是有限的节点的集合,该集合为空(空二叉树)或由一个根节点及两棵互不相交的左右二叉了树组成。
可分为满二叉树和完全二叉树,其屮满二叉树一定是完全二叉树,但完全二叉树不一定是满二叉树。
•二叉树可为空,空的二叉树无节点,非空二叉树有且只有一个根结点;•每个节点最多有两棵子树,称为左子树和右子树。
3.二叉树的存储结构二叉树通常采用链式存储结构,存储节点由数据域和指针域(左指许域和右指针域)组成。
二叉树的链式存储结构也称二叉树的链表,对满二叉树和完全二叉树可按层次进行顺序存储。
4.二叉树的遍历二叉树的遍历是指不重复地访问二叉树屮所有节点,主要指非空二叉树,对于空二叉树则结朿返I叫。
二叉树的遍历包括前序遍历、屮序遍历和fil序遍历。
1. 1. 6杏找技术(1)顺序查找:在线性表屮查找指定的元索。
(2)二分查找:线性表必是顺序存储结构,且必是有序表,反复查找直到成功或子表长度为0是结束。
1. 1. 7排序技术(1)交换类排序法:借助数据元素的“交换"进行排序,包括冒泡排序法和快速排序法。
(2)插入类排序法:包括简单插入排序法和希尔排序法。
(3)选择类排序法:包括简单选择排序法和堆排序法。
1. 2程序基础1. 2. 1程序设计方法与风格(1)设计方法:程序设计指设计、编制、调试程序的方法和过程,主要有结构化程序设计方法、软件T 程方法和面向对象方法。
(2)设计风格:良好的设计风格要注重源程序文档化、数据说明方法、语句的结构和输入输出。
1. 2. 2面向对象的程序设计血向对象方法的本质是主张从客观世界固有的事物岀发来构造系统,强调建立的系统能映射问题域。
•对象:用来表示客观世界屮任何实体,可以是任何有明确边界和意义的东西。
•类:具有共同属性、共同方法的对象的集合。
•实例:一个具体对象就是其对应分类的一个实例。
•消息:实例间传递的信息,它统一了数据流和控制流。
•继承:使用已有的类定义作为基础建立新类的定义技术。
•多态性:指对象根据所接受的住息而作出动作,同样的信息被不同的对象接收时有不同的行动的现彖。
面向对象稈序设计特点:与人类习惯的思维方法一致、稳定性好、可重用性好、易于开发大型软件产品、可维护性好。
1. 3软件工程基础1. 3. 1软件工程基木概念1.软件的定义与特点(1)定义:软件是指与计算机系统的操作有关的计算机程序、规稈、规则,以及可能有的文件、文档和数据。
(2)特点:•是逻辑实体,有抽彖性。
•生产没有明显的制作过程。
•运行使用期间不存在磨损、老化问题。
•开发、运行对计算机系统有依赖性,受计算机系统的限制,导致了软件移植问题。
•复杂性较高,成木昂贵。
•开发涉及诸多社会因素。
2・软件危机与软件工程软件危机指在计算机软件的开发和维护屮遇到的一系列严重问题。
软件T稈是应用于计算机软件的定义、开发和维护的一鏗套方法、工具、文档、实践标准和工序,包括软件开发技术和软件工•稈管理。
3.软件工程过稈把输入转化为输出的一组彼此相关的资源和活动。
4.软件生命周期软件产品从提出、实现、使用维护到停止使用的过程。
5.软件工稈的目标在给定成木、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适用性、可移植性、可追踪性和可互操作性且满足用户需求的产品。
6.软件工程的原则软件工程的原则包括:抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。
7.软件开发工具从初期的单向T具向集成工具发展,软件开发的方法必须得到相应T具的支持。
8.软件开发环境软件开发环境是全面支持软件开发过程的软件工具的集合。
计算机辅助软件工程(CASE)是当前最有特色的研究工作和发展方向。
1. 3. 2结构化分析方法需求分析的任务是发现需求、求精、建模和定义需求的过程,可概括为:需求获取、需求分析、编吗需求规格说明书和需求评审。
常用的分析方法:•结构化分析方法:其实质着眼于数据流,白顶向下,逐层分解,建立系统的处理流程。
常用工具包括数据流图、数字字典(核心方法)、判断树和判断表。
•面向对象分析方法。
1. 3. 3结构化设计方法1.软件设计的基本概念和方法软件设计是一个把软件需求转换为软件表示的过稈。
(1)基木原理:抽象、模块化、信息隐蔽、模块独立性(试题标准:耦合性和内聚性)。
(2)基木思想:将软件设计成由相对独立、单一功能的模块组成的结构。
2.概要设计(1) 4个任务:设计软件系统结构、数据结构及数据库设计、编写概要设计文档、概要设计文档评审。
(2)面向数据流的设计方法:数据流图的信息分为交换流和事物流,结构形式有交换型和事务型。
3.详细设计的工具详细设计的工具包括:•图形工具:程序流程图、N—S图、PAD、HIPOo•表格工具:判定表。
•语言工具:PDL (伪码)。
1. 3. 4软件测试1.目的为了发现错谋而执行程序的过程。
2.准则•所有测试应追溯到用户需求。
•严格执行测试计划,排除测试的随意性。
•充分注意测试屮的群集现彖。
•程序员应避免检杳|z|己的程序。
•穷举测试不可能。
妥善保存设计计划、测试用例、出错统计和嚴终分析报告。
3.软件测试技术和方法软件测试的方法按是否需要执行被测软件的角度,可分为表态测试和动态测试,按功能分为白盒测试和黑盒测试。
(1)白盒测试:根据程序的内部逻辑设计测试用例,主要方法有逻辑覆盖测试、基木路径测试等。
(2)黑盒测试:根据规格说明书的功能来设计测试用例,主要诊断方法有等价划分法、分界值分析法、错误推测法、因果图法等,主要用于软件确认测试。
1.3.5程序的调试(1)任务:诊断和改正程序屮的错误。
(2)调试方法:强行排错法、冋溯法和原因排除法。
1. 4数据库设计基础1. 4. 1数据库系统的基本概念(1)数据(Data):描述事物的符号记录。
(2)数据库(DataBase):长期存储在计算机内的、有组织的、可共享的数据集合。
(3)数据库管理系统的6个功能:数据组织、数据操纵、数据维护、控制及保护和数据服务。
(4)数据库技术发展经历了3个阶段:人工管理阶段——文件系统阶段——数据库系统阶段(5)数据库系统的特点:集成性、高共享性、低冗余性、数据独立性、数据统一管理与控制等。
(6)数据库系统的内部机构体系:三级模式(概念模式、内模式、外模式)和二级映射(外模式/概念模式的映射、概念模式/内模式的映射)构成了数据库系统内部的抽象结构体系。
1. 4. 2数据模型数据模型是数据特征的抽象,从抽象层次上描述了系统的静态特征、动态行为和约朿条件,描述的内容有数据结构、数据操作和数据约束。
有3个层次:概念数据模型、逻辑数据模魁和物理数据模型。
(1) E—R模型:提供了表示实体、属性和联系的方法。
实体问联系有“一对一”、“一对多”和“多对多S(2)层次模型:利用树形结构表示实体及其Z间联系,其屮节点是实体,树枝是联系,从上到下是一-对多关系。
(3)网状模型:用网状结构表示实体及其Z间联系,是层次模型的扩展。
网络模型以及记录型为节点,反映现实屮较为复杂的事物联系。
(4)关系模型:采用二维表(由表框架和表的无组组成)来表示,可进行数据查询、增加、删除及修改操作。
关系模型允许定义“实体完敕性"、“参照完整性"、和“用户定义的完粥性''三种约束。
•键(码):二维表屮唯一能标识元组的最小属性集。
•候选键(候选码):二维表屮可能有的多个键。
•主键:被选取的一个使用的键。