二级C语言公共基础知识
- 格式:doc
- 大小:159.00 KB
- 文档页数:20
1.好的程序设计风格有助于提高程序的○1正确性○2可读性○3可维护性○4可用性。
2.良好的程序风格包括○1源程序文档化○2数据说明○3语句结构○4输入、输出方法。
3.结构化程序设计方法的四条原则○1自顶向下○2逐步求精○3模块化○4限制使用goto语句。
4.程序的基本结构:○1顺序结构○2选择结构也称分支结构○3重复结构也称循环结构。
5.面向对象方法的优点○1与人类习惯的思维方法一致○2稳定性好○3可重用性好○4易于开发大型软件产品○5可维护性好。
6.对象的基本特点○1标识唯一性○2分类性○3多态性○4封装性○5模块独立性好。
7.软件的组成○1机器可执行的程序和数据○2与软件开发、运行、维护及使用等有关的文档。
8.支撑软件介于系统软件和应用软件之间,是支援其他软件的开发与维护的软件。
9.软件工程过程的四种基本活动○1软件规格说明○2软件开发○3软件确认○4软件演进。
P26610.软件工程的原则:抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。
11.软件产品从提出、实现、使用、维护到停止使用、退役的过程称为软件生命周期。
12.结构化分析的常用工具:○1数据流图○2数据字典○3判定树○4判定表13.数据流图即DFD图,它以图形的方式描绘数据在系统中流动和处理的过程,它只反映系统必须完成的逻辑功能,所以是一种功能模型。
数据流图中的带箭头线段表示数据流。
程序流程图中的带箭头线段表示控制流。
14.数据字典是结构化分析方法的核心,它是对所有与系统相关的数据元素的一个有组织的列表以及精确的、严格的定义,使得用户和系统分析员对于输入、输出、存储成分和中间计算结果有共同的理解。
15.软件测试的基本准则:所有测试都应追溯到需求、严格执行测试计划,排除测试的随意性、充分注意测试中的集群现象、程序员应避免检查自己的程序、穷举测试不可能、妥善保存测试计划等文件。
16.数据库应用系统的核心问题是数据库设计。
千里之行,始于足下。
202X年计算机二级C语言公共基础知识点及考点计算机二级C语言考试是针对C语言编程能力的一种测试,主要考察考生对C语言的基本知识、语法、数据类型、流程控制、函数、数组、指针等方面的掌握程度。
以下是一些公共的基础知识点及考点:1. C语言基础知识- C语言的历史和特点- C语言的编译过程- C语言的注释规则- C语言的标识符和关键字2. 数据类型- 基本数据类型:整型、浮点型、字符型- 枚举类型- 派生数据类型:数组、结构体、共用体、指针3. 运算符和表达式- 算术运算符- 关系运算符- 逻辑运算符- 位运算符- 赋值运算符- 条件运算符4. 控制语句和流程控制- if语句第1页/共2页锲而不舍,金石可镂。
- switch语句- for循环- while循环- do-while循环- break和continue语句5. 数组和字符串- 一维数组的定义和使用- 二维数组的定义和使用- 字符串的定义和操作6. 函数和库函数- 函数的定义和调用- 函数的参数传递- 函数的返回值- 库函数的调用7. 指针和动态内存分配- 指针的定义和使用- 指针与数组的关系- 指针作为函数参数- 动态内存分配:malloc、calloc、realloc、free以上是计算机二级C语言考试的一些公共基础知识点及考点。
考生需要熟练掌握这些知识,并通过练习题和实际编程项目提升实际应用能力。
此外,还建议考生了解编程规范和常见错误,加强编码规范和错误调试能力。
二级公共基础知识总结请认真背诵该资料,至少要看三遍,划横线和方框的都是重点!第一章数据结构与算法1.1 算法是指解题方案的准确而完整的描述。
算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。
算法的特征包括:(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;(3)有穷性,算法必须能在有限的时间内做完,包括合理的执行时间的含义;(4)拥有足够的情报。
算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。
指令系统:一个计算机系统能执行的所有指令的集合。
基本运算包括:算术运算、逻辑运算、关系运算、数据传输。
算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。
1.2 数据结构的基本基本概念数据结构研究的三个方面:(1(2(3)对各种数据结构进行的运算。
数据结构是指相互有关联的数据元素的集合。
数据的存储结构有顺序、链接、索引等。
线性结构条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。
非线性结构:不满足线性结构条件的数据结构。
1.3 线性表及其顺序存储结构数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。
线性表的顺序存储结构具有以下两个基本特点:(1)线性表中所有元素的所占的存储空间是连续的;(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。
1.4 栈和队列1、先进后出FILO;1、支持子程序调用;2、具有记忆功能;3、可以不用顺序存放数据;4、只能够在top首部进行操作,bottom是绝对不动的;5、栈的存放数据的个数为num = (bottom – top)+1;1、Rear指针指向队尾,front指针指向队头。
3、先进先出FIFO,或者是后进后出LILO2、循环队列里面的个数计算方法:A、rear > front 的时候,num = rear – front;B、rear < front 的时候,num = rear + n – front;1.5 线性链表数据结构中的每一个结点对应于一个存储单元,这种存储单元称为存储结点,简结点由两部分组成:(1(2)用于存放指在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。
二级公共基础知识新大纲基本要求基本要求1, 掌握算法的基本概念掌握算法的基本概念. .2, 掌握基本数据结构及其操作掌握基本数据结构及其操作. .3, 掌握基本排序和查找算法掌握基本排序和查找算法. .4掌握逐步求精的结构化程序设计方法掌握逐步求精的结构化程序设计方法. .5, 掌握软件工程的基本方法掌握软件工程的基本方法,,具有初步应用相关技术进行软件开发的能力具有初步应用相关技术进行软件开发的能力. . 考试内容考试内容一,基本数据结构与算法1, 算法的基本概念算法的基本概念;;算法复杂度的概念和意义算法复杂度的概念和意义((时间复杂度与空间复杂度时间复杂度与空间复杂度). ). 2, 数据结构的定义数据结构的定义;;数据的逻辑结构与存储结构数据的逻辑结构与存储结构;;数据结构的图形表示数据结构的图形表示;;线性结构与非线性结构的概念结构的概念. .3, 线性表的定义线性表的定义;;线性表的顺序存储结构及其插入与除运算线性表的顺序存储结构及其插入与除运算. .4, 栈和队列的定义栈和队列的定义;;栈和队列的顺序存储结构及其基本运算栈和队列的顺序存储结构及其基本运算. .5, 线性单链表线性单链表,,双向链表与循环链表的结构及其基本运算双向链表与循环链表的结构及其基本运算. .6, 树的基本概念树的基本概念;;二*树的定义及其存储结构树的定义及其存储结构;;二*树的前序树的前序,,中序和后序遍历中序和后序遍历. . 7, 顺序查找与二分法查找算法顺序查找与二分法查找算法;;基本排序算法基本排序算法((交换类排序交换类排序,,选择类排序选择类排序,,插入类排序插入类排序). ). 二,程序设计基础1, 程序设计方法与风格程序设计方法与风格. .2, 结构化程序设计结构化程序设计. .3, 面向对象的程序设计方法,对象,方法,属性及继承与多态性.三,软件工程基础1, 软件工程基本概念软件工程基本概念,,软件声明周期概念软件声明周期概念,,软件工具与软件开发环境软件工具与软件开发环境. .2, 结构化分析方法结构化分析方法,,数据流图数据流图,,数据字典数据字典,,软件需求规格说明书软件需求规格说明书. .3, 结构化程序设计方法结构化程序设计方法,,总体设计与详细设计总体设计与详细设计. .4, 软件测试的方法软件测试的方法,,白盒测试与黑盒测试白盒测试与黑盒测试,,测试用例设计测试用例设计,,软件测试的实施软件测试的实施,,单元测试单元测试,,集成测试和系统测试测试和系统测试. .5, 程序的调试程序的调试,,静态调试与动态调试静态调试与动态调试. .四,数据库设计基础1, 数据库的基本概念数据库的基本概念::数据库数据库,,数据库管理系统数据库管理系统,,数据库系统数据库系统. .数据模型数据模型,,实体练习模型及E-R 图,从E-R 图导出关系数据模型图导出关系数据模型. .2, 关系代数运算关系代数运算,,包括几何运算及选择包括几何运算及选择,,投影投影,,连接运算连接运算,,数据库规范化理论数据库规范化理论. .数据库设计方法和步骤数据库设计方法和步骤::需求分析需求分析,,概念设计概念设计,,逻辑设计和物理设计的相关策略逻辑设计和物理设计的相关策略. . 公共基础知识总结第一章数据结构与算法第一章数据结构与算法1.1 算法算法:是指解题方案的准确而完整的描述是指解题方案的准确而完整的描述. .算法不等于程序算法不等于程序,,也不等计算机方法也不等计算机方法,,程序的编制不可能优于算法的设计程序的编制不可能优于算法的设计. .算法的基本特征:是一组严谨地定义运算顺序的规则是一组严谨地定义运算顺序的规则,,每一个规则都是有效的每一个规则都是有效的,,是明确的是明确的,,此顺序将在有限的次数下终止顺序将在有限的次数下终止..特征包括特征包括: :(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义算法中每一步骤都必须有明确定义,,不充许有模棱两可的解释不充许有模棱两可的解释,,不允许有多义性不允许有多义性; ; (3)有穷性,算法必须能在有限的时间内做完算法必须能在有限的时间内做完,,即能在执行有限个步骤后终止即能在执行有限个步骤后终止,,包括合理的执行时间的含义行时间的含义; ;(4)拥有足够的情报.算法的基本要素:一是对数据对象的运算和操作一是对数据对象的运算和操作;;二是算法的控制结构二是算法的控制结构. .指令系统:一个计算机系统能执行的所有指令的集合一个计算机系统能执行的所有指令的集合. .基本运算和操作包括:算术运算算术运算,,逻辑运算逻辑运算,,关系运算关系运算,,数据传输数据传输. .算法的控制结构:顺序结构,选择结构《分支》环结构.算法基本设计方法:列举法列举法,,归纳法归纳法,,递推递推,,递归递归,,减斗递推技术减斗递推技术,,回溯法回溯法. .算法复杂度:算法时间复杂度和算法空间复杂度算法时间复杂度和算法空间复杂度. .算法时间复杂度是指执行算法所需要的计算工作量.(1)平均性态分析)平均性态分析(2)最坏情况复杂性)最坏情况复杂性算法空间复杂度是指执行这个算法所需要的内存空间.如果额外空间量相对于问题规模来说是常数,则称该算法是原地工作的。
计算机二级C语言公共基础计算机二级C语言公共基础是计算机类专业学生必须掌握的基础知识。
C语言是一种通用的、过程式的编程语言,广泛应用于操作系统、嵌入式系统、游戏开发等领域。
本文将从C语言的基本语法、数据类型、运算符、控制流、函数等方面,介绍C语言的公共基础知识。
一、基本语法C语言的基本语法主要包括变量声明、注释、标识符等。
变量声明即告诉计算机需要分配内存空间来存储变量的值,语法为:```c数据类型变量名;```其中,数据类型可以是int、float、char等,变量名是自定义的名字。
注释用于解释代码的作用,提高代码的可读性,C语言中有两种注释方式:```c//单行注释/*多行注释*/```标识符是变量、函数、数组等自定义名称,标识符必须以字母或下划线开头,由字母、数字和下划线组成。
二、数据类型C语言支持的数据类型包括基本数据类型和派生数据类型。
基本数据类型有int、float、char、double等,派生数据类型有数组、结构体、指针等。
不同的数据类型在内存中占用的空间大小不同,因此在使用时需要根据需要选择合适的数据类型。
三、运算符C语言提供了一系列的运算符用于进行数值计算和逻辑操作。
常见的运算符有算术运算符(+、-、*、/等)、逻辑运算符(&&!等)、关系运算符(>、<、==、!=等)、赋值运算符(=、+=、-=等)等。
通过组合运算符可以进行复杂的运算操作。
四、控制流控制流用于根据条件来控制程序的执行顺序,主要包括条件语句和循环语句。
条件语句用于判断给定条件是否成立,从而决定执行的代码块,常见的条件语句有if语句和switch语句。
循环语句用于重复执行一段代码,常见的循环语句有while循环、do-while循环和for循环。
掌握条件语句和循环语句可以灵活地控制程序的逻辑流程。
五、函数函数是C语言中的一种封装的机制,通过函数可以对代码进行模块化设计,提高代码的重用性和可读性。
计算机二级c公共基础知识计算机二级C是国内常见的计算机软件专业资格认证之一,对于想要从事计算机编程或软件开发工作的人来说,具备C语言的基础知识是必要的。
下面将介绍一些计算机二级C的公共基础知识。
一、C语言概述C语言是一种通用的计算机编程语言,由贝尔实验室的Dennis Ritchie于20世纪70年代开发。
它在系统编程和嵌入式系统开发等领域广泛应用。
C语言的特点包括高效性、可移植性和灵活性,使得它成为了许多计算机科学和信息技术领域的主要编程语言之一。
二、C语言的基本语法和数据类型1. 变量和常量:C语言中需要定义变量来存储数据,并可以使用常量来表示固定的值。
变量的定义需要指定数据类型,如int、float、char等。
2. 运算符:C语言支持各种算术运算、逻辑运算和关系运算,并提供了相应的运算符。
3. 控制语句:C语言提供了分支控制语句(if-else、switch)和循环控制语句(for、while、do-while),用于根据条件执行不同的代码块或者循环执行一段代码。
4. 数组:C语言支持定义和操作一维和多维数组,用于存储一系列相同类型的数据。
5. 函数:C语言使用函数来组织代码和实现代码的重用,可以定义自己的函数并在程序中调用。
三、C语言中的指针和内存管理1. 指针:C语言支持指针,指针是一个变量,它存储了内存地址。
通过指针可以访问和修改内存中的数据。
2. 动态内存分配:C语言提供了动态内存分配函数malloc()和free(),可以根据需要在程序运行时动态地申请和释放内存空间。
四、C语言中的文件操作1. 文件的打开和关闭:C语言提供了打开文件的函数fopen()和关闭文件的函数fclose(),通过文件指针可以对文件进行读写操作。
2. 文件的读写:C语言提供了一系列的文件读写函数,如fread()、fwrite()、fgets()、fprintf()等,用于从文件中读取数据或向文件中写入数据。
第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表示),它是问题规模的函数。
第一章数据结构与算法1.1 算法算法:是指解题方案的准确而完整的描述。
算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。
算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。
特征包括:(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;(4)拥有足够的情报。
算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。
指令系统:一个计算机系统能执行的所有指令的集合。
基本运算和操作包括:算术运算、逻辑运算、关系运算、数据传输。
算法的控制结构:顺序结构、选择结构、循环结构。
算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。
算法复杂度:算法时间复杂度和算法空间复杂度。
算法时间复杂度是指执行算法所需要的计算工作量。
算法空间复杂度是指执行这个算法所需要的内存空间。
1.2 数据结构的基本基本概念数据结构研究的三个方面:(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;(3)对各种数据结构进行的运算。
数据结构是指相互有关联的数据元素的集合。
数据的逻辑结构包含:(1)表示数据元素的信息;(2)表示各数据元素之间的前后件关系。
数据的存储结构有顺序、链接、索引等。
线性结构条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。
非线性结构:不满足线性结构条件的数据结构。
1.3 线性表及其顺序存储结构线性表由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。
在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。
第一部分公共基础部分知识归纳第一章数据结构与算法算法---是一组严谨地定义运算顺序的规则算法的基本要素---一是对数据对象的运算和操作,二是算法的控制结构算法设计基本方法---列举法、归纳法、递推、递归、减半递推算法的复杂度---包括时间复杂度和空间复杂度时间复杂度---执行算法所需的计算工作量空间复杂度---执行算法所需的内存空间数据结构---相互有关联的数据元素的集合。
如春、夏、秋、冬;18、11、35、23、16。
;父亲、儿子、女儿等都是数据元素。
前件---数据元素之间的关系,如父亲是儿子和女儿的前件后件---如儿子是父亲的后件结构---指数据元素之间的前后件关系数据的逻辑结构—是指反映数据元素之间逻辑关系,而与它们在计算机中的存储位置无关数据的存储结构(物理结构)---数据的逻辑结构在计算机存储空间中的存放形式,数据元素在计算机存储空间的位置关系可能与逻辑关系不同。
根据数据结构中各数据元素之间前后件关系的复杂程度,可将数据结构分两类---线性结构与非线性结构线性结构(线性表)---满足下列两个条件(1)有且只有一个根结点(2)每一个结点最多有一个前件和后件。
则称该数据结构为线性结构,否则为非线性结构。
线性表是最简单、最常用的一种数据结构,其数据元素之间的相对位置是线性的,其存储方式为顺序存储的,如数组栈---是限定在一端进行插入与删除的线性表,一端封闭,另一端开口,其操作原则是“先进后出”,栈的运算有入栈、退栈、读栈顶元素队列---是指在一端进行插入(称为队尾)而在另一端进行删除(称为队头)的线性表,其操作规则是“先进先出”,其运算有入队和退队。
树---是一种简单的非线性结构,而且是层次结构,是倒立的大树,有根结点、父结点、子结点、叶子结点。
根结点在第一层,一个结点所拥有的后件的个数称为该结点的度,所有结点中最大的度称为树的度,树的最大层次称为树的深度。
二叉树---(1)非空二叉树只有一个根结点(2)每一个结点最多有两棵子树(左子树和右子树),其存储结构为链式。
二叉树性质---(1)K层上最多有2(K-1)个结点(2)深度为m的二叉树最多有2m-1个结点(3)度为0的结点(叶子结点)比度为2的结点多一个(4)具有n个结点的二叉树,其深度至少为[Log2n]+1,其中[Log2n]表示对Log2n取整满二叉树---除最后一层外,其余层的结点都有两个子结点完全二叉树---除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干结点,叶子结点只可能在层次最大的两层上出现。
满二叉树是完全二叉树,而完全二叉树不是满二叉树。
完全二叉树有两个性质:(1)具有n个结点的完全二叉树的深度为[Log2n]+1(2)二叉树遍历---不重复地访问各个结点。
分为前序遍历(DLR-根左右)、中序遍历(LDR-左根右)和后序遍历(LRD-左右根)查找技术---顺序查找——对于长度为n的有序线性表,查找时需要比较n次二分法查找——对于长度为n的有序线性表,查找时需要比较log2n次排序技术---假设线性表的长度为n,则冒泡排序和简单插入排序的比较次数(时间复杂度)为n(n-1)/2;希尔排序的比较次数为O(n1.5);简单选择排序的比较次数为n(n-1)/2;堆排序的比较次数为O(nlog2n).习题1算法的时间复杂度是指(执行算法所需的计算工作量),算法的空间复杂度是指(执行算法所需的内存空间);线性表、栈、队列、线性链表是(线性结构),树是(非线性结构);数据的存储结构是指(数据的逻辑结构在计算机存储空间中的存放形式);队列是(先进先出),栈是(先进后出);下列二叉树的遍历结果:前序遍历(ABDECF)、中序遍历(DBEAFC)、后续遍历(DEBFCA)在深度为5的满二叉树中,叶子结点的个数为(16);设树T的度为4,其中度为1,2,3,4的结点的个数分别为4,2,1,1。
则T中的叶子结点的个数为(8);对于长度为n的有序线性表,顺序查找次数为(n),二分法查找次数为(log2n);一棵完全二叉树共有700个结点,则在该二叉树中有(350)个叶子结点;一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后续遍历结果为(DEBFCA);冒泡排序的时间复杂度为(n(n-1)/2);在一个容量为15的循环队列中,若头指针front=6,尾指针rear=9,则该循环队列中共有(3)元素;第二章程序设计基础结构化程序设计的三种结构---是顺序、选择和循环对象---表示客观世界的任何实体类---是具有共同属性和方法的对象的集合实例---任何一个对象都是其对应类的实例消息---一个实例和另一个实例之间传递的信息继承---是指直接获得已有的性质和特征,而不必重复定义它们。
例如子类继承父类结构化程序设计主要强调---程序的易读性良好的程序设计风格是---程序应简单、清晰、可读性好在面向对象方法中,一个对象请求另一个对象为其服务的方式是通过发送(消息)来实现的信息隐蔽的概念与(模块独立性)概念直接相关(任何对象都具有继承性)这句话是错误的注释分为(序言性注释)和(功能性注释)在面向对象方法中,信息隐蔽是通过对象的(封装性)来实现的类是一个支持集成的抽象数据类型,而对象是类的(实例)在面向对象方法中,类之间共享属性和操作的机制称为(继承)第三章软件工程基础软件生命周期---软件产品从提出、实现、使用维护到停止使用退役的过程。
分为软件定义、软件开发、软件运行维护三个阶段。
软件生命周期的主要活动阶段---可行性分析、需求分析、软件设计、软件实现、软件测试、运行和维护。
常见的需求分析方法---(1)结构化分析方法---主要包括面向数据流的结构化分析方法SA;面向数据结构的Jackson方法JSD;面向数据结构的结构化数据系统开发方法DSSD。
(2)面向对象的分析方法OOA结构化分析方法工具---(1)数据流图DFD,记住DFD图的几个符号:(2)数据字典DD(3)判定树(4)判定表程序结构图(SC),N-S图,问题分析图(PAD)程序流程图(PFD)的几个符号:软件测试---黑盒测试:功能测试白盒测试:内部结构测试,穷举路径测试习题3在软件生命周期中,能准确地判断软件系统必须做什么和必须具备哪些功能的阶段是(需求分析)软件工程的3个要素(工具),(过程),(方法)检查软件产品是否符合需求定义的过程称为(确认测试)软件设计原则是(抽象)、(模块化)、(信息隐蔽)需求分析常用的工具是(DFD)在结构化方法中,软件功能分解属于(总体设计)阶段软件测试的饿目的是(改正错误)软件需求分析阶段可分为四个方面(需求获取)、(需求分析)、(编写需求格式说明)、(需求评审)软件是(程序)、(数据)、(文档)的集合Jakson方法是一中面向(数据流)的结构化方法软件工程研究的内容包括(软件开发技术)、(软件工程管理)数据流图的类型有(交换型)、(事务型)软件开发环境是全面支持软件开发全过程的(软件工具)集合第四章数据库设计基础数据库---DB;数据库管理系统---DBMS;数据库管理员---DBA;数据库系统---DBS;数据库应用系统---DBAS数据模型所描述的内容分三个部分(数据结构)、(数据操作)、(数据约束)逻辑数据模型分(层次模型)、(网状模型)、(关系模型)、(面向对象模型)E-R模型---实体关系模型,主要由实体、属性、联系组成,联系分:1对1,1对多,多对多;以二维表为基本结构所建立的模型称为关系模型,关系模型采用二维表来表示,简称表,由行和列组成,行称为元组或记录,列称为字段主键---唯一标识一个记录的字段外键---一个表的字段是其他表的主键在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段、数据库系统阶段,其中数据独立性最高的阶段是(数据库系统)数据库系统减少了(数据冗余);数据库系统的核心是(数据库管理系统)用树型结构来表示实体间联系的模型称为(层次模型)关系表中的每一行称为(元组)关系数据库管理系统能实现的专门关系运算包括(选择)、(投影)、(连接)在关系数据库中,用来表示实体之间联系的是(二维表)数据库设计包括两方面的设计内容(概念设计)、(逻辑设计)将E-R图转换到关系模式时,实体与联系都可以表示成(关系)一个项目具有一个项目主管,一个项目主管可以管理多个项目,则实体“项目主管”与“项目”的联系属于(一对多)数据独立性分为逻辑独立性和物理独立性,当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为(逻辑独立性)数据库系统中实现各种数据管理功能的核心软件称为(数据库管理系统DBMS)关系模型的完整性规则是对关系的某种约束条件,包括实体完整性、(参照完整性)和自定义完整性下面是公共基础部分可以变化的题:1 一棵二叉树,第K层上最多有2(k-1)个结点,深度为K的二叉树最多有2k-1个结点,如果是满二叉树呢?例如: 在深度为5的满二叉树中,叶子结点的个数为(=2(5-1)=16)2一棵二叉树共有70个叶子结点和80个度为1的结点,问这个二叉树的总结点是多少? 答:因为度为0的结点(叶子结点)比度为2的结点多一个,所以度为2的结点数是69,所以总结点=70+69+80=219个3一棵完全二叉树共有700个结点,则在该二叉树中有(350)个叶子结点解答:700/2=350若把700改为675呢?(=675/2=337.5进行四舍五入=338)4设树T的度为4,其中度为1,2,3,4的结点的个数分别为4,2,1,1。
则T中的叶子结点的个数为(8)解答:n0=(t-1)n t+(t-2)n(t-1)+...+1*n2+0*n1+1=3*1+2*1+1*2+0*4+1=85在一个容量为15的循环队列中,若头指针front=6,尾指针rear=9,则该循环队列中共有多少个元素?(3个)解答:若头<尾,元素个数=尾-头:若头>尾,元素个数=15+(尾-头)6 设有则R和S能进行交集(R nS)、并集(RuS)、差操作(R-S)如果R和S的元不同的话,则R和S只能进行笛卡尔集(RXS)和自然连接7 关于二叉树遍历问题:有两个题型,一是给出二叉树,求三种遍历结果;二是给出两种遍历,求第三种遍历结果。
后者有点难度三种遍历是:前序(根左右)、中序(左根右)和后序(左右根)8 关于查找和排序问题:查找技术---顺序查找——对于长度为n的有序线性表,查找时需要比较n次二分法查找——对于长度为n的有序线性表,查找时需要比较log2n次排序技术---假设线性表的长度为n,则冒泡排序和简单插入排序的比较次数(时间复杂度)为n(n-1)/2;希尔排序的比较次数为O(n1.5);简单选择排序的比较次数为n(n-1)/2;堆排序的比较次数为O(nlog2n).9 关于出栈的问题:记住是先进后出例1:栈底到顶依次存放A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈可能的序列是ABCED DCBEA DBCEA CDABE例2:如果进栈序列为e1,e2,e3,e4,则可能的出栈序列为:e3,e1,e4,e2 e2,e4,e3,e1 e3,e4,e1,e2 任意顺序10 关于E---R图是实体属性和实体关系图,实体之间的关系有1:1 1:m m:n第二部分全国计算机等级考试二级公共考试训练模拟试题一一选择题(每小题2分)在下列各题的A),B),C),D),4个选项中,只有1个选项是正确选项添涂在答题卡相应位置上,答在试卷上不得分。