大家每天的生活都是如何度过的呢?相信不会是如复一日完全相同的模样,总会出现些像“今天下雨了,我决定带把伞走”一类的状况使我们出现步骤上的选择,这都是通过判断来做出决定的。
if语句
C语言中的if语句也是如此,在是与否,0和1中做判断。if语句允许程序通过测试表达式的值从两种选项中选择一种。
if (//表达式) 语句
这是最简单的一种if语句。注意此处表达式两边的括号是必须的。括号是if语句的组成部分,而不是表达内容。
if语句会执行以下命令:如果表达式中的值不为零,则执行相应的语句。
括号中对条件进行判断的表达式称为控制表达式(control expression)。当控制表达式的值输出不为零时,会执行相应的语句,当值为0时,则会跳过相应的语句。
举一个简单的例子,我们来判断一个数字为奇数还是偶数,最终如图:先定义一个整型,用占位符%d来输入一个整形,if语句中,如果输入的数字除以2后余数为1,我们就得到了一个不为零的答案,在判断语句中,一切不为0的值都会执行语句,所以该程序执行如图的“&d 是奇数”的输出,%d就是之前输入的值。
在此基础上,我们对简单的if语句进行扩展。
if (表达式)
语句
else (表达式)
语句
else
else我们知道,在英语中是否则的意思。
我们之前的语句会发现,只对奇数有了定义,如果输入的是偶数,会出现
仅仅将我们输入的数字打印出来,并没有做出判断,原因在于我们没有对偶数进行定义,有了else子句,我们就可以对程序进行完善
这样我们就可以执行对偶数的判断了。
并不是说所有if语句都得加上else来让它变得完整。对于只有当某条件成立才进行处理的语句,就没必要设置else子句,如果是根据某条件成立与否来进行不同的处理,才采用else语句。语言追求简便。
至此,我们学会了如何使用if语句判断奇偶,加上不同的运算符,可以做到判断是否相等、余数的判断、关系的比较。
if的嵌套语句
对于更复杂的问题,单单一个判断可能做不出决定,我们可能还要在那个决定中选择,C语言中也有相应的方案,我们称为if的嵌套语句。
和表面意思一样,我们通过多个判断句来对更复杂的问题做出判断。
如图形成嵌套结构。
举个例子,我们现在需要输入一个数字,显示出它的绝对值。
如图,我们引入了嵌套结构,可以看见,我们能够对一个数字进行3种类型的判断:大于0,等于0,小于0。在else语句后,我们再次引入了if语句进行判断,至此,我们也可以使用简单的if语句去处理相对需要多次判断的问题。
相应图片及资料来源于:明解c语言