在C语言的学习中,我们通常会想对同一个语句在不同的结果来进行不同路径的运行。此时我们便需要用到所谓的分支语句,常用的分支语句有“if”语句与“switch”语句。
一、if语句
如果我们想知道一个数是否能被5整除,我们可以利用if语句进行如下操作:
如果我们输入20,则会有如下的输出结果:
那如果我们输入一个不能被5整除的数呢?结果会如何?
结果是什么都不会输出。
为什么会这样呢?答案是因为我们并没有设置不能被5整除的输出结果。
那我们该如何让if语句拥有多个分支呢?
此时我们就需要用到else if和else了。具体该如何用,我们通过下面的一个程序进行说明:
如果我们输入20,输出如下结果:
当我们输入不同的整数时都会产生对应的结果,这便是else if与else在if语句中发挥的作用。
如果if语句的分支中出现了不止一条语句时,我们需要将对应的语句用大括号{}括起来,因为if语句只会默认的包含他的下一条语句,并不会包含到下下条。
if语句的判断是根据真假判断的,if语句内的条件为真则会执行对应的语句,为假则不会执行。在对于数的判断中,0表示假,非零表示真,如果碰到if后的()内只有一个数,此时我们只需要判断此数是否为0即可。
当然我们也可以进行更细致的划分,此时我们可以进行if语句的嵌套,即在if语句内再次使用if语句,我们可以下去自行探索。
有时候在对一个表达式有两种情况,如果我们继续使用if语句,那就感觉有一点麻烦,此时我们就可以利用条件运算符来操作,及”a?b:c"。此运算符也是唯一的三目运算符,它是这样理解的:如果a不为0,则结果是b,否则为c的值。其中a不止能表示一个数,它也能表示一个表达式,表达式不为0(真)时即可执行b,反之执行c。
例如我们可以进行一个差值运算,程序如下:
当我们输入1与2时有如下的输出结果:
二、switch语句
switch语句作为一种选择性的语句,他的可以分的种类比较多,我们直接来看如何使用它。
这是我们写的一个关于一个数被3整除的程序,switch后跟一个括号,括号内可写一个表达式,表达式的结果将会传入整个switch语句结构的内部;case后跟一个空格再跟一种情况,比如我们输入4这个数字,4除以3的余数为1,那么传入内部的数就为1,对应的即为“case 1”,那么就会输出“4被3整除余1”这么一个结果,注意:case后一定要跟一个空格才能有效使用。对应的不同结果的情况,后需要跟一个break语句才行,否则将会继续执行下一个case所对应的语句。如果我们将上面的程序改成能否被3整除的问题,那么我们只需要将case 1内的break语句去掉并将case 1与case 2内printf所输出的两条语句合并成printf("%d不能被3整除",i);即可,无论你是余1还是余2,都会输出不能被三整除,不信就去试试吧!实践出真理!
希望这篇文章对你有所帮助!