从单片机基础到程序框架(全集 2019pdf版).pdf - 第161页
第三十九节:if 判断语句以及常量变量的真假判断。 【39.1 if 语句常规的书写格式。 】 “if” 在英 文里的 含义 是“如 果” 的意 思,在 C 语言 里也是 这个 意思 ,是判 断语 句的 专用关 键词 ,也是 平时做项目 时应用的频率 最高的语句之 一。 如果 i f 小括号 里面 的条 件满 足,就 执行 条件 后面大 括号 里的 语句; 如果 条件 不满足 ,则 直接 跳过条 件 后面大括号 里的语句。 “ if”语…

第 2 个数
十进制:3000000
十六进制:2DC6C0
二进制:1011011100011011000000
第 3 个数
十进制:3000000
十六进制:2DC6C0
二进制:1011011100011011000000
分析:
通过实验结果,发现在单片机上的实验结果和我们的分析是一致的。
【38.6 如何在单片机上练习本章节 C 语言程序?】
直接复制前面章节中第十一节的模板程序,练习代码时只需要更改“C 语言学习区域”的代码就可以了,
其它部分的代码不要动。编译后,把程序下载进带串口的 51 学习板,通过电脑端的串口助手软件就可以观
察到不同的变量数值,详细方法请看第十一节内容。

第三十九节: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。