1.语句与代码块
语句:一个分号就是一个语句
a=1;
;//空语句
代码块:用一对大括号括起来的{ }
int main()
{
代码块
}
2.if 与else 只能运行跟它相邻的一条语句
int main()
{
int a = 10;
int b = 20;
int k;
if (a > b)
{
k = a;
a = b;
b = k;
printf("%d %d", a, b);
}//若后面跟着多个语句,用大括号把语句括起来
else
printf("%d %d", a, b);
}
3.关于else与最近的一个if配对
int main()
{
int a = 0;
int b = 2;
if (a == 1)
if (b == 2)
printf("hehe\n");
else
printf("haha\n");
return 0;
此代码就是相当于
int main()
{
int a = 0;
int b = 2;
if (a == 1)
{
if (b == 2)
printf("hehe\n");
else
printf("haha\n");
//else和离最近的可以匹配的if匹配
}
return 0;
}
不输出
4.C语言中表示真假方式
0就是假,非0就是真
5.那么关于if
if(0)//0为假,if下面的语句不运行
if(!0)//!0为真,if下面的语句运行
int flag = 0;
flag为真就打印aa
if (flag)//假,不运行
{
printf("aa\n");
}
//flag为假打印haha
if (!flag)//真,运行
{
printf("haha\n");
}
int b = !flag;
printf("%d\n", b);//b输出1
return 0;
}
练习
int main()
{
int a = 1, b = 0;
if (!a) b++;
else if (a == 0)
if (a) b += 2;
else b += 3;
printf(“ % d\n”, b);
}
相当于
int a = 1, b = 0;
if (!a) b++;//假
else if (a == 0)//假
{
if (a)
b += 2;
else
b += 3;
}
printf(“ % d\n”, b);//输出b=0