栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言之路第七天:分支语句(if,switch语句)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言之路第七天:分支语句(if,switch语句)

什么是语句:由一个分号隔开的就是一条语句。

几种分支语句:

1,if语句:

(1)if (表达式)

                语句;

        if内的条件为真则执行语句,否则跳过

(2)if(表达式1)

                语句1;

        else(表达式2)

                语句2;

表达式1为真执行语句1,表达式2为真执行语句2,均为假跳过

(3)if(表达式1)

                语句1;

        else if(表达式2)

                语句2;

        else if(表达式3)

                语句3;

        ......

        else(表示式n);

  表达式几为真,则执行相应的语句。

例如:

上述代码也可以以一下形式实现

 &&:表示两个条件是并且的关系,即条件都要满足,才为真

||:表示两个条件是或的关系,即至少满足一条就为真

需要注意的是,如果if ,elseif,else下面所对应执行语句不止一条的时候。需要放在一个代码块里面,while也一样。

在写if里面的判断是否相等的条件的时候,最好将常量放到==的左边,避免遗忘=,而编译器不报错,导致bug

注意:else悬空问题:即if 与else的匹配进制

 看了这个代码你认识输出的结果是什么呢?相信大多数刚开始学习C语言的人都会认为是打印

"haha",但是这是错误的,实际上这个代码在C语言中什么都不会打印,这是因为else与if相互配对的时候,编译器遵循最近原则,也就是说在这个代码里面else与if(b==2)相配对,这样的话第一个if就为假,程序就不会进入第二个if条件句,就不会执行。

那该如何让这个else与if(a==1)配对呢?

 像上述这将第二个语句放在一个代码块里面即可。

2,switch语句:是分支语句的一种,常常用于多分支的情况

基本用法:switch(整型表达式)

                {

                case 1:

                        执行的代码//如果整型表达式的结果是1,则执行这条语句

                case 2:

                        执行的代码//如果整型表达式的结果是1,则执行这条语句

                ......

                }

这个语句的注意点:1,switch内的表达式必须是整型。2,case后面的一定是整型常数表达式

有关实例:

注意这个程序是有bug的,程序从case进入后,下面程序会全部执行,要解决这个问题,首先看一下case的作用,case其实是程序在switch语句中进入的一个窗口,相当于上面程序中day是几就从那个入口开始执行,但是进去如果不跳出,就会将后续代码全部执行,因此要有break关键字来中断程序执行。解决如下:

 上面这代码执行完之后就会跳出,后面就不会执行。

同样case后面不一定非要有break,视情况而定,例如下面这个情况,有些case后面就不需要break

 如果用户输入不在范围内,想要提示用户需要用到default关键字,具体操作如下:

 如果这个程序输入星期范围以外的数,就会提醒输入错误

 

在写swtich语句的时候我们要养成一个好习惯:每个switch语句在最后都加上一个switch,甚至在最后要加一个break,为后面添加内容提供良好环境。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1009223.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号