if语句
(人话来讲就是如果的意思,如果表达式成立执行)
语法: if ( 表达式 )
语句
举例: 如果i或j大于10则输出
int main()
{
int i = 11, j = 8;
if (i > 10) //如果大于10
printf("输出:%d", i);
if(j>10) //这里j没有大于10,则不输出
printf("输出:%d", j);
}
else语句
(说if是如果的话,那么else可以理解为否则的意思,如果表达式不成立,则输出else)
语法:
if ( 表达式 )
语句1
else
举例:如果i不大于10,则输出else
int main()
{
int i = 8;
if (i > 10) //如果大于10
printf("哈哈哈");
else
printf("呵呵呵");
}
多重if-else嵌套
(很多时候单纯的一个if-else满足不了我们代码需求,这个时候就要运用到多层if嵌套)
举例:输出18岁以下的为少年,18-30为青年,30-60为老年这个时候单纯的if-else就满足不了我们的需求,得用嵌套来做
int main()
{
int i = 0;
printf("输入你的年龄:");
scanf("%d", &i); //键盘上输入一个数
if (i < 18)
printf("少年");
else if (i >= 18 && i <= 30) //&&为同时满足符号两边的条件
printf("青年");
else
printf("老年");
}
悬空else
(else永远是与最近的if匹配的,且无论if还是else后边如果没有加上{},那么表达式后边都只能跟一条语句)
举例解释一下:此处else应是与第二个if配对的,所以输出“呵呵呵”,遵循就近原则
int main()
{
int i = 1;
if (i != 1)
printf("哈哈哈");
if (i == 1)
printf("呵呵呵");
else //此处else是与上边的if配对的
printf("呦呦呦");
}
但是,如果加上{}程序结果又会发生改变了
int main()
{
int i = 1;
if (i != 1)
{
printf("哈哈哈");
if (i == 1)
printf("呵呵呵");
}
else //此处else是与上边的if配对的
printf("呦呦呦");
}
{}代表里边的所以程序都组成了一个持续块,所以此处不会执行