第5章逻辑运算和选择结构程序设计ppt课件

上传人:痛*** 文档编号:188253421 上传时间:2023-02-18 格式:PPT 页数:30 大小:196KB
收藏 版权申诉 举报 下载
第5章逻辑运算和选择结构程序设计ppt课件_第1页
第1页 / 共30页
第5章逻辑运算和选择结构程序设计ppt课件_第2页
第2页 / 共30页
第5章逻辑运算和选择结构程序设计ppt课件_第3页
第3页 / 共30页
资源描述:

《第5章逻辑运算和选择结构程序设计ppt课件》由会员分享,可在线阅读,更多相关《第5章逻辑运算和选择结构程序设计ppt课件(30页珍藏版)》请在装配图网上搜索。

1、任课教师:张 盈教案制造:张 盈本次课程主要内容n关系运算符和关系表达式n逻辑运算符和逻辑表达式n条件运算符和条件运算nif语句nswitch语句和break语句关系运算关系运算n关系运算:对两个运算量进展大小关系关系运算:对两个运算量进展大小关系比较的运算,运算结果为比较的运算,运算结果为1 1逻辑真或逻辑真或0 0逻辑假。逻辑假。n关系运算符按从高到低顺序:关系运算符按从高到低顺序:n 、=、=、=、!=!=n关系表达式,用关系运算符衔接起来的关系表达式,用关系运算符衔接起来的两个表达式:两个表达式:n表达式表达式 关系运算符关系运算符 表达式表达式优先级:低于算术运算符,高于赋值运算优先

