喵呜,来啦来啦:你真的了解if,if else吗
Posted 爱吃榴莲的喵星人
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了喵呜,来啦来啦:你真的了解if,if else吗相关的知识,希望对你有一定的参考价值。
目录
1.if 的执行步骤
3.if 的错误写法
7.通过“打印1000到2000之间为闰年的年份”的例子不同代码作比较
喵博主今天以上面7项内容来说说我们的if 与else:
一、if 的执行步骤
首先在C语言中,0为假,非0为真。
1.先执行()中的表达式or函数,得到真假结果
2.条件 判定功能
3.进行 分支功能
接下来咱们来看看一下代码,打印结果是什么呢:
#include<stdio.h>
int main()
int a = 0;
if (a = 0)
printf("hehe");
if (a == 0)
printf("haha");
return 0;
结果为:
你们答对了吗?
if(a = 0)将0赋值给a,a = 0 -> if(a) ->if(0),为假所以不执行。
if(a == 0),a在开始初始化为0,所以a本来就是等于0,所以为真,打印haha。
在代码不需要的时候,可以用if(0)注释,当然喵博主不建议拿if(0)注释,只是让大家以后看到别人如果用if(0),知道在当注释用。
三、if 的错误写法
#include<stdio.h>
int main()
int age = 10;
if (18 <= age < 30)
printf("青年\\n");
return 0;
原因是:18<=age为假=0 < 30为真,所以进入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就近原则
其实:代码等同于
#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;
//第一种写法
#include<stdio.h>
int main()
int age = 17;
if (age < 18)
printf("青少年\\n");
else if (age >= 18 && age < 30)
printf("青年\\n");
else if (age >= 30 && age < 50)
printf("中年\\n");
else
printf("老年\\n");
return 0;
//第二种写法
int main()
int age = 17;
if (age < 18)
printf("青少年\\n");
else if ( age < 30)
printf("青年\\n");
else if (age < 50)
printf("中年\\n");
else
printf("老年\\n");
return 0;
//喵博主推荐用第一种,代码可读性更好
看下面的代码结果是什么:
//第一个代码
#include<stdio.h>
int main()
int age = 17;
if (age < 18)
printf("青少年\\n");
else if (age >= 16 && age <= 35)
printf("青年\\n");
else if (age >= 30 && age < 50)
printf("中年\\n");
else
printf("老年\\n");
return 0;
//第二个代码
#include<stdio.h>
int main()
int age = 17;
if (age < 18)
printf("青少年\\n");
if (age >= 16 && age <= 35)
printf("青年\\n");
if (age >= 30 && age < 50)
printf("中年\\n");
if (age >= 50)
printf("老年\\n");
return 0;
if else 组合是走一种判断就不走其他判断;if if 每个判断都走一遍看是否满足
七、通过“打印1000到2000之间为闰年的年份”的例子不同代码作比较
判断闰年的方法:
1、能被4整除,但不能被100整除;
2、能被400整除;
以下代码你认为那些是正确的,哪些是错误的:
//A.
#include<stdio.h>
int main()
int y = 0;
for (y = 1000; y <= 2000; y++)
if ((y % 4 == 0 && y % 100 != 0) || (y % 400 == 0))
printf("%d ", y);
return 0;
//B.
#include<stdio.h>
int main()
int y = 0;
for (y = 1000; y <= 2000; y++)
if (y % 4 == 0 && y % 100 != 0)
printf("%d ", y);
if (y % 400 == 0)
printf("%d ", y);
return 0;
//C.
#include<stdio.h>
int main()
int y = 0;
for (y = 1000; y <= 2000; y++)
if (y % 4 == 0)
if (y % 100 != 0)
printf("%d ", y);
if (y % 400 == 0)
printf("%d ", y);
return 0;
//D.
#include<stdio.h>
int main()
int y = 0;
for (y = 1000; y <= 2000; y++)
if (y % 4 == 0)
if (y % 100 != 0)
printf("%d ", y);
else if (y % 400 == 0)
printf("%d ", y);
else
;
return 0;
//E.
#include<stdio.h>
int main()
int y = 0;
for (y = 1000; y <= 2000; y++)
if (y % 4 == 0 && y % 100 != 0)
printf("%d ", y);
else if (y % 400 == 0)
printf("%d ", y);
else
;
return 0;
结果:
A、
B、
C、
D、
E、
如图所示D是错的。 喵博主用闰年2000年做栗子解释
A和B大家都明白,喵博主就在这里不解释了;C:2000先进入第一个if判断2000%4==0进入里面的if进行判断 2000%100==0所以不打印y。因为if的特点是每个if都判断,所以进入下个if判断,2000%400==0,所以打印2000;D:解释如图:
;
E:解释如图:
以上就是这篇博客的全部内容,希望对大家有帮助,如果文中有错误,就和喵博主一起探讨解决,我们相互学习相互进步。
以上是关于喵呜,来啦来啦:你真的了解if,if else吗的主要内容,如果未能解决你的问题,请参考以下文章