C语言重点难点精讲C语言中的重要符号
Posted 快乐江湖
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言重点难点精讲C语言中的重要符号相关的知识,希望对你有一定的参考价值。
一:续接符和转义符
(1)续接符
如果一行写不下了可以使用续接符\\
进行换行
int main()
{
int a=1;
int b=2;
int c=3;
if(1==a &&\\//注意后面不要出现任何符号
2==b &&\\//注意后面不要出现任何符号
3==c){
printf("1\\n");
}else{
printf("2\\n");
}
return 0;
}
(2)转义字符
常见转义字符
关于\\r
和\\
t它们是不一样的
- 转义字符
\\r
表示回车,回车的意思是回到本行的第一个字符处 - 转义字符
\\n
表示换行,换行的意思是到下一行对应位置再输入
二:单引号和双引号
第一: 正常情况下单引号是字符,双引号是字符串
第二: 注意一点,C99规定,像’1
'这样的叫做整形常量,被看作为了int
型
int main()
{
printf("%d\\n", sizeof('1'));//整型常量
char c = 'abcd';//发生截断
printf("%d\\n", sizeof(c));
}
三:逻辑运算符
- 逻辑与
&&
:两个条件必须同时成立,有一个条件不成立则不成立 - 逻辑或
||
:有一个条件成立则成立。两个条件都不成立则不成立
他们会产生短路现象,从左向右判定时,对于逻辑与来说,如果第一个已经判定不成立了那么就不需要看后面的了,对于逻辑或来说,如果第一个已经成立了那么就不需要看后面的了
如下,可以使用这种短路,在不使用if
的情况下进行逻辑判断
int main()
{
int flag = 0;
scanf("%d", &flag);
flag && show();
//如果flag输入为1,那么还需要继续调用show进行判断
//如果flag输入为0,那么不需要继续调用show
flag || show();
//如果flag输入为1,那么不需要继续调用show
//如果flag输入为0,那么还需要继续调用show进行判断
}
四:位运算
第一: 位运算基本规则如下
第二: 异或运算支持交换律和结合律
int main()
{
printf("%d\\n", 5 ^ 4 ^ 5);
printf("%d\\n", 5 ^ 5 ^ 4);
printf("%d\\n", 5 ^( 5 ^ 4 ));
}
四:左移右移
第一: 左移和右移的基本规则
<<
左移:最高位丢弃,最低位补零
>>
右移:
- 无符号数:最低位丢弃,最高位补零(逻辑右移)
- 有符号数:最低位丢弃,最高位补符号位(算数右移)
第二: 相关演示
左移
逻辑右移
算数右移:最高位补1
五:前置++和后置++
第一: 后置++是先使用后自增,前置++是先自增后++
第二: 汇编角度分析
后置++是先使用后自增
- 如果没有人使用,那么直接自增
前置++是先自增后++
六:优先级
第一: ! > 算术运算符 > 关系运算符 > && > || > 赋值运算符
以上是关于C语言重点难点精讲C语言中的重要符号的主要内容,如果未能解决你的问题,请参考以下文章