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语言中的重要符号的主要内容,如果未能解决你的问题,请参考以下文章

C语言重点难点精讲C语言指针

C语言重点难点精讲C语言预处理

C语言重点难点精讲C语言文件

C语言重点难点精讲C语言内存管理

C语言重点难点精讲第一部分关键字:第一节-关键字分类细讲

C语言重点难点:与,或和异或