#原理
//if语句用于判断“()”中表达式(或值)的真假
//真:非0数 假:0
if (a > b)//若a>b为真,则执行下面的语句
printf(" a > b \n");//在if()后面没有大括号“{}”的情况下,if只能控制一条语句
//“\n”为换行符,打印完" "中内容换行
printf("这条语句不受if掌控\n");
将a赋值为3,b赋值为2,结果为:
将a赋值为2,b赋值为3,结果为:
可见,无论a是否大于b,if()在没有“{}”的情况下只能控制一条语句。
———————————————————————————————————————————
#if的大括号{}
if (a > b)//若a>b为真,则执行“{}”的语句,“{}”中的所有语句都受if控制
{
printf(" a > b \n");
printf("这条语句受if掌控\n");
}
将a赋值为3,b赋值为2,结果为:
将a赋值为2,b赋值为3,结果为:
因为a<b,表达式(a>b)为假,所以{}中的语句都不会执行,运行结果也不会输出任何东西。
———————————————————————————————————————————
#else的用法
if (a > b)
{
printf(" a > b \n");
}
else//当if()中表达式(或值)为假时,执行else{}中的语句
{ //若无{},则else与if一样只能控制下一条语句
printf("a > b不正确\n");
}
当a=2,b=3时,运行结果:
———————————————————————————————————————————
#if语句的嵌套
if (a > b)//if语句可以进行嵌套操作
{
if (0)//0为假,下面{}中语句无法执行
{
printf("无法执行");
}
else
{
printf("if中的嵌套\n");
}
printf(" a > b \n");
}
else
{
if (52)//非0数都为真
{
printf("else中的嵌套\n");
}
//同范围的if不相互影响
if (a=100)//这是赋值操作,也为真,可以执行,a被赋值为100
//若要判断两个数是否相等,应使用“==”。例:if(a==100)
{
printf("%d\n", a);//输出a
}
printf("a > b不正确\n");
}
a=2,b=3时:
a=3,b=2时:
if (...)
{
if (...)
{
if (...)
{
...//if语句可以无线嵌套
}
else if
{
...
}
}
}
———————————————————————————————————————————
#if与else的对应关系
#include<stdio.h>
int main()
{
int a = 2, b = 3;
if (a > b) //思考一下运行结果是什么
if (1)
printf("语句1\n");
else
printf("a < b\n");
return 0;
}
——
——
——
——
运行结果如下:
是的,什么也没有。为什么呢?
原因:
所以红圈里的其实是一个整体,受“if(a>b)”控制。
if语句讲的差不多了,那我们就到这里,感谢观看。