逻辑运算和选择结构程序设计.ppt

上传人:小飞机 文档编号:6434853 上传时间:2023-10-30 格式:PPT 页数:30 大小:396.82KB
返回 下载 相关 举报
逻辑运算和选择结构程序设计.ppt_第1页
第1页 / 共30页
逻辑运算和选择结构程序设计.ppt_第2页
第2页 / 共30页
逻辑运算和选择结构程序设计.ppt_第3页
第3页 / 共30页
逻辑运算和选择结构程序设计.ppt_第4页
第4页 / 共30页
逻辑运算和选择结构程序设计.ppt_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《逻辑运算和选择结构程序设计.ppt》由会员分享,可在线阅读,更多相关《逻辑运算和选择结构程序设计.ppt(30页珍藏版)》请在三一办公上搜索。

1、第5章 逻辑运算和选择结构程序设计,任课教师:张 盈教案制作:张 盈,本次课程主要内容,关系运算符和关系表达式逻辑运算符和逻辑表达式条件运算符和条件运算if语句switch语句和break语句,关系运算,关系运算:对两个运算量进行大小关系比较的运算,运算结果为1(逻辑真)或0(逻辑假)。关系运算符(按从高到低顺序):、=、=、!=关系表达式,用关系运算符连接起来的两个表达式:表达式 关系运算符 表达式,优先级:低于算术运算符,高于赋值运算符,举例:xy!=z等价:(xy)!=zx=yyz等价:(xy)z zx+y等价:z(x+y)x=yz等价:x=(yz),逻辑运算符和逻辑表达式,逻辑运算符:

2、&(逻辑与,也叫逻辑乘)|(逻辑或,也叫逻辑加)!(逻辑非)逻辑表达式:结果只有两种:非0:逻辑真 0:逻辑假,逻辑与的真值表,逻辑与运算:两个运算量都为非0,结果才为1(逻辑真)。,逻辑或的真值表,逻辑与运算:两个运算量中只要有一个运算量非0,结果就为1(逻辑真)。,逻辑非的真值表,逻辑非运算:使运算量的值变反,即非0值变0值。,逻辑表达式运算的优先级,优先级(从高到低):!算术运算符 关系运算符&|赋值运算符练习:6=!0,注意C程序中某些关系表达式的写法:,axb,axb,xa&xb,xb&xa,C程序中一定不要有连续“”的形式!,条件运算符和条件表达式,条件运算符:?:表达式的一般形式

3、:表达式1?表达式2:表达式3,如:max=(ab)?a:b,条件表达式流程图,说明:条件运算符仅优先于赋值运算符。条件运算符的结合方向为“自右到左”。,【程序5.1】输入一个字符,判别它是否大写字母。如果是,将它转换成小写字母;如果不是,不转换。,main()char ch;scanf(%c,if 语句,if语句的三种形式:实现单分支选择结构的形式实现双分支选择结构的形式实现多分支选择的形式,if语句 之单分支选择结构,一般形式:if(表达式)语句说明:当表达式的结果为非0时,执行后面的语句,否则不执行。,单分支选择结构流程图,【5.2】将输入的三个数按照从小到大的顺序输出,main()fl

4、oat a,b,c,t;scanf(%f%f%f,if语句 之双分支选择结构,一般形式:if(表达式)语句1else 语句2说明:当表达式的值为非0时,执行语句1,否则执行语句2。,双分支选择结构流程图,【5.3】显示输出从终端输入的两个整数中绝对值较大的,main()int x1,y1,x2,y2;scanf(%d,%d,条件表达式不能取代一般的if语句,只有在if语句中内嵌的语句为赋值语句(且两个分支都给同一个变量赋值)时才能代替if语句。,运行情况:23,3434,if语句 之多分支选择结构,一般形式:if(表达式)语句1else if(表达式)语句2else if(表达式)语句3els

5、e if(表达式)语句nelse 语句n+1说明:各个表达式按顺序求值,如果某个表达式的值为非0,则执行与其相关的那条语句,并由此结束整个if语句。,多分支选择结构流程图,if语句的嵌套,格式一:if()if()语句1else语句2else if()语句3else 语句4,格式二:if()if()语句1 elseif()语句2else 语句3,含义:在if语句中又包含一个或多个if语句称为if语句的嵌套。,注意if与else的配对关系。,【程序5.4】判断输入的字符是数字、大写字母、小写字母或其他字符。,#include main()char c;printf(Enter a characte

6、r:);c=getchar();if(c=0,【程序5.5】解一元二次方程ax2+bx+c=0。,一元二次方程的解的情况有下列几种可能:a=0,不是二次方程;b2-4ac=0,有两个相等实根:b2-4ac0,有两个不等实根:b2-4ac0,有两个共轭实根。,分析,一元二次方程 NS图,#include main()float a,b,c,d,x1,x2,p,q;scanf(%f,%f,%f,源程序:,未完,待续,else if(d1e-6)x1=(-b+sqrt(d)/(2*a);x2=(-b-sqrt(d)/(2*a);printf(has distinct real roots:%8.4f

7、 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);,switch语句和break语句,switch 语句:是专门用于实现多分支选择的语句。break语句:终止switch语句的执行。switch语句的一般形式:switch(表达式)case 常量表达式 1:语句 1case 常量表达式 2:语句 2 case 常量表达式 n:语句 ndefault:语句 n+1,Switch(t_typ

8、e)case A:printf(“RMB60.00”);break;/*大客车*/case B:printf(“RMB50.00”);break;/*大货车*/case C:printf(“RMB40.00”);break;/*面包车*/case D:printf(“RMB20.00”);break;/*小轿车*/default:printf(“RMB10.00”);/*其他车辆*/,例:公路收费站的车辆收费问题。,说明:变量“t_type”用来表示汽车的类型。,说明:,switch 语句中的“表达式”和case后面的“常量表达式”的结果值的类型应该一致。每一个case的常量表达式的值必须互不

9、相同,否则出现矛盾现象。各个case的出现次序不影响执行结果。执行完一个case后面的语句后,流程控制转移下一个case继续执行,除非有break语句跳出switch。default 语句为选择项,可有可无。另外,default 后面可以不加break语句。,【程序5.6】根据考试成绩的等级打印出百分制分数段:,#include main()char grade;grade=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,在理解的基础上,上机运行本章所有程序例题。习题笔答:310(答案写在书上)编程:1215(上机调试后,存在磁盘上),

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号