目录
1.各种图的说明
2.二叉树专题
4.位运算
5,算法的特征:
6.标识符总结
7,栈和队列
8.c语言实质
9.指针(数组,二维数组,文件 ,函数 等类型的指针)
10.算法的特征:
11.标识符总结
1.各种图的说明 软件开发阶段
1.规划阶段: UC图
2.可行性分析阶段 : 系统流程图
3.需求分析阶段 : DFD IPO STD
4.概要设计:层次图,HIPO
5.详细设计:程序流程图 ,PAD, N-S图
数据库的图1.E-R图
1.矩形:实体
2.椭圆:属性
3.菱形:关系
2.二叉树专题 二叉树中度为0 的节点和度为2 的节点的关系
3.查找和排序算法专题 一,查找(最坏的比较次数)
1顺序查找:n
2二分查找:log 2 n;
二,排序 1,常见的排序算法稳定的:直接插入排序 ,冒泡排序,归并排序
一,插入排序(1)直接插入排序:打牌,遍历每一张牌,找到合适的位置插入进去(合适的位置:比左大,比右小)
(2)希尔排序:插入排序的升级版,特点是,把牌分成几份然后进行插入
二,选择排序(1)简单选择排序:每一轮选择出最大的和最小的,分别排在上一轮选出的大小王后面
(2)堆排序:类似于二叉树,每一轮输出最大的或者最小的,输出完之之就出局
三,交换排序(1)冒泡排序:每个数不停的轮完一次和右边的数的交换
(2)快速排序:选择基准数(通常用最右边的),两边来回比较,直到分组只剩下一个数时
四,归并排序(1)不停的二路拆开,到单独个体之后排序,然后合并
易混淆的排序:(平均复杂度最小的的:“快堆并”,最坏情况下最小的:“堆并")
4.位运算 &:按位与
同一为1
|:按位或同0为0
^:按位异或:不同为1,相同为0
~:按位取反:1变0,0变1
5,算法的特征:
1.有穷性
2.可行性
3.健壮性
4,输入:可以有0个或者多个输入
5,输出:不可能没有输出
6.标识符总结
1.由下划线,数字,和字母组成,但是不能以数字开头
2.八进制的开头为0,十六进制开头为0X ,可以在小数点后面开头,如:12.0X23123
3.科学技术法表示: E/e 后面一定要是整数 , .123E3 也可 或者 。123E+3
4,数字中不能有逗号
5,八进制数字中不能有8和8以上
6.关键字不能作为标识符
7.标识符并不能认为大写和小写的标识符是一样的
7,栈和队列 1.栈:
--b = ;
2.队列:rear = bear = 1 ; 两种情况,1是为空,2是栈满
rear = bear ; 栈满
8.c语言实质 0.归类:结构化语言
1.顶向下
2.逐步求精
3.模块化
4.限制使用goto语句
目的:让语言更具有易读性,利于维护
函数构成结构化语言!
1.基本结构: 1.线性结构(一对一)数组 , 队列 ,栈 ,串
2.非线性结构(一对多或者多对一)二维数组,多维数组,广义表,二叉树
2.语言编译流程代码编译 -------> .obj指令文件 -----------> .exe执行文件
9.指针(数组,二维数组,文件 ,函数 等类型的指针) 1.数组
char s[10]="asda" ; 正确
char s[10]; s="asda";错误
char *s ;s= ”asda“ ;正确
char *s ;s={"asda"}; 错误
int n = 3 ,*p =&n ; 正确 ; 此时是边声明变初始化
int n =3 ; *p = &n;错误 ; 此时*p是值,&n是地址,二者不相同
int a[3],*p =a ; a[2] 等同 *(a+2) ;正确
int a[3],*p =a ; a[2] 等同 *a+2 ;错误 表示 a[0]的值+2
2,指针指向二维数组的调用
1,void A( (*a)[n] , *b ) {}
void main ()
{ int x[N][N] ,y[N] ;
A(x , y); //调用函数
}
2,int m[2][3] ,(*q)[3];
q = m ;
(1) *(*(q+1)+2);正确
(2)*(q[1]+2);正确和上面相同
3,指针指向文件的调用
void a( char *fildmdle )
{
File *fp ;
Fopen=( fp = ( fildmdle ,"+r" ); ); //此时不带*号,是因为 传递的是引用参数,去除信号就代表地址,数组 //首地址名可以表示整个数组
}
void main ()
{
a( "student , date " );
}
void f1 ( int x ) { xxxx ; }
void (*f)( ) ;
f = f1 ;
f(a);
5.数组指针的地址作为参数去传递,是否会改变实参的值
不会,如若将指向数组的指针*p,将其地址作为参数传递,那么若要改变其原本实参的值,一定要是指针的指针作为引用参数的传递
6.指针变量的赋值*p ,给地址p赋值的时候不能是数,一定要是地址或者 NULL
10.算法的特征:
1.有穷性
2.可行性
3.健壮性
4,输入:可以有0个或者多个输入
5,输出:不可能没有输出
11.标识符总结
1.由下划线,数字,和字母组成,但是不能以数字开头
2.八进制的开头为0,十六进制开头为0X ,可以在小数点后面开头,如:12.0X23123
3.科学技术法表示: E/e 后面一定要是整数 , .123E3 也可 或者 。123E+3
4,数字中不能有逗号
5,八进制数字中不能有8和8以上
6.关键字不能作为标识符
7.标识符并不能认为大写和小写的标识符是一样的
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)