if判断语句以及常量变量真假的判断。
“if”是C语言的判断语句关键词,意思是如果if小括号里面的条件满足,就执行条件后面大括号里的语句;如果条件不满足,则直接跳过条件后面大括号里的语句。“if”语句的常见格式如下:
if(条件)
{
语句1;
语句2;
语句3;
……
}
还有一种省略大括号的书写格式,但是要注意,当if条件语句后面省略了大括号时,如果if小括号里面的条件满足,仅仅执行条件后面第一条语句,如果条件不满足,则跳过条件后面第一条语句。比如:
if(条件)
语句1;
语句2;
语句3;
……
上述格式省略了大括号,实际上默认相当于:
if(条件)
{
语句1;
}
语句2;
语句3;
……
上述语句分析:当条件满足时,就执行语句1,如果不满足,就跳过语句1,直接从语句2处开始往后执行。在实际项目中,为了阅读清晰,建议大家不要省略大括号。
接着讲另一个新的知识点,对于if(条件),if语句的条件包含两种,一种是常量或者变量真假的判断,另一种是关系判断。本节内容先举例讲常量或变量的判断。比如:
if(常量或者变量)
{
语句1;
语句2;
}
语句3;
语句4;
……
当小括号里面的常量或者变量大于0时,就代表小括号里面的条件满足;当小括号里面的常量或者变量等于0时,就代表小括号里面的条件不满足。还有一种专业的说法,条件满足称之为“真”,条件不满足称之为“假”。在这里,常量或者变量大于0称之为“真”,等于0称之为“假”。还可以换一种思路来记忆,常量或者变量不等于0称之为“真”,等于0称之为“假”。比如刚才的例子:
if(常量或者变量)
{
语句1;
语句2;
}
语句3;
语句4;
……
若条件为真,则从语句1处开始执行,若条件为假,则跳过语句1和语句2,直接从语句3开始执行。
现在编写一个程序,有5条if判断语句,如果条件为真,累加统计变量就会自动加1,最后看看条件为真的语句有几条。最后把程序编译后下载到坚鸿51学习板观察结果。请直接复制第十节模板程序,修改的main程序代码如下:
void main() //主程序
{
/*---C语言学习区域的开始---------------------------------------------------------------------------*/
unsigned char x=2;
unsigned char y=0;
unsigned char a=0; //此变量统计有多少条语句是真的
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
}
GuiWdData0=a; //把a这个变量放到窗口变量0里面显示
/*---C语言学习区域的结束---------------------------------------------------------------------------*/
while(1)
{
initial();
key_service();
display_service();
}
}
复制代码
查看运算结果的方法。如何在坚鸿51学习板上观察变量?按下S1或者S5按键即可切换显示不同的窗口,从而显示不同的变量。按下S9按键不松手就可以切换到十六进制的显示界面,松开手后会自动切换到十进制的界面。16个LED灯显示的就是当前变量的二进制数,亮代表1,灭代表0。上坚鸿51学习板观察程序执行的结果如下:
变量a为3。
下节预告:等于关系符“==”和不等于关系符“!=”。转载
|