C语言提供一种特殊的运算符——逗号运算符。用它将两个表达式连接起来。如:

  3+5,6+8

称为逗号表达式,又称为“顺序求值运算符”。逗号表达式的一般形式为

         表达式1,表达式2

逗号表达式的求解过程是:先求解表达式1,再求解表达式2。整个逗号表达式的值是表达式2的值。例如,上面的逗号表达式“3+5,6+8”的值为14。又如,逗号表达式

  a=3*5,a*4

对此表达式的求解,读者可能会有两种不同的理解:一种认为“3*5,a*4” 是一个逗号表达式,先求出此逗号表达式的值, 如果a的原值为3,则逗号表达式的值为12,将12赋给a, 因此最后a的值为12。另一种认为:“a=3*5”是一个赋值表达式”,“a*4”是另一个表达式,二者用逗号相连,构成一个逗号表达式。这两者哪一个对呢?赋值运算符的优先级别高于逗号运算符, 因此应先求解a=3*5(也就是把“a=3*5”作为一个表达式)。经计算和赋值后得到a的值为15,然后求解a*4,得60。整个逗号表达式的值为60。

  一个逗号表达式又可以与另一个表达式组成一个新的逗号表达式,如(a=3*5,a*4),a+5 先计算出a的值等于15,再进行a*4的运算得60(但a值未变,仍为15),再进行a+5得20,即整个表达式的值为20。

  逗号表达式的一般形式可以扩展为

    表达式1,表达式2,表达式3……表达式n

它的值为表达式n的值。

  逗号运算符是所有运算符中级别最低的。因此,下面两个表达式的作用是不同的:

  ① x=(a=3,6*3)

  ② x=a=3,6*a

  第①个是一个赋值表达式,将一个逗号表达式的值赋给x,x的值等于18。第②个是逗号表达式,它包括一个赋值表达式和一个算术表达式,x的值为3。

  其实,逗号表达式无非是把若干个表达式“串联”起来。在许多情况下,使用逗号表达式的目的只是想分别得到各个表达式的值,而并非一定需要得到和使用整个逗号表达式的值,逗号表达式最常用于循环语句(for语句)中.

  请注意并不是任何地方出现的逗号都是作为逗号运算符。例如函数参数也是用逗号来间隔的。如

  printf("%d,%d,%d",a,b,c);

  上一行中的“a,b,c”并不是一个逗号表达式,它是printf函数的3个参数,参数间用逗号间隔。

如果改写为

  printf("%d,%d,%d",(a,b,c),b,c);

则“(a,b,c)”是一个逗号表达式,它的值等于c的值。括弧内的逗号不是参数间的分隔符而是逗号运算符。括弧中的内容是一个整体,作为printf函数的一个参数。

C语言表达能力强,其中一个重要方面就在于它的表达式类型丰富,运算符功能强,因而c使用灵活,适应性强!

感谢观看!

喜欢的小伙伴可以关注我哦!每天学点新知识,为编程点点赞!

“我自己是一名从事了10年的老程序员,辞职目前在做讲师,最近我花了一个月整理了一份最适合2020年学习的c/c++项目实战以及基础教程干货,送给每一位编程小伙伴,这里是小白聚集地,欢迎初学和进阶中的小伙伴。工作需要学习C/C++、感兴趣、为了入行、转行学习C/C++的伙伴可以跟我学习,技术大牛助你早日成为一名优秀的程序员,快来和志同道合的小伙伴一起加油学习、一起成长进步吧!
官方企鹅群:720168573

C/C++编程学习路线:

