第4、5章控制结构
一般,程序中的语句是按书写的顺序逐条执行。这种执行方式称为顺序执行。但是,程序设计语言也允许程序员自己指定接下去要执行的语句,该语句也许不是顺序的下一条。这种执行方式称为控制转移。C++提供两种控制转移结构:
分支程序设计
循环程序设计
问题:
上地理课时,四个学生回答我国四大湖大小时分别说:
A:洞庭最大,洪泽最小,鄱阳第三
B:洪泽最大,洞庭最小,鄱阳第二,太湖第三
C:洪泽最小,洞庭第三
D:鄱阳最大,太湖最小,洪泽第二,洞庭第三
对于每个湖的大小,每个人仅答对一个,试判断四个湖的大小。
计算机思维的最基本的工作是能够分清各种情况
逻辑思维及分支程序设计
逻辑思维及分支程序设计
关系表达式
逻辑表达式
If 语句
Switch语句
关系表达式
关系运算符
>, >=, ==, <=, <, !=
优先级:高于赋值运算符,低于算术运算符。
关系运算符内部:==和!=较低
关系表达式
用关系运算符将二个表达式连接起来称为关系表达式
关系表达式的结果是: true 或 false
eg. x < y
-3 < -2 < -1
a < b == c < d
应写成:(-3 < -2)&& (-2 < -1)
关系表达式续
算术运算符的优先级比关系运算符高
注意事项
“等于”运算符是由两个等号组成。常见的错误是在比较相等时用一个等号。
要小心避免冗余。主要是在关系表达式中需要判别布尔型的变量的值时。判别一个布尔变量flag的值是否为true,初学者常常会用表达式flag == true。事实上,只要用一个最简单的表达式:flag就可以了
5 + 3 > 6 - 2
(5 + 3) > (6 – 2)
逻辑思维及分支程序设计
关系表达式
逻辑表达式
If语句
Switch语句
逻辑表达式
逻辑运算符
&& (and) || (or) ! (not)
优先级: ! > 关系运算符> && >||
逻辑表达式
由逻辑运算符连接起来的表达式,其结果为“真(true)”或“假(false)”
eg. 写出下列问题的C语言表达式
1 检查字符变量a的内容是否为字母。
a >= ’a’&& a <= ’z’|| a >= ’A’&& a <= ’Z’
2 整型变量m的内容是否为偶数
m % 2 == 0
注意,不能写成
’a’<= a <= ’z’|| ’A’<= a <= ’Z’
逻辑表达式须注意
c参加逻辑运算的对象可为任意类型的数据,0为假,非0 为真。
5 % 2 && p p
5 > 3 && 2 || 8 < 4 - !0 1
逻辑表达式在执行时,先处理左边。如左边已能决定此逻辑表达式的结果,则右边不执行。因此,在&& 逻辑表达式中,应把false可能性较大的条件放在左边,在||表达式中,应把true可能性较大的条件放在左边,这样可以减少程序执行的时间
eg. (m = a > b) && (n = c > d)
a = 1, b = 2, c = 2, d = 4, m = 1, n = 1.
问执行后m,n的值分别为多少?
m=0, n=1
逻辑运算常见错误
当采用逻辑操作符! && ||时, 必须要细心,避免一些常见错误。例如:如果要想表达x即不等于2也不等于3,若写成:
if (x != 2 || x != 3) // 错误!
正确形式为:
if (!(x ==2 || x == 3)) OR
if (x != 2 && x != 3)
第3章逻辑思维及分支程序设计 来自淘豆网www.taodocs.com转载请标明出处.