C++初学者指南 第七篇(10)

来源:互联网 发布:阿里云 亮点和优势 编辑:程序博客网 时间:2024/04/28 09:55

必备技能7.10:逗号运算符
    另外一个很有意思的运算符就是逗号运算符。我们在for循环中已经看到过几个关于逗号运算符的例子了。当时我们是使用逗号运算符来进行多个变量的初始化或者多个自增语句的。然而,逗号运算符是可以作为任何表达式的一部分的。它用于把多个表达连接起来。用逗号进行间隔的表达式列表的值就是其中最右边的表达式的值,其它表达式的值都会被丢弃。这就意味着最右边的表达式的值就是整个逗号间隔的表达式的值,例如:
var = ( cout = 19, incr = 10, count+1);
上面的语句中先是给cout赋值为19,然后给incr赋值为10,然后拿count的值加上1,最后把整个逗号表达式的值赋值给变量var,也就是把值20赋值给变量var。其中的括号是有必要的,因为逗号运算符的优先级别是低于赋值运算符的。
 运行一下下面的程序,逗号运算符的作用就更加清楚了:

#include <iostream>using namespace std;int main(){    int i, j;    j = 10;    i = ( j++, j+100, 999+j );    cout << i;    return 0;}
上面的程序将在屏幕上打印"1010"。这是因为:j一开始的值为10;然后j自增到11;然后再把j和100相加;最后把j(j的值仍为11)和999相加;这样最终的结果就是1010。

    实际上,逗号的作用是进行一系列的运算。当在赋值语句的右侧出现逗号表达式的时候,就是把这一些列运算中的最后一个表达式的值赋值给左侧的变量。我们可以把逗号运算符看做是英语中的单词"and",那么逗号表达式的含义就是:“做这个,并且做这个,并且再做这个”
练习
1. 考虑如下的表达式:
   x = 10 > 11 ? 1: 0;
   计算完毕后x的值是多少?
2.?运算符被称为是三目运算符是因为它需要_____个运算数。
3.逗号是用来做什么的?
多重赋值
    C++中提供了一种给多个变量赋相同值的方法:在一个语句中使用多重赋值。例如,下面的代码段给count,incr和index都赋值为10
count = incr = index = 10;
    在专业的程序中,我们会经常看到这样的给多个变量赋值为同一常量值的写法。

原创粉丝点击