环境:CLion2021.3;64位macOS Big Sur
地表最强C语言系列传送门:
「地表最强」C语言(一)基本数据类型
「地表最强」C语言(二)变量和常量
「地表最强」C语言(三)字符串+转义字符+注释
「地表最强」C语言(四)分支语句
「地表最强」C语言(五)循环语句
「地表最强」C语言(六)函数
「地表最强」C语言(七)数组
「地表最强」C语言(八)操作符
「地表最强」C语言(九)关键字
「地表最强」C语言(十)#define定义常量和宏
「地表最强」C语言(十一)指针
「地表最强」C语言(十二)结构体、枚举和联合体
「地表最强」C语言(十三)动态内存管理,含柔性数组
「地表最强」C语言(十四)文件
「地表最强」C语言(十五)程序的环境和预处理
「地表最强」C语言(十六)一些自定义函数
「地表最强」C语言(十七)阅读程序
四、分支语句
4.1 if
注意括号内的条件判断,别出现逻辑错误:
int age = 30;
if (age < 18)
printf("未成年");
//else if (18 <= age < 26)//有逻辑错误 18<=age -- 1 1<60 - 1
// printf("青年");
else if (age >= 26 && age < 40)
printf("中年");
int a = 0;
int b = 2;
if (a == 1)
if (b == 2)
printf("QQQ\n");
else
printf("AAA\n"); //else和最近的if匹配!
4.2 switch-case
- break不一定每个case中都得有,根据逻辑需求
- 内部的顺序无关
int day = 0;
scanf("%d", &day);
switch (day)//括号内为整型表达式(字符也行,因为字符底层是ASCLL值)
{
case 1://case后为整型常量表达式(字符也行,因为字符底层是ASCLL值)
printf("周一\n");
break;//break只能跳出其所在的switch-case语句
case 2:
printf("周二\n");
break;
case 3:
printf("周三\n");
break;
case 4:
printf("周四\n");
break;
case 5:
printf("周五\n");
break;
case 6:
printf("周六\n");
break;
case 7:
printf("周日\n");
break;
default:
printf("输入有误");
break;
}
4.3 无条件转移语句goto
特点:在一个函数体内可以任意跳转位置,不能跨函数。
适用场景:要跳出多层循环时,使用break一层层跳出显得比较呆,可以使用goto。
一般用不到,就不举例子了。