概述
文章目录
- 前言
- if选择语句
- switch语句
前言
C语言中共有五种语句类型:分别为表达语句,函数调用语句,控制语句,复合语句,空语句
控制语句又有九种,分别为:
条件判断语句也叫分支语句:if语句、switch语句;
循环执行语句:do while语句、while语句、for语句;
转向语句:break语句、goto语句、continue语句、return语句。
而C语言又是结构化程序设计语言,其中分别有顺序结构,选择结构,循环结构
今天我们就来讲控制语句中的if ,switch语句(分支/条件语句)
if选择语句
a.if语句
if的使用一般为:
if(表达式)
{语句};
若表达式为真(非0)则执行语句,若表达式为假(0)则跳过语句
需要注意的是:若if后只有一条语句可以不加大括号,若有多条语句就必须加上大括号
我来看看如果上述if不加大括号会有什么影响?
可以看到,当age为15时,它仍然可以打印出"可以饮酒",这是为什么呢?我们对上述代码进行分析:,
b.if else语句
该语句的一般使用方式:
if(表达式)
{语句};
else
{语句};
需要注意的是else后不需要加括号表达式
c.if () else if() else
该语句具体执行如下:
上面例子中我们还有一个点需要注意,请各位思考下:能否将age>18 && age<28改成18<age<28
我们将上述代码修改下并尝试打印
我们可以看到,当输入age为40时,原本应打印的是壮年,为什么反而打印的是成年呢?
原理解释:
所以,我们在需要判断双重条件时,需要采用逻辑操作符&& 和 ||
我们再来看看下面这段代码
大家可以思考下,上面这段代码打印的会是什么呢?是hehe?还是haha?
思考完后,让我们看看代码打印出来的会是什么?
没有打印!这是为什么呢?
分析如下:
我们可以看到else是跟最近的if相匹配的。if else算一条语句,不需要在第一个if后打大括号,所以这里的代码需要先判断第一个if是否为真,如果为真才进行第二个if 和else的判断,若为假,则直接跳出整个判断语句
我们可以看到这样的代码的可读性十分的差,所以我的建议是:无论if后面有多少条语句,最好都加上大括号,加强可读性
switch语句
switch语句往往用来实现简易多分支条件语句(可代替if() else if() else)
该语句实现形式:
switch(整形表达式)
{
case 整型常量 :
语句;
break;
default:
{语句}
具体实现如下:
default语句
若在switch后的整型表达式无法与case后的整型常量相匹配,则会直接跳出switch;若使用default,在无法匹配时,则会执行default后的语句;这里需要注意的是:default可以放在case的前面也可以放在case的后面,但default一定是在整形表达式无法与case后的整型常量相匹配后才会被执行。default最好放在case后面
需要注意的是在case语句执行完后最好加上break终止继续往下执行,并且在case后可以用字符来代替整型常量,代码如下:
a.case 语句执行后没加break
b.case后用字符代替整型常量
switch是可以进行嵌套的!让我们来看看下面这段代码,并思考下打印出来的n和m是多少?
相信大家都已经进行过思考了,那么接下来由我来帮大家分析分析这段代码
总结
今天的If和switch语句就讲到这里,其中我讲到的坑需要各位多多注意。如果各位觉得我讲的还不错的话,请点赞+关注呀!!!
最后
以上就是复杂宝马为你收集整理的if && switch 语句的讲解前言if选择语句switch语句的全部内容,希望文章能够帮你解决if && switch 语句的讲解前言if选择语句switch语句所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复