一.流程控制
1.顺序结构
自上至下,自左至右依次执行
2.分支结构
当程序执行到某个位置时程序后续的执行方向由某个条件决定,多选其一
1)if分支
2)switch分支
3.循环结构
当程序执行到某个位置时,程序会反复执行某段代码,直到循环满足退出条件
1)for循环
2)while循环
3)do...while循环
4)利用goto实现的循环
4.辅助控制
break;
continue;
return;
二.分支
1.if分支
注意:1.if可以单独使用,else if、else不能单独使用
2.if()后不能加‘;’,else if()不能加‘;’
3.if()或者else if()、else后的{}在只有一行代码时可以省略,但要求尽量都加上{}
1)if简单分支
if(逻辑值)
{
语句块1;
}
else
{
语句块2;
}
2)if阶梯分支
if(逻辑值)
{
语句块1
}
else if(逻辑值)
{
语句块2
}
else if(逻辑值)
{
语句块3
}
...
else
{
语句块....
}
3)if嵌套分支
注意:嵌套不能过深(3-5层)
if(逻辑值)
{
if(逻辑值)
{
if(逻辑值)
{
else
{
语句块
}
}
}
}
4)switch分支
注意:
1.num的值必须是整型
2.case后必须是一个整型常量
3.break一般情况下不能漏写
switch(num)
{
case0:
printf("num 0\n");
break;
}
2.嵌套形式
switch(num1)
{
case4:
switch(num2)
{
case:
printf();
break;
default:
printf();
break;
}
}
break;
二.float类型比较大小
浮点数存在精度损失
方法:
1.定义一个宏 EPS,使EPS值为1e-7(表示0.0000001)
2.利用求绝对值函数fabs()函数(头文件math.h)