C语言中逻辑运算符及其含义见表3.2。表3.2逻辑运算符及其含义逻辑运算符“&&”和“||”是双目运算符,具有左结合性;“!”表3.3逻辑运算真值表C语言中进行逻辑表达式求值运算时,不但要注意逻辑运算符本身的运算规则,而且还必须要遵循下面的两条原则:·对逻辑表达式从左到右进行求解。......
2023-11-20
1.逻辑运算符
C语言提供3种逻辑运算符:& & (逻辑与)、||(逻辑或)、!(逻辑非)。
逻辑运算结果值的计算规则如下:
a & & b:若a,b都为真,则结果为真;
a||b:若a为真或者b为真,则结果为真;
!a:若a为真,则结果为假;若a为假,则结果为真。
注意:& & (逻辑与)和||(逻辑或)是双目(元)运算符,即要求有两个运算量,如(a>b) & & (c<d),(a>b)||(x>y)。!(逻辑非)是单目(元)运算符,即只要求有一个运算量,如!(a>b)。
2.逻辑运算符的优先级
逻辑运算符使用的优先次序为:!→ & & →||。即逻辑非的优先级最高(见图2.4)。(www.chuimin.cn)
逻辑运算符中的“ & & ”和“||”的优质级低于关系运算符,而“!”的优质级高于算术运算符。例如,(a>b) & & (x>y)可写成a>b & & x>y,(!a)<(x+y)可写成!a<x+y。
3.逻辑运算符的表达式
用逻辑运算符将关系表达式或逻辑量连接起来的式子称为逻辑表达式。逻辑表达式的逻辑值是一个逻辑值,即“真”或者“假”。C语言编译系统在给出逻辑运算结果时,以数值“1”代表“真”,以“0”代表“假”。但是,在判断一个数据是否为“真”时:如果其值为0,则判定为“假”,如果其值为非0,则判定为真。例如:
若a=2,则!a的值为0。因为a的值为非0,为“真”,再对它进行“非”运算,就为“假”,用0代表。
若a=2,b=3,则a & & b的值为1,因为a,b的值都为“真”,所以结果为真,即1。!a||b的值也为真。
在逻辑表达式求解中,并不是所有的逻辑运算符都执行。例如:a & & b & & c,如果a的结果为假,那么直接得出结果为假,根本不会再执行b和c,只有在a,b均为真的情况下才会执行c。同样,a||b||c,如果a为真,直接得出结果为真,不会再执行b和c,只有a,b均为假的时候才执行c。
图2.4 逻辑运算符的优先级
有关C语言程序设计 第2版的文章
C语言中逻辑运算符及其含义见表3.2。表3.2逻辑运算符及其含义逻辑运算符“&&”和“||”是双目运算符,具有左结合性;“!”表3.3逻辑运算真值表C语言中进行逻辑表达式求值运算时,不但要注意逻辑运算符本身的运算规则,而且还必须要遵循下面的两条原则:·对逻辑表达式从左到右进行求解。......
2023-11-20
如:8/6);%(模运算符,或称求余运算符,%两侧均应为整型数据。C语言规定了运算符的优先级运算原则:在表达式的求值运算过程中,从左至右,按优先级别的高低执行。自增自减运算符只能用于变量,不能用于常量。例2.6自增自减运算符的使用。......
2023-11-18
运算量只能是整型或字符型的数据,不能为实型数据。“按位与”运算通常用来对某些位清0或保留某些位。“按位或”运算常用来对一个数据的某些位定值为1。~取反运算符的优先级比算术运算符、关系运算符、逻辑运算符和其他位运算符都高。若a=a<<2,则将a的二进制数左移2位。例2.7右移实例。......
2023-11-18
自增、自减运算符是C 语言中最具特色的两个单目运算符,其操作对象只有一个,这两个运算符既可以放在操作数之前,也可以放在操作数之后。自增、自减运算符的结合方向为自右至左。......
2023-10-21
C语言中的运算符大多数属于双目运算符。C程序中,运算符必须与运算对象结合在一起才能体现其功能,与运算符密切相关的程序构成成分是表达式。用运算符将运算对象连接起来的、符合C语言语法规则的式子称为C语言的表达式。一个表达式有一个值及其类型,它们等于计算表达式所得结果的值和类型。表2.6给出了C语言中的运算符、运算符的优先级和结合性。......
2023-11-20
C 语言中,赋值被认为是一种运算,有赋值运算符将一个变量和一个表达式连接起来的式子称为赋值表达式。其形式为:1.赋值运算符赋值运算符为“=”,功能是将赋值运算符右边的表达式的值赋给其左边的变量。......
2023-10-21
用逗号运算符可以将两个及两个以上表达式连接起来,所形成的就是逗号表达式。其一般形式为:如:逗号表达式的求值过程是:自左向右,先求表达式1 的值,再求表达式2 的值,…需要注意的是,并不是任何地方出现的逗号都作为逗号运算符。进一步的表达式中只剩下了逗号运算符和赋值运算符,赋值运算的优先级高于逗号运算符,括号内逗号表达式的结果为5,再将5 赋值给变量i,最后变量i 的值为5。......
2023-10-21
在C语言中,“=”称为赋值运算符,赋值运算符的左边一定是变量,不能是常量或表达式。赋值表达式可以作为一个运算成分出现在另外的表达式中,从而构成比较复杂的表达式或语句。在赋值表达式计算中,若赋值运算符两边的数据类型不相同时,系统将自动进行类型转换。赋值运算符使用示例。......
2023-11-20
相关推荐