C语言中的运算符
2013-08-25 16:01
127 查看
C语音中的运算符,按其功能,可以分为:算数运算符,关系运算符,逻辑运算符,自增和自减运算符,按位运算符,赋值运算符,和条件运算符。
1、算数运算符:+ - * / %,操作数可以为任何基本类型,运算结果的类型和操作数类型相同。
2、关系运算符: < <= > >= != ==,操作数可以为任何基本类型,一般为整型,运算结果,如果两个操作数关系成立,则结果为非0(一般为整数1),否则为0。结果类型 一般为int。
3、逻辑运算符:&&(逻辑与) || (逻辑或) !(逻辑非)。每一个操作数都是一个表达式,操作数可以为任何基本类型。结果类型一律为int(0或非0)。
e1&&e2 两者都为真时,结果才为真
e1||e2 两者都为假时,结果才为假
!e1 真为假,假为真 逻辑表达式!e等价于关系表达式 e ==0
4、自增和自减运算符:++ -- a=a++ ,a的值变两次,自增的结果被表达式的返回值覆盖
5、按位运算符:&(按位与) |(按位或) ~(求反) ^(按位加、异或) <<(左移) >>(右移)操作数必须为整数
例: short k =0,求~k. short型占两个字节,首先把k表示成二进制00000000 00000000,~k逐位求反11111111 11111111,而k是有符号数,所以结果为-1.
按位与和按位或运算符除针对操作数的逐个二进位进行运算外,运算规则分别和逻辑与和逻辑或相同。
按位加则是无进位的二进制加法,1加1为0,1加0为1(两者同为0,不同为1)
按位与通常用于取位操作,按位或通常用于赋值操作,按位加通常用于取反操作
常见运算符的优先级如下:
1、算数运算符:+ - * / %,操作数可以为任何基本类型,运算结果的类型和操作数类型相同。
2、关系运算符: < <= > >= != ==,操作数可以为任何基本类型,一般为整型,运算结果,如果两个操作数关系成立,则结果为非0(一般为整数1),否则为0。结果类型 一般为int。
3、逻辑运算符:&&(逻辑与) || (逻辑或) !(逻辑非)。每一个操作数都是一个表达式,操作数可以为任何基本类型。结果类型一律为int(0或非0)。
e1&&e2 两者都为真时,结果才为真
e1||e2 两者都为假时,结果才为假
!e1 真为假,假为真 逻辑表达式!e等价于关系表达式 e ==0
4、自增和自减运算符:++ -- a=a++ ,a的值变两次,自增的结果被表达式的返回值覆盖
5、按位运算符:&(按位与) |(按位或) ~(求反) ^(按位加、异或) <<(左移) >>(右移)操作数必须为整数
例: short k =0,求~k. short型占两个字节,首先把k表示成二进制00000000 00000000,~k逐位求反11111111 11111111,而k是有符号数,所以结果为-1.
按位与和按位或运算符除针对操作数的逐个二进位进行运算外,运算规则分别和逻辑与和逻辑或相同。
按位加则是无进位的二进制加法,1加1为0,1加0为1(两者同为0,不同为1)
按位与通常用于取位操作,按位或通常用于赋值操作,按位加通常用于取反操作
常见运算符的优先级如下:
优先级 | 运算符 | 结合性 |
1 | () [] . | 从左到右 |
2 | ! +(正) -(负) ~ ++ -- | 从右向左 |
3 | * / % | 从左向右 |
4 | +(加) -(减) | 从左向右 |
5 | << >> >>> | 从左向右 |
6 | < <= > >= instanceof | 从左向右 |
7 | == != | 从左向右 |
8 | &(按位与) | 从左向右 |
9 | ^ | 从左向右 |
10 | | | 从左向右 |
11 | && | 从左向右 |
12 | || | 从左向右 |
13 | ?: | 从右向左 |
14 | = += -= *= /= %= &= |= ^= ~= <<= >>= >>>= | 从右向左 |
相关文章推荐
- c语言中逗号运算符的作用
- IOS之C语言--4运算符
- C语言小白(2)——运算符
- 【C语言】C语言运算符
- c语言34个运算符
- OS笔记:第三篇 C语言中的运算符与if分支结构
- c语言 &取地址运算符的理解
- C语言学习大纲--运算符
- C语言:运算符
- c语言中类型转换与赋值运算符、算术运算符、关系运算符、逻辑运算符。原码、反码、补码。小解。
- C语言中的运算符及其优先级
- 【C语言简单说】五:常用运算符
- C语言一些运算符的使用
- C语言中的逗号运算符
- 嵌入式系统开发人员C语言测试题 (运算符与表达式)
- 嵌入式系统开发人员C语言测试题--设计问答题(运算符与表达式)
- C语言的##运算符-预处理器的粘合剂
- C语言中位移位运算符
- C语言中类型.运算符.表达式
- C语言数据类型及运算符