文章目录
一、最高准则:无二义性
无二义性指每条编程语句只能存在一个含义,且只能有一种执行方式,并最终产生一种结果。无二义是所有编程语言的最高准则,更是所有逻辑体系的最高准则。
(1)运算符的优先级与结合性
决定表达式的运算顺序时,应先看运算符优先级,优先级高的先运算;当优先级相同时,再看其结合性。
优先级是为了消除诸如3+4*5的表达式,是应当被当作(3+4)*5还是3+( 4 * 5)的二义性而设定的规则。由于乘法的优先级比较高,所以先执行乘法,之后进行加法,即应执行为3+(4 * 5)。
例如
int x =3*4+5;
cout << x << endl;
当优先级相同时,则看结合性。结合性按不同的运算符号决定他们是左结合还是右结合。如3+4+5,都是“+”号,由于“+”为左结合,故应执行为(3+4)+5。
例如
int x =3+4+5;
cout << x << endl