到目前为止,我们对 if 语句应该已经不陌生了,前边程序已用过多次了,这里我们系统的介绍一下,方便后边的深入学习。if 语句有两个关键字:if 和 else,把这两个关键字翻译一下就是:“如果”和“否则”。if 语句一共有三种格式,我们分别来看。
if 语句的默认形式
if语句的一般形式如下:
if (条件表达式){
语句 1;
}
其执行过程是,if(即如果)条件表达式的值为“真”,则执行语句 1;如果条件表达式的值为“假”,则不执行语句 1。真和假的概念不再赘述,参考第五章。
这里要提醒大家一点,C 语言一个分号表示一条语句的结束,因此如果 if 后边只有一条执行语句的时候,可以省略大括号,但是如果有多条执行语句的话,必须加上大括号。
那么现在,我们上节课的语句就很好理解了:
if (sec >= 16){ sec = 0; }
当 sec 的值大于或等于 16 的时候,括号里的值才是“真”,那么就执行 sec=0 这一句,当 sec 的值小于 16 时,那么括号里就为“假”,就不执行这一句。
if...else 语句
有些情况下,我们除了要在括号里条件满足时执行相应的语句外,在不满足该条件的时候,也要执行一些另外的语句,这时候就用到了 if...else 语句,它的基本语法形式是:
if (条件表达式){
语句 1;
}else{
语句 2;
}
比如上节课的最后一段程序我们也可以写成:
P0 = LedChar[sec]; if (sec >= 15){ sec = 0; }else{ Sec++; }
这个程序大家可以修改下载到单片机里验证一下,程序逻辑大家自己动脑筋分析,注意条件表达式内 16 到 15 的变化,想一下为什么,我就不多解释了。
if....else if 语句
if...esle 语句是一个二选一的语句,或者执行 if 分支后的语句,或者执行 else 分支后的语句。还有一种多选一的用法就是 if...else if 语句。他的基本语法格式是:
if (条件表达式 1){语句 1;}
else if (条件表达式 2) {语句 2;}
else if (条件表达式 3) {语句 3;}
... ...
else{语句 n;}
他的执行过程是:依次判断条件表达式的值,当出现某个值为“真”时,则执行相对应的语句,然后跳出整个 if 的语句块,执行“语句 n”后面的程序;如果所有的表达式都为“假”,则执行 else 分支的“语句 n”后,再执行“语句 n”后边的程序。
if 语句在 C 语言编程中使用频率很高,用法也不复杂,所以必须要熟练掌握。