hello! 各位宝子们大家好啊,相信大家都多多少少了解过if语句吧,但是你真的有了解过,所有if语句的细节吗?学完这篇文章你将知道if语句的所有知识。
大家都知道C语言开发出来是为了解决生活中的问题的,而生活中的问题可以大致分为:
顺序结构:
- 就是按照顺序一步一步往下走
选择结构:
分支语句
if
和switch
循环结构:
循环语句:
whlie
、for
、do while
本次主要给大家讲解选择结构中的分支语句:if
语句、switch
语句;
那么什么是选择呢?
想我们生活中的,最平常的
今天选择吃吃蛋炒饭呢?
还是吃吃红烧牛肉面条?这个就是选择?
当然我们生活种还有些人说,这些我都不想吃我就想吃大虾。
现在大家明白什么是选择结构了吧! 废话不多下面给大家讲讲讲在C语言中选择语句是怎么实现的。
C语言中选择结构为我们提供了俩个选择语句:
if
语句switch
语句
if
由名知意:就是条件的意思嘛。先来给大家讲讲if语句的语法是怎么样的?
if
语句的单分支情况✅ 语法结构:
if(表达式)
{
语句;
}
这边来解释一下但分支
if
语法结构意思:
if
前面说了是条件所以我们if
后面跟的表达式
就是条件
而下面的括号代表满足这个条件
就进入到这个括号里面开始执行括号里面的语句。
#include
int main()
{
int age = 0;
//输入
scanf("%d", &age);
if (age < 18)
printf("未成年\n");
return 0;
}
说明:
这里的意识是输入一个年龄,我们进行判断,当小于18时我们就输出未成年。
- 各位铁铁们是不是非常简单,这就是if语句的单分支情况。
if
语句的单双分支情况✅ 语法结构:
if(表达式)
{
语句1;
}
else
{
语句2;
}
这边来解释一下但双分支
if
语法结构意思:
if
的单分支我们前面讲了,其实 双分支 也非常简单。else 就是否则的意思。字面上理解就是多了一种情况。有了俩种选择,是吧就是如此的简单!
满足if
语句后面的表达式
的条件
,就进入if
后面跟的 括号 里面 执行语句 ,否则就进入else
后面的括号里面 执行语句;
#include
int main()
{
int age = 0;
//输入
scanf("%d", &age);
if (age < 18)
printf("未成年\n");
else
printf("成年\n");
return 0;
}
ok各位铁汁们,这段代码大家看的懂嘛!
说明:
当我们输入的年龄大于
18时就输出 成年!
当我们输入的年龄小于
18时就输出 未成年!
这是不是可以选择的就是俩总情况了呢?这个就叫if
语句的双分支。
那么有人就会问那博主,那我有更多的情况怎么表达呢?
这时就会用到if的多分支情况,下面我们来一起看看吧。
if
语句的多分支情况✅ 语法结构:
if(表达式1)
{
语句1;
}
else if(表达式2)
{
语句2;
}
else
{
语句3;
}
这边来解释一下但双多分支
if
语法结构意思:
if
的单双分支我们前面讲了,多分支其实和双分支很像。多了一些条件嘛。条件那么在加上一个if然后在表达式里面写条件就好了。这是不是就好理解多了。
多几个条件我们就加几个else if
就好了,满足else if
后面的表达式条件就进入后面跟的括号里面的语句
#include
int main()
{
int age = 0;
//输入
scanf("%d", &age);
//<18 青少年
//18~30 青年
//31~50 中年
//51~80 中老年
//81~100 老年
//101+ 老寿星
if (age < 18)
printf("青少年\n");
else if (age >= 18 && age <= 30)
printf("青年\n");
else if (age >= 31 && age <= 50)
printf("中年\n");
else if (age >= 51 && age <= 80)
printf("中老年\n");
else if (age >= 81 && age <= 100)
prnitf("老年\n");
else
printf("老寿星\n");
return 0;
}
else if (age >= 18 && age <= 30)
这句话各位铁子们刚学可能看不懂,相信大家可能会问18~30数学里面直接写:
说明:
18<=age
这个条件,当我们输入15
时。18<=15肯定是假的那么就是0
。在C语言中假为0,真为1。怎么解决呢?
在C语言中&&
是逻辑与的意思就是并且
所以我们这样写18<= age <=30 就完美解决了这个问题。
同时满足18<= age和age <=30俩个条件。
ok各位铁汁们,这下这段代码大家看的懂了嘛!
说明:
这里我们就用了if
多分支写了多个条件。
输入年龄大于18 输出 青少年
输入年龄18~30 输出 青年
输入年龄31~50 输出 中年
输入年龄51~80 输出 中老年
输入年龄81~100 输出 老年
输入年龄101+ 输出 老寿星
各位铁子们,明白了嘛,是不是也不难!
在if语句中是支持嵌套使用的大家看。
if (age < 18)
{
printf("青少年\n");
}
else
{
if (age >= 18 && age <= 30)
printf("青年\n");
else if (age >= 31 && age <= 50)
printf("中年\n");
else if (age >= 51 && age <= 80)
printf("中老年\n");
else if (age >= 81 && age <= 100)
printf("老年\n");
else
printf("老寿星\n");
}
if
语句的嵌套,当输入的年龄大于18
了,之后就进入else
里面嵌套的if语句里面判断。//代码一: //代码二:
if (18 <= age ) if (18 <= age )
printf("青年\n"); {
printf("成年了\n"); printf("青年\n");
printf("成年了\n");
}
这俩个语句有什么区别? 运行看一下
- 我们的本意是当输入年龄时18时才会输出后面俩条语句。
- 结果我们输入15时,结果第二条打印语句也输出了。
而带了括号呢?
这是为什么嘞!
原因:
- 在
if
语句中只默认跟一条语句,想跟多条
语句的话,就要在if语句里面加上大括号然后再大括号里面写语句就可以执行多条
了。- 所以我们好的习惯是,不管是一条语句还是多条语句都加大括号。
- 这就是所谓的复合语句,有多条语句。
✅ 模板:
if (18 <= age )
{
printf("青年\n");
printf("成年了\n");
}
else
{
printf("哈哈\n");
}
大家看一下这段代码,的输出结果是什么。
#include
int main()
{
int a = 0;
int b = 2;
if (a == 1)
if (b == 2)
printf("hehe\n");
else
printf("haha\n");
return 0;
}
a
不等于1是不就进入else
里面打印haha
嘛?真的是这样嘛?
我们来看一下
大家看什么都没输出,啊为什么会是这样呢?
#include
int main()
{
int a = 0;
int b = 2;
if (a == 1)
if (b == 2)
printf("hehe\n");
else
printf("haha\n");
return 0;
}
这样才是真正的书写方式,是不是直观很多呢?
✅ 模板:
然后我们来讲下为什么?
else
是和最近的if
相匹配的。- 所以当我们a=0时就不会进入里面的if语句进行判断所以就什么都没打印啦。
✅ 归纳:
好了以上就是if语句的全部内容了,关于
if的语法
if的大括号
if的嵌套
注意事项
else的匹配规则
就是这些内容了,学会他们你就可以玩转if语句了。
给大家留下一个题目大家学完之后可以去练习练习,巩固一下自己今天学的知识。
判断一个数是否为奇数
看到这里了还不给博主扣个点赞
加收藏
!
❤️
拜托拜托这个真的很重要!
你们的点赞就是博主更新最大的动力!
有问题可以评论或者私信呢秒回哦。