C 语言程序设计精品课 《C语言程序设计》 课程讲义 荆程 第4章选择结构程序设计 2006年4月 技术系
第4章 选择结构程序设计 《C语言程序设计》 课程讲义 2006年4月
C 上一章节课程回顾 语言程序设计精品课 赋值语句 数据输入输出的概念及在C语言中的 荆程 实现 字符数据的输入输出 格式输入与输出 技术系
上一章节课程回顾 赋值语句 数据输入输出的概念及在C语言中的 实现 字符数据的输入输出 格式输入与输出
C 第4章选择结构程序设计 语言程序设计精品课 4.1关系运算符和表达式 4.2逻辑运算符和表达式 4.3if语句 荆程 4.4 switch语句 4.5程序举例 技术系
第4章 选择结构程序设计 4.1 关系运算符和表达式 4.2 逻辑运算符和表达式 4.3 if语句 4.4 switch语句 4.5 程序举例
C 语41关系运算及其表达式 程 所谓“关系运算”实际上就是“比较运算”,即将 序两个数据进行比较,判定两个数据是否符合给定的关系 设 计 例如,“a>b”中的“>”表示一个大于关系运算。如 果a的值是5,b的值是3,则大于关系运算“>"的结果为 精“真”,即条件成立u如果a的值是2,b的值是3,则大 课 删程5.1.1关系运算符及其优先次序 关系运算符 C语言提供6种关系运算符: (大于) >=(大于或等于),==(等于) =(不等于) 注意:在C语言中,“等于”关系运算符是双等号 技“==”,而不是单等号“=”(赋值运算符)
4.1 关系运算及其表达式 所谓“关系运算”实际上就是“比较运算”,即将 两个数据进行比较,判定两个数据是否符合给定的关系。 例如,“a > b”中的“>”表示一个大于关系运算。如 果a的值是5,b的值是3,则大于关系运算“>”的结果为 “真”,即条件成立;如果a的值是2,b的值是3,则大 于关系运算“>”的结果为“假”,即条件不成立。 5.1.1 关系运算符及其优先次序 1.关系运算符 C语言提供6种关系运算符: (大于), >=(大于或等于), ==(等于), !=(不等于) 注意:在C语言中,“等于”关系运算符是双等号 “= =”,而不是单等号“= ”(赋值运算符)
C 2.优先级 (1)在关系运算符中,前4个优先级相同,后2个也相同,且前4 语言程序设计精品课 个高于后2个 (2)与其它种类运算符的优先级关系 关系运算符的优先级,低于算术运算符,但高于赋值运算符 5.1.2关系表达式 1.关系表达式的概念 荆程 所谓关系表达式是指,用关系运算符将两个表达式连 接起来,进行关系运算的式子 例如,下面的关系表达式都是合法的: a>b,a+b>cd,(a=3)=b,(a>b)==(b>c) 2.关系表达式的值——逻辑值(非“真”即“假”) 2于C言没有逻辑型数据,所以用整数“1”表示 逻辑真”,用整数“0”表示“逻辑假” 技术系
2.优先级 (1)在关系运算符中,前4个优先级相同,后2个也相同,且前4 个高于后2个。 (2)与其它种类运算符的优先级关系 关系运算符的优先级,低于算术运算符,但高于赋值运算符。 5.1.2 关系表达式 1.关系表达式的概念 所谓关系表达式是指,用关系运算符将两个表达式连 接起来,进行关系运算的式子。 例如,下面的关系表达式都是合法的: a>b,a+b>c-d,(a=3)='b',(a>b)= =(b>c) 2.关系表达式的值——逻辑值(非“真”即“假”)。 由于C语言没有逻辑型数据,所以用整数“1”表示 “逻辑真” ,用整数“0”表示“逻辑假”
C 语例如,假设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,因为 课num1num2的值=1,1+5=6 荆程 强调:C语言用整数“1”表示“逻辑真”,用整数“0” 表示“逻辑假”。所以,关系表达式的值,还可以参与 技其它种类的运算,例如算术运算、逻辑运算等。 Return 技术系
例如,假设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]
C 语言程序 4.2逻辑运算及其表达式 关系表达式只能描述单一条件,例如“x>=0”。如果 设需要描述“∞=0”、同时“x<10°,就要借助于逻辑表达 计式了。 精品课一 4.2.1逻辑运算及其优先次序 荆程 1.逻辑运算符及其运算规则 (1)C语言提供三种逻辑运算符: 逻辑与(相当于“同时”) 逻辑或(相当于“或者”) 逻辑非(相当于“否定”) 技术系
4.2 逻辑运算及其表达式 关系表达式只能描述单一条件,例如“x>=0”。如果 需要描述“x>=0”、同时“x<10”,就要借助于逻辑表达 式了。 4.2.1 逻辑运算及其优先次序 1.逻辑运算符及其运算规则 (1)C语言提供三种逻辑运算符: && 逻辑与(相当于“同时”) || 逻辑或(相当于“或者”) ! 逻辑非(相当于“否定”)
C 语言程序设计ˇ精品 例如,下面的表达式都是逻辑表达式: (X>=0)&&(X=0)&&(×5)的值为“假” 技术系
例如,下面的表达式都是逻辑表达式: (x>=0) && (x5) ,! (x= =0), (2)运算规则 1)&&:当且仅当两个运算量的值都为“真”时,运算 结果为“真”,否则为“假”。 2) || :当且仅当两个运算量的值都为“假”时,运算 结果为“假”,否则为“真”。 3) ! :当运算量的值为“真”时,运算结果为“假”; 当运算量的值为“假”时,运算结果为“真”。 例如,假定x=5,则(x>=0) && (x5)的值为“假
C 2.逻辑运算符的运算优先级 语言程序设计精品课 (1)逻辑非的优先级最髙,逻辑与次之,逻辑或最低, !(非)→&&(与)→‖(或) (2)与其它种类运算符的优先关系 →算术运算→关系运算→&&→‖→赋值运算 荆程 4.22逻辑表达式 1.逻辑表达式的概念 所谓逻辑表达式是指,用逻辑运算符将1个或多个 表达式连接起来,进行逻辑运算的式子。在C语言中, 用逻辑表达式表示多个条件的组合 例如: year%4=0)&&year%100=0)|/year%400==0)就是 技术系 个判断一个年份是否是闰年的逻辑表达式
2.逻辑运算符的运算优先级 (1)逻辑非的优先级最高,逻辑与次之,逻辑或最低, 即: !(非) → &&(与) → ||(或) (2)与其它种类运算符的优先关系 !→ 算术运算 → 关系运算 → &&→ || → 赋值运算 4.2.2 逻辑表达式 1.逻辑表达式的概念 所谓逻辑表达式是指,用逻辑运算符将1个或多个 表达式连接起来,进行逻辑运算的式子。在C语言中, 用逻辑表达式表示多个条件的组合。 例如: (year%4==0)&&(year%100!=0)||(year%400==0)就是 一个判断一个年份是否是闰年的逻辑表达式
C 逻辑表达式的值也是一个逻辑值(非“真”即 语言程序设计 “假”) 2.逻辑量的真假判定—0和非0 C语言用整数“1”表示“逻辑真”、用“0”表示 “逻辑假”。但在判断一个数据的“真”或“假”时 精却以0和非0为根据:如果为0,则判定为“逻辑假” 品如果为非0,则判定为“逻辑真” 课 荆程num>=1&&num=31的值=1, num num>31的值 3.说明 (1)逻辑运算符两侧的操作数,除可以是0和非0 的整数外,也可以是其它任何类型的数据,如实型、字 技术系 型等
逻辑表达式的值也是一个逻辑值 (非“真”即 “假”)。 2.逻辑量的真假判定──0和非0 C语言用整数“1”表示“逻辑真” 、用“0”表示 “逻辑假” 。但在判断一个数据的“真”或“假”时, 却以0和非0为根据:如果为0,则判定为“逻辑假” ; 如果为非0,则判定为“逻辑真” 。 例如,假设num=12,则: !num的值=0 , num>=1 && num31的值 =1。 3.说明 (1)逻辑运算符两侧的操作数,除可以是0和非0 的整数外,也可以是其它任何类型的数据,如实型、字 符型等