多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
【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语言学习区域”的代码就可以了,其它部分的代码不要动。编译后,把程序下载进带串口的51学习板,通过电脑端的串口助手软件就可以观察到不同的变量数值,详细方法请看第十一节内容。