流程控制:1、顺序 2选择 3循环
1循环:for while do-while
while(逻辑值的表达式)//先判断再执行
{
循环体
}
do
{
}while(逻辑值的表达式); //先执行再判断
注:1、表达式为真,继续循环;表达式为假,退出循环
2、表达式中值是否初始化。
3、结束退出运算符:
8、逗号运算符: 表达式1,表达式2,表达式3,..表达式n
结果:表达式1的结果(从右往左)
注:定义变量的分隔符(只有在定义变量)
9、取变量的地址: &变量名输入输出:
输入设备:鼠标,键盘,...
输出设备:屏幕,投影仪...标准输入输出设备:1、键盘 2、屏幕 stdio.h
标准输入设备(键盘):
1、获取一个字符: int getchar
2、格式化输入: scanf("格式字符串",存储对象地址)
%d整型标准输出(设备):
1、输出一个字符: putchar();
2、格式化输出: printf("格式化字符串",对象的内容 );
注:普通字符原样输出,控制字符则输出对象的内容
注:上层的I/O(默认)流是同步阻塞(你不输入,则等待),直到用户输入回车为止。
数组:是一块“连续”且“同类型”的存储空间
定义数组:
类型 数组名[长度];
定义数组并初始化:
类型 数组名[长度]={值1,值2,};
注:如果只初始化部分值,则其他元素值为0
引用:取出第几个元素的内容
下标法(从0开始): buf[n]数组的存储空间长度: 长度*sizeof(类型)
第i个元素的地址:首地址+(n-1)*sizeof(类型) n代表第n个元素
字符数组:
char 数组名[长度];
1、数组空间长度:sizeof(char)*长度
2、元素长度:数组元素的个数
3、空字符:ASCII -0 '\0' 约定:每个字符串后面都加一个结束字符
字符串API: 用户接口:
求字符串的长度:strlen
复制字符串:strcpy
比较两个字符串大小:逐个比较字符的大小。
S1 比较 S2: s1[i]>s2[i] --->S1>S2
s1[i]<s2[i] --->S1<S2
所有字符相同 ---》S1==S2
算法:1,互换位置:temp=a;a=b;b=temp;
2,累加和:把数据累积在一起
应用:求多个数的和或者积
3,监哨值法:在多个元素中,从左到右遍历中通过哨兵去指向当前的最大值
应用:求最值
4,排序:冒泡,插入,选择,快排,堆排
其中冒泡排序:两两相邻的相互比较,直到所有元素比较完成