各位好,我是Ary,时隔一周,我来讲讲最近的成果:分支与循环。
目录
1. if语句
1.1 if
它的语法结构如下:
if ( 表达式 )
语句;
//表达式内容为真则执行语句,为假则不执行。
由此,我们可以写出一个非常简单的 if 语句:
在C语言中,0为假,非0为真 ,也就是说,你在 if () 括号中输入除0外的任何数字也能成功运行
if () 下方语句。
不过如果a<b呢?这时候就该用到if...else...语句了。
1.2 if...else...
它的语法结构如下:
if ( 表达式 )
语句1;
else
语句2;
让我们把1.1的 if 语句扩展一下:
这样,就可以包含a<b的结果了。
不过,这样写不能包含多条语句,我们加个大括号就可以了:
并且,加上大括号也有助与提升代码的可读性,最好能加就加。
但即使这样,也不能包含所有可能出现的结果(比如a=b),所以,我们可以进行 if 语句的嵌套:
1.3 嵌套if
比如:
如果还想限制更多的条件还可以这么写:
*逻辑操作符:&& || !
逻辑运算符提供逻辑判断功能,⽤于构建更复杂的表达式,主要有下⾯三个运算符。
【 ! 】:逻辑取反运算符(能够改变单个表达式的真假);
【&&】:与运算符,意为并且(两侧的表达式都成立,则为真,否则为假)。
【 || 】 :或运算符,意为或者(两侧⾄少有⼀个表达式成立,则为真,否则为假)。
———————————————————————————————————————————
不难看出,这样写效果显著,不过步骤繁杂,如果要增添更多功能的话会显得凌乱,所以,我们也可以用switch语句来增加更多功能:
2. switch语句
switch语句是一种特殊形式的 if...else 结构,语法结构如下:
switch (expression)//判断表达式结果为1,2或其它
{
case value1 : statement//如果表达式结果等于1则执行冒号后语句
case value2 : statement//如果表达式结果等于2则执行冒号后语句
default : statement//如果表达式结果不为1或2则执行冒号后语句
}
*限制:
1.switch 后的 expression 必须是整型表达式。
2.case 后的值,必须是整形常量表达式。
可以看出,switch语句限制较多,但它好用且可读性高。
2.1 case
*注意:
1. case 和后边的数字之间必须有空格
2. 每⼀个 case 语句中的代码执⾏完成后,需要加上 break ,才能跳出这个switch语句,否则将会连续执行下个case。
如果不加break会怎么样呢?
2.2 break
请看代码:
可以看到,0,1都被打印了,所以一定不要忘了加break。
跟if语句一样,几个数字不可能将所有可能涵盖到,这就需要default了。
2.3 default
default可以将switch后表达式的值无法匹配case的可能也囊括进去,不会出错的代码才是好代码。
3. 实践
根据上述操作,可以将1.3的代码增加更多功能:
很有意思,对吧。
——————————————————————————————————————————
时间问题,分支篇就讲到这啦,之后我再将循环篇和实践篇做完,敬请期待。