分支语句
if else
语法:
if(表达式)
{
//当表达式成立执行的代码 代码块1
}else
{
//当表达式不成立执行的代码 代码块2
}
注意:
- if语句的花括号可以省略,但是只控制一条语句
- if语句后面可以没有else ,但是else前面不能没有if
执行顺序:判断表达式是否成立,如果成立执行代码块1 不成立执行代码块2
代码块1和代码块2 只会执行其一
分层结构
if .. else if ..else if ..else
语法:
if(表达式1)
{
//当表达式1成立执行的代码 代码块1
}else if(表达式2)
{
//当表达式2成立执行的代码 代码块2
}else if(表达式3)
{
//当表达式3成立执行的代码 代码块3
}......
else{
//以上条件都不满足执行的代码 代码块4
}
执行顺序:判断表达式1,如果表达式1成立,执行代码块1,其他语句不再执行,但是如果表达式1不成立,继续判断表达式2,如果表达式2成立执行语句块2, 其他语句不再执行,.......如果所有表达式都不成立,执行执行else后面的代码块
switch case:
语法结构:
switch(变量或表达式)
{
case 常量1:语句块1;break;
case 常量2:语句块2;break;
case 常量3:语句块3;break;
...
case 常量n:语句块n;break;
default:语句块n+1;
}
执行顺序:判断表达式的结果等于哪一个case后面的常量值,对应执行后面的语句块,break跳出(结束判断,后面代码不执行)如果所有case后面的值都不相等,执行default的语句块
注意:
- switch判断的是一个常量 不是区间
- case后面的break可以省略
- switch的表达式不能是字符串或者浮点型
循环语句
for循环
语法:
定义变量
for(表达式1;表达式2;表达式3)
{
//循环执行的语句块
}
表达式1:赋初始值
表达式2:控制循环执行的语句(进入循环的条件 或者 终止循环的条件)
表达式3:递增或者递减
执行顺序:定义变量,执行表达式1,判断表达式2是否成立,如果成立进入循环 执行完成循环语句块之后 执行表达式3,判断表达式2是否成立,如果成立进入循环 执行完成循环语句块之后 执行表达式3.......判断表达式2是否成立,如果不成立 结束循环。
int i=0
for(;表达式2;表达式3)
{
//循环执行的语句块
}
变形2:
int i=0
for(;表达式2;)
{
//循环执行的语句块
表达式3
}
变形三:
int i=0
for(;;) //死循环
{
if(表达式2)
{
//循环执行的语句块
表达式3
}else{
break;
}
}
嵌套结构:
for(表达式1;表达式2;表达式3)
{
for(表达式4;表达式5;表达式6)
{
//循环执行的语句块
}
}
双层for特点:外层循环执行一次,内层执行完成全部
外层循环控制行数 内层循环控制列数
while
语法:
定义循环变量
while(判断条件)
{
//循环体
递增或者递减
}
先判断后执行
do while
do
{
语句块;
递增或者递减;
}while(判断条件)
先执行后判断
死循环:
for(;;){}
while(1){}
while(1);
循环控制语句
break;continue;
break:跳出循环(整个循环程序)
continue:跳出循环(结束本次循环 后续循环继续执行)