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 阅读(403) 评论(0) 编辑 收藏 举报