《2022年C语言国家二级知识点总结 .docx》由会员分享,可在线阅读,更多相关《2022年C语言国家二级知识点总结 .docx(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品_精品资料_学习好资料欢迎下载可编辑资料 - - - 欢迎下载精品_精品资料_【考点 1】C程序第一部分国家二级学问复习资料第一章 C 语言基本学问可编辑资料 - - - 欢迎下载精品_精品资料_用C语言编写的程序称为 C语言源程序,源程序文件的后缀名为“.c ”.源程序经编译后生成后缀名为“.obj ”的目标文件,再把目标文件与各种库函数连接起来,生成“.exe ”可执行文件. C语言有三种基本结构:次序结构、挑选结构、循环结构.【考点 2】main函数又称主函数,是 C程序的入口. main后面跟一对小括号和一对花括号,花括号括起来的部分称为 main函数的函数体.一个 C程序从mai
2、n函数开头执行,到 main函数体执行完终止,而不论 main函数在整个程序中的位置如何.每一个程序有且仅有一个 main函数,其他函数都是为 main函数服务的.【考点 3】储备形式运算机在电脑中储存数据是采纳二进制形式,由0或1构成的二进制称为位 (bit ),八个位构成一个字节 ( Byte ),1个Byte=8 个bit .二进制、 八进制、 十六进制转化为十进制采纳乘法,十进制转化为二进制、八进制、 十六进制采纳除法. 数据的存放位置就是它的的址.【考点 4】注释是对程序的说明,可显现在程序中任意合适的的方,注释从“/* ”开头到最近一个“*/ ”终止,其间任何内容都不会被运算机执行
3、,注释不行以嵌套.【考点 5】书写格式每条语句的后面必需有一个分号,分号是语句的一部分.一行内可写多条语句,一个语句可写在多行上.【考点 6】标识符是标识名字的有效字符序列,可以懂得为C程序中的单词.标识符的命名规章是:( 1)标识符只能由字母、数字和下划线组成,字母区分大小写.( 2)标识符的第一个字符必需是字母或下划线,不能为数字.C语言标识符分如下 3类( 1)关键字.它们在程序中有固定的含义,不能另作他用.如int 、for 、switch 等.( 2)预定义标识符.预先定义并具有特定含义的标识符.如define 、include等.( 3)用户标识符.用户依据需要定义的标识符,符合命
4、名规章且不与关键字相同.【考点 7】常量与变量常量是指在程序运行过程中,其值不能转变的量.常量分为整型常量、实型常量、字符常量、字符串常量、符号常量5种.在程序运行过程中其值可以转变的量称为变量. C语言中没有字符串变量.存放字符串使用字符数组.【考点 8】整型数据整型常量有十进制、八进制、十六进制三种表示形式,没有二进制形式.八进制整型常量加前导数字 0,十六进制常量加前导 0X, 八进制常量中不会显现 8.整型变量可分为基本整型(int )、短整型( short )、长整型( long )、和无符号整型( unsigned ).一个基本整型占 4个字节.其它类型的整型占用字节数和取值范畴详
5、见教材第9页.【考点 9】实型数据实型数据有两种表示形式:小数形式和指数形式.把握判定指数形式合法性.口诀: E前E后必有数, E后必需为整数.实型变量分为单精度型(float)和双精度型( double ),单精度型占四个字节.【考点 10】算术运算算术运算符一共有+、 * 、/ 、%这五个.求余运算要求运算对象只能为整型,除法运算符两边运算对象都为整型时,运算结果也为整型即舍掉小数部分.【考点 11】强制类型转换将一个运算对象转换成指定类型,格式为(类型名)表达式,留意小括号位置.可编辑资料 - - - 欢迎下载精品_精品资料_可编辑资料 - - - 欢迎下载精品_精品资料_【考点 12】
6、赋值学习好资料欢迎下载可编辑资料 - - - 欢迎下载精品_精品资料_赋值运算符为“ =”,不同于关系等于“ = =”.赋值表达式格式为:变量名=表达式,赋值运算符左边必需为变量,赋值运算是把赋值运算符右边表达式的值赋给左边变量.复合赋值运算符是将算术运算符或位运算符与赋值运算符组合在一起组成的运算符,把握复合赋值表达式转化为赋值表达式的方法.如 n+=100可转化为 n=n+100.【考点 13】自加自减运算自加运算符“ +”与自减运算符“- ”是单目运算符,运算对象必需是变量.自增自减运算分前缀运算和后缀运算,它们所对应的表达式的值是有区分的,如j=i+;等价于 j=i;i=i+1;而j=
7、+i;等价于 i=i+1;j=i;.口诀:加加在前先加后用,加加在后先用后加.【考点 14】逗号运算逗号运算符运算优先级最低,可将多个表达式构成一个新的表达式.其次章 次序结构【考点 1】运算符、表达式、语句运算对象加运算符构成表达式,表达式加分号构成表达式语句,运算对象可以是表达式、常量、变量.如赋值运算符加运算对象构成赋值表达式,赋值表达式加分号又可构成赋值语句.【考点 2】运算符的优先级和结合次序运算符按参与运算的对象数目可分为单目运算符、双目运算符和三目运算符.初等运算符的优先级别最高,然后依次是单目运算符、算术运算符、关系运算符、规律运算符(除规律非;)、条件运算符、赋值运算符、逗号
8、运算符.位运算符优先级介于算术运算符与规律运算符之间.结合次序大多为自左向右,而自右向左的有三个:单目运算符、条件运算符和赋值运算符.【考点 3】printf函数格式为: printf输出掌握,输出列表 .输出掌握是用一对双引号括起来的,包含格式说明和原样信息.输出列表包含如干输出项.【考点 4】printf函数中格式说明%d对应整型, %f对应单精度实型, %c对应字符型, %o对应八进制无符号整型, %x对应无符号十六进制整型, %u对应无符号整型, %e对应指数型, %s对应字符串型.可在 %和格式字符之间加一个数来掌握数据所占的宽度和小数位数.【考点 5】scanf 函数输入项要求带取
9、的址符 &.当用键盘输入多个数据时,数据之间用分隔符.分隔符包括空格符、制表符和回车符,但不包括逗号.【考点】 6如何交换两个变量要使用中间变量,语句为:t=x; x=y; x=t;.第三章 挑选结构【考点 1】关系运算C语言用非 0表示规律真,用 0表示规律假.关系运算符有6个,分别是 , =,=, =, .= ,前四种优先级高于后两种.关系表达式真时为 1,假时为 0.留意 abc是不行以的,可用 ab&bc 来表示.【考点 2】规律运算规律运算符共有 3个:规律与( &),规律或( | ),规律非( . ).留意短路现象,例 a+|b+ ,假如表达式 a+的值非零,就表达式b+不再执行.
10、【考点 3】if 语句可以单独显现,也可以与else 匹配显现. if 语句可以嵌套,这时else 总是与离它最近的且没有与else 匹配的 if 匹配.【考点 4】条件运算是唯独的三目运算符,格式为:表达式1.表达式 2: 表达式 3.表达式 1值为非 0时,整个表达式值为表达式2的值,表达式 1值为 0时, 整个表达式值为表达式 3的值.口诀:真前假后【考点 5】switch 语句格式及执行过程详见教材P33,要留意每条 case 后有没有 break 语句的区分.仍要留意 switch 后小括号里面的表达式不能为实型,可编辑资料 - - - 欢迎下载精品_精品资料_可编辑资料 - - -
11、 欢迎下载精品_精品资料_case后表达式不能有变量.口诀: switch 表不为实, case 表不为变.【考点 1】三种循环结构学习好资料欢迎下载第四章循环结构可编辑资料 - - - 欢迎下载精品_精品资料_三种循环结构分别为: while ,do-while ,for ,三种结构的格式及执行次序详见教材第36、39、40页.留意 for 循环中的小括号中必需是两个分号.循环肯定要有终止条件,否就成了死循环.do-while循环最终的 while.后肯定要有分号.【考点 2】break 与continuebreak 是终止所在整个循环,而continue 是提前终止本轮循环. break
12、语句可显现在循环结构与switch 语句中, continue 只显现在循环结构中.【考点 3】循环的嵌套就是循环里面仍有循环,运算要一层一层分析,一般只考查两层嵌套,循环嵌套通常是处理二维数组.【考点 4】循环结构的复习循环结构是重点,笔试所占分值一般在13分左右,在上机考试中也是必考点,应用性很强.要求学员重点懂得并多加练习,领悟把握.第五章 字符型数据 位运算【考点 1】字符常量一个字符常量用一对单引号括起来,字符常量只能包括一个字符,ab是非法的.空格常用来表示.字符常量可用对应的ASCII 码表示,需记住:0的ASCII 码为 48, A的 ASCII 码为 65, a的ASCII
13、码为 97.【考点 2】转义字符一对单引号中以一个反斜线后跟一个特定字符或八进制、十六进制数来构成转义字符. 比如 n 表示换行, 101 或 x41 表示ASCII 码为65的字符 A.【考点 3】字符型数据可以和整型数据相互转换可编辑资料 - - - 欢迎下载精品_精品资料_如: 0-0=48 A+32= a char a=65;printf“ %d%”c【考点 4】位运算符,a,a;结果为 65A可编辑资料 - - - 欢迎下载精品_精品资料_C语言供应 6种位运算符:按位求反 ,按位左移 ,按位与 &,按位异或 | ,按位或 .一般情形下需要先转化进制.异或运算的规章: 0异或 1得到
14、 1, 0异或 0得到 0,1异或 1得到 0.可记为“相同为 0,不同为 1”.【考点 5】putchar 与getchar 函数可用于输出或输入单个字符,这两个函数是stdio.h文件中的库函数,它们是printf与scanf 函数的简化.第六章函数【考点 1】函数的定义函数是具有肯定功能的一个程序块.函数的首部为:函数类型函数名(类型 1 形参 1,类型 2 形参 2,).在函数定义中不行以再定义函数,即不能嵌套定义函数.函数类型默认为int 型.【考点 2】库函数调用 C语言标准库函数时要包含include 命令, include 命令行以 #开头,后面是”或 括起来的后缀为” .h
15、”的头文件.以 #开头的一行称为编译预处理命令行,编译预处理不是C语言语句,不加分号,不占运行时间.【考点 3】函数的返回值函数通过 return语句返回一个值,返回的值类型与函数类型一样.return 语句只执行一次,执行完或函数体终止后退出函数.【考点 4】函数的声明函数要“先定义后调用”,或“先声明再调用后定义”.函数的声明肯定要有函数名、函数返回值类型、函数参数类型,但不肯定要有形参的名称.【考点 5】函数的调用程序从上往下执行,当遇到函数名后,把值传给调用函数,当程序得到了返回值或调用函数终止,再次序往下执行.【考点 6】函数的参数及值传递可编辑资料 - - - 欢迎下载精品_精品资
16、料_学习好资料欢迎下载形式参数简称形参,是定义函数时函数名后面括号中的参数.实在参数简称实参,是调用函数时函数名后面括号中的参数.实参和形参分别占据不同的储备单元.实参向形参单向传递数值.“传值”与“传址”的区分:传数值的话,形参的变化不会转变实参的变化.传的址的话,形参的变化就有可能转变实参所对应的量.【考点 7】函数的递归调用函数直接或间接的调用自己称为函数的递归调用.递归调用必需有一个明确的终止递归的条件.在做递归题时可把递归的步骤一步步写下来,不要弄颠倒了.【考点 8】要求把握的库函数sqrt算术平方根函数, fabs 肯定值函数, pow 幂函数, sin正弦函数第七章指针【考点 1
17、】指针变量指针变量是用来储备的址的,而一般变量是储备数值的.指针变量可指向任意一种数据类型,但不管它指向的数据占用多少字节, 一个指针变量占用四个字节.【考点 2】指针变量的定义格式为:类型名 * 指针变量名.二维指针 int *p;可以懂得为基类型为 int *类型.【考点 3】指针变量的初始化指针变量在使用前必需要初始化,把一个具体的的址赋给它,否就引用时会有副作用,假如不指向任何数据就赋“空值”NULL.【考点 4】指针变量的引用&是取的址符, * 是间接拜访运算符,它们是互逆的两个运算符.在指针变量名前加间接拜访运算符就等价它所指向的量.【考点 5】指针的运算*p+ 和*p+ 之间的差
18、别: *p+ 是的址变化, *p+ 是指针变量所指的数据变化.一个指针变量加一个整数不是简洁的数学相加, 而是连续移动如干的址.当两个指针指向同一数组时,它们可以比较大小进行减法运算.第八章数组【考点 1】数组的定义数组是一组具有相同类型的数据的集合,这些数据称为数组元素.格式为:类型名数组名 常量表达式 .数组的所占字节数为元素个数与基类型所占字节数的乘积.【考点 2】数组的初始化第一维长度可以不写,其它维必需写. int a=1,2; 合法, int a3=2,3,4;合法, int a2=2,3,4;非法.数组初始化元素值默认为 0,没有初始化元素值为随机.如在 int a5=0,1,2
19、; 中,元素 a4 值为 0.而在 int a5; 中,元素 a4 值为一个不确定的随机数.【考点 3】元素的引用数组元素的下标从 0开头,到数组长度减 1终止.所以 inta5;中数组最终一个元素是 a4 .要把数组元素看作一个整体,可以把a4 当作一个整型变量.【考点 4】二维数组数组 a23=1,2,3,4,5,6;中含 6个元素,有 2行3列.第一行为 a0 行,第 2行为 a1 行, a0 、a1 叫行首的址,是的址常量.*a0+1是第一行第一个元素往后跳一列,即元素a01值为 2,*a0+3是第一行第一个元素往后跳三个,即元素a10值为4.【考点 5】行指针是一个指针变量,占四个字
20、节,行指针指向一行连续数据,形式为:int *p2;, p只能存放含有两个整型元素的一维数组的首的址.留意 *p 两边的小括号不能省略,否就就成了指针数组,是如干指针元素的集合.【考点 6】数组名数组名是数组的首的址.数组名不能单独引用,不能通过一个数组名代表全部元素.数组名是的址常量,不能对数组名赋值,所以a+是错误的.但数组名可以作为的址与一个整数相加得到一个新的址.【考点 7】元素形式的转换助记:“脱衣服法就” a2 变成 *a+2 , a23变成 *a+23再可变成 *a+2+3.可编辑资料 - - - 欢迎下载精品_精品资料_可编辑资料 - - - 欢迎下载精品_精品资料_【考点 1
21、】字符串常量及表示学习好资料欢迎下载第九章 字符串可编辑资料 - - - 欢迎下载精品_精品资料_字符串常量是由双引号括起来的一串字符,如”ABC”.在储备字符串时,系统会自动在其尾部加上一个空值0 ,空值也要占用一个字节,也就是字符串”ABC”需要占四个字节.【考点 2】字符数组C语言没有字符串变量,只能采纳字符数组来储备字符串.数组的大小应当比它将要实际存放的最长字符串多一个元素,从而存放 0 .【考点 3】字符串赋值可 以 用 下 面 的 形 式 进 行 赋 值 : charstr=” Hello. ”; 或 char*p;p= ” Hello. ” ; , 但 不 能 用 下 面 的
22、形 式 : char str10;str=”Hello ” ; 由于str 是一个的址常量,不能进行赋值操作.【考点 4】字符串的输入与输出可以用 scanf 和printf函数,如 scanf ” %s” ,str;,也可用特的处理字符串的两个函数gets 和puts 函数,仍可以对字符数组逐个元素进行赋值,但肯定要在最终赋一个0 .使用 gets 函数可以接收空格,使用 puts 函数在最终输出一个换行.【考点 5】字符串函数要把握的四个字符串函数:字符串拷贝函数strcpy (),求字符串长度函数 strlen(),字符串链接函数 strcat(),字符串比较函数strcmp ().使用
23、这些函数需在预处理部分包含头文件”string.h”.字符串长度要小于字符数组的长度,例:char str10=”Hello ”;sizeofstr的值为 10(数组长度) , strlenstr的值为 5(字符串长度).这些函数是考试常用到的函数,大家肯定要娴熟应用这几个函数.第十章 结构体与共用体【考点 1】结构体类型的说明结构体是如干个类型数据的集合,结构体类型说明格式如下:struct类型名 类型1 成员名 1; 类型 2 成员名 2; ; ,以上整个部分是一个数据类型,与整型的int 是同样位置.可用 typedef 把结构体类型替换成一个只有几个字母的简短标识符.【考点 2】结构体
24、变量的定义结构体变量是用说明的结构体类型所定义的一个变量,与结构体类型不是一回事.一个结构体变量所占字节数为其全部成员所占字节数之和.如 struct stuchar name10;int age; a,b;就说明定义了两个结构体变量a,b, 每个变量占 14个字节. a,b 与int i,j;中的变量 i,j是同样位置.【考点 3】结构体成员的引用引用成员可用以下3种方式:(1)结构体变量名 . 成员名.(2)指针变量名 - 成员名:(3)(* 指针变量名) . 成员名.点( . )称为成员运算符,箭头(- )称为结构指向运算符.【考点 4】链表链表是由一个个结点构成的,一个结点就是一个结构
25、体变量.每个结点可以分为数据域与指针域两个部分,数据域用来存放要储备的数据,指针域用来指向下一个结点.链表是考试中的难点,在C语言和公共基础部分都会考到,要领悟把握.【考点 5】共用体共用体的使用格式与结构体相像,共用体定义的关键字为union ,共用体所占字节数是全部成员中字节数最大的那个.第十一章 文件【考点 1】文件类型指针文件指针是一个指向结构体类型的指针,定义格式为:FILE * 指针变量名.在使用文件时,都需要先定义文件指针.【考点 2】文本文件与二进制文件文 本 形 式 存 放 的 是 字 符 的 ASCII 码 , 二 进 制 形 式 存 放 的 是 数 据 的 二 进 制 .
26、 例 如 “ 100” 如 果 是 文 本 形 式 就 是 储备 1、 0、 0三个字符的 ASCII 码( 00110001 00110000 00110000),假如是二进制形式就把 100 转化成二进制( 01100100).【考点 3】打开文件文件的打开形式如下: FILE *fp; fp=fopen“c:lab.c” , ” rb ” ; .fopen 函数的前面一部分为文件名,后面一部分为文件的使用方式.打开方式详见教材第127页,其中 r 代表读, w代表写, a代表添加, b代表二进制位的.【考点 4】文件函数判定文件终止 feof 函数,移动文件指针位置fseek 函数,获得
27、文件位置ftell函数,文件位置移到开头rewind 函数,文件字符输入可编辑资料 - - - 欢迎下载精品_精品资料_学习好资料欢迎下载输出fgetc 函数和fputc 函数,文件输入输出 fscanf 函数和 fprintffread 函数和fwrite函数.函数,文件字符串输入输出fgets 函数和 fputs 函数,读写二进制文件以上函数要求知道格式会用,清晰是用于二进制文件仍是文本文件,要把教材文件这章认真复习下,不要在考试的时候把这些文件函数搞混了.第十二章深化争论【考点 1】编译预处理凡以#开头的这一行, 都是编译预处理命令行, 编译预处理不加分号, 不占运行时间. 宏替换仅是简
28、洁的文本替换, 如#define fx x*x和#define fx x*x替换f2+2 时就有区分,前者绽开为 2+2*2+2,后者为 2+2*2+2 .假如源文件 f2.c 中有 #include ”f1.c ”可以懂得为把源文件f1.c 原样包含到 f2.c 中,使 f1.c 和f2.c 融合到一起成为一个 C程序编译.所以一个 C程序必有主函数,但一个 C源文件未必有主函数.【考点 2】标识符作用域局部变量是在函数内或复合语句内定义的变量,作用域为定义它的函数内.局部变量有三种类型:自动auto ,寄存器 register和静态static.自动变量随着函数的使用与否创建消逝.寄存器变
29、量安排在cpu中,没有内存的址.静态变量占用固定储备单元,在程序执行过程不释放,直到程序运行终止.全局变量是在函数外定义的变量,作用域从定义它的位置到整个源文件终止为止,生存期为整个程序运行期间.全局变量都是静态变量.【考点 3】动态储备安排mallocsize用来创建连续 size 个字节储备区,返回值类型为void * 型.malloc 函数常用于动态创建链表结点,如int*p;p=int*mallocsizeofint;.calloc(n,size)创建 n个同一类型的储备空间,可以懂得为n个malloc .freep释放动态安排的储备单元.可编辑资料 - - - 欢迎下载精品_精品资料
30、_【考点 1】算法的基本概念其次部分公共基础学问资料第一章数据结构与算法可编辑资料 - - - 欢迎下载精品_精品资料_算法:是指一组有穷的指令集,是解题方案的精确而完整的描述.算法不等于程序,也不等于运算方法.算法的基本特点:确定性,算法中每一步骤都必需有明确定义,不答应有多义性.有穷性,算法必需能在有限的时间内做完,即能在执行有限个步骤后终止. 可行性,算法原就上能够精确的执行.拥有足够的情报.算法的组成要素:一个算法由数据对象的运算和操作以及其掌握结构这两部分组成.算法的基本运算和操作:算术运算,规律运算,关系运算,数据传输.算法的基本掌握结构:次序,挑选,循环.算法基本设计方法:列举法
31、、归纳法、递推、递归、减半递推技术.【考点 2】算法的复杂度算法效率的度量算法的复杂度:时间复杂度和空间复杂度.算法时间复杂度:指执行算法所需要的运算工作量.通常,一个算法所用的时间包括编译时间和运行时间.算法空间复杂度:指执行这个算法所需要的内存空间.包括算法程序所占的空间,输入的初始数据所占的空间,算法执行过程中所需的额外空间.空间复杂度和时间复杂度并不相关.【考点 3】数据结构的基本概念可编辑资料 - - - 欢迎下载精品_精品资料_学习好资料欢迎下载数据:数据是客观事物的符号表示,是能输入到运算机中并被运算程序识别和处理的符号的总称,如文档,声音,视频等.数据元素:数据元素是数据的基本
32、单位.数据对象:数据对象是性质相同的数据元素的集合.数据结构:是指由某一数据对象中全部数据成员之间的关系组成的集合.【考点 4】规律结构和储备结构数据结构可分为数据的规律结构和储备结构.数据的规律结构是对数据元素之间的规律关系的描述,与数据的储备无关,是面对问题的,是独立于运算机的.它包括数据对象和数据对象之间的关系.数据的储备结构也称为数据的物理结构,是数据在运算机中的存放的方式,是面对运算机的, 它包括数据元素的储备方式和关系的储备方式.数据结构和规律结构的关系:一种数据的规律结构可以表示成多种储备结构即数据的规律结构和储备结构不肯定一一对应.常见的储备结构有:次序,链接,索引等.采纳不同
33、的储备结构其数据处理的效率是不同的.【考点 5】线性结构和非线性结构线性结构的条件(一个非空数据结构 :( 1)有且只有一个根结点. ( 2)每一个结点最多有一个前件,也最多有一个后件.非线性结构:不满意线性结构条件的数据结构.栈、队列、双向链表是线性结构,树、二叉树为非线性结构.【考点 6】线性表及其次序储备结构线性表是由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的.在复杂线性表中,由如干项数据元素组成的数据元素称为记录.由多个记录构成的线性表称为文件. 非空线性表的结构特点:(1) 有且只有一个根结点 a1,它无前件.(2) 有且只有一个终端结点 an,它
34、无后件.(3) 除根结点与终端结点外,其他全部结点有且只有一个前件,也有且只有一个后件.结点个数 n称为线性表的长度,当 n=0时,称为空表.线性表的次序储备结构具有以下两个基本特点:(1) 线性表中全部元素所占的储备空间是连续的.(2) 线性表中各数据元素在储备空间中是按规律次序依次存放的.元素 ai 的储备的址为: ADRai=ADRa1+i-1*k, ADRa1为第一个元素的的址, k代表每个元素占的字节数.次序表的运算:查找、插入、删除.【考点 7】线性链表线性链表是线性表的链式储备结构,数据结构中的每一个结点对应于一个储备单元,这种储备单元称为储备结点,简称结点.结点由两部分组成:
35、1用于储备数据元素值,称为数据域.2用于存放指针,称为指针域,用于指向前一个或后一个结点.在链式储备结构中,储备数据结构的储备空间可以不连续,各数据结点的储备次序与数据元素之间的规律关系可以不一样,而数据元素之间的规律关系是由指针域来确定的.链式储备方式既可用于表示线性结构,也可用于表示非线性结构.线性单链表中, HEAD称为头指针, HEAD=NUL(L或 0)称为空表.双向链表有两个指针:左指针(Llink)指向前件结点,右指针(Rlink )指向后件结点.可编辑资料 - - - 欢迎下载精品_精品资料_学习好资料欢迎下载循环链表:循环链表与单链表的不同的是它的最终一个结点的指针域存放的事
36、指向第一个结点的指针而单链表存放的是空指针.线性链表的基本运算:查找、插入、删除.【考点 8】栈1、栈的基本概念栈是一种特别的线性表,只答应在表的一端进行插入和删除的线性表.插入,删除的一端为栈顶,另一端为栈底.当表中没有元素时为空栈.栈是一种后进先出(或先进后出Last In First Out)的线性表.栈具有记忆功能.栈的实例:火车调度,子弹夹.2、栈的储备结构次序储备结构:用一组的址连续的储备单元即一维数组来储备. 链式储备:用线性链表来储备.3、栈的基本运算(1) 入栈运算,在栈顶位置插入元素.(2) 退栈运算,删除元素 取出栈顶元素并赋给一个指定的变量 .(3) 读栈顶元素,将栈顶
37、元素赋给一个指定的变量,此时指针无变化.【考点 9】队列1. 队列的基本概念队列是一种特别的线性表,只答应在表的一端插入,在另一端删除,答应插入的一端是队尾(rear ),答应删除的一端为队头( front).当表中没有元素是空队列.队列是一种先进先出的线性表.FIFO2、队列的储备结构 次序储备:一维数组.链式储备:线性链表.3、队列的运算 :1入队运算:从队尾插入一个元素.2退队运算:从队头删除一个元素.队列的次序储备结构一般采纳循环队列的形式.循环队列s=0表示队列为空. s=1 且front=rear表示队满.运算循环队列的元素个数:“尾指针减头指针”,如为负数,再加其容量即可.【考点
38、 10】树的基本概念树是一种非线性结构,是 n个结点的有限集.当 n=0 时为空树, n0时为非空树.结点的度:结点所拥有的子树的个数.叶子结点:度为 0的结点.分支结点:除叶子结点以外的结点.结点的层次:根结点在第一层,同一层上左右结点的子结点在下一层.树的深度:所处层次最大的那个结点的层次.树的度:树中全部结点的度的最大值.【考点 11】二叉树及其基本性质1、二叉树的概念二叉树是一种特别的树形结构,每个结点最多只有两棵子树,且有左右之分不能互换,因此,二叉树有五种不同的形状,见教材12页.2、二叉树的性质性质 1 在二叉树的第 k层上,最多有 2k-1 k 1)个结点.可编辑资料 - -
39、- 欢迎下载精品_精品资料_m性质 2 深度为 m的二叉树最多有 2 -1 个结点.学习好资料欢迎下载可编辑资料 - - - 欢迎下载精品_精品资料_性质 3 在任意一棵二叉树中,度为0的结点(叶子结点)总是比度为2的结点多一个.性质 4 具有n个结点的二叉树,其深度不小于log 2 n+1, 其中log 2 n 表示为 log 2n的整数部分.3、二叉树的储备结构:详见教材第13-14 页.【考点 12】满二叉树与完全二叉树满二叉树:除最终一层外,每一层上的全部结点都有两个子结点.在满二叉树中,每一层上的结点数都达到最大值,即在满二叉树的第k层上有 2k-1 个结点,且深度为 m的满二叉树有
40、 2m1个结点.完全二叉树是指这样的二叉树:除最终一层外,每一层上的结点数均达到最大值.在最终一层上只缺少右边的如干结点.满二叉树是完全二叉树,而完全二叉树一般不是满二叉树.【考点 13】完全二叉树的性质性质 1 具有n个结点的完全二叉树的深度为log 2n+1 .性质 2 完全二叉树中度为 1的结点数为 0或1.【考点 14】二叉树的遍历前序遍历:先拜访根结点、然后遍历左子树,最终遍历右子树.并且,在遍历左、右子树时,仍旧先拜访根结点,然后遍历左子树,最终遍历右子树.前序遍历图 5可得: ABCDFHE.G中序遍历:先遍历左子树、然后拜访根结点,最终遍历右子树.并且,在遍历左、右子树时,仍旧
41、先遍历左子树,然后拜访根结点,最终遍历右子树.中序遍历图 5可得: BAFHDCG.E后序遍历:先遍历左子树、然后遍历右子树,最终拜访根结点.并且,在遍历左、右子树时,仍旧先遍历左子树,然后遍历右子树,最终拜访根结点.后序遍历图 5可得: BHFDGEC.A【考点 15】次序查找次序查找是从表的一端开头,依次扫描表中的各个元素,并与所要查找的数进行比较.在以下两种情形下也只能采纳次序查找:(1) 假如线性表为无序表,就不管是次序储备结构仍是链式储备结构,只能用次序查找.(2) 即使是有序线性表,假如采纳链式储备结构,也只能用次序查找.【考点 16】二分查找二分查找的条件: (1)用次序储备结构
42、2线性表是有序表.查找的步骤:详见教材第 16页.对于长度为 n的有序线性表,在最坏情形下,二分法查找只需比较log 2n次,而次序查找需要比较n次.【考点 17】排序1、交换排序(1) 冒泡排序法,在最坏的情形下,冒泡排序需要比较次数为nn 1/2 .(2) 快速排序法 ,在最坏的情形下,快速排序需要比较次数为nn 1/2 .2、插入类排序法:(1) 简洁插入排序法,最坏情形需要nn-1/2次比较.(2) 希尔排序法,最坏情形需要On1.5 次比较.(大写 O是算法复杂度的表示方法) 3、挑选类排序法:(1) 简洁挑选排序法,最坏情形需要nn-1/2次比较.可编辑资料 - - - 欢迎下载精
43、品_精品资料_学习好资料欢迎下载(2) 堆排序法,最坏情形需要Onlog 2 n 次比较.相比以上几种 除希尔排序法外 ,堆排序法的时间复杂度最小.其次章程序设计基础【考点 1】程序设计方法与风格形成良好的程序设计风格需留意: 详见教材第 19页 .1、源程序文档化. 2 、数据说明的方法.3 、语句的结构.4 、输入和输出.注释分序言性注释和功能性注释.语句结构清晰第一、效率其次.【考点 2】结构化程序设计方法的四条原就1、自顶向下. 2 、逐步求精. 3 、模块化. 4 、限制使用 goto 语句.【考点 3】结构化程序的基本结构次序结构:是最基本、最一般的结构形式,依据程序中的语句行的先
44、后次序逐条执行.挑选结构:又称为分支结构,它包括简洁挑选和多分支挑选结构.循环结构:依据给定的条件,判定是否要重复执行某一相同的或类似的程序段.循环结构对应两类循环语句:先判定后执行的循环体称为当型循环结构.先执行循环体后判定的称为直到型循环结构.【考点 4】面对对象的程序设计及面对对象方法的优点面对对象的程序设计以对象为核心,强调对象的抽象性,封装性,继承性和多态性.面对对象方法的优点(1)人类习惯的思维方法一样.( 2)稳固性好.(3)可重用性好.(4)易于开发大型软件产品.(5)可爱护性好.【考点 5】对象及其特点对象( object ):面对对象方法中最基本的概念,可以用来表示客观世界中的任何实体,对象是实体的抽象.对象的基本特点:(1)标识惟一性.( 2)分类性. (3)多态性. (4)封装性. (5)模块独立性好.【考点 6】属性,类和实例属性:即对象所包含的信息,它在设计对象时确定,一般只能通过执行对象的操作来