2.1 注释符号
c语言注释有两种:/…/和//,
其中:/…/编译器剔除注释代码时会将/…/变为空格。
特别注意:/…/这种注释不能嵌套,/总是与离它最近的/匹配
2.2 连续符和转义符
C语言里以反斜杠\表示断行。编译器会将反斜杠剔除掉,跟在反斜杠后面的字符自动接续到前一行。但是注意:反斜杠之后不能有空格,反斜杠的下一行之前也不能有空格。当然你可以测试一下加了空格之后的效果。有时候bug出现在这里,你很难找到。
反斜杠除了可以被用作接续符,还能被用作转义字符的开始标志。常用的转义字符及其含义:
转义字符 转义字符的意义
\n 回车换行
\t 横向跳到下一制表位置
\v 竖向跳格
\b 退格
\r 回车
\f 走纸换页\\反斜扛符"\"\' 单引号符
\a 鸣铃
\ddd 1~3 位八进制数所代表的字符
\xhh 1~2 位十六进制数所代表的字符广义地讲,C语言字符集中的任何一个字符均可用转义字符来表示。
表中的\ddd 和\xhh正是为此而提出的。ddd 和 hh 分别为八进制
和十六进制的 ASCII 代码。
如\102 表示字母"B", \134 表示反斜线,\X0A 表示换行等
2.5.1 左移和右移
左移运算符“<<”是双目运算符。其功能把“<< ”左边的运算数的各二进位全部左移若干位,由“<<”右边的数指定移动的位数,高位丢弃,低位补 0。
右移运算符“>>”是双目运算符。其功能是把“>> ”左边的运算数的各二进位全部右移若干位,“>>”右边的数指定移动的位数。但注意:对于有符号数,在右移时,符号位将随同移动。当为正数时, 最高位补 0;而为负数时,符号位为 1,最高位是补 0 或是补 1 取决于编译系统的规定。Turbo C 和很多系统规定为补 1。
注意的问题:
0x01<<2+30;或 0x01<<2-3;这样的代码时错误的。一个整型数长度为 32 位,左移32位发生了什么事情,溢出
!左移-1位呢,所以左移和右移的位数是有讲究的。左移和右移的位数不能大于
数据的长度,不能小于 0。