Switch
if格式:
if (条件表达式)
{
语句;
}
switch格式:
switch (条件表达式)
{
case 整数: // case可以有一个或多个
语句;
break;
case 整数: // case可以有一个或多个
语句;
break;
default:
语句;
break;
}
1.拿到条件表达式的返回值(注意返回值必须是整型)
2.利用条件表达式的返回值和switch后面大括号中的每一个case进行比较, 判断条件表达式的返回值和case后面的整数是否相等 条件表达式 == 整数
3.如果条件表达式的返回值等于某一个case后面的整数, 那么就会执行该case后面的语句
4.执行完语句之后如果遇到break就会结束整个switch语句, 也就是说后面的所有语句都不会被执行
5.如果前面的case不满足, 也就是前面的case的整数和条件表达式的返回值不相等就会继续判断后面的case
6.如果前面所有的case都不满足, 就会执行default后面的语句
1.Switch得条件表达式注意点
/*
// Switch的条件表达式必须是返回整数的表达式, 也就是说()中只能放整数
// 或者写能够转换为整数的类型也可以, 例如char, 因为char类型可以转换为int类型, 所以写char也可以
2.case的取值
/*
// Switch中, case后面只能放返回值是整数的表达式或者整数, 或者能够转换为整数的类型
// case的取值不能重复
// case后面不能放变量, 因为系统在编译的时候会对Switch后面所有的case进行优化, 会根据case后面的常量值, 生成一张取值表
什么时候用switch, 什么时候用if
在开发中一般情况下用if, if比较灵活
如果说是对一些固定的值进行判断, 并且这些值得数量不多的情况, 可以使用switch
从理论上来说, switch的性能效率比if高
while
while (条件表达式)
{
语句;
...
}
while是对给定的条件进行判断, 如果条件满足, 就执行while后面大括号中的内容, 执行完毕之后会再次判断条件表达式, 如果满足会再次执行while后面大括号中的内容, 直到条件表达式不满足位置
术语: while后面大括号中的内容, 称之为 循环体
while的应用场景: 当我们需要反复的执行某一段代码的时候就可以使用while
// 0.先将while的格式写好
// 1.找到需要重复执行的代码, 将需要重复执行的代码放到循环体中
// 2.确定结束条件(确定条件表达式)
// 修改变量名称的快捷键 command + control + e
break用于跳出循环
只要看到continue 那么后面的所有语句都不会执行, 会执行再次去判断条件表达式
do while
格式:
do
{
语句;
...
}while (条件表达式);
do while和while的区别:
//while如果条件表达式一开始就不满足, 那么循环体永远不会被执行
//do while如果条件表达式一开始就不满足, 同样会执行一次循环体
也就是说: 无论条件表达式是否满足, do while始终会执行一次循环体
for循环
for (初始化表达式;条件表达式;循环后增量表达式)
{
语句;
...
}
条件表达式: 和while, dowhile一样, 只有条件满足才会执行循环体
初始化表达式: 在整个for循环的生命周期中, 初始化表达式只会执行一次
循环后增量表达式: 会在每次循环体之后完毕之后调用一次
循环嵌套
循环嵌套执行的次数等于 : 外循环执行的次数 * 内循环执行的次数
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
printf("i = %i , j = %i\n", i, j);
}
}
// 外循环控制行数 内循环控制列数
尖尖朝上: 修改内循环的 条件表达式
尖尖朝下: 修改内循环的 初始化表达式