各类运算符和表达式

1.关系运算符和关系表达式

(1)关系运算符

在C语言中,比较符(或称比较运算符)称为关系运算符

①<                        小于

②<=                      小于等于

③>                        大于

④>=                      大于等于

⑤==                      等于

⑥!=                       不等于

其中,①②③④的优先级别相同,⑤⑥的级别相同,前者的优先级大于后者

关系运算符的优先级低于算数运算符。

关系运算符的优先级高于赋值运算符。

例如:

c>a+b                        等价于                      c>(a+b)

a>b==c                      等价于                      (a>b)==c

a==b<c                      等价于                      a==(b<c)

a=b>c                        等价于                      a=(b>c)

(2)关系表达式

关系运算符将两个数值或数值表达式连接起来的式子,称为关系表达式

例如:a>b,a+b>b+c,(a=3)>(b=5),'a'<'b',(a>b)>(b<c).

关系表达式的值是一个逻辑值,即“真”和“假”。如:

“5==3”为假,“5>=3”为真。

在C的逻辑运算中,以“1”代表“真”,以“0”代表“假”。如:

d=a>b,由于a>b为真,因此关系表达式a>b的值为1,所以赋值后d的值为1。

f=a>b>c,则f的值为0.因为“>”运算符是自左至右的结合方向,先执行“a>b”得值为1,然后执行“1>c”得值为0,所以f的值为0。

2.逻辑运算符和逻辑表达式

(1)逻辑运算符

逻辑运算符有三种:与(AND),或(OR),非(NOT).在C语言中,&&为与,||为或,!为非。

其中,“&&”和“||”为双目(元)运算符,要求有两个运算对象,“!”是单目运算符,只要求有一个运算对象。

优先次序!>&&和||

!>算数运算符>关系运算符>&&和||>赋值运算符

例如:
(a>b)&&(x>y)                                等价于                   a>b&&x>y

(a==b)||(x==y)                              等价于                    a==b||x==y

(!a)||(a>b)                                     等价于                    !a||a>b

(2)逻辑表达式

用逻辑运算符将关系表达式连接起来的式子叫逻辑表达式

在逻辑表达式中,以"1"为真,“0”为假。如:

if(x) 语句1         //表达式为变量,如果x不等于0,则条件判断结果为真,执行语句1

if(1) 语句2         //表达式为非0整数,条件判断结果为真,执行语句2    

if(0) 语句3         //表达式为整数0,条件判断结果为假,不执行语句3,接着执行下一语句

3.条件运算符和条件表达式

(1)有一种 if 语句,当被判别的表达式的值为"真"或"假"时,都执行一个赋值语句且向同一个变量赋值。如:

if(a>b)

max=a;

else

max=b;

可以把上面的if语句改写为:

max=(a>b)?a:b;

其中“(a>b)?a:b”为一个“条件表达式”,“?”为条件运算符。

如果( a > b )条件为真,则条件表达式的值等于 a ;否则取值 b 。

条件运算符是由两个符号(?和:)组成,必须一起使用。要求有三个操作对象,称为三目(元)运算符。

条件表达式的一般形式为

表达式1?表达式2:表达式3

可以这样形象地理解:先计算出表达式1的值,表达式1后面的问号表示"该往哪里走啊?",有两条路,如果表达式1的值为真(非0),自然直接到表达式2,如为假(0值),就绕过表达式2,到表达式3。

条件运算符优先于赋值运算符。


 

  • 15
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值