C语言关系运算符和逻辑运算符几乎无所不在,比如在循环语句、分支语句、逻辑判断等语句块中都会出现。学好这部分对学好C语言具有重要作用。 C语言中有一共有如下6中关系运算符:小于=小于或等于大于=大于或等于==两边相等!=两边不相等 关系运算符都是双目运算符,其结合性均为左结合。关系运算符的优先级低于算术运算符,高于赋值运算符。在六个关系运算符中,,=,,=的优先级相同,高于==和!=,==和!=的优先级相同。他们比数学运算优先级要低。 关系运算符所在的表达式称为关系表达式,它的运算结果是一个逻辑结果,真或者假。比如: 53结果为真5=5结果为真53为假5=5为真3+24为真 C语言中的逻辑运算符一共有三种: 逻辑与(参与运算的两个量都为真时,结果才为真,否则为假) 逻辑或(参与运算的两个量只要有一个为真,结果就为真。两个量都为假时,结果才为假)!逻辑非(逻辑取反,非真结果为假,非假结果为真) 与运算符和或运算符 均为双目运算符。具有左结合性。非运算符!为单目运算符,具有右结合性。其中与运算和或运算优先级一样,但是低于非运算。C语言规定,数字运算时,0为假,而非0为真。 注意,逻辑运算中,只要前面的运算后假,后面的运算就不会在计算了。 比如有下面的代码段:inta=1,b=2;if((ab)GetVal()){...} 这个代码中,由于逻辑与前面的(ab)这个已经不满足了,程序就不会再去执行后面的GetVal函数了,这一点尤其注意。同样在或运算 中,如果运算符左边的已经为真,则后面的部分也不会在计算,还是上面这个a和b。 if((ab) GetVal()){...} 这里的GetVal函数也不会执行,因为前面以及得出结论,整个结果一定是真,后面就不在计算。 ----------------------我是不严谨的分割线----------------------- 你在学习编程的时候是不是遇到很多困难无从下手? 你在学习编程的时候是不是觉得很枯燥没有小伙伴一起? 你是不是想快速成长成为一名真正的程序员? 你是不是想找一名导师来指导一下职业规划? 你是不是想知道BAT这样的公司是什么样的? ......... 所有的这些疑问都不是事,加入下面的QQ群或者点状白癜风北京白癜风医院那里好
|