第4章 选择结构程序设计 要设计选择结构程序, 要考虑两个方面的问题:一是 在C语言中如何来表示条件,二是在C语言中实现选择结 构用什么语句。 在C语言中表示条件,一般用关系表达式或逻辑表达 式,实现选择结构用if语句或switchi语句。 4.1关系运算及其表达式 4.2逻辑运算及其表达式 4.3if语包 4.4 switch语句 4.5选择结构程序举例 良好的源程序书写风格一注释 Return
第4章 选择结构程序设计 要设计选择结构程序,要考虑两个方面的问题:一是 在C语言中如何来表示条件,二是在C语言中实现选择结 构用什么语句。 在C语言中表示条件,一般用关系表达式或逻辑表达 式,实现选择结构用if语句或switch语句。 4.1 关系运算及其表达式 4.2 逻辑运算及其表达式 4.3 if语句 4.4 switch语句 4.5 选择结构程序举例 良好的源程序书写风格──注释 [Return]
4.1关系运算及其表达式 所谓“关系运算”实际上就是“比较运算”,即将 两个数据进行比较,判定两个数据是否符合给定的关系。 例如,“a>b”中的“>”表示一个大于关系运算。如 果a的值是5,b的值是3,则大于关系运算“>的结果为 “真”,即条件成立;如果a的值是2,b的值是3,则大 于关系运算“>”的结果为“假”,即条件不成立。 4.1.1关系运算符及其优先次序 1.关系运算符 C语言提供6种关系运算符: <(小于), <=(小于或等于),>(大于), >=(大于或等于),=(等于), !=(不等于) 注意:在C语言中,“等于”关系运算符是双等号 6==3”, 而不是单等号“=”(赋值运算符)
4.1 关系运算及其表达式 所谓“关系运算”实际上就是“比较运算”,即将 两个数据进行比较,判定两个数据是否符合给定的关系。 例如,“a > b”中的“>”表示一个大于关系运算。如 果a的值是5,b的值是3,则大于关系运算“>”的结果为 “真”,即条件成立;如果a的值是2,b的值是3,则大 于关系运算“>”的结果为“假”,即条件不成立。 4.1.1 关系运算符及其优先次序 1.关系运算符 C语言提供6种关系运算符: <(小于), <=(小于或等于), >(大于), >=(大于或等于), ==(等于), !=(不等于) 注意:在C语言中,“等于”关系运算符是双等号 “= =”,而不是单等号“= ”(赋值运算符)
2.优先级 (1)在关系运算符中,前4个优先级相同,后2个也相同,且前4 个高于后2个。 (2)与其它种类运算符的优先级关系 关系运算符的优先级,低于算术运算符,但高于赋值运算符。 4.1.2关系表达式 1.关系表达式的概念 所谓关系表达式是指,用关系运算符将两个表达式连 接起来,进行关系运算的式子。 例如,下面的关系表达式都是合法的: a>b,a+b>c-d,(a=3)=(b=5),'a>=b',(a>b)F=(b>c) 2.关系表达式的值一逻辑值(非“真”即“假”)。 由于C语言没有逻辑型数据,所以用整数“1”表示 “逻辑真”,用整数“0”表示“逻辑假
2.优先级 (1)在关系运算符中,前4个优先级相同,后2个也相同,且前4 个高于后2个。 (2)与其它种类运算符的优先级关系 关系运算符的优先级,低于算术运算符,但高于赋值运算符。 4.1.2 关系表达式 1.关系表达式的概念 所谓关系表达式是指,用关系运算符将两个表达式连 接起来,进行关系运算的式子。 例如,下面的关系表达式都是合法的: a>b,a+b>c-d,(a=3)<=(b=5),'a'>='b',(a>b)= =(b>c) 2.关系表达式的值——逻辑值(非“真”即“假”)。 由于C语言没有逻辑型数据,所以用整数“1”表示 “逻辑真” ,用整数“0”表示“逻辑假”
例如,假设numl=3,num2=4,num3=5,则: (1)numl>num2的值=0。 (2)(numl>um2)!=num3的值=1。 (3)numl<num2<num3的值=1。 思考题:任意改变numl或num2的值,会影响整个表 达式的值吗?为什么? (4)(numl<num2)+num3的值=6,因为numl<num2的 值=1,1+5=6。 再次强调:C语言用整数“1”表示“逻辑真”,用整 数“0”表示“逻辑假”。所以,关系表达式的值,还可 以参与其它种类的运算,例如算术运算、逻辑运算等。 Returnl
例如,假设num1=3,num2=4,num3=5,则: (1)num1>num2的值=0。 (2)(num1>num2)!=num3的值=1。 (3)num1<num2<num3的值=1。 思考题:任意改变num1或num2的值,会影响整个表 达式的值吗?为什么? (4)(num1<num2)+num3的值=6,因为num1<num2的 值=1,1+5=6。 再次强调:C语言用整数“1”表示“逻辑真” ,用整 数“0”表示“逻辑假” 。所以,关系表达式的值,还可 以参与其它种类的运算,例如算术运算、逻辑运算等。 [Return]
4.2逻辑运算及其表达式 关系表达式只能描述单一条件,例如“x心=0”。如果 需要描述“x>=0”、同时“x<10”,就要借助于逻辑表达 式了。 4.2.1逻辑运算及其优先次序 1.逻辑运算符及其运算规则 (1)C语言提供三种逻辑运算符: && 逻辑与(相当于“同时”) I 逻辑或(相当于“或者”) 逻辑非(相当于“否定”)
4.2 逻辑运算及其表达式 关系表达式只能描述单一条件,例如“x>=0”。如果 需要描述“x>=0”、同时“x<10”,就要借助于逻辑表达 式了。 4.2.1 逻辑运算及其优先次序 1.逻辑运算符及其运算规则 (1)C语言提供三种逻辑运算符: && 逻辑与(相当于“同时”) || 逻辑或(相当于“或者”) ! 逻辑非(相当于“否定”)