C语言深度解剖(第二章-符号读书笔记)

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。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值