章节导学
第1章分析计算机与C语言的关系时曾提出:C语言用代数式命令运算器进行各种运算。准确地说,C语言用表达式命令计算机进行各种操作。“代数式”仅是表达式的一种。
C语言又称表达式语言,可见表达式在C语言中的重要作用。
表达式是用操作符把操作数连接起来的式子,如表达式3+a中的“+”就是操作符,3和a就是操作数(这里的a应理解为一个变量)。
C语言表达式最重要的特征是每个表达式都有一个确定的值及类型(由上一章可知,只有数据类型确定了,相关数据的实际值才能确定)。
数学上求值时遵循类似“先乘除后加减;只有乘除或加减时,谁在左边先算谁” 的规则。规则中的前半句有关操作符的优先级,后半句有关操作符的结合性。表达式求值时各操作符的“执行”次序由操作符的优先级、结合性和序列点决定。
种类繁多的操作符使得C语言不仅灵活,而且功能强大。C语言中有许多常见的操作符如+、-、*、>、=等,也有许多专用于编程语言的操作符如++、--、%等。全面理解每个操作符的功能、优先级、结合性是学好C语言表达式的关键。
学习操作符时需注意方法。以记忆操作符的优先级为例,刚接触某操作符时可以只记它大概(相对)的级别(是高?是中?还是低?)。思考是识记的前提,为什么这个操作符的优先级比那个操作符的高呢?
准确理解操作符的功能有一定的难度,学习时需结合计算机实际的“执行”过程思考。如C语言中操作符=的作用是“赋值”而并非“等于”;3/2的值是1,而3.0/2的值是1.5等等。
C语言中有些表达式的样子可能比较独特,如n > 5 && i % 3