什么是语句:由一个分号隔开的就是一条语句。
几种分支语句:
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,为后面添加内容提供良好环境。



