一、流程控制结构
1.顺序结构:按书写顺序执行每一条语句。
2.选择结构:对给定的条件进行判断,根据判断结果决定执行哪一段代码。
3.循环结构:在给定条件成立的情况下,反复执行某一段代码。
二、选择结构-if
if简单使用
(1) 第一种结构:
a) 如果条件为真,就执行后面的语句,否则不执行。
if(条件)
{
语句1;
语句2;
····
}
(2) 第二种结构:
a) 如果条件成立就执行语句1,否则执行语句2。
if(条件)
{
语句1;
}
else
{
语句2;
}
(3) 第三种结构:
a) 先判断条件1,若成立则执行语句1,其它不执行;若条件1不成立,则检查条件2···,【注意】如果条件3成立,则说明前面的都不成立。所有的语句块只有一个会被执行。
if(条件1)
{
语句1;
}
else if(条件2)
{
语句2;
}
else
{
语句3;
}
注意:作用域的问题,如果要在if后面定义新的变量,则一定要使用大括号。
if(10>6)
{
Int a;//a的作用域在代码块结束后失效
}
Printf(“a=%d”,a);//编译器报错,找不到标识符
if(10>6)
Int a; //这种情况下报错,a的作用域不明确
Printf(“a=%d”,a); //编译器报错,找不到标识符
三、选择结构-switch
Switch(值) //通常是变量
{
Case 数值1:
语句1;
Break;
Case 数值2:
语句2;
Break;
Case 数值3:
语句3;
Break;
Default :
语句4;
Break;
}
注意:该结构把数值与数值1进行比较,若相等,则执行后面的所有语句,直到遇见break语句跳出整个循环,若前面的条件都不满足,则最终会执行default后面的语句。如果不写break语句,则后面的语句会接连执行,直到遇到break语句或者是全部语句执行完毕,只要前面的条件成立,则后面的判断就直接被忽略。
四、循环结构-while
While(条件)
{
语句;
}
先判断条件是否成立,成立则执行,执行完代码后再次判断条件是否成立(判断条件->执行代码块->判断条件->执行代码块···)1.首先确定循环执行的操作,2.在确定约束条件,即需要循环多少次,3.定义一个变量来记录循环的次数。
提示:在while循环体内使用if...break(跳出整个循环)或if...continue语句(跳出本次循环,继续下一次循环判断)。
While结构的运行原理:
(1)如果一开始条件不成立,则永远不会执行循环体。
(2)如果条件成立,则执行一次循环体,执行完毕后再次判断条件是否成立。
(3)Break:直接退出整个循环。
(4)Continue:结束当前循环体,进行下一轮循环判断。
注意:While条件语句后推荐使用{},否则只有第一条语句时循环体
五、循环结构-do-while
Do
{
语句
}while(条件)
特点:do while循环至少会执行一次循环体
六、循环结构-for
for(语句1,条件,语句2)
{
循环体
}
语句1:一般为初始化语句
语句2:一般为增量语句(执行完循环体后再执行的语句)
For循环原理:
(1) For循环一开始就会执行语句1(整个for循环只会执行一次)
(2)判断条件是否成立,若成立,则执行一次循环体,然后执行语句2,再次判断条件是否成立,若条件不成立则结束循环
(3) 顺序为:(语句1->判断条件->循环体—>语句2->判断条件->循环体···)
注意:1.不要随便在for语句后面写上分号,如for();{....}
2.定义变量的作用域不明确错误
for(int i=0;i<5;i++)
Int a=10; //编译器报错,变量作用域不明确
3. For语句中最简单的死循环for(;;);