C/C++参考文档
基本C/C++
预处理命令
操作符优先级
优先级 | 操作符 | 优先级 | 操作符 |
---|---|---|---|
1 | () [] -> . :: ! ~ ++ -- | 9 | & (bitwise AND) |
2 | - (unary) * (dereference) & (address of) sizeof | 10 | ^ |
3 | ->* .* | 11 | | |
4 | * (multiply) / % | 12 | && |
5 | + - | 13 | || |
6 | << >> | 14 | ? : |
7 | < <= > >= | 15 | = += -= etc. |
8 | == != | 16 | , |
转义字符
转义字符 | 描述 |
---|---|
\' | 单引号 |
\" | 双引号 |
\\ | 反斜杠 |
\0 | 空字符 |
\a | 响铃 |
\b | 后退 |
\f | 走纸 |
\n | 换行 |
\r | 回车 |
\t | 水平制表符 |
\v | 垂直制表符 |
\xnnn | 表示十六进制数(nnn) |
ASCII码表
十进制 | 八进制 | 十六进制 | 字符 | 描述 | 十进制 | 八进制 | 十六进制 | 字符 | 描述 |
---|---|---|---|---|---|---|---|---|---|
0 | 0 | 00 | NUL | 64 | 100 | 40 | @ | ||
1 | 1 | 01 | SOH | start of header | 65 | 101 | 41 | A | |
2 | 2 | 02 | STX | start of text | 66 | 102 | 42 | B | |
3 | 3 | 03 | ETX | end of text | 67 | 103 | 43 | C | |
4 | 4 | 04 | EOT | end of transmission | 68 | 104 | 44 | D | |
5 | 5 | 05 | ENQ | enquiry | 69 | 105 | 45 | E | |
6 | 6 | 06 | ACK | acknowledge | 70 | 106 | 46 | F | |
7 | 7 | 07 | BEL | bell | 71 | 107 | 47 | G | |
8 | 10 | 08 | BS | backspace | 72 | 110 | 48 | H | |
9 | 11 | 09 | HT | horizontal tab | 73 | 111 | 49 | I | |
10 | 12 | 0A | LF | line feed | 74 | 112 | 4A | J | |
11 | 13 | 0B | VT | vertical tab | 75 | 113 | 4B | K | |
12 | 14 | 0C | FF | form feed | 76 | 114 | 4C | L | |
13 | 15 | 0D | CR | carriage return | 77 | 115 | 4D | M | |
14 | 16 | 0E | SO | shift out | 78 | 116 | 4E | N | |
15 | 17 | 0F | SI | shift in | 79 | 117 | 4F | O | |
16 | 20 | 10 | DLE | data link escape | 80 | 120 | 50 | P | |
17 | 21 | 11 | DC1 | no assignment, but usually XON | 81 | 121 | 51 | Q | |
18 | 22 | 12 | DC2 | 82 | 122 | 52 | R | ||
19 | 23 | 13 | DC3 | no assignment, but usually XOFF | 83 | 123 | 53 | S | |
20 | 24 | 14 | DC4 | 84 | 124 | 54 | T | ||
21 | 25 | 15 | NAK | negative acknowledge | 85 | 125 | 55 | U | |
22 | 26 | 16 | SYN | synchronous idle | 86 | 126 | 56 | V | |
23 | 27 | 17 | ETB | end of transmission block | 87 | 127 | 57 | W | |
24 | 30 | 18 | CAN | cancel | 88 | 130 | 58 | X | |
25 | 31 | 19 | EM | end of medium | 89 | 131 | 59 | Y | |
26 | 32 | 1A | SUB | substitute | 90 | 132 | 5A | Z | |
27 | 33 | 1B | ESC | escape | 91 | 133 | 5B | [ | |
28 | 34 | 1C | FS | file seperator | 92 | 134 | 5C | \ | |
29 | 35 | 1D | GS | group seperator | 93 | 135 | 5D | ] | |
30 | 36 | 1E | RS | record seperator | 94 | 136 | 5E | ^ | |
31 | 37 | 1F | US | unit seperator | 95 | 137 | 5F | _ | |
32 | 40 | 20 | SPC | space | 96 | 140 | 60 | ` | |
33 | 41 | 21 | ! | 97 | 141 | 61 | a | ||
34 | 42 | 22 | " | 98 | 142 | 62 | b | ||
35 | 43 | 23 | # | 99 | 143 | 63 | c | ||
36 | 44 | 24 | $ | 100 | 144 | 64 | d | ||
37 | 45 | 25 | % | 101 | 145 | 65 | e | ||
38 | 46 | 26 | & | 102 | 146 | 66 | f | ||
39 | 47 | 27 | ' | 103 | 147 | 67 | g | ||
40 | 50 | 28 | ( | 104 | 150 | 68 | h | ||
41 | 51 | 29 | ) | 105 | 151 | 69 | i | ||
42 | 52 | 2A | * | 106 | 152 | 6A | j | ||
43 | 53 | 2B | + | 107 | 153 | 6B | k | ||
44 | 54 | 2C | , | 108 | 154 | 6C | l | ||
45 | 55 | 2D | - | 109 | 155 | 6D | m | ||
46 | 56 | 2E | . | 110 | 156 | 6E | n | ||
47 | 57 | 2F | / | 111 | 157 | 6F | o | ||
48 | 60 | 30 | 0 | 112 | 160 | 70 | p | ||
49 | 61 | 31 | 1 | 113 | 161 | 71 | q | ||
50 | 62 | 32 | 2 | 114 | 162 | 72 | r | ||
51 | 63 | 33 | 3 | 115 | 163 | 73 | s | ||
52 | 64 | 34 | 4 | 116 | 164 | 74 | t | ||
53 | 65 | 35 | 5 | 117 | 165 | 75 | u | ||
54 | 66 | 36 | 6 | 118 | 166 | 76 | v | ||
55 | 67 | 37 | 7 | 119 | 167 | 77 | w | ||
56 | 70 | 38 | 8 | 120 | 170 | 78 | x | ||
57 | 71 | 39 | 9 | 121 | 171 | 79 | y | ||
58 | 72 | 3A | : | 122 | 172 | 7A | z | ||
59 | 73 | 3B | ; | 123 | 173 | 7B | { | ||
60 | 74 | 3C | < | 124 | 174 | 7C | | | ||
61 | 75 | 3D | = | 125 | 175 | 7D | } | ||
62 | 76 | 3E | > | 126 | 176 | 7E | ~ | ||
63 | 77 | 3F | ? | 127 | 177 | 7F | DEL | delete |
基本数据类型
C语言包含5个基本数据类型: void
, integer
, float
, double
, 和 char
。
类型 | 描述 |
---|---|
void | 空类型 |
int | 整型 |
float | 浮点类型 |
double | 双精度浮点类型 |
char | 字符类型 |
C++ 定义了另外两个基本数据类型: bool
和 wchar_t
.
类型 | 描述 |
---|---|
bool | 布尔类型, 值为true 或 false |
wchar_t | 宽字符类型 |
类型修饰符
一些基本数据类型能够被 signed
, unsigned
, short
, 和 long
修饰。 当类型修饰符单独使用的时候, 默认的类型是 int
。 下表是所有可能出现的数据类型:
- bool
- char
- unsigned char
- signed char
- int
- unsigned int
- signed int
- short int
- unsigned short int
- signed short int
- long int
- signed long int
- unsigned long int
- float
- double
- long double
- wchar_t
类型大小和表示范围
基本数据类型的大小以及能够表示的数据范围是与编译器和硬件平台有关的。 "cfloat
" (或者 "float.h
") 头文件往往定义了基本数据类型能够表示的数据的最大值和最小值。 你也可以使用 sizeof
来获得类型的大小(字节数) 。 然而, 很多平台使用了一些数据类型的标准大小,如: int
和 float
通常占用 32位, char
占用 8位, double
通常占用64位。 bools
通常以 8位 来实现。
关键字
标准C库
- Standard C I/O
- Standard C String & Character
- Standard C Math
- Standard C Time & Date
- Standard C Memory
- Other standard C functions
C++
- C++ I/O
- C++ Strings
- C++ Algorithm
C++ 标准模板库(STL)
C++ STL (Standard Template Library标准模板库) 是通用类模板和算法的集合,它提供给程序员一些标准的数据结构的实现如 queues
(队列), lists
(链表), 和 stacks
(栈)等。
C++ STL 提供给程序员以下三类数据结构的实现:
顺序结构
容器适配器
联合容器
迭代器
程序员使用复杂数据结构的最困难的部分已经由STL完成。