C/C++语言运算符优先级和ASCII表
1. C语言运算符优先级及结合性
C语言运算符优先级:http://en.cppreference.com/w/cpp/language/operator_precedence
|
优先级 |
运算符 |
名称或含义 |
使用形式 |
结合方向 |
说明 |
|
1 |
[] |
数组下标 |
数组名[常量表达式] |
左到右 |
-- |
|
() |
圆括号 |
(表达式)/函数名(形参表) |
-- |
||
|
. |
成员选择(对象) |
对象.成员名 |
-- |
||
|
-> |
成员选择(指针) |
对象指针->成员名 |
-- |
||
|
|
|||||
|
2 |
- |
负号运算符 |
-表达式 |
右到左 |
单目运算符 |
|
~ |
按位取反运算符 |
~表达式 |
|||
|
++ |
自增运算符 |
++变量名/变量名++ |
|||
|
-- |
自减运算符 |
--变量名/变量名-- |
|||
|
* |
取值运算符 |
*指针变量 |
|||
|
& |
取地址运算符 |
&变量名 |
|||
|
! |
逻辑非运算符 |
!表达式 |
|||
|
(类型) |
强制类型转换 |
(数据类型)表达式 |
-- |
||
|
sizeof |
长度运算符 |
sizeof(表达式) |
-- |
||
|
|
|||||
|
3 |
/ |
除 |
表达式/表达式 |
左到右 |
双目运算符 |
|
* |
乘 |
表达式*表达式 |
|||
|
% |
余数(取模) |
整型表达式%整型表达式 |
|||
|
4 |
+ |
加 |
表达式+表达式 |
左到右 |
双目运算符 |
|
- |
减 |
表达式-表达式 |
|||
|
5 |
<< |
左移 |
变量<<表达式 |
左到右 |
双目运算符 |
|
>> |
右移 |
变量>>表达式 |
|||
|
|
|||||
|
6 |
> |
大于 |
表达式>表达式 |
左到右 |
双目运算符 |
|
>= |
大于等于 |
表达式>=表达式 |
|||
|
< |
小于 |
表达式<表达式 |
|||
|
<= |
小于等于 |
表达式<=表达式 |
|||
|
7 |
== |
等于 |
表达式==表达式 |
左到右 |
双目运算符 |
|
!= |
不等于 |
表达式!= 表达式 |
|||
|
|
|||||
|
8 |
& |
按位与 |
表达式&表达式 |
左到右 |
双目运算符 |
|
9 |
^ |
按位异或 |
表达式^表达式 |
左到右 |
双目运算符 |
|
10 |
| |
按位或 |
表达式|表达式 |
左到右 |
双目运算符 |
|
11 |
&& |
逻辑与 |
表达式&&表达式 |
左到右 |
双目运算符 |
|
12 |
|| |
逻辑或 |
表达式||表达式 |
左到右 |
双目运算符 |
|
|
|||||
|
13 |
?: |
条件运算符 |
表达式1? 表达式2: 表达式3 |
右到左 |
三目运算符 |
|
|
|||||
|
14 |
= |
赋值运算符 |
变量=表达式 |
右到左 |
-- |
|
/= |
除后赋值 |
变量/=表达式 |
-- |
||
|
*= |
乘后赋值 |
变量*=表达式 |
-- |
||
|
%= |
取模后赋值 |
变量%=表达式 |
-- |
||
|
+= |
加后赋值 |
变量+=表达式 |
-- |
||
|
-= |
减后赋值 |
变量-=表达式 |
-- |
||
|
<<= |
左移后赋值 |
变量<<=表达式 |
-- |
||
|
>>= |
右移后赋值 |
变量>>=表达式 |
-- |
||
|
&= |
按位与后赋值 |
变量&=表达式 |
-- |
||
|
^= |
按位异或后赋值 |
变量^=表达式 |
-- |
||
|
|= |
按位或后赋值 |
变量|=表达式 |
-- |
||
|
|
|||||
|
15 |
, |
逗号运算符 |
表达式,表达式,… |
左到右 |
--
|
注意:
(1) “==” 的优先级比 &(按位与) 的优先级高。
(2) 相同优先级就按结合性依次执行。
2. ASCII码表:
| 十进制 | 八进制 | 十六进制 | 字符 | 描述 |
|---|---|---|---|---|
| 0 | 0 | 00 | NUL | |
| 1 | 1 | 01 | SOH | start of header 标题的开始 |
| 2 | 2 | 02 | STX | start of text 文本开始 |
| 3 | 3 | 03 | ETX | end of text 文本结尾 |
| 4 | 4 | 04 | EOT | end of transmission 传输结束 |
| 5 | 5 | 05 | ENQ | enquiry 询问 |
| 6 | 6 | 06 | ACK | acknowledge 承认 |
| 7 | 7 | 07 | BEL | bell 响铃 |
| 8 | 10 | 08 | BS | backspace 退格 |
| 9 | 11 | 09 | HT | horizontal tab 水平制表符 |
| 10 | 12 | 0A | LF | line feed 换行 |
| 11 | 13 | 0B | VT | vertical tab 垂直制表符 |
| 12 | 14 | 0C | FF | form feed 换页 |
| 13 | 15 | 0D | CR | carriage return 回车 |
| 14 | 16 | 0E | SO | shift out 移出 |
| 15 | 17 | 0F | SI | shift in 移入 |
| 16 | 20 | 10 | DLE | data link escape 数据链接逃逸 |
| 17 | 21 | 11 | DC1 | no assignment, but usually XON 没有分配,但通常是 XON |
| 18 | 22 | 12 | DC2 | |
| 19 | 23 | 13 | DC3 | no assignment, but usually XOFF 没有赋值,但通常是 XOFF |
| 20 | 24 | 14 | DC4 | |
| 21 | 25 | 15 | NAK | negative acknowledge 否定承认 |
| 22 | 26 | 16 | SYN | synchronous idle 同步空闲 |
| 23 | 27 | 17 | ETB | end of transmission block 传输块结束 |
| 24 | 30 | 18 | CAN | cancel 取消 |
| 25 | 31 | 19 | EM | end of medium 介质末端 |
| 26 | 32 | 1A | SUB | substitute 代替 |
| 27 | 33 | 1B | ESC | escape 逃脱 |
| 28 | 34 | 1C | FS | file seperator 文件分隔符 |
| 29 | 35 | 1D | GS | group seperator 组分隔符 |
| 30 | 36 | 1E | RS | record seperator 记录分隔符 |
| 31 | 37 | 1F | US | unit seperator 单位分隔符 |
| 32 | 40 | 20 | SPC | space 空格 |
| 33 | 41 | 21 | ! | |
| 34 | 42 | 22 | " | |
| 35 | 43 | 23 | # | |
| 36 | 44 | 24 | $ | |
| 37 | 45 | 25 | % | |
| 38 | 46 | 26 | & | |
| 39 | 47 | 27 | ' | |
| 40 | 50 | 28 | ( | |
| 41 | 51 | 29 | ) | |
| 42 | 52 | 2A | * | |
| 43 | 53 | 2B | + | |
| 44 | 54 | 2C | , | |
| 45 | 55 | 2D | - | |
| 46 | 56 | 2E | . | |
| 47 | 57 | 2F | / | |
| 48 | 60 | 30 | 0 | |
| 49 | 61 | 31 | 1 | |
| 50 | 62 | 32 | 2 | |
| 51 | 63 | 33 | 3 | |
| 52 | 64 | 34 | 4 | |
| 53 | 65 | 35 | 5 | |
| 54 | 66 | 36 | 6 | |
| 55 | 67 | 37 | 7 | |
| 56 | 70 | 38 | 8 | |
| 57 | 71 | 39 | 9 | |
| 58 | 72 | 3A | : | |
| 59 | 73 | 3B | ; | |
| 60 | 74 | 3C | < | |
| 61 | 75 | 3D | = | |
| 62 | 76 | 3E | > | |
| 63 | 77 | 3F | ? | |
| 64 | 100 | 40 | @ | |
| 65 | 101 | 41 | A | |
| 66 | 102 | 42 | B | |
| 67 | 103 | 43 | C | |
| 68 | 104 | 44 | D | |
| 69 | 105 | 45 | E | |
| 70 | 106 | 46 | F | |
| 71 | 107 | 47 | G | |
| 72 | 110 | 48 | H | |
| 73 | 111 | 49 | I | |
| 74 | 112 | 4A | J | |
| 75 | 113 | 4B | K | |
| 76 | 114 | 4C | L | |
| 77 | 115 | 4D | M | |
| 78 | 116 | 4E | N | |
| 79 | 117 | 4F | O | |
| 80 | 120 | 50 | P | |
| 81 | 121 | 51 | Q | |
| 82 | 122 | 52 | R | |
| 83 | 123 | 53 | S | |
| 84 | 124 | 54 | T | |
| 85 | 125 | 55 | U | |
| 86 | 126 | 56 | V | |
| 87 | 127 | 57 | W | |
| 88 | 130 | 58 | X | |
| 89 | 131 | 59 | Y | |
| 90 | 132 | 5A | Z | |
| 91 | 133 | 5B | [ | |
| 92 | 134 | 5C | \ | |
| 93 | 135 | 5D | ] | |
| 94 | 136 | 5E | ^ | |
| 95 | 137 | 5F | _ | |
| 96 | 140 | 60 | ` | |
| 97 | 141 | 61 | a | |
| 98 | 142 | 62 | b | |
| 99 | 143 | 63 | c | |
| 100 | 144 | 64 | d | |
| 101 | 145 | 65 | e | |
| 102 | 146 | 66 | f | |
| 103 | 147 | 67 | g | |
| 104 | 150 | 68 | h | |
| 105 | 151 | 69 | i | |
| 106 | 152 | 6A | j | |
| 107 | 153 | 6B | k | |
| 108 | 154 | 6C | l | |
| 109 | 155 | 6D | m | |
| 110 | 156 | 6E | n | |
| 111 | 157 | 6F | o | |
| 112 | 160 | 70 | p | |
| 113 | 161 | 71 | q | |
| 114 | 162 | 72 | r | |
| 115 | 163 | 73 | s | |
| 116 | 164 | 74 | t | |
| 117 | 165 | 75 | u | |
| 118 | 166 | 76 | v | |
| 119 | 167 | 77 | w | |
| 120 | 170 | 78 | x | |
| 121 | 171 | 79 | y | |
| 122 | 172 | 7A | z | |
| 123 | 173 | 7B | { | |
| 124 | 174 | 7C | | | |
| 125 | 175 | 7D | } | |
| 126 | 176 | 7E | ~ | |
| 127 | 177 | 7F | DEL | delete |
注:
\x0d 代表回车字符,它的ASCII码值为13(十进制)。在文本文件中,回车字符通常用于表示光标返回到当前行的开头,但不换行。
\x0a 代表换行字符,它的ASCII码值为10(十进制)。换行字符用于在文本文件中表示将光标移动到下一行的开头。
3. C++运算符优先级和结合性
C++运算符优先级:http://en.cppreference.com/w/cpp/language/operator_precedence
维基百科上的说明:http://zh.wikipedia.org/wiki/C%E5%92%8CC%2B%2B%E9%81%8B%E7%AE%97%E5%AD%90
posted on 2017-09-08 17:32 Hello-World3 阅读(428) 评论(0) 收藏 举报
浙公网安备 33010602011771号