linux--运算符与表达式

来源:互联网 发布:js substr 编辑:程序博客网 时间:2024/06/18 08:18

1.运算符的简介

1.1算术运算符:用于各类数值运算,包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(--)1

1.2关系运算符:用于比较运算,包括大于(>)、小于(<)、等于(==)、大于等于(>=)、小于等于(<=)和不等于(!=

1.3逻辑运算符:用于逻辑运算,包括与(&&)、或(||)、非(!)

1.4位操作运算符:参与运算的量,按二进制位进行运算,包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>

1.5赋值运算符:用于赋值运算,分为简单赋值(=)、复合算术赋值(+=-=*=/=%=)和复合位运算赋值(&=|=^=>>=<<=

1.6条件运算符:这是一个三目运算符,用于条件求值(?:)

1.7逗号运算符:用于把若干表达式组合成一个表达式(,)

1.8指针运算符:用于取内容(*)和取地址(&

1.9求字节运算符:也能给予计算数据类型所占的字节数(sizeof

1.10特殊运算符:有括号()、下标[]、成员(->.)等

2.运算符优先级

优先级为1:[] ; () ; . ; ->

优先级为2:- ;(类型) ;++ ;-- ;* ;& ;! ; ~ ; sizeof 

优先级为3:乘 ; 除 ;余数

优先级为4: 加 ;减

优先级为5:《 ; 》

等等。。。。。。

注:同一优先级运算符,运算次序由结合方向决定。!>算术运算符>关系运算符>&&>丨丨>赋值运算符

3.易出错的优先级问题

3.1 .的优先级高于*

3.2 []高于*

3.3 函数()高于*

3.4 ==和!=高于位操作和赋值符

3.5 算术运算符高于移位运算符

3.6 逗号运算符在所有运算符中优先级最低

4.条件运算符

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

求值规则:如果条件表达式1的值为真,则以表达式2的值作为条件表达式的值。否则,表达式2的值为整个表达式的值。


原创粉丝点击