C++ 盲点笔记(一)
字符
转义字符
| 转义字符 | 含义 | ASCII码值 |
|---|---|---|
| \0 | 空字符(字符串的结束标志) | 0 |
| \a | 响铃(错误音效) | 7 |
| \t | 水平制表符 | 9 |
| \n | 换行符 | 10 |
| \“ | 双引号 | 34 |
| \‘ | 单引号 | 39 |
| \\ | 反斜杠 | 92 |
| \ddd | 八进制表示的字符 | * |
| \xhh | 十六进制表示的字符 | * |
例:
'\043' -> 八进制为43的字符 -> 十进制为35的字符 -> '#'
'\x43' -> 十六进制为43的字符 -> 十进制为67的字符 -> 'C'ASCII 码
大致顺序:数字 -> 大写字母 -> 小写字母
‘0’ (48) - ‘9’ (57)
‘A’ (65) - ‘Z’ (90)
‘a’ (97) - ‘z’ (122)
完整码表请参考:ASCII 表
输入输出
getchar() 函数
getchar() 用于读取下一个可用的字符,并将其作为整数返回。
如果读到文件结束或者发生读取错误,则返回 EOF (-1).
常用方法:
char c;
while ((c = getchar()) != EOF) {
// 一些操作
}gets() 函数
gets() 用于读取一行字符串,并将读取的字符存储到指定的字符数组中。
换行符 \n 不会被存储到数组中,但在读取过程中会被消耗掉。读取完成后,会在数组末尾添加一个空字符 \0 以终止字符串。
如果遇到文件结束符或读取错误,返回 NULL.
常用方法:
char str[100];
while (gets(str) != NULL) {
// 一些操作
}cin 语句
cin 语句用于读取输入,并将其转换为指定类型的值。
若缓冲区中第一个字符是分隔符,cin 会将其忽略并清除,继续读取下一个字符,
但是如果读取成功,字符后面的分隔符是残留在缓冲区的,cin 不做处理。
常用方法:
int x;
while (cin >> x) {
// 一些操作
}cin.getline() 函数
类似于gets().
常用方法:
char str[100];
cin.getline(str, 100); // 默认以'\0'为截止符
cin.getline(str, 100, 'a'); // 以'a'为截止符cout 常用控制符
| 控制符 | 功能 |
|---|---|
| *dec | 十进制输出 |
| hex | 十六进制输出 |
| oct | 八进制输出 |
| setprecision(n) | 设置实数的精度 |
| setbase(n) | 设置整数的基数(只能为 8, 10 或 16) |
| setfill(c) | 设置填充字符 |
| setw(n) | 设置字段宽度 |
| boolalpha | 把 true 和 false 输出为字符串 |
| *noboolalpha | 把 true 和 false 输出为数字 |
| left | 左对齐输出 |
| *right | 右对齐输出 |
| internal | 内部对齐输出 |
| fixed | 固定小数位数输出 |
| scientific | 科学计数法输出 |
| endl | 换行并刷新缓冲区 |
注意:
- 带
*的控制符表示默认生效。 setw只对其后的第一个输出项有效。internal指符号位左对齐,数值右对齐,中间由填充字符填充。setprecision默认代表有效数字,在以fixed和scientific形式输出时代表小数位数。endl不是一个字符,它等价于putchar('\n')和fflush(stdout).
C++ 盲点笔记(一)
https://blog.sugarmgp.cn/2024/11/07/cpp-note-ep1/