C语言中的逻辑判断
C语言中的逻辑判断是以真和假来表示的,0为假,一切非零为真。这里举几个例子,来让读者更加深入地了解判断语句。
逻辑值
int a=5;
int b=3;
int c=a>b;
我们来看c的结果,这时c=1,因为a>b为真。
int a=5;
int b=3;
int c=a<b;
我们再来看c的结果,这时c=0,因为a<b为假。
int a=5;
int b=3;
int c=2;
int d=a>b>c;
做了一下小小的改动,这里的比较大小可不是连续比较a,b,c的大小。
先判断a>b 结果为1,再判断1>c为假。所以d的结果为0。
理解了上面的逻辑判断我们再来看下文就容易的多了。
逻辑判断符号
常用的逻辑判断符号有:
‘<’,’>’,’<=’,’>=’,’==’(等于),’!=’(不等于),’&&’(并且),’||’(或);
‘&&’:连接两个逻辑表达式或逻辑值,是并且的意思,一个条件为真还不够,两个条件为真,才为真。(如果判断第一个逻辑值为0,则&&后面的不进行运算)。
‘||’:同样是连接两个逻辑表达式或逻辑值,是或的意思,一个条件为真就为真。(如果判断第一个逻辑值为1,||后面的不进行运算)。
这里要注意逻辑中的==与赋值语句的=不要写混了,这个错误不仅仅初学者会犯。
if 语句:
if (逻辑表达式,或一个逻辑值) {
要执行的程序;
}
我们来举一个简单的例子帮助大家理解:
输出结果为a>b。
这段代码中if(a>b),if判断的是a是否大于b。为真则运行if中的程序。为假则不运行。(这里if中判断的是a>b的逻辑值,是一个具体的值,a大于b吗?大于的话值为1,小于的话值为0)。
我们再来看下段代码:
输出结果为a>b
这里的int c存放的是a>b的结果,为真c=1,为假c=0。
注意:这里要注意的是if有无{}的问题,如果有{}当然是运行花括号里面的程序段。如果没有花括号,if语句只运行下面第一个“;”前的语句。后面的语句不在if管辖范围内,while语句和for语句也一样。通常,习惯加上{}来提高代码阅读性和整洁度。
else语句:
if (逻辑表达式,或一个逻辑值) {
要执行的程序;
}else{
要执行的程序;
}
else判断的是除了if括号中的情况外的所有情况。也就是逻辑值为0的情况。所以else后面没有()。
我们来完善一下上面的程序,让它变成一个简单的比大小程序。
程序输出结果为a>b。
注意:
1.else只与其前面最近的为匹配的if匹配。
2.没有花括号else也一样只执行第一个;前面的一条语句。
else if语句:
细心的朋友会发现,上面的比大小程序出现了一个漏洞。如果输入的两个数字a和b相等,程序依旧会输出a值<b值。
我们来用else if进一步完善程序:
else if用法:在if表达式为假时来进行其他情况的判断。else if可以写多个。表达多种不同的情况。
if(条件1){
程序;
}else if(条件2){
程序;
}else if(条件3){
程序;
}else{ //除了上面三种条件的所有条件
程序;
}
注意:跟if和else一样,没有花括号时只执行第一个 ; 前的一条语句。
总结:
C语言中逻辑判断的表达式的结果0为假,非0即真。这句话很重要,逻辑的判断就是遵循这一原则。
这是本人第一次写博客,本人还在学习阶段,如有问题请多多指正,互相学习。感谢读者观看!