2、级:低于算术运算符,高于赋值运算符符n举例:nxy!=z等价:(xy)!=znx=yz 等价:x=(yyz等价:(xy)zn zx+y等价:z (x+y)nx=yz等价:x=(yz)逻辑运算符和逻辑表达式逻辑运算符和逻辑表达式n逻辑运算符:逻辑运算符:n&逻辑与,也叫逻辑乘逻辑与,也叫逻辑乘n|逻辑或,也叫逻辑加逻辑或,也叫逻辑加n!逻辑非逻辑非n逻辑表达式:逻辑表达式:n结果只需两种:结果只需两种:n非非0:0:逻辑真逻辑真 n0 :0 :逻辑假逻辑假逻辑与的真值表逻辑与的真值表x y x&y 非非 0 非非 0 1 非非 0 0 0 0 非非 0 0 0 0 0 逻辑与运算:两个运算量都为

3、非0,结果才为1(逻辑真)。逻辑或的真值表逻辑或的真值表x y x|y 非非 0 非非 0 1 非非 0 0 1 0 非非 0 1 0 0 0 逻辑与运算:两个运算量中只需有一个运算量非0,结果就为1(逻辑真)。逻辑非的真值表逻辑非的真值表逻辑非运算:使运算量的值变反,即非0值变0值。X!X非非0001逻辑表达式运算的优先级n优先级从高到低:n!算术运算符 关系运算符&|赋值运算符n练习:6=!0811111留意C程序中某些关系表达式的写法:axxbxa&xb&xaC程序中一定不要有延续“的方式!条件运算符和条件表达式条件运算符和条件表达式表达 式 1结 果为表达 式 2的值结 果为表达 式

4、3的值0=0n条件运算符:条件运算符:?:n表达式的普通方式:表达式表达式的普通方式:表达式1?1?表达式表达式2:2:表达式表达式3 3如:如:max=(ab)?a:bmax=(ab)?a:b条件表达式流程图阐明:阐明:条件运算符仅优先条件运算符仅优先于赋值运算符。于赋值运算符。条件运算符的结合条件运算符的结合方向为方向为“自右到左自右到左。【程序【程序5.15.1】输入一个字符,判别它能否大写字母。】输入一个字符,判别它能否大写字母。假设是,将它转换成小写字母;假设不是,不转换。假设是,将它转换成小写字母;假设不是,不转换。main()char ch;scanf(%c,&ch);ch=(c

5、h=A&chb)t=a;a=b;b=t;/*a、b间的较小值存入间的较小值存入a*/if(ac)t=a;a=c;c=t;/*a、c 间的较小值存入间的较小值存入a*/if(bc)t=b;b=c;c=t;printf(%5.2f,%5.2f,%5.2fn,a,b,c);if语句 之双分支选择构造n普通方式:普通方式:nif(if(表达式表达式)语语句句1 1nelse else 语句语句2 2n阐明:阐明:n当表达式的值当表达式的值为非为非0 0时,执行语时,执行语句句1 1,否那么执行,否那么执行语句语句2 2。表达式表达式语句语句1语句语句2 0=0双分支选择构造流程图【5.35.3】显示输

6、出从终端输入的两个整数中绝对值较大的】显示输出从终端输入的两个整数中绝对值较大的main()int x1,y1,x2,y2;scanf(%d,%d,&x1,&y1);if(x10)x2=-x1;else x2=x1;if(y1y2?x1:y1);条件表达式不能取代普通的条件表达式不能取代普通的ifif语句,只需在语句,只需在ifif语句中内嵌的语句为赋值语句且两个分支都给语句中内嵌的语句为赋值语句且两个分支都给同一个变量赋值时才干替代同一个变量赋值时才干替代ifif语句。语句。运转情况:23,3434if语句 之多分支选择构造n普通方式:普通方式:nifif表达式语句表达式语句1 1nelse

7、 ifelse if表达式语句表达式语句2 2nelse ifelse if表达式语句表达式语句3 3nnelse ifelse if表达式语句表达式语句n nnelse else 语句语句n+1n+1n阐明:各个表达式按顺序求值,假设某个表达阐明:各个表达式按顺序求值,假设某个表达式的值为非式的值为非0 0,那么执行与其相关的那条语句,那么执行与其相关的那条语句,并由此终了整个并由此终了整个ifif语句。语句。多分支选择构造流程图表达 式 1语句1表达 式 n表达 式 3表达 式 2语句2语句3语句n 语句n+10000=0=0=0=0ifif语句的嵌套语句的嵌套格式一:if()if()语句

8、1else语句2else if语句3else 语句4格式二:if if语句1 elseif语句2else 语句3含义:在if语句中又包含一个或多个if语句称为if语句的嵌套。留意if与else的配对关系。【程序【程序5.45.4】判别输入的字符是数字、大写字母、】判别输入的字符是数字、大写字母、小写字母或其他字符。小写字母或其他字符。#include main()char c;printf(Enter a character:);c=getchar();if(c=0&c=A&c=a&c0,有两个不等实根:b2-4ac0计 算复 根 的 实 部 p和虚 部 q:输出两 个复 根:p+q,p-q输

9、出 两 个 实 根:x1,x2aacbbx2422aacbbx2412abp2aacbq2)4(2真真真假假假一元二次方程 NS图#include main()float a,b,c,d,x1,x2,p,q;scanf(%f,%f,%f,&a,&b,&c);printf(The equation);if(fabs(a)=1e-6)printf(is not quadratic.n);else d=b*b-4*a*c;if(fabs(d)1e-6)x1=(-b+sqrt(d)/(2*a);x2=(-b-sqrt(d)/(2*a);printf(has distinct real roots:%8

10、.4f and%8.4fn,x1,x2);elsep=-b/(2*a);q=sqrt(-d)/(2*a);printf(has complex roots:n);printf(%8.4f+%8.4fin,p,q);printf(%8.4f-%8.4fin,p,q);switchswitch语句和语句和breakbreak语句语句nswitch switch 语句:是专门用于实现多分支选择的语句。语句:是专门用于实现多分支选择的语句。nbreakbreak语句:终止语句:终止switchswitch语句的执行。语句的执行。nswitchswitch语句的普通方式:语句的普通方式:nswitch(

11、switch(表达式表达式)n ncase case 常量表达式常量表达式 1:1:语句语句 1 1ncase case 常量表达式常量表达式 2:2:语句语句 2 2n ncase case 常量表达式常量表达式 n:n:语句语句 n nndefault:default:语句语句 n+1n+1n Switch(t_type)case A:printf(“RMB60.00);break;/*大客车大客车*/case B:printf(“RMB50.00);break;/*大货车大货车*/case C:printf(“RMB40.00);break;/*面包车面包车*/case D:printf

12、(“RMB20.00);break;/*小轿车小轿车*/default:printf(“RMB10.00);/*其他车辆其他车辆*/例:公路收费站的车辆收费问题。例:公路收费站的车辆收费问题。阐明:变量阐明:变量“t_type用来表示汽车的类型。用来表示汽车的类型。阐明:阐明:nswitch switch 语句中的语句中的“表达式和表达式和casecase后面的后面的“常量表达式的结果值的类型应该一致。常量表达式的结果值的类型应该一致。n每一个每一个casecase的常量表达式的值必需互不一样,的常量表达式的值必需互不一样,否那么出现矛盾景象。否那么出现矛盾景象。n各个各个casecase的出

13、现次序不影响执行结果。的出现次序不影响执行结果。n执行完一个执行完一个casecase后面的语句后,流程控制转移后面的语句后,流程控制转移下一个下一个casecase继续执行,除非有继续执行,除非有breakbreak语句跳出语句跳出switchswitch。ndefault default 语句为选择项,可有可无。另外,语句为选择项,可有可无。另外,default default 后面可以不加后面可以不加breakbreak语句。语句。【程序【程序5.65.6】根据考试成果的等级打印出百分制分】根据考试成果的等级打印出百分制分数段:数段:#include main()char grade;g

14、rade=getchar();switch(grade)case a:printf(85100n);break;case b:printf(7084n);break;case c:printf(6069n);break;case d:printf(60n);break;default:printf(error!n);程序执行结果:程序执行结果:a输入输入85100b输入输入7084f输入输入error!Homework在了解的根底上,上机运转本章一切程在了解的根底上,上机运转本章一切程序例题。序例题。习题习题笔答:笔答:3 31010答案写在书上答案写在书上编程:编程:12121515上机调试后,存在磁盘上机调试后,存在磁盘上上

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!