该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

C语言的运算功能十分丰富,运算种类远多于其它程序设计语言。因此,当多种不同运算组成一个运算表达式,即一个运算式中出现多种运算符时,运算的优先顺序和结合规则显得十分重要。

初学者往往对此感到非常困难,觉得C语言学习太繁杂,其实只要我们对此合理进行分类,找出它们与我们在数学中所学到运算之间的不同点之后,记住这些运算也就不困难了,有些运算符在理解后更会牢记心中,将来用起来得心应手,而有些可暂时放弃不记,等用到时再记不迟。

下面是所有的运算符按优先级不同分类列表:(对不起,因为表格显示不正常,已被我删除大家可以看书上的)

表中列出15种优先级的运算符,从高到低,优先级为1 ~ 15,最后边一栏是结合规则,除第2、3级和第14级为从右至左结合外,其它都是从左至右结合,它决定同级运算符的运算顺序。

下面我们通过几个例子来说明:

(1) 3*20/4%10 这个表达式中出现3种运算符,是同级运算符,运算顺序按从左至右结合,因此先计算3 * 20=60,然后被4除,结果为15,最后是%(求余数)运算,所以表达式的最终结果为15%10 = 5

(2)a = 3;b = 5;c =++ a* b ;d =a + +* b;

例子中的“;”是C语言的语句分隔符,执行顺序为从左到右,第1条语句执行后a的值为3,第2条语句执行后b的值为5,第3条语句中有两个运算符前置+ +和*,按表中所列顺序,+ +先执行,*后执行,所以+ + a执行后,a的值为4,由于+ +为前置运算,所以a的值4参与运算,C的值为20,最后执行第4条语句,由于a + +为后置运算,所以a值为4参与运算,使得d的值仍为20,而a参与运算后其值加1,值为5。

这个例子执行后,a的值为5,b的值为5,c的值为20,d的值也是20。

(3)a = 3,b = 5,b+ = a,c = b* 5

例子中的“,”是逗号结合运算,上式称为逗号表达式,自左向右结合,最后一个表达式的结果值就是逗号表达式的结果,所以上面的逗号表达式结果为40,a的值为3,b的值为8,c的值为40。

c语言符合运算符的运算顺序,二 如何学习C语言的运算符和运算顺序相关推荐

  1. c语言中同级运算符的运算顺序,二 如何学习C语言的运算符和运算顺序

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 C语言的运算功能十分丰富,运算种类远多于其它程序设计语言.因此,当多种不同运算组成一个运算表达式,即一个运算式中出现多种运算符时,运算的优先顺序和结合规则 ...

  2. c语言的运算符和运算顺序,二 如何学习C语言的运算符和运算顺序

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 C语言的运算功能十分丰富,运算种类远多于其它程序设计语言.因此,当多种不同运算组成一个运算表达式,即一个运算式中出现多种运算符时,运算的优先顺序和结合规则 ...

  3. c语言如何使四种运算符同级,二 如何学习C语言的运算符和运算顺序

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 C语言的运算功能十分丰富,运算种类远多于其它程序设计语言.因此,当多种不同运算组成一个运算表达式,即一个运算式中出现多种运算符时,运算的优先顺序和结合规则 ...

  4. 《C语言入门指南》合集版,学习c语言有这一篇就够了?

    前言: <C语言入门指南>,全文分为3篇,共计34248字,此为合集版,适用初学者入门C语言,非初学者也可以通过本文复习C语言相关知识点,强化记忆!十三肝7天才弄完,贼累了,发布这篇笔记也 ...

  5. c++ 小游戏_C/C++编程笔记:C语言写推箱子小游戏,大一学习C语言练手项目

    C语言,作为大多数人的第一门编程语言,重要性不言而喻,很多编程习惯,逻辑方式在此时就已经形成了.这个是我在大一学习 C语言 后写的推箱子小游戏,自己的逻辑能力得到了提升,在这里同大家分享这个推箱子小游 ...

  6. python语言编程入门先学什么-初学者先学习python语言还是C语言

    有人觉得应该从C语言开始入门,原因如下: 1.C语言是你上大学第一门接触的编程语言,可见它的重要性. 2.C语言是一种面向过程的语言,而Python是一种面向对象的解释型计算机程序设计语言.而你需要先 ...

  7. arduino语言c,Arduino编程基础(二)——C\C++语言基础(上)

    基础篇 本章开始,将由浅入深,详细介绍开发Arduino Uno所需的基础知识与开发方法. Arduino语言 Arduino使用C/C++编写程序,虽然C++兼容C语言,但这是两种语言,C语言是一种 ...

  8. 【3小时学会C语言】横向对比/纵向剖析,轻松学习C语言

    文章目录 前言 1.前置知识 1.1 序 1.2 编译器和解释器 2.C语言技术点及应用技巧 2.1 调试用IDE 2.2 数据类型 2.2.1 c 2.2.2 java 2.3 运算符 2.4 条件 ...

  9. c语言switch思维导图,思维导图学习C语言,加深知识点记忆

    C语言是一门非常基础的计算机语言,是大部分本科学生的公共专业,在C语言的学习中,选择和循环语句是至关重要的部分,利用思维导图可以有效节约时间并加深知识点记忆. 接下来就为大家介绍一下我用iMindMa ...

最新文章

  1. RDIFramework.NET ━ .NET快速信息化系统开发框架-4.1 平台登录模块
  2. 关于网络安全几个问题的整理
  3. 我的世界1.11服务器咋发信息,我的世界进服务器怎么注册怎么发信息
  4. 前端学习(1467):过滤器
  5. .net string format
  6. linux回到桌面的命令符_三 基本的base shell 命令
  7. python如何运行代码_python上怎么跑(运行)代码
  8. Mybatis-plus实现动态表名查询
  9. Pytorch:RuntimeError: DataLoader worker (pid 27) is killed by signal: Killed. Details are lost due
  10. 开源的全面胜利背后,那些被遗忘的人性问题
  11. c语言do while语句用法6,c语言do while的用法
  12. 一个博友的SQL问题解决过程
  13. CTF逆向总结(二)
  14. ppt表格重设链接_如何重设表格
  15. mysql 前缀索引_mysql索引做前缀原则
  16. PHP FastCGI RCE Vul
  17. eclipse遇到“A java Exception has occurred”报错解决办法
  18. [原创]WIA 学习笔记
  19. 如何用c语言添加背景图片,如何实现在单文档的窗口背景上贴上图片?
  20. matlab极点怎么输入法,[转载]MatLab中的极点配置方法

热门文章

  1. VC++ error C2248: “CObject::CObject”: 无法访问 private 成员(在“CObject”类中声明)
  2. 再学 GDI+[83]: TGPImage(3) - 平行四边形变换
  3. 执行umount 的时候却提示:device is busy 的处理方法
  4. Python学习教程实用技法:通过公共键对字典列表排序—itemgetter
  5. HDU 2243考研路茫茫——单词情结 (AC自动机+矩阵快速幂)
  6. impala jdbc驱动执行impala sql的一个坑(不支持多行sql)
  7. MySQL—更改索引
  8. vtigercrm安装
  9. 2016百度之星 - 资格赛(Astar Round1)
  10. bzoj1601 [Usaco2008 Oct]灌水