🐰作者简介:一位普通高校的在校学生,致力于提高自己的编程能力。
🍌个人主页:比昨天强一點的博客_CSDN博客-C语言从0到精通领域博主
🍍系列专栏:C语言从0到精通_比昨天强一點的博客-CSDN博客
🏷️学习格言:无人问津的日子,最是提高自己的好时机。
本章目的: 仅此一篇,让你将分支语句搞的明明白白,熟稔于心。
什么是分支语句?
举一个栗子🌰:
如果你天天码代码,好好码代码,毕业之后进大厂、拿到好offer、赢取白富美。
但是,如果不好好学习,毕业之后回家放牛。
这就是选择语句,也叫分支语句。
if-else语句
到这里,我们介绍了什么是分支语句,那么我们来举栗子,分支语句该怎么使用。
以上述为例我们看代码
这种写法是没问题的,在if(表达式)之后如果不加代码块,那么这个if(表达式)只决定其后一条语句执不执行
if(表达式) “表达式”在C语言中,非0为真,0为假。
那如果条件成立要执行多条语句该怎么办呢,这时我们需要用到代码块,举个栗子🌰:
#include <stdio.h>
int main(){
if(){
执行表达式1
执行表达式2
}else{
执行表达式3
执行表达式4
}
return 0;
}
这里的 一对 { } 就是代码块
注:建议但凡用到if-else结构或者后续讲到的循环结构,都要带上{ } 这是一个好的编程习惯。
举个栗子🌰:
请你读一读这段代码,并告诉我输出结果是什么?
没错,这个代码运行之后什么都不输出。
所以,如果分支语句,总是不加上{},代码的可读性不够好。
如果有多种分支情况,又该如何做呢?很简单,请往下看
#include <stdio.h>
int mian(){
if(){
执行语句
}else if(){
执行语句
}else{
执行语句
}
return 0;
}
else if()可根据具体情况来增减
switch语句
switch语句也是一种分支语句。
常常用于多分支的情况。
比如:1:功
0:受
接下来看看switch长什么样子:
switch(常量表达式){
case 0:
printf("受\n");
break;
case 1:
printf("功\n");
break;
default:
printf("输入错误\n");
break;
}
这里的 break和default是做什么用的呢?
break其实是为了跳出switch,如果没有break,程序将不做判断继续往下执行,直到遇到break。
switch(常量表达式){
case 0:
printf("受\n");
case 1:
printf("功\n");
break;
default:
printf("输入错误\n");
break;
}
如上,如果我们把第一个break去掉,那么这个代码将输出:
受
功
所以一般我们不会省略break,但也不排除这种情况。
假设,我们输入1-7的数字,来判断是工作日还是休息日,怎么做呢?
switch(常量表达式){
case 1:
printf("工作日\n");
break;
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;
defoult:
printf("输入错误\n");
break;
}
上述做法完全是可行的。但是还可以做一下改变,且看:
switch(常量表达式){
case 1:
case 2:
case 3:
case 4:
case 5:
printf("工作日\n");
break;
case 6:
case 7:
printf("休息日\n");
break;
default:
printf("输入错误\n");
break;
}
那么default是什么呢?
default就是当所有case 值与常量表达式不匹配时就会执行default子句里的内容。
注:建议,在使用switch时,都要加上default,这是一个好的编程习惯。