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

    C++将赋值表达式作为表达式的一种,使赋值操作不仅可以出现在赋值语句中,而且可以以表达式形式出现在其他语句(如输出语句、循环语句等)中。这是C++语言灵活性的一种表现。

    请注意,用cout语句输出一个赋值表达式的值时,要将该赋值表达式用括号括起来,如果写成“cout<<a=b;”将会出现编译错误。

    C++提供一种特殊的运算符——逗号运算符。用它将两个表达式连接起来。如
        3+5, 6+8
    称为逗号表达式,又称为“顺序求值运算符”。逗号表达式的一般形式为:
        表达式1, 表达式2
    逗号表达式的求解过程是:先求解表达式1,再求解表达式2。整个逗号表达式的值是表达式2的值。如,逗号表达式
       a=3*5, a*4
    赋值运算符的优先级别高于逗号运算符, 因此应先求解a=3*5(也就是把“a=3*5”作为一个表达式)。经计算和赋值后得到a的值为15,然后求解a*4,得60。整个逗号表达式的值为60。

    一个逗号表达式又可以与另一个表达式组成一个新的逗号表达式,如
        (a=3*5, a*4), a+5
    逗号表达式的一般形式可以扩展为:
        表达式1, 表达式2, 表达式3, …, 表达式n
    它的值为表达式n的值。

    逗号运算符是所有运算符中级别最低的。因此,下面两个表达式的作用是不同的:
        x=(a=3, 6*3)
        x=a=3, 6*a

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

    在用cout输出一个逗号表达式的值时,要将该逗号表达式用括号括起来,如:
        cout<<(3*5, 43-6*5, 67/3)<<endl;

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

    如果一件事情你觉得难的完不成,你可以把它分为若干步,并不断寻找合适的方法。最后你发现你会是个超人。不要给自己找麻烦,但遇到麻烦绝不怕,更不要退缩。 电工查找电路不通点的最快方法是:分段诊断排除,快速定位。你有什么启示吗? 求知若饥,虚心若愚。 当你对一个事情掌控不足的时候,你需要做的就是“梳理”,并制定相应的规章制度,并使资源各司其职。
  • 相关阅读:
    JobTracker作业启动过程分析
    结构体传参
    getchar()
    char *a与char a[n]的区别
    EOF NULL 之间的区别
    现代方法第15章第三节的程序
    交换机console口连接
    undefined reference问题总结
    二维数组与指针
    数组作为参数传递的时候,被调用的函数内无法计算出数组的大小
  • 原文地址:https://www.cnblogs.com/wvqusrtg/p/4611145.html
Copyright © 2011-2022 走看看