文章目录

  • 一:续接符和转义符
    • (1)续接符
    • (2)转义字符
  • 二:单引号和双引号
  • 三:逻辑运算符
  • 四:位运算
  • 四:左移右移
  • 五:前置++和后置++
  • 六:优先级

一:续接符和转义符

(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,那么不需要继续调用showflag || 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语言中的重要符号相关推荐

  1. 【C语言重点难点精讲】C语言指针

    文章目录 一:指针入门 二:数组入门 (1)数组的内存空间布局 (2)区分&arr[0]和&arr 三:指针和数组的关系 (1)以指针的形式访问和以数组形式访问 (2)为什么C语言要这 ...

  2. 【C语言重点难点精讲】关键字精讲

    必读: C语言关键字是一个非常重要的话题,因为它能在相当的程度上将C语言的核心内容串联起来,起到一种提纲挈领的效果 下面的内容重点提及的是相应关键字特别值得注意的地方,这些地方是我们经常忽略的,而且考 ...

  3. 【C语言重点难点精讲】C语言文件

    文章目录 一:文件相关概念 (1)什么是文件 (2)文件名 (3)文件类型 二:文件指针 三:文件的打开和关闭 四:文件的顺序读写 (1)写 (2)读 五:文件的随机读取 (1)fseek (2)ft ...

  4. 【C语言重点难点精讲】C语言内存管理

    文章目录 一:相关动态内存函数 (1)malloc和free (2)calloc (3)realloc 二:进程地址空间 三:常见内存错误 C语言内存管理其实是一个很糟糕的话题,很烦这个,但是没有办法 ...

  5. 【C语言重点难点精讲】C语言预处理

    文章目录 一:C/C++程序程序编译过程 (1)预处理 (2)编译 (3)汇编 (4)链接 二:宏定义 (1)数值宏常量 (2)字符串宏常量 (3)使用宏充当注释 (4)使用宏充当表达式 三:宏其他 ...

  6. r语言 新增一列数字类型_R语言实战之R语言基础语法精讲(一)

    R是用于统计分析.绘图的语言和操作环境.R是属于GNU系统的一个自由.免费.源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具.在学习R数据科学之前,我们首先要对R语言的基础语法有一个良好的了 ...

  7. c语言程序设计冲刺串讲,C语言程序设计冲刺串讲.ppt

    C语言程序设计冲刺串讲.ppt C语言程序设计,冲刺串讲,温馨提示,离考试只有不足4周的时间了,我们的好多学员对自己没有信心,对此我建议大家不要放弃最后的一线希望,奇迹总是出现在最后.为此我们一定要加 ...

  8. R语言实战应用精讲50篇(十六)--如何实现文字云可视化

    前言 本文跟大家分享R语言信息可视化--文字云. R语言可以轻松处理信息可视化,并且很早就有专用的信息可视化包--WordCloud. 以下是我为大家准备的几个精品专栏,喜欢的小伙伴可自行订阅,你的支 ...

  9. R语言实战应用精讲50篇(十八)-R语言实现分词、词频与词云案例解析

    前言 我真的超爱R语言,原因之一就是R有许多已经写好."开箱即用"的程序包可以直接拿来用:要知道,程序包减少了多少工作量.当然,其他语言也有类似的包,但是貌似没那么多.没那么细.这 ...

最新文章

  1. 外网访问arm嵌入式linux_嵌入式Linux系统编程——文件读写访问、属性、描述符、API
  2. 解放双手 | Jenkins + gitlab + maven 自动打包部署项目
  3. 第七章子查询练习_SQL学习:复杂查询
  4. 华东交通大学2017年ACM双基程序设计大赛题解
  5. PHP二维数组去除重复值
  6. 《构架之美》阅读笔记四
  7. 理解A*寻路算法具体过程
  8. 如何将word中的对象怎么显示到工具栏_职场必备!Word实用技巧最全总结(五)...
  9. (组合数学笔记)拆分数各类定义及公式总结
  10. pytorch中tensor、numpy.array、list三者互相转换
  11. 模幂运算问题,使用朴素算法和重复-平方算法(快速幂+C#计算程序运行时间)
  12. 值得苦练的100道Python经典练手题,(附详细答案)
  13. Mac安装homebrew,postman,charles,switchhost
  14. 如何进入进计算机组策略,如何进入组策略?
  15. 网站被挂马,谨防IIS模块挂马
  16. Ubuntu赋予root权限
  17. Android遥控车软件设计,手机APP控制,Wifi遥控小车设计资料分享
  18. 知己知彼,案例对比 Requests、Selenium、Scrapy 爬虫库!
  19. java多线程并发之旅-34-性能与可伸缩性
  20. 小程序自定义导航栏返回主页

热门文章

  1. 通俗易懂,先来认识一下Vuex
  2. 代码检验方案:前端代码w3c校验
  3. html网页中使用mock,关于Mock.js使用
  4. mybatis没有导入sqlsessionfactory包_MyBatis——搭建第一个MyBatis
  5. 光缆弹性模量计算_光缆的制造、种类、施工、选用方法(超全)
  6. 从Richard Young教授的系列研究看超级增强子发现背后的故事 (附超级增强子鉴定代码)
  7. Python相关的考试和认证
  8. 【原型设计】第五节:Axure RP9 交面交互的使用说明 02 显示隐藏元素
  9. c语言如何查看内置函数,C中函数内部的函数
  10. MATLAB中如何让分度值小点,实验6 干涉的matlab模拟.doc