按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
n回车换行
t横向跳到下一制表位置
v竖向跳格
b退格
r回车
f走纸换页
反斜扛符〃”
'单引号符
a鸣铃
ddd
1~3位八进制数所代表的字符
xhh
1~2位十六进制数所代表的字符
广义地讲,C语言字符集中的任何一个字符均可用转义字符来表示。表中的
ddd和xhh
正是为此而提出的。ddd和
hh分别为八进制和十六进制的
ASCII代码。如
102表示字母〃B〃,
134表示反斜线,X0A表示换行等。
2。3,单引号、双引号
我们知道双引号引起来的都是字符串常量,单引号引起来的都是字符常量。但初学者
还是容易弄错这两点。比如:
‘a’和“a”完全不一样,在内存里前者占
1个
byte,后者占
2
个
byte。关于字符串常量在指针与数组那章将有更多的讨论。
这两个列子还好理解,再看看这三个:
1,‘1‘,“1”。
第一个是整形常数,32位系统下占
4个
byte;
第二个是字符常量,占
1个
byte;
第三个是字符串常量,占
2个
byte。
三者表示的意义完全不一样,所占的内存大小也不一样,初学者往往弄错。
字符在内存里是以
ASCAII码存储的,所以字符常量可以与整形常量或变量进行运算。
如:‘A‘
+1。
2。4,逻辑运算符
||和&&是我们经常用到的逻辑运算符,与按位运算符
|和&是两码事。下一节会介绍按位
运算符。虽然简单,但毕竟容易犯错。看例子:
inti=0;
intj=0;
if((++i》0)||(++j》0))
{
//打印出
i和
j的值。
}
结果:i=1;j=0。
不要惊讶。逻辑运算符||两边的条件只要有一个为真,其结果就为真;只要有一个结果
为假,其结果就为假。if((++i》0)||(++j》0))语句中,先计算(++i》0),发现其结果为真,后面
的(++j》0)便不再计算。同样
&&运算符也要注意这种情况。这是很容易出错的地方,希望读
者注意。
2。5,位运算符
C语言中位运算包括下面几种:
&按位与
|按位或
^按位异或
~取反
右移
前
4种操作很简单,一般不会出错。但要注意按位运算符
|和&与逻辑运算符||和&&完全
是两码事,别混淆了。其中按位异或操作可以实现不用第三个临时变量交换两个变量的值:
a^=
b;b
^=
a;a
^=b;但并不推荐这么做,因为这样的代码读起来很费劲。
2。5。1,左移和右移
下面讨论一下左移和右移:
左移运算符“》”右边的数指定移动的位数。但注意:对于有符号数,在右移时,符号位将随同
移动。当为正数时,最高位补
0;而为负数时,符号位为
1,最高位是补
0或是补
1取决
于编译系统的规定。TurboC和很多系统规定为补
1。
2。5。2,0x01