判断、循环语句
判断语句
if-else语句
if(判断条件)
{
执行语句;
...;
}
else
{
执行语句;
...;
}
判断条件返回值为1时,执行if后{}内容,返回值为0时,执行else后{}内容
注意:if和else后跟花括号。
else{…}可省略,花括号在执行语句只有一句时可以省略,此时若有多条执行语句,第二条语句及以后的语句将不属于if else语句,else后的执行语句同理。
if-else if语句
if(判断条件)
{
执行语句;
...;
}
else if(判断条件)
{
执行语句;
...;
}
...
else
{
执行语句;
...;
}
各判断条件应互斥,若有交集的情况,按顺序执行第一个满足条件的else if,然后退出if-else if语句。
switch-case语句
switch(控制表达式)
{
case 常量1:
语句;
...;
break;
case 常量2:
语句;
...;
break;
...
default:
语句;
...;
break;
}
由switch后的控制表达式的返回值(必须为整数型结果)直接跳至对应的case分支,case 常量:其中常量可以是常数,也可以是常数计算的表达式,是整型常量变量时,仅在C99下可用)。若无对应常量,则跳至default:。执行break后,跳出switch-case语句,若无break,则按顺序执行下一个case下的语句。case 常量类似一个路牌的作用,不会改变运行顺序。
循环语句
while语句
while(控制表达式)
{
语句;
...;
}
while后控制表达式返回1,反复多次执行花括号内语句并再次判断控制表达式返回值,直至控制表达式返回0,退出循环。
do-while语句
do
{
语句;
...; //循环体语句
}while(控制表达式);
先执行一遍do后的循环体语句,再进行判断。与while的区别是while先进性判断,再执行循环体语句,do-while先执行一次循环体语句,再判断是否继续循环。
注意:while(控制表达式)后有“;”。
for语句
for(初始条件;循环继续条件;循环每轮执行;) //eg: for(i=1;i<=1;i++) //for(int i=1;i<=1;i++),在for里初始化i,只能在C99里用,编译时加入选项-std=c99
{
语句;
...; //循环体语句
}
for语句像一个计数循环,便于做累加或累乘等运算。for后()内表达式都可以省略for(;条件;)==while(条件)。
小结:1.如有固定次数。用for。2.如果必须执行一次,用do-whlie。3.其他情况用while。
循环跳出
for(循环继续条件)
{
...;
break;
}
//
for(循环继续条件)
{
...;
continue;
}
//
for(循环继续条件1)
{
for(循环继续条件2)
{
for(循环继续条件3)
{
...;
goto out;
}
...;
...;
}
...;
out:
...;
}
//
break用于跳出所在的循环语句。
continue用于跳过剩下的循环,直接开始下一轮循环判断。
执行到goto out时,直接跳至out:。为方便阅读理解,goto不建议用在复杂场合。