从单片机基础到程序框架(全集 2019pdf版).pdf - 第162页
在实际项目 中,为了阅读 清晰,建议大 家不要 省略大括号。 【39.3 什么是真什么是假?】 刚才讲到, if 语句后面必 备(条件)。那 么,这个 (条件)如 何裁定“满足 ”和“不满 足”?专 业术语, 我们 用“真” 表示 “满 足” ,用 “假 ”表 示“不 满足” 。 ( 条件) 的真 假判断 ,有 两种 :第一 种是 数值判 断, 第二种是关 系判断。本节 先讲第一种, 数值判 断。格式如下 : if(常量或者变 量) {…

第三十九节:if 判断语句以及常量变量的真假判断。
【39.1 if 语句常规的书写格式。】
“if”在英文里的含义是“如果”的意思,在 C 语言里也是这个意思,是判断语句的专用关键词,也是
平时做项目时应用的频率最高的语句之一。
如果 if 小括号里面的条件满足,就执行条件后面大括号里的语句;如果条件不满足,则直接跳过条件
后面大括号里的语句。“if”语句的常见格式如下:
if(条件)
{
语句 1;
语句 2;
}
语句 3;
语句 4;
上述分析:
如果(条件)满足,就从“语句 1”开始往下执行,直到把大括号里面所有的语句执行完之后,才跳出
大括号,接着从大括号之外的“语句 3”开始往下执行。
如果(条件)不满足,就直接跳过大括号里所有的语句,直接从大括号之外的“语句 3”处开始往后执
行。
【39.2 if 语句省略大括号的用法。】
除了上述之外,还有一种省略大括号的书写格式,但是要注意,当 if 条件语句后面省略了大括号时,
如果 if 小括号里面的条件满足,仅仅执行条件后面第一条语句,如果条件不满足,则跳过条件后面第一条
语句。比如:
if(条件)
语句 1;
语句 2;
语句 3;
语句 4;
上述分析:
如果(条件)满足,就从语句 1 开始一直往下执行。
如果(条件)不满足,就直接跳过(条件)后的第一条语句“语句 1”,直接从(条件)后的第二条语句
“语句 2”开始往后执行。
上述格式省略了大括号,实际上它等效于以下这种书写:
if(条件)
{
语句 1;
}
语句 2;
语句 3;
语句 4;

在实际项目中,为了阅读清晰,建议大家不要省略大括号。
【39.3 什么是真什么是假?】
刚才讲到,if 语句后面必备(条件)。那么,这个(条件)如何裁定“满足”和“不满足”?专业术语,
我们用“真”表示“满足”,用“假”表示“不满足”。(条件)的真假判断,有两种:第一种是数值判断,
第二种是关系判断。本节先讲第一种,数值判断。格式如下:
if(常量或者变量)
{
语句 1;
语句 2;
}
语句 3;
语句 4;
当小括号里面的(常量或者变量)不等于 0 时,就代表小括号里面的条件“满足”,是“真”;当小括号
里面的(常量或者变量)等于 0 时,就代表小括号里面的条件“不满足”,是“假”。举个例子:
if(25)
{
语句 1;
语句 2;
}
语句 3;
语句 4;
上述分析:
因为”if(条件)”的“条件”是常量“25”,25 不等于 0,所以是“真”。因此,条件满足,直接从第一
条语句“语句 1”处开始往下执行。
【39.4 例程练习和分析。】
现在编写一个程序,有 5 条 if 判断语句,如果条件为真,“统计变量 a”就会自动加 1,最后看看条件
为真的语句有几条。
程序代码如下:
/*---C 语言学习区域的开始。-----------------------------------------------*/
unsigned char x=2;
unsigned char y=0;
unsigned char a=0; //“统计变量 a”,此变量统计有多少条语句是真的
void main() //主函数
{
if(1) //常量不等于 0,因此为真
{
a=a+1; //a 由 0 自加 1 后变成 1。

}
if(0) //常量等于 0,因此为假
{
a=a+1; //由于条件为假,这条语句没有被执行,因此此时 a 仍然是 1
}
if(15) //常量不等于 0,因此为真
{
a=a+1; //a 由 1 自加 1 后变成 2。
}
if(x) //变量 x 为 2,不等于 0,因此为真
{
a=a+1; //a 由,2 自加 1 后变成 3。
}
if(y) //变量 y 为 0,等于 0,因此为假
{
a=a+1; //由于条件为假,这条语句没有被执行,因此此时 a 仍然是 3
}
View(a); //把第 1 个数 a 发送到电脑端的串口助手软件上观察。
while(1)
{
}
}
/*---C 语言学习区域的结束。-----------------------------------------------*/
在电脑串口助手软件上观察到的程序执行现象如下:
开始...
第 1 个数
十进制:3
十六进制:3
二进制:11
分析:
通过实验结果,发现在单片机上的实验结果和我们的分析是一致的。
【39.5 如何在单片机上练习本章节 C 语言程序?】
直接复制前面章节中第十一节的模板程序,练习代码时只需要更改“C 语言学习区域”的代码就可以了,