一、流程控制结构
(1)顺序结构:按书写顺序执行每一条语句。
(2)选择结构:对给定的条件进行判断,根据判断结果决定执行哪一段代码。
(3)循环结构:在给定条件成立的情况下,反复执行某一段代码。
二、选择结构-if
a) 在这种情况下,当条件成立,只执行语句1,语句2不属于次条件结构,但不推荐此种写法。
If(条件)
语句1;
语句2;
(二)if使用注意
①. 比较大小时,可以把常量值放在左边,变量值放在右边以避免错误。因为if(a==0)也容易被写成if(a=0),而这种情况,编译器并不会报错,推荐使用if(0==a)这种写法。
【对比】if与switch:
1. If语句能够完成的功能,switch有时并不能够完成,如判断if(a>100)
2. 在有些情况下,if语句和switch语句可以互换
3. Switch语句能完成的功能,if语句都可以完成
四、循环结构-while
(一)简单使用
While(条件)
{
语句;
}
解说:先判断条件是否成立,成立则执行,执行完代码后再次判断条件是否成立(判断条件-》执行代码块-》判断条件-》执行代码块···)1.首先确定循环执行的操作,2.在确定约束条件,即需要循环多少次,3.定义一个变量来记录循环的次数。
提示:在while循环体内使用if...break(跳出整个循环)或if...continue语句(跳出本次循环,继续下一次循环判断)。
While结构的运行原理:
①. 如果一开始条件不成立,则永远不会执行循环体。
②. 如果条件成立,则执行一次循环体,执行完毕后再次判断条件是否成立。
③. Break:直接退出整个循环。
④. Continue:结束当前循环体,进行下一轮循环判断。
(二)使用注意
1) While(1){.....}是一个死循环
2) While(a<10);{...}在条件后面加逗号表示循环体是一个空语句,而非{}部分
3) While条件语句后推荐使用{},否则只有第一条语句时循环体
4) 最简单的死循环 while(1);//永远执行空语句,让程序崩溃
五、循环结构-do while
Do
{
语句
}while(条件)
特点:do while循环至少会执行一次循环体
六、循环结构-for
(一)基本使用
for(语句1,条件,语句2)
{
循环体
}
语句1:一般为初始化语句
语句2:一般为增量语句(执行完循环体后再执行的语句)
For循环原理:
1) For循环一开始就会执行语句1(整个for循环只会执行一次)
2) 判断条件是否成立,若成立,则执行一次循环体,然后执行语句2,再次判断条件是否成立,若条件不成立则结束循环
3) 顺序为:(语句1-》判断条件-》循环体—》语句2-》判断条件-》循环体···)
【对比】for和while:
在性能上,for循环稍胜一筹,因为while循环只能使用外部的变量,而for循环可以对变量进行及时回收。
(三)For循环嵌套(可以想象为打印乘法表)
用以输出特定格式的内容,如QQ好友列表等,提升可扩展性。
For(in i=0;i<5;i++)
{
//外面的循环控制行数
Printf(“好友列表%d\n”,i);
//内部的循环控制列数
For(int j=1;j<=6;j++)
{
Printf(“好友%d\n”,j);
}
}