- 一、1.注释符号:注释替换不是简单的剔除,而是用空格替换注释。例如:in/*qwe*/t=0;此语句就是非法的。 双引号括起来的都是字符串常量,即使是双斜杠也不例外。 另外注释的嵌套如:/*/**/*/是非法的。在此推荐是用:#if0 #endif
- 语句 y = x/*p; 是非法的 因为编译器会把/*当作注释的开始 正确:y = x/(空格)*p; y = x/(*p);
- 对于注释的基本要求:1.准确,易懂,无二义性 2.不加多余注释 3.对全局数据要加注释 4.英文注释 5.注释缩进与代码缩进一致 6.数值单位要注释 7.函数的出入口数据进行注释
- 二、持续符和转义符:持续符(\)将下一句接在上一句的后面,但是不能有空格 转义字符:(\)\n 回车换行 \t下一个制表符 \v竖向跳格 \b退格 \r回车 \f走纸换页 \a鸣铃 \’单引号符 \ddd一到三位8进制数所代表的字符 \xhh一到两位16进制数所代表的字符
- 三、单双引号:括起来的都是字符常量’’ “”不一样 前者内存中占一位 而后者内存中占两位 1 ‘1’ “1” 1:32位系统下占4byte ‘1’字符常量:1byte “1”字符串常量:2byte
- 四、位运算符: &按位与 |按位或 ^按位异或 ~按位取反 <<左移 >>右移
0x01<<2+3; 答案是32 +运算符的优先级比移位运算符要高
0x01<<2+30 结果会发生溢出现象
- 五、++ -- 运算符:后置++均是在本单位计算结束后在进行自增的操作 a+++b -------> a++ +b
- 六、运算符的优先级:
- 数组下标:[] 圆括号() 成员选择.(对象) 成员选择->(指针)
- 负号运算符 - 强制类型转换 ++ -- 取值运算符* &取地址运算符 逻辑非! 按位取反~ 长度运算符sizeof
- 除/ 乘* 取余%
- 加+ 减-
- << >>
- > >= < <=
- 等于== 不等于!=
- 按位与 &
- 按位异或 ^
- 按位或 |
- 逻辑与 &&
- 逻辑||
- ?:条件运算符
- = /= *= %= += -= <<= >>= &= ^= |=
- 逗号表达式
容易混淆的: 1 .优先级高于* -> *p.f ---> *(p.f) 2. [] 高于 * int *p[] ---> int *(p[]) 3.函数()高于* int *p() ---> int *(p())
- == != 高于 位运算 (val & mask != 0) val &(mask != 0)
- == != 高于 赋值 c = getchar() != EOF
- 算术运算符高于位运算符 msb << 4 + lab
- 逗号运算符最低: i= 1,2 (i= 1),2;
本文详细介绍了C语言中的注释使用规范、特殊字符的作用、字符与字符串的区别、位运算符的应用及运算符的优先级等内容,并提供了实用建议。
&spm=1001.2101.3001.5002&articleId=82313793&d=1&t=3&u=68629521e46249c1adacd49b8ddc95a8)
1269

被折叠的 条评论
为什么被折叠?



