C语言符号全集
1、注释
/*…*/
y = x/*p
y = x/(p)
这样的话,表达式的意思就是x 除以p 指向的内存里的值,把结果赋值为y 了。也就是说只要斜杠(/)和星号()之间没有空格,都会被当作注释的开始。这一点一定要注意。
对于全局数据(全局变量、常量定义等)必须要加注释
对于函数的入口出口数据给出注释。
数值的单位一定要注释
对变量的范围给出注释
2、单引号、双引号
1,‘1‘,“1”。
第一个是整形常数,32 位系统下占4 个byte;
第二个是字符常量,占1 个byte;
第三个是字符串常量,占2 个byte。
3、位运算符
& 按位与
| 按位或
^ 按位异或
~ 取反
<< 左移
右移
4、左移和右移
左移运算符“<<”是双目运算符。其功能把“<< ”左边的运算数的各二进位全部左移若干位,由“<<”右边的数指定移动的位数,高位丢弃,低位补0。
0x01<<2+3 的值为多少?
+号的优先级大于<<,则表示1左移5位,值为32。
左移和右移的位数不能大于数据的长度,不能小于0。
5、++、–操作符
int i = 3;
(++i)+(++i);
结果为10,不为9,计算的过程为i自加两次再相加,结果为5+5=10;
int cnts= 3;
(cnts++)+(cnts++)+(cnts++));//结果为12,3+4+5=12
int x;
int i = 3;
x = (++i, i++, i+10);
问x 的值为多少?i 的值为多少?
按照上面的讲解,可以很清楚的知道,逗号表达式中,i 在遇到每个逗号后,认为本计算单位已经结束,i 这时候自加。所以,本例子计算完后,i的值为5,x的值为15。
6、运算符的优先级