前言
作者:阿辉不一般
你说呢:生活本来沉闷,但跑起来就有风
专栏:爱上C语言
作图工具:draw.io(免费开源的作图网站)
如果觉得文章对你有帮助的话,还请点赞,关注,收藏支持博主,如有不足还请指点,博主及时改正,感谢大家支持!!!
if(表达式)
{
代码块 code;
}
这里我使用流程图的方式为大家展示
#include
int main()
{
//单分支
int age = 0;
scanf("%d", &age);
if (age >= 18)
{
printf("成年\n");
}
return 0;
}
计算机在处理if语句时,一般要先判断if()中表达式的真假再执行下一步
那计算机是如何判断真假的呢?
计算机将0判断为假,将非0判断为真
例如,上述代码中如给age
输入8
,则age >= 18
为假,就不会执行if里面的语句,从而不会打印成年
if(表达式)
{
代码块 code;
}
else if(表达式)
{
代码块 code;
}
else if(表达式)
{
代码块 code;
}
......
else
{
代码块 code;
}
如同人生不止一个选择,同样的if语句也有多个分支
int main()
{
int age = 0;
scanf("%d", &age);
if (age >= 18)
{
printf("成年\n");
}
else
{
printf("未成年\n");
}
return 0;
}
简单解释一下,上述代码如若if中表达式为真则执行if内语句为假则执行else内语句
上面呢仅仅是双分支,当然你也可以无限套娃
例:
int main()
{
int age = 0;
scanf("%d", &age);
if (age >= 18 && age < 35)
{
printf("成年\n");
}
else if (age >= 35 && age < 60)
{
printf("中年\n");
}
else if (age >= 60 && age < 90)
{
printf("老年\n");
}
else if (age >= 90)
{
printf("老寿星\n");
}
else
{
printf("未成年\n");
}
}
细心的小伙伴已经发现这个标题不一般,没错这个是重点
这里我用代码为大家解惑
在上述多个if代码中,给
age
输入23
屏幕上既打印了青少年
又打印了成年
而在if-- else if 代码又是如何呢?我们接着往下看
在if-- else代码中我们依然给
age
输入23
,与多个if不同的是它仅仅打印了青少年
第一次的时候我也懵逼了,其实呢在多个if语句中计算机会每一个if语句都判断一下,只要条件为真if后面的语句都会执行,而在if-- else if语句中只要一个else if判断为真,其后面所有的else if 语句都不会在判断了
在C语言中并非只有if语句是分支语句,它还提供了switch语句
if语句在分支过多情况下用起来极为不便,而switch语句则弥补了这一缺点
switch(表达式)
{
case 常量表达式1: 语句1;
case 常量表达式2: 语句2;
……
case 常量表达式n: 语句n;
default: 语句n+1;
}
注意:
当a的值与case后的值一样时,就执行对应case后的语句
#include
int main()
{
int a = 0;
scanf("%d", &a);
switch (a)
{
case 1:
printf("星期一\n");
case 2:
printf("星期二\n");
case 3:
printf("星期三\n");
case 4:
printf("星期四\n");
case 5:
printf("星期五\n");
case 6:
printf("星期六\n");
case 7:
printf("星期天\n");
default://当没有找到入口,就走这一条
printf("输出错误\n");
}
return 0;
}
运行上述代码
你会发现输出的结果并非所愿,这是因为当程序从
case 3:
进去后并没有跳出switch语句,这个时候你就需要break
的帮助了
是不是输出想要的答案了
✌️一些见解