(1)表达式概念
C++表达式由一个或多个操作数(operand)构成。最简单的表达式由一个文字常量或一个变量构成。当然,通常情况下表达式由一个或多个操作数以及应用在这些操作数上的操作符(operator)构成。如:
“小止学编程”
*
表达式本身会计算出一个结果值。单个操作数表达式的结果值与其操作数等同。多个操作数的运算结果很大程度上取决于操作符。比如:
3+4的运算结果是整型值7
54的运算结果是布尔型值true
*ptr的运算结果是ptr指向的变量值
Value的运算结果是变量Value的地址值
(2)操作符概念
操作符为应用在操作数上的操作。
作用在一个操作数上的操作符被称为一元操作符,比如取地址操作符()、解引用操作符(*)、自增操作符(++)、自减操作符(--)等。作用在两个操作数上的操作符被称为二元操作符,比如加法操作符(+)、减法操作符(-)、乘法操作符(*)、除法操作符(/)、取模操作符(%)、位操作符等。
很显然,操作符不能独立存在,它必须和操作数在一起组成表达式。
C++PrimerPlus第6版中文版(异步图书出品)京东月销量好评率98%无理由退换京东配送官方店¥59购买(3)操作符优先级
当多个操作符存在于一个表达式中时,由操作符计算的顺序进行控制,即操作符优先级。比如:乘法和除法的优先级比加法和减法高。为了改变操作符优先级,可使用小括号将期望先计算的子表达式括起来。比如:
(20-19)*((5+4)%5)
以上表达式的值为1*(9%5)=1*4=4。注意:里层的括号优先级比外层的括号优先级高。
常用的操作符优先级从高到低列表如下:
(4)实用说明
当一个表达式存在多个操作符时,尽量将每个操作符和作用的操作数均用括号括起来,减轻代码阅读人员的理解负担,避免因不熟悉操作符优先级引入的bug。一个表达式使用的操作符个数应尽可能少。如果操作符过多,建议拆分为多个表达式代码行。学习目标“最简单实用的表达式和操作符介绍”已完成[再见]