个人笔记,主要是我注意到的一些二级考试比较偏的点,总结起来,来和大家分享
1.结构化程序的基本原则
1.自顶而下:由总到小,由全局到局部;
2.逐步求精:由复杂到逐步细化;
3.模块化:由总目标分成小目标、小模块;
4.限用 goto语句.
2.各种排序的消耗情况
例:(当然不仅仅这么多,在这就只举这几个例子)
type\time | avg | great | bad | Zoom |
---|---|---|---|---|
直接插入 | O(n^2) | O(n) | O(n^2) | O(1) |
直接选择 | O(n^2) | O(n^2) | O(n^2) | O(1) |
堆排序 | O(nlog2(n)) | O(nlog2(n)) | O(nlog2(n)) | O(1) |
冒泡排序 | O(n^2) | O(n^2) | O(n^2) | O(1) |
快速排序 | O(nlog2(n)) | O(nlog2(n)) | O(n^2) | O(nlog2(n)) |
3.数据结构的概念
选择题一般都会出,
数组、栈、队列、链表、树、二叉树、堆,这些基本概念最好看一看
4.关系运算
选择、投影、连接、除法,还有什么交、并、笛卡儿积、自然连接什么的,最好都要知道
5.面向对象
也有许多概念最好记住的,
比如四个特征:抽象性、封装性、继承性、多态性
6.取模运算%
异号取模:
if |x|>|y|
return x+y ;
else
x;
同号取模:
if |x|>|y|
return x-y;
else
x;
7.switch语句应该注意的事
default语句,不用注意位置,switch会先看case语句;
注意break的有无;
switch()的括号内,不能用浮点数、long型、字符串
可以是整数、字符、枚举
8.strlen()与sizeof()
strlen()里’\0’不占用字符长度的
sizeof()里’\0’是占用内存空间的
9.return应该注意的
1)允许多个return在一个函数里,但是一次只可以返回一个
2)void类型,不允许使用return和从此函数获得返回值
3)没有return语句的函数在执行到函数的最后一条语句后会自动返回调用处
10.二叉树的结点公式
叶子结点总是比度为2的结点多一个
公式:(数字表示度的值,n表示总结点数)
n0 = n2 + 1
n = n0 + n1 + n2
11.程序调试任务
诊断和改正程序中的错误
12.数据库
数据库在需求分析阶段建立数据字典
13.软件过程
软件过程不规范不属于软件危机表现
14.PAD图和DFD图
PAD图:问题分析图,软件详细设计表示工具
DFD图:数据流图,程序设计不会使用这个图
15.字符串
字符串要用“”双引号定义,并且字符型数组存放
16.c语言
c语言中只有字符串常量,而没有字符串变量
17.feof
feof是用输入流读取数据,若到文件末尾(文件结束符),返回值为非0值,否则则为0.