分支选择语句(if)
语法格式:
if(condition){//condtion条件表达式 可以是任何逻辑值
//只有当condition为真时才执行此分支 语句块
}
当条件为真时执行{}语句块中的内容 不满足则直接跳过{}语句块
if(condition){
//当condition为真时执行
}else{
//当condition为假时执行
}
//不管条件真假一定会执行其中一个分支
if(condition1){
}else if(condition2){
}else if(conditionn){
}
从第一个条件开始判断, 如果为真则执行对应的语句块{}
只有当前面的条件都为false时才会继续往下判断,那么如果现在判断到第n个条件,那么意味着前面n-1个条件都为false
如果把所有的条件都考虑清楚了,那么最后一个else if() 可以直接用 else 取代
if(){}else if(){}else if(){} //有可能所有条件都不满足 没有一个语句块会执行
if(){}else if(){}else if(){}else{} //一定有一个语句块被执行
else{} //当前面判断的所有条件都不满足时执行
if(){printf("1");}
if(){printf("2");}
//1和2都有可能输出
if(){
printf("1");
}else if(){
printf("2");
}//1和2最多输出一个;
分支选择语句可以嵌套
条件循环之 while
语法规则:
while(循环条件){
循环语句
}
当循环条件为真时执行循环语句
for(init;condition;change){
loopstatment;
}
init;
while(condition){
loopstatment;
change;
}
for 循环次数基本固定
while 循环次数不确定
break continue(直接重新判断循环条件)
语法格式:
do{
}while(condition);
do{}while()和 while,for循环的区别在于
do{}while()循环至少会执行一次循环体的语句
while和for当条件为false时,不会执行循环体
while和do while的循环条件不能省 必须要有 for可以没有条件 表示true
无限循环:
for(;;){}
for(;1;){}
while(){}//Error
while(1){}
do{}while(1);
跳转语句之 goto 可以实现循环的功能 但是不建议使用
goto可以跳到指定标签位置执行代码
标签,在语句前面有一个标识符:
{}语句块
如果语句块包含的内容只行一条语句则{}可以省略 但不建议
分支语句 循环语句可以没有{} 也可以没有语句 直接用;