1.1if语句:
在C语⾔中,0为假,⾮0表⽰真也就是表达式的结果如果是0,则语句不执⾏,表达式的结果如果是不是0,则语句执⾏。
例如:
输⼊⼀个整数,判断是否为奇数
#
include
<stdio.h>
int
main
()
{
printf
(
"%d
是奇数
\n"
, num);
return
0
int
num =
0
;
scanf
(
"%d"
, &num);
if
(num %
2
==
1
)
;
}
1.2else
接上,
如果⼀个数不是奇数,那就是偶数了,如果任意⼀个整数,我们要清楚的判断是奇数还是偶数怎么表
⽰呢?
例如:输⼊⼀个整数,判断是否为奇数,如果是奇数打印是奇数,否则打印数偶数。
#
include
<stdio.h>
int
main
()
{
int
num =
0
;
scanf
(
"%d"
, &num);
if
(num %
2
==
1
)
printf
(
"%d
是奇数
\n"
, num);
else
printf
(
"%d
是偶数
\n"
, num);
return
0
;
}
1.3
分⽀中包含多条语句
默认在
if
和
else 语句中默认都只控制⼀条语句,如果我们要if语句同时控制2条语句,就需要用{}
将语句括起来
#include<stdio.h>
int main()
{
int a = 0;
int b = 50;
printf("你的余额");
scanf("%d", &a);
{
if (a >= 50)
{
printf("余额充足\n");
printf("可以疯狂星期四\n");
}
else {
printf("余额不足\n");
printf("只能吃土\n");
}
}
return 0;
}
1.4嵌套if
在
if else
语句中,
else
可以与另⼀个
if
语句连⽤,构成多重判断。
#
include
<stdio.h>
int
main
()
{
int
num =
0
;
scanf
(
"%d"
, &num);
if
(num ==
0
)
printf
(
"
输⼊的数字是
0\n"
);
else if
(num >
0
)
//
这⾥的
if
相当于嵌套在
els
语句中,形成了嵌套结构
printf
(
"
输⼊的数字是正数
\n"
);
else
printf
(
"
输⼊的数字是负数
\n"
);
return
0
;
}
1.5悬空else问题
如果有多个
if
和
else
,可以记住这样⼀条规则,
else
总是跟最接近的
if
匹配。
#
include
<stdio.h>
int
main
()
{
int
a =
0
;
int
b =
2
;
if
(a ==
1
)
if
(b ==
2
)
printf
(
"hehe\n"
);
else
printf
(
"haha\n"
);
return
0
;
}
结果是啥都输出不来,原因是else与第二个if最近,即成对,第一个if不成立,嵌套的if else就不会有机会去执行,最终啥都不打印。
#
include
<stdio.h>
int
main
()
{
int
a =
0
;
int
b =
2
;
if
(a ==
1
)
{
if
(b ==
2
)
printf
(
"hehe\n"
);
}
else
{
printf
(
"haha\n"
);
}
return
0
;
}
这样,第一个if就会与else配对。