C语言中逗号运算符和逗号表达式!相关推荐

  1. C语言中的逗号的作用,C语言逗号运算符和逗号表达式基础总结

    逗号运算符的作用: 1,起分隔符的作用: 定义变量用于分隔变量:int a,b 输入或输出时用于分隔输出表列 printf("%d%d",a,b) 2,用于逗号表达式的顺序运算符 ...

  2. c语言等号 逗号,C语言逗号运算符和逗号表达式

    在C语言中逗号","也是一种运算符,称为逗号运算符. 其功能是把两个表达式连接起来组成一个表达式, 称为逗号表达式.其一般形式为:表达式1,表达式2 其求值过程是分别求两个表达式的 ...

  3. c语言逗号的作用情况,C语言逗号运算符和逗号表达式基础总结

    逗号运算符的作用: 1,起分隔符的作用: 定义变量用于分隔变量:int a,b 输入或输出时用于分隔输出表列 printf("%d%d",a,b) 2,用于逗号表达式的顺序运算符 ...

  4. c语言表达式amp;amp;,C语言中的运算符及其优先级

    C语言中的运算符及其优先级 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右 () 圆括号 (表达式)/函数名(形参表) . 成员选择(对象) 对 ...

  5. 六、C语言中的运算符与表达式

    一.算术运算符与算术表达式 (一)算术运算符 1.基本的算术运算符: + 加法运算符或正值运算符 - 减法运算符或负值运算符 * 乘法运算符 / 除法运算符,整数与整数相除结果为整数,且多数C编译系统 ...

  6. python中的逗号运算符_C++ 逗号运算符 | 菜鸟教程

    C++ 逗号运算符 使用逗号运算符是为了把几个表达式放在一起. 整个逗号表达式的值为系列中最后一个表达式的值. 从本质上讲,逗号的作用是将一系列运算按顺序执行. 表达式1, 表达式2 求解过程是:先求 ...

  7. 信工干货||C语言中的运算符和表达式

    C语言中的运算符和表达式 1算术运算符及表达式 (1)算术运算符包括: ,-,*,/,%. (2)*,/,%同级,比 ,-高. (3)"%"运算符两侧的运算分量必须为整型数据,且运 ...

  8. c语言中赋值的时候顿号的作用,简单总结C语言中的运算符优先级

    简单总结C语言中的运算符优先级 C语言中有很多运算符,除了四则运算,还有位运算.比较运算.逻辑运算.赋值运算等等,令人眼花缭乱的同时,优先级也让人头疼.通常建议在写代码的时候不用省略括号,但是并不是所 ...

  9. 常见位操作及运算应用举例:1,C语言中位运算符异或“∧”的作用​​​​​​​2,异或运算的作用3,(与运算)、|(或运算)、^(异或运算)

    1 C语言中位运算符异或"∧"的作用: 异或运算符∧也称XOR运算符.它的规则是若参加运算的两个二进位同号,则结果为0(假):异号则为1(真).即0∧0=0,0∧1=1,1∧1=0 ...

  10. c语言中的运算符及其含义_按位运算符及其在C语言中与Example一起使用

    c语言中的运算符及其含义 1)&(按位与) (1) & (bitwise AND)) It does AND on every bit of two numbers. The resu ...

最新文章

  1. backlight 子系统(转载)
  2. 深入探究 Win32 PE 文件格式
  3. STM8S105系列单片机管脚复用配置(选项字节的配置)
  4. MANIFEST.MF文件全面解析
  5. 架构书籍推荐:Java中高级、架构师值得一读!
  6. SAP Spartacus 404 Not found页面的显示机制 - canActivateNotFoundPage
  7. 用计算机打出二分之一,win10手机计算器怎么输入二分之一?
  8. 开源的关系型数据持久化组件
  9. 单例模式专集细节讲述
  10. android imagebutton 设置边框,【Android技巧】ImageButton 去边框 添加按下效果
  11. 求 s = a+aa+aaa+… …+aaa…a的值,其中a是一个数字
  12. plsql导出表结构和表数据的使用小结
  13. innerHTML, innerText, outerHTML, outerText的区别
  14. 弘扬中国文化创作发展文学建设事业,间谈小说 “文味”和“接笔 ”的看法...
  15. linux解压缩包命令
  16. Java相关软件下载地址
  17. 计算机屏幕刷新频率,屏幕刷新率多少合适,教您电脑屏幕刷新率多少合适
  18. 杭电 2544 最短路(bellman详解)
  19. Android手机如何修改DPI触发平板模式
  20. php 数独求解,php求解数独

热门文章

  1. <artifactId>spring-boot-maven-plugin</artifactId> 这一行在POM.xml文件中一直爆红,如何解决.问题记录日期:2020-09-05
  2. 【详解】二维数组的长度问题。int[][] arr = new arr[3][4];arr.length;arr[0].length;
  3. 原生M1/M2 Photoshop 2022 for Mac(PS2022)v23.4.2 中英文正式发布详情介绍安装教程
  4. mos管的rc吸收电路计算_正激式RC吸收电路计算
  5. 银行信贷管理系统的客户关系管理子模块
  6. vue引入腾讯地图,去除水印
  7. Ubuntu 10.10下编译安装无线网卡
  8. 怎么做网站?网站用什么服务器好?
  9. C语言/C++对编程学习的重要性!
  10. Glide系列(四) — Glide缓存流程分析