跳转到内容

编程基础/条件运算符

来自维基教科书,自由的教科书

介绍 C++ 编程语言中使用的条件运算符。

条件运算符是独一无二的,因为它具有三个操作数,由两个未连接的操作符符号隔开。所有其他 C++ 操作符要么是一元的(一个操作符和一个操作数),要么是二元的(一个操作符和两个操作数)。在“C++ 操作符的缩写优先级表”中,条件运算符的注释列中写着“三元”。这个前缀“三”表示三个,因此三个操作数。

表 1
C++ 操作符 含义 注释
条件 三元 - 三个操作数,两个操作符

作为操作符,它为表达式生成一个值。解释条件运算符的一种简单方法是使用条件运算符将“if then else”控制结构转换为表达式。

示例 1:if then else

[编辑 | 编辑源代码]
if (age > 17)
{
  cout << "You can vote.";
}
else
{
  cout << "You can’t vote.";
}

示例 2:条件 = 选项 1

[编辑 | 编辑源代码]
age > 17 ? cout << "You can vote." : cout << "You can’t vote.";

示例 3:条件 = 选项 2

[编辑 | 编辑源代码]
cout << (age > 17 ? "You can vote." : "You can’t vote.");

由于操作符的优先级,需要使用圆括号。条件表达式优先级低于插入(写入)操作符。

第一个操作数是一个测试表达式,类似于控制结构中控制程序流的那些表达式。这种类型的表达式也称为布尔表达式,因为它们会产生真或假的布尔答案。如果测试为真,则第二个操作数成为表达式的值。如果为假,则第三个操作数成为表达式的值。问号和冒号操作符隔开了三个操作数。

示例 4:通用格式

[编辑 | 编辑源代码]
test expression ? expression true : expression false
条件
一个三元 C++ 操作符,其作用类似于 if then else 控制结构。
华夏公益教科书