分享

UC头条:你真的学懂if语句了嘛,看完这篇文章你一定会让你有所收获,彻底玩转if语句!

 cnzrp 2023-06-30 发布于山西

文章目录

前言

结构化程序设计的三种基本结构

分支语句(选择结构)

if语句

代码演示:`if`语句的单分支情况

代码演示:`if`语句的单双分支情况

代码演示:`if`语句的多分支情况

if语句中的嵌套

if语句中的注意事项

if语句中的大括号

悬空else、else的匹配规则

总结

前言

hello!各位宝子们大家好啊,相信大家都多多少少了解过if语句吧,但是你真的有了解过,所有if语句的细节吗?学完这篇文章你将知道if语句的所有知识。

结构化程序设计的三种基本结构

大家都知道C语言开发出来是为了解决生活中的问题的,而生活中的问题可以大致分为:

顺序结构:

就是按照顺序一步一步往下走

选择结构:

分支语句

if和switch

循环结构:

循环语句:

whlie、for、dowhile

本次主要给大家讲解选择结构中的分支语句:if语句、switch语句;

分支语句(选择结构)

那么什么是选择呢?

想我们生活中的,最平常的

今天选择吃吃蛋炒饭呢?

还是吃吃红烧牛肉面条?这个就是选择?

点击加载图片

当然我们生活种还有些人说,这些我都不想吃我就想吃大虾。

这个在C语言中就是多分支语句。

点击加载图片

现在大家明白什么是选择结构了吧!废话不多下面给大家讲讲讲在C语言中选择语句是怎么实现的。

C语言中选择结构为我们提供了俩个选择语句:

if语句switch语句

if语句

if由名知意:就是条件的意思嘛。

先来给大家讲讲if语句的语法是怎么样的?

代码演示:if语句的单分支情况

语法结构:

if(表达式){语句;}

这边来解释一下但分支if语法结构意思:

if前面说了是条件所以我们if后面跟的表达式就是条件

而下面的括号代表满足这个条件就进入到这个括号里面开始执行括号里面的语句。

语法清楚了那么,实战开始

#includeintmain{intage=0;//输入scanf('%d',&age);if(age<18)printf('未成年\n');return0;}

说明:

这里的意识是输入一个年龄,我们进行判断,当小于18时我们就输出未成年。

各位铁铁们是不是非常简单,这就是if语句的单分支情况。

代码演示:if语句的单双分支情况

语法结构:

if(表达式){语句1;}else{语句2;}

这边来解释一下但双分支if语法结构意思:

if的单分支我们前面讲了,其实双分支也非常简单。else就是否则的意思。字面上理解就是多了一种情况。有了俩种选择,是吧就是如此的简单!

满足if语句后面的表达式的条件,就进入if后面跟的括号里面执行语句,否则就进入else后面的括号里面执行语句;

语法清楚了那么,实战开始

#includeintmain{intage=0;//输入scanf('%d',&age);if(age<18)printf('未成年\n');elseprintf('成年\n');return0;}

ok各位铁汁们,这段代码大家看的懂嘛!

说明:

当我们输入的年龄大于18时就输出成年!

当我们输入的年龄小于18时就输出未成年!

这是不是可以选择的就是俩总情况了呢?这个就叫if语句的双分支。

那么有人就会问那博主,那我有更多的情况怎么表达呢?

这时就会用到if的多分支情况,下面我们来一起看看吧。

代码演示:if语句的多分支情况

语法结构:

if(表达式1){语句1;}elseif(表达式2){语句2;}else{语句3;}

这边来解释一下但双多分支if语法结构意思:

if的单双分支我们前面讲了,多分支其实和双分支很像。多了一些条件嘛。条件那么在加上一个if然后在表达式里面写条件就好了。这是不是就好理解多了。

多几个条件我们就加几个elseif就好了,满足elseif后面的表达式条件就进入后面跟的括号里面的语句

语法清楚了那么,实战开始

#includeintmain{intage=0;//输入scanf('%d',&age);//<18青少年//18~30青年//31~50中年//51~80中老年//81~100老年//101+老寿星if(age<18)printf('青少年\n');elseif(age>=18&&age<=30)printf('青年\n');elseif(age>=31&&age<=50)printf('中年\n');elseif(age>=51&&age<=80)printf('中老年\n');elseif(age>=81&&age<=100)prnitf('老年\n');elseprintf('老寿星\n');return0;}elseif(age>=18&&age<=30)

这句话各位铁子们刚学可能看不懂,相信大家可能会问18~30数学里面直接写:

说明:

18<=age<=30这个是数学里面的写法。

而这样写C语言会当成什么呢?

C语言中会先执行18<=age这个条件,当我们输入15时。18<=15肯定是假的那么就是0。在C语言中假为0,真为1。

18<=age<=30就会变成0<=30

看下面这段代码,所以当我们输入15时也会输出青年

点击加载图片

怎么解决呢?

在C语言中&&是逻辑与的意思就是并且

所以我们这样写18<=age<=30就完美解决了这个问题。

同时满足18<=age和age<=30俩个条件。

ok各位铁汁们,这下这段代码大家看的懂了嘛!

说明:

这里我们就用了if多分支写了多个条件。

输入年龄大于18输出青少年

输入年龄18~30输出青年

输入年龄31~50输出中年

输入年龄51~80输出中老年

输入年龄81~100输出老年

输入年龄101+输出老寿星

各位铁子们,明白了嘛,是不是也不难

if语句中的嵌套

在if语句中是支持嵌套使用的大家看。

if(age<18){printf('青少年\n');}else{if(age>=18&&age<=30)printf('青年\n');elseif(age>=31&&age<=50)printf('中年\n');elseif(age>=51&&age<=80)printf('中老年\n');elseif(age>=81&&age<=100)printf('老年\n');elseprintf('老寿星\n');}

这里我们就使用了if语句的嵌套,当输入的年龄大于18了,之后就进入else里面嵌套的if语句里面判断。

if语句中的注意事项

if语句中的大括号

前面我们的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');}

悬空else、else的匹配规则

大家看一下这段代码,的输出结果是什么。

#includeintmain{inta=0;intb=2;if(a==1)if(b==2)printf('hehe\n');elseprintf('haha\n');return0;}

相信很多人都会说,这还不简单,当a不等于1是不就进入else里面打印haha嘛?

真的是这样嘛?我们来看一下

点击加载图片

大家看什么都没输出,啊为什么会是这样呢?

这段代码我们重新手写一下

#includeintmain{inta=0;intb=2;if(a==1)if(b==2)printf('hehe\n');elseprintf('haha\n');return0;}

这样才是真正的书写方式,是不是直观很多呢?

这时大家会发现,一个人的代码规范真的特别重要,行为不规范的代码特别容易造成误解!

模板:

然后我们来讲下为什么?

else是和最近的if相匹配的。

所以当我们a=0时就不会进入里面的if语句进行判断所以就什么都没打印啦。

总结

归纳:

好了以上就是if语句的全部内容了,关于

if的语法

if的大括号

if的嵌套

注意事项

else的匹配规则

就是这些内容了,学会他们你就可以玩转if语句了。

给大家留下一个题目大家学完之后可以去练习练习,巩固一下自己今天学的知识。

判断一个数是否为奇数

看到这里了还不给博主扣个点赞加收藏!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多