了解计算机科学的基本概念 熟悉不同类型的编程语言了解典型C++程序的开发环境用C++编写简单的计算机程序使用简单输入与输出语句熟悉基本数据类型使用算术运算符了解算术运算符的优先级编写简单的判断语句
所有常量、变量和运算符放在一行中。编译器通常不接受下列代数符号:
a
-
b
但有些特殊专业软件包支持复杂数学表达式更自然的表示方法。
C++表达式中括号的使用和代数表达式中相同。例如,要将a乘以b+c的和,可以用: a*(b+c)
C++中算术运算符的运算顺序是由运算符的优先级规则确定的,与代数中的相同:
1. 括号中的表达式先求值,程序员可以用括号指定运算顺序。括号具有最高优先级,对于嵌套括号,由内存向外层求值。
2. 乘法、除法、求模运算优先。如果表达式中有多个乘法、除法、求模运算,则从左向右求值。乘法、除法、求模的优先级相同。
3. 然后再进行加法和减法。如果表达式中有多个加法和减法,则从左向右求值。加法和减法的优先级相同。
运算符优先级保证C++按正确顺序采用运算符。从左向右求值指的是运算符的结合律
(associativity),也有一些运算符结合律是从右向左。图1.11总结 了运算符优先级规则,引入其它C++运算符时,这个表可以扩充,详细的运算符优先级请参见附录。
图 1.11 算术运算符优先级
下面用几个表达式说明运算符优先级规则。每个例子都列出代数表达式和对应的C+表达式。 下例求五个值的算术平均值:
a+b+c+d+e
代数: m = ------------
5
C++: m = (a+b+c+d+e)/5;
括号是必须的,因为作法的优先级比加法高,要把整个和(a+b+c+d+e)除以5,如果不加括号,则a+b+c+d+e/5的取值为:
a+b+c+d+(e/5)
下例是直线的方程:
代数: y = mx+b
C++: y = m*x+b;
不需要括号,乘法优先于加法,因此先乘后加。
下列包含模(%)、乘、除、加、减运算:
代数: z = pr%q+w/x-y
C++: z = p * r % q + w / x - y;