逻辑运算和判断选取结构.ppt
《逻辑运算和判断选取结构.ppt》由会员分享,可在线阅读,更多相关《逻辑运算和判断选取结构.ppt(41页珍藏版)》请在三一办公上搜索。
1、第4章 逻辑运算和判断选取结构,C 程 序 设 计,谢 军,2,本章教学内容、要求,内容 1.关系运算符和关系表达式;2.逻辑运算符和逻辑表达式;3.if 语句4.switch 语句5.程序举例要求 1.掌握关系表达式与逻辑表达式书写与运用;2.掌握if语句与switch语句的使用;3.能够设计包含顺序结构与选择结构的C程序。,3,重点与难点,重点1.掌握程序的选择结构;2.顺序结构与选择结构的C程序的设计。难点运算符的优先级;程序设计,4,关系运算符和关系表达式,关系运算实际是对两个操作数进行大小等同的比较运算。一关系运算符(六种)及其优先次序(大于)、=(大于或等于)高=(等于)、!=(不
2、等于)低前4种关系运算的优先级相同,后2种也相同;前4种高于后2种优先次序:单目 算术 关系 逻辑 赋值结合性:左结合(双目运算符)例:a a+b 等价于c(a+b)a=b=c 等价于 a=(b=c)ab!=c 等价于(ab)!=c a=bc 等价于 a=(bc),5,关系运算符和关系表达式,一关系表达式什么是关系表达式?用关系运算符将两个表达式(可以是算术表达式或关系表达式,逻辑表达式,赋值表达式,字符表达式)连接起来的式子,为关系表达式。例:a+b b+c;a 3 值为(真)ab 值为(假)a=3;b=2;c=1;d=a b;f=a b c;执行结果 d=1,f=0;因 abc 等价于(a
3、b)c所以:判别式:abc,在C语言中不能简单地用abc表示;需要借助逻辑运算来实现,即:a b&b c,ab即32 为真1,ab为1,c为1,则11为假,6,逻辑运算符和逻辑表达式,一逻辑运算符及优先级!逻辑非(含义NOT)高 高 逻辑与(含义AND)算术运算符|逻辑或(含义OR)低 关系运算符 例:ab&xy&a=b|x=y|!a|ab 赋值运算符 低 真值表:,7,逻辑运算符和逻辑表达式,二逻辑表达式 用逻辑运算符将关系表达式或逻辑量连接起来就是逻辑表达式 逻辑表达式的值是一个逻辑量,即“真”和“假”例:int a=1,b=5;则:!a 的值为0;a&b的 值为1;a|b的值为1。应注意
4、:1.若在一个表达式中的不同位置上出现数值,应区分哪些是作为数值运算或关系运算,哪些是作为逻辑运算的对象2.逻辑运算符两侧的运算对象可为任意类型的数据.例:c&d值为3逻辑表达式求解时,并不是所有的逻辑运算符都被执行,只有在必须执行下一个逻辑运算符才能求出表达式解时,才执行该运符 例:1)a&b&c 2)a|b|c4.&和|的结合性是从左往右,而!是单目运算符,结合性是从右往左5.逻辑表达式一般用来表示并判定一种复杂条件,8,例题,例1:5 3&2|8=a&key=A&key=Z),9,if 语句,一if语句的两种形式1.if(表达式)语句例4-1输入三个数,找出并打印其最小数。分析:设三个数
5、为A、B、C,由键盘读入,我们用一个变量MIN来标识最小数,A、B、C与MIN皆定义为int型变量。每次比较两个数,首先将A赋给MIN,然后比较MIN和B,将小的一个赋给MIN,再把第三个数C与MIN比较,再将小的一个赋给MIN,则最后MIN即为A、B、C中最小数。其流程图见下一页:,10,if 语句,流程图,N-S结构化流程图,11,if 语句,main()/*输入三个数,找出并打印其最小数*/int a,b,c,min;printf(input a,b,c:);scanf(%d%d%d,执行情况如下:RUNinput a,b,c:3 5 2The result is 2,12,if 语句,
6、一if语句的两种形式2.if(表达式)语句1 else 语句2例4-2输入两个整数,输出其中的大数。分析:判别a,b的大小,若a大,则输出a,否则输出b。算法:1)输入a,b 2)若a=b,则输出a 否则输出b,13,if 语句,源程序如下:main()int a,b;printf(input two numbers:);scanf(%d%d,N-S结构化流程图,14,if 语句,二.复合语句if 语句中,有时需要执行的语句不止一条,这就要用到复合语句。复合语句,就是用一对花括号括起来的一条或多条语句,形式如下:语句1;语句2;语句n;无论包括多少条语句,复合语句从逻辑上讲,被看成是一条语句。
7、复合语句在分支结构、循环结构中,使用十分广泛。,15,if 语句,二.复合语句例4-3 读入两个数x、y,将大数存入x,小数存入y。分析:x、y从键盘读入,若x=y,只需顺序打出,否则,应将x,y中的数进行交换,然后输出。两数交换必须使用一个中间变量t,定义三个浮点数x、y、t。算法:1)读入x、y;2)大数存入x,小数存入y;3)输出x、y。第2)步求精:若xy,则交换x与y;再求精,x与y交换:t=xx=yy=t,16,if 语句,N-S结构化流程图,流程图,17,if 语句,#include main()float x,y,t;printf(input x,y:);scanf(%f%f,
8、执行结果:input x,y:43.2 56.7result:56.700 43.200,18,if 语句,二.复合语句例4-4 货物征税问题,价格在万元以上的征5%,5000元以上1万元以下的征3%,1000元以上5000以下的征2%,1000元以下的免税,读入货物价格,计算并输出税金。分析:读入price,计算tax,这是一个较复杂的分支结构程序设计(应注意避免重复征税)。假定货物的价格在1万元以上,征税应分段累计,各段采用不同税率进行征收。算法:若price=10000则 tax=0.05*(price-10000);price=10000;若price=5000则 tax=0.03*(
9、price-5000)+tax;price=5000;若price=1000则 tax=0.02*(price-1000)+tax;price=1000;,19,if 语句,二.复合语句#include main()float price,tax=0;printf(input price:);scanf(%f,运行程序:RUNinput price:15000the tax=480.000,20,if 语句,三、if.else if 语句实际应用中常常面对更多的选择,这时,将if.else 扩展一下,就得到if.else if 结构,其一般形式为:if 语句else if 语句2 else i
10、f 语句3 else 语句4,21,if 语句,三、if.else if 语句例4-5判别键盘输入字符的类别。分析:可以根据输入字符的ASCII码来判别类型。由ASCII码表可知ASCII值小于32的为控制字符。在“0”和“9”之间的为数字,在“A”和“Z”之间为大写字母,在“a”和“z”之间为小写字母,其余则为其它字符。算法如下:1)输入字符C。2)若c32,则c为控制字符 否则,若c 在“0”和“9”之间,则c为数字字符 否则,若c 在“A”和“Z”之间,则c为大写英文字母字符 否则,若c 在“a”和“z”之间,则c为小写英文字母字符 否则c为其它字符,22,if 语句,三、if.else
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 逻辑运算 判断 选取 结构
链接地址:https://www.31ppt.com/p-6611782.html