C程序设计 第二版 教学课件 ppt 作者 荣政_ 第4章
66页1、第四章 分支结构的C程序设计,4.1 分支结构中的表达式 4.2 if语句 4.3 switch语句 4.4 程序设计举例 习题,4.1 分支结构中的表达式 在其他高级语言中,分支结构中的表达式仅指关系表达式和逻辑表达式,比较简单。C语言中要复杂得多,可以是任何有效的表达式,如算术表达式、赋值表达式、字符表达式、 条件表达式,还可以是任意类型的数据,如整型、实型、字符型、指针类型等。,4.1.1 C语言中的逻辑值 C语言中没有专门定义逻辑类型的变量、常量和输入、输出格式。但对逻辑值作了更宽的规定:表达式的值非0,则表示逻辑真;表达式的值为0,则表示逻辑假。 这就是说,不管什么类型的表达式,只要值不是0就表示真,如1、2、0.5、a,都表示真。值只有是0、0(字符0的ASCII值为0)才表示假。 对逻辑真、假值的这种策略,使得所有类型的表达式都能在分支语句中作条件使用, 允许我们编制效率极高的程序。,4.1.2 关系表达式 1. 关系表达式的概念 所谓关系表达式是指,用关系运算符将两个表达式连接起来,进行关系运算的式子。 例如,下面的关系表达式都是合法的: ab,a+bc-d,(a=3)
2、=b,(ab)= = (bc),2. 关系表达式的运算结果逻辑值(非“真”即“假”) C语言用整数“1”表示“逻辑真”,用整数“0”表示“逻辑假”。所以,关系表达式的值,还可以参与其它种类的运算,例如算术运算、逻辑运算等。 例如,假设num1=3,num2=4,num3=5,则: (1) num1num2的值为0。 (2) (num1num2)!=num3的值为1。 (3) num1num2num3的值为1。 (4) (num1num2)+num3的值为6,因为num1num2的值为1,1+5=6。,4.1.3 逻辑表达式 1. 逻辑表达式的概念 关系表达式只能描述单一条件,例如“x=0”。如果需要描述“x=0”、同时“x=0) & (x10)就是一个判断数x是否大于等于0且小于10的逻辑表达式。,2. 逻辑表达式的运算结果 逻辑表达式的值也是一个逻辑值(非“真”即“假”)。 例如: (ab) & (xy) 等效于 ab & xy (a=b) | (x=y) 等效于 a=b | x=y (!a) | (ab) 等效于 !a | ab,要根据优先级处理数值运算、关系运算和逻辑运算,想提高
3、某运算的级别或增加运算关系的清晰性,可以加括号。逻辑表达式求解,在值已能确定的情况下不一定求到最后。如: (1) 表达式a & b & c: 当a=0时,表达式的值为0,不必计算判断b、c; 当a=1、b=0时,表达式的值为0,不必计算判断c; 只有a=1、b=1,才判断c。 (2) 表达式a | b | c: 当a=1(非0)时, 表达式的值为1,不必计算判断b、c; 当a=0时,才判断b,如b=1,则表达式的值为1,不必计算判断c; 只有a=0、b=0,才判断c。,熟练掌握关系运算符和逻辑运算符,可以用逻辑表达式表示一个复杂的条件。例如,判断某年y是否为闰年。y满足二者之一为闰年:(1)y能被4整除,但不能被100整除;(2)y能被400整除。两个条件为或(|)的关系,条件(1)内的两个条件为与(&)的关系。判断整除用求余运算%,余数为0,则能整除。表达式可写成: ( y%4 =0 & y%100 != 0 )| y%400 = 0 判断非闰年,则将上述整个条件取反即可: !( y%4 =0 & y%100 != 0 )| y%400 = 0 ),4.1.4 其它形式的表达式 C语
4、言分支的表达式比较复杂,因为它可以是任何有效的表达式。常用的还有: 1. 算术表达式 如if(a * b 3 * c) ,以算术表达式“a*b-3*c”的值是否为真决定程序流向,而不必写成逻辑表达式“a*b-3*c=1”的形式。 if(a) 、if(3) 、if(0) 使用的都是算术表达式。如果写成if(a=1) 或if(a=0) ,则用的是逻辑表达式,是有冗余且潜在低效的,不是好风格。,2. 赋值表达式 用赋值表达式作表达式,清晰度不高,最容易使人“上当受骗”。 例如:“int a=3, b=5; if(a=b)”,请问条件是否成立? 有人说不成立,因为35。错了! 这里“a=b”是赋值表达式,而不是“a = b”,a为5。表达式取a的值,为真。 再如:“int a=3, b=0; if(a=b)”,请问条件是否成立?有人说不成立,因为30。说条件不成立, 是正确的,但理由是“a=b”是赋值表达式,赋值后a为0,表达式取a的值,故为假。,3. 字符表达式 如定义“char c=3;”,则if(c)、if(B)使用的都是字符表达式,其值同样是0为假,非0为真。 还有其它形式的表达式,如
《C程序设计 第二版 教学课件 ppt 作者 荣政_ 第4章》由会员E****分享,可在线阅读,更多相关《C程序设计 第二版 教学课件 ppt 作者 荣政_ 第4章》请在金锄头文库上搜索。
逍遥游复习 知识点整理
近现代法德关系史 高三展示课3稿
当代大学生人生信仰及追求的调查研究
长相思 纳兰性德-ppt课件
课件:危机意识 一
英语ppt演讲关于阿甘正传
发达国家基础教育改革的动向与趋势 修改版
中国民间美术 课件.ppt
生物质发电技术与系统 课程ppt 第1章 生物质发电技术现状及发展趋势 2学时 -----2016
现代信号处理思考题 含答案
执业药师继续教育 抑郁症的药物治疗 100分
小学生的成长档案模板不用修改 万能型
增订六版 现代汉语 上册 第二章文字 思考与练习答案
国家财政ppt课件
加拿大英语介绍
六年级统计图的选择课件
中学生成长档案ppt
中国现代文学史期末复习整理
lohi和hihilo训练对女子赛艇运动员运动能力影响的比较研究
风雨贾平凹阅读答案
2024-04-11 25页
2024-04-11 37页
2024-04-11 28页
2024-04-11 31页
2024-04-11 36页
2024-04-11 29页
2024-04-11 22页
2024-04-11 27页
2024-04-11 34页
2024-04-11 32页