![](https://csdnimg.cn/release/download_crawler_static/87965195/bg6.jpg)
1. 逗号操作符的作用为将多条 C语句连接成一条 C语句,因此,它的优先级最低且通
常不关心表达式的值与类型。(此处有伏笔。逗号表达式 i=3,++i按优先级应先计算自增操
作,但实际上并非如此。)
2. C语言并没有严格规定表达式求值的方方面面,因此,特殊情况下某些表达式的值
可能与编译系统相关,如(i++)+(i++)+(i++)。这不是 C语言学习的重点,只需了解并编程
时不使用此类表达式即可。由于可读性的重要性,过于复杂的表达式都不提倡在程序中出现,
更别说此类表达式了。
3. 学习表达式有两方面的要求:一方面能根据优先级、结合性、类型转换等求值原则
求出复杂表达式的值,像计算机那样“计算”;另一方面在编码时尽量选用简洁易懂无歧义
的表达式,以提高程序的可读性。
4. 学习 3.6典型例题需注意:
4.1 体会表达式的作用及目的,如学习例 3-10时,不仅会对每条表达式求值,而且要
体会程序最终的目的。
4.2 会用表达式编程解决问题。如例 3-11如何输出用户输入的三位正整数的数字和;
例 3-12怎样交换两个字符型变量的值;例 3-13如何求一元二次方程的根。
关键在于体会程序的执行过程,即程序执行时,其状态(每个变量的值)如何变化,每
条语句是如何影响程序状态的。
三、逻辑运算及选择结构
(一) 逻辑运算简介
逻辑结算是计算机支持的一种运算,计算机中运算器的重要组成部分除了支持运算的专
用存储单元,就是进行算术运算和逻辑运算的算术逻辑单元。逻辑运算使得编写功能强大的
程序成为可能。
逻辑运算是指对结论进行判断并得出一个或为真或为假的值的过程。它的最大特点是运
算结果只有两个值:真(对)或假(错)。
最常见的逻辑运算就是“比较”操作,如 2<2,2<=2,2==2,2>2等,C语言中称之为“关
系”运算。
逻辑量真假的编码需注意:
5. C语言中没有逻辑型变量,必要时基本数据类型变量会被认为是逻辑型变量,此时
0为假,非 0为真。为假的 0可能是整数 0,小数 0.0,或编号为 0的字符(并非字
符 0,’0’的编号为 48)。
6. 逻辑运算的结果为真时用 1表示,为假时,用 0表示。
特别强调这种编码的不对称性,参与运算时非 0为真,表示运算结果时真为 1。
关系表达式的重点:
1. “关系“运算就是数学上的比较操作,但需注意计算机中计算的特点,如’a’>’A’为
真(字符的值为其编号);3-5u>0 为真。
2. 能分析表达式的实际含义,如 a%2!=0 与“整型变量 a 是奇数”这一结论等价。(与
整型变量 a 是偶数等价吗?)
3. 关系操作符的优先级为什么低于算术操作符的?(先求值再比较)
4. 能证明表达式 a>b==2 恒假,而 99<x<2 恒真。
(二) 逻辑表达式
x为三位的正整数,在数学上可以用 99<x<1000表示,但在 C语言中无论 x为何值,关