离线下载
PDF版 ePub版

单片机中文网 · 更新于 2018-11-28 11:00:43

6.2 C 语言 if 语句

到目前为止,我们对 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 语言编程中使用频率很高,用法也不复杂,所以必须要熟练掌握。