zoukankan      html  css  js  c++  java
  • 逗号运算符和逗号表达式

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

      如:3+5,6+8

      上式称为逗号表达式。逗号表达式的一般形式为

             表达式1,表达式2

      逗号表达式的求解过程是:先求解表达式1,再求解表达式2。整个逗号表达式的值是表达式2的值

      例如,上面的逗号表达式“3+5,6+8”的值为14。  

      又如,逗号表达式a=3*5,a*4,对此表达式的求解,赋值运算符的优先级别高于逗号运算符, 因此应先求解a=3*5,经计算和赋值后得到a的值为15,然后求解a*4,得60,整个逗号表达式的值为60(a仍为15)。

      再如,一个逗号表达式又可以与另一个表达式组成一个新的逗号表达式,如(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。

      

      其实,逗号表达式无非是把若干个表达式”串联“起来。即逗号表达式纯粹就是为了在只能写一条表达式的地方写多条表达式而设计的,根据C++ Primer,用得最多的地方就是for循环。例如:

      

    for(int i = 0 , j = SIZE-1 ; i< j ; ++i , --j )
    {
        //循环体
    }

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

  • 相关阅读:
    linux的vim按了ctrl+s之后假死的解决办法
    linux下的终端模拟器urxvt的配置
    vim下正则表达式的非贪婪匹配
    linux中的一个看图的软件
    解决windows的控制台显示utf8乱码的问题
    [PHP][位转换积累]之异或运算的简单加密应用
    [PHP][REDIS]phpredis 'RedisException' with message 'read error on connection'
    [PHP][位转换积累]之与运算截取二进制流的值
    [PHP][位转换积累]之pack和unpack
    [正则表达式]PCRE反向分组引用
  • 原文地址:https://www.cnblogs.com/eniac12/p/4752143.html
Copyright © 2011-2022 走看看