从单片机基础到程序框架(全集 2019pdf版).pdf - 第163页
} 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+…

在实际项目中,为了阅读清晰,建议大家不要省略大括号。
【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 语言学习区域”的代码就可以了,
其它部分的代码不要动。编译后,把程序下载进带串口的 51 学习板,通过电脑端的串口助手软件就可以观
察到不同的变量数值,详细方法请看第十一节内容。