流程控制: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(默认)流是同步阻塞(你不输入,则等待),直到用户输入回车为止。
数组:是一块“连续”且“同类型”的存储空间
定义数组:
类型 数组名[长度];
定义数组并初始化:
引用:取出第几个元素的内容
下标法(从0开始): buf[n]
数组的存储空间长度: 长度*sizeof(类型)
第i个元素的地址:首地址+(n-1)*sizeof(类型) n代表第n个元素
*算法:
1、累加法:把数据累积在一起
应用:求多个数的和或者积
2、监哨值法:在多个元素中,从左往右遍历中通过哨兵去指向当前的最大值。
应用:求最值
练习:
2、求奇数的和
3、求某项阶层的值 5!=1*2*3*4*5
改:求任意项的阶层 num=
4、求前项阶层的和;1!+2!+3!+4!+5!
5、输入10个数字,求最大值 123454654
6、flag与“零值”进行比较 (笔试题)
if(逻辑值表达式) 逻辑值:真 假
6.1: int flag
if(0==flag)
6.2 bool flag; //true false
if(flag)
6.6 float flag;
// if(0.0==flag) 错误
注:由于flag是有精度的(float 6位 -0.000001 ~ +0.000001)
0.000001
7、求整型的二进制(正数)
求浮点型的二进制(正数)