转义符
有许多字符并不在源代码中出现,但它们在格式化程序输出或操纵终端显示屏时非常有用。C语言也提供了一些这方面的转义符,方便你在程序中包含它们。在选择这些转义符的字符时,特地考虑了它们是否有助于记忆它们代表的字符的功能。
下面的转义符中,有些标以“⚠️”符号,表示它们是ANSI C新增的,在K&R C中并未实现。
转义符 | 描述 |
---|---|
\a | ⚠️警告字符。它将奏响终端铃声或产生其他一些可听见或可看见的信号 |
\b | 退格键 |
\f | 进纸字符 |
\n | 换行符 |
\r | 回车符 |
\t | 水平制表符 |
\v | ⚠️垂直制表符 |
\ddd | ddd表示1~3个八进制数字。这个转义符表示的字符就是给定的八进制数值所代表的字符 |
\xddd | ⚠️与上例类似,知识八进制数换成了十六进制数 |
程序风格
编程规范:
- 空行用于分隔不同的逻辑代码段,它们是按照功能分段的。
if
和相关语句的括号是这些语句的一部分,而不是它们所测试的表达式的一部分。所以,在括号和表达式之间留下一个空格,使表达式看上去更突出一些。函数的原型也是如此。- 在绝大多数操作符的使用中,中间都隔以空格,这可以使表达式的可读性更佳。有时,在复杂的表达式中,会省略空格,这有助于显示子表达式的分组。
- 嵌套与其他语句的语句将缩进,以显示它们之间的层次。使用Tab键而不是空格,你可以很容易地将相关联的语句整齐排列。当整页都是程序代码时,使用足够大的缩进有助于程序匹配部分的定位,只使用两到三个空格是不够的。
- 绝大部分注释都是成块出现的,这样它们从视觉上在代码中很突出。
- 在函数的定义中,返回类型出现于独立的一行中,而函数的名字则在下一行的起始处。这样,在寻找函数的定义时,你可以在一行的开始处找到函数的名字。