2016.8.16 DAGE
复习内容:c深度解剖笔记3
a.符号
1.注释
注释部分编译器会将其剔除掉,但是不是直接剔除,而是替换成空格代替注释
注释里面也可以使用续行符\比如使用//来注释时一行不够
/**/类型的注释不能嵌套
/*之间要是没有空格,那么就会默认是注释部分的开始,所以a/*b,原意a除以地址b里面的值就会默认进入注释部分
\的作用:接续符,来连接本行和下一行,并且\后面不能跟东西
转义字符的开始标识,
\n 回车换行
\t 横向跳到下一制表位置
\v 竖向跳格
\b 退格
\r 回车
\f 走纸换页
\\ 反斜扛符"\"
\ '单引号符
\ a鸣铃
\ ddd1~3 位八进制数所代表的字符
\ xhh1~2 位十六进制数所代表的字符
2.引号
双引号引起来的都是字符串常量,单引号引起来的都是字符常量。
如:‘a’和“a”完全不一样,在内存里前者占 1 个 byte,后者占2个 byte。
1和‘1’和“1”分别在内存里面占了4位,1位,2位
字符在内存里面是以ASCII码的形式存储的
3.逻辑运算符
||和&&是常用到的逻辑运算符,按位运算符|和&。
使用逻辑运算符时要注意如果左侧成功或者不成功右侧不运行的情况
4.位运算符
& 按位与
| 按位或
^ 按位异或 按位异或操作可以实现不用第三个临时变量交换两个变量的值
~ 取反
<< 左移
>> 右移
要注意加法乘法的运算符等级要高于左移和右移的运算符等级所以0x1<<2+3此时左移了5位
左移和右移的位数不能大于数据的长度,不能小于 0
5.大括号
作用就是打包,为了把一些语句或代码打个包包起来,使之形成一个整体,并与外界绝缘
6.++与–
在遇到每个逗号后,认为本计算单位已经结束,如果++和--与逗号表达式合用,那么会在逗号完后+1或-1
C 语言有这样一个规则:每一个符号应该包含尽可能多的字符。也就是说,编译器将程序分解成符号的方法是,从左到右一个一个字符地读入,如果该字符可能组成一个符号,那么再读入下一个字符,判断已经读入的两个字符组成的字符串是否可能是一个符号的组成部分;如果可能,继续读入下一个字符,重复上述判断,直到读入的字符组成的字符串已不再可能组成一个有意义的符号。这个处理的策略被称为“贪心法”。需要注意到是,除了字符串与字符常量,符号的中间不能嵌有空白(空格、制表符、换行符等)。比如:==是单个符号,而= =是两个等号。