欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

if(a);if(非a);if(a=0);if(a==0);if(a&&b);if(a||b)之间的区别?C语言

时间:2023-04-26

小白式理解正在学的基础知识,可能知识点不够扎实。最好最好就是把这些去敲敲看,是不是有这么一回事,如果不是或者有问题,还请指正(鞠躬)。

a是一个任意数值;认识这些之前记住:非0为真,0为假;


自己想的笨方法(就是也可以这么记住这几个if(a);if(!a)就少些了!=0这个步骤,然后在这个基础上加上去就好判断些)

if(a):只要这个a不等于0,那么条件就是成立的;如果a等于0,就是假的了,不成立。

if(1),也就是1不等于0就是成立的。

(也可以这么判断if(a)等同于if(a!=0),不知道可不可以这样用,可以这样记吧)

if(!a):就是上面那条倒过来的,a等于0,为假,!a就为真了嘛。所以,a等于0,条件成立,a不等于0的数就为假,条件不成立了。

(按照上面的笨方法:!a!=0,看起来有点别扭,负负为正,那前面两个!,就稍微变哈,就是一个=,就a==0)


if(a=0):记住哈,它不是a的值就等于0的意思。可以自己去实验一下,不管a是输入什么值,它都是执行离if最近的那条分支语句else(或者else if)的内容。if(a==0):就是a等于0的条件if(a!=0):就是a不等于0的条件


if(a&&b):这个就是a和b两个数值(或是两个条件)都是真的,那么才成立,只要有一个不成立,就都不成立了。比如:if(1&&2)成立;if(0&&1)不成立

if(a||b):只要其中一个满足条件就成立了,if(1||0)条件成立,if(1||8)成立if(a||b&&c):逻辑运算,咱得先知道优先级,&&的优先级大于||的优先级

举个栗子:if((1>3)||(2>1)&&(3>2))

                       false||ture&&ture=false||ture=ture 


经过试探性的输入小数,分数,只要不为0,还是可以用的。但是注意到了个小细节,就是用除法的时候,float,bouble 用分数的结果,比如1/5和1.0/5,得出结果还是有区别的,1/5得出的值为0,为假;1.0/5=0.2不等于0,为真。

咱就是说多踩踩雷,才能更好掌握知识奥!

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。