1、注释符号
编译器剔除掉注释后,会用空格代替原有的注释位置
/*总是与离它最近的*/匹配,故/*…*/这种形式的注释不能嵌套
2、接续符和转义字符
C 语言里以反斜杠(\)表示断行。编译器会将反斜杠剔除掉,跟在反斜杠后面的字符 自动接续到前一行。
\还能被用作转义字符的开始标识,常见的转义字符:
3、单引号、双引号
1:整型常量,32位系统里占4byte;
‘1’:字符常量,占1byte;
”1“字符串常量,占2byte;
(字符在内存里是以 ASCAII 码存储的,所以字符常量可以与整形常量或变量进行运算。)
4、逻辑运算符
在||与&&的逻辑运算判断中,如果判断前一个条件符合,则后一个条件将跳过判断
5、位运算符
& 按位与
| 按位或
^ 按位异或
~ 取反
<< 左移
>> 右移
中按位异或操作可以实现不用第三个临时变量交换两个变量的值:
a ^= b; b ^= a;a ^= b;
左移运算符“<<”是双目运算符。其功能把“<< ”左边的运算数的各二进位全部左移若干
位,由“<<”右边的数指定移动的位数,高位丢弃,低位补 0。
对于有符号数,在右移时,符号位将随同移动。当为正数时, 最高位补 0;而为负数时,符号位为 1,最高位是补 0 或是补 1 取决于编译系统的规定。
左移和右移的位数不能大于数据的长度,不能小于 0。
6、花括号
作用是打包
7、++,--
++、--作为前缀,是先自加或自减,然后再做别的运算;i 在遇到每个逗号或者分号后,认为本计算单位已经结束,i 这时候自加。
每一个符号应该包含尽可能多的字符。也就是说,编译器将程序分解成符号的方法是,从左到右一个一个字符地读入,如果该字符可能组成一个符号, 那么再读入下一个字符,判断已经读入的两个字符组成的字符串是否可能是一个符号的组 成部分;如果可能,继续读入下一个字符,重复上述判断,直到读入的字符组成的字符串 已不再可能组成一个有意义的符号。
8、运算符的优先级