分支选择语句
if(){
}
if(){
}else{
}
if(){
}else if(){
}else if(){
}
if(){
}else if(){
}...
.else{
}
注意:
(i) else if可以有多个(>=0)
(ii) else 最多能有一个(0或者1)
(iii) if 和 else if里面的条件可以重复
(iv) if() 省略大括号 后面只包括一条语句作为分支执行的语句
(v) if(); 分支语句的内容为空
if();{
//一定会执行
}
switch(控制表达式){
case 常量表达式:
语句;
case 常量表达式:
语句;
break;
...
default:
}
控制表达式:结果只能是整数(char) 不支持浮点类型
常量表达式: 结果必须是确定的 确定的值 1+2 宏
多个case语句时 常量表达式的结果不能相同
case 只是作为入口 常量表达式 == 控制表达式
从该case下面的第一条语句开始依次往后执行 并且忽略下面的case
直到遇到break结束switch语句
开关语句: case打开开关 break关闭开关
switch结束break变成分支语句
default: 如果所有的case都不满足(常量表达式 == 控制表达式 )时,会执行default
default可以放在任意位置,一般放在末尾,放在末尾时可以省略break
条件循环语句
for循环
for(初始化表达式;循环条件表达式;改变循环条件表达式){
//循环执行的语句
}
初始化表达式: 给循环变量赋初始值 只执行一次
循环条件表达式: 只有当该表达式的结果为真时 才会执行循环体的内容
当表达式为假时 循环结束 当该表达式省略时 表示 一直为真
改变循环条件表达式: 让循环趋于结束
while循环
while(condition){//当条件为真时执行循环体
}
for(expr1;expr2;expr3){
expr4;
}
for和while循环互换
expr1;
while(expr2){
expr4;
expr3;
}
for(;condition;){} ==> while(condition){}
for和while循环都是先进行条件判断,如果条件为真则执行
do..while循环
语法:
do{
//循环体的内容
}while(condition); //分号不能少
do while 先执行循环体,然后再进行条件判断,至少会执行一次循环体语句
break: 结束循环 跳出循环
continue: 结束本次循环 进行下一次循环
无条件跳转语句
其中语句标号是按标识符规定书写的符号, 放在某一语句行的前面,标号后加冒号(:)。
语句标号起标识语句的作用,与goto 语句配合使用。
如: label: i++;
loop: while(x<7);
goto loop;
C语言不限制程序中使用标号的次数,但各标号不得重名。goto语句的语义是改变程序流向,
转去执行语句标号所标识的语句。
goto语句通常与条件语句配合使用。可用来实现条件转移, 构成循环,跳出循环体等功能。
但是,在结构化程序设计中一般不主张使用goto语句, 以免造成程序流程的混乱,
使理解和调试程序都产生困难。