ImageVerifierCode 换一换
格式:PPT , 页数:30 ,大小:442KB ,
资源ID:13743470      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/13743470.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(第4章 分支结构.ppt)为本站上传会员【xrp****65】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

第4章 分支结构.ppt

1、C,语言基础教程,分支结构程序设计,主要内容,概述,if,分支结构,switch,分支结构,综合实例,常见错误,概述,分支结构,或称,选择结构,。用于处理根据判断条件决定由哪个分支处理的问题。类似的问题如:,计算一元二次方程,ax2+bx+c=0,的根,如果,b2-4ac0,,则有两个不相等的实根;如果,b2-4ac=0,,则有两个相等的实根;如果,b2-4ac0,,有一对共轭复根。,如果输入的三边能构成三角形,则计算三角形的面积。,根据成绩统计不同分数段学生的人数。,两种类型:,if,语句,switch,语句,If,分支结构,if,语句的一般形式,:,if,结构,if-else,结构,

2、if-else if,结构,If,结构,最简单的分支结构语句,其具体格式为:,if,语句,功能描述:,如果表达式的值为真,(,非,0),,则执行语句;否则不做任何处理,直接执行,if,语句的后继语句序列。这种,if,结构又称为单分支结构语句。,示例:,if(a=b)printf(“%s”,“a equal to b”);,【,注意,】,表示相等条件时,应使用关系运算符“,=”,,不能用赋值运算符“,=”,。,If,结构,/Exam4-1.cpp,#include,void main(),int a,b,max;,printf(input two numbers:);,scanf(%d,%d,m

3、ax=a;,if(maxb)max=b;,printf(max=%dn,max);,程序运行结果:,input two numbers:3,5,max=5,【,例,4-1】,输入两个整数,输出其中的大数。,用于解决双分支选择问题,其格式为:,功能描述:,如果表达式值为真,则执行语句,1,;若值为假则程序进入,else,部分,执行语句,2,。任一分支语句执行完毕后,都跳出,if-else,结构,执行其后继语句。,If-else,结构,if,语句,1,else,语句,2,If-else,结构,/Exam4-2.cpp,#include,void main(),int a,b;,printf(inp

4、ut two numbers:);,scanf(%d,%d,if(ab),printf(max=%dn,a);,else,printf(max=%dn,b);,【,例,4-2】,修改例,4-1,If-else,结构,/Exam4-3.cpp,#include,void main(),float weight,cost;,printf(input the weight:);,scanf(%f,if(weight=50),cost=9*weight;,else,cost=10*weight;,printf(you should pay%.2f yuans.,cost);,【,例,4-3】,某商品的

5、零售价为每公斤,10,元,批发价为,9,元,若购买量在,50,公斤以上的,可以享受批发价,给顾客购买商店的数量,计算顾客应付款数额。,程序运行结果:,input two weight:30,you should pay 300.00 yuans.,再次运行结果:,input two weight:60,you should pay 540.00 yuans.,解决多分支选择问题,其格式为:,功能描述:,如果表达式,1,的值为真,则执行语句,1,,否则如果表达式,2,为真,则执行语句,2,,,,如果所有,if,后的表达式都不为真,则执行语句,n+1,。,If-else if,结构,if,语句,1

6、else if,语句,2,else if,语句,n,else,语句,n+1,If-else if,结构,/Exam4-4.cpp,#include ,void main(),char c;,printf(input a character:);,c=getchar();,if(c=0&c=A&c=a&cb),printf(“%d”,a),;,else,printf(“%d”,b),;,if,语句的内嵌语句可以是单个或多个语句,当包含多个语句时,必须用花括号“,”,括起来形成一个复合语句。例如:,if(a+bc&a+cb&b+ca),s=0.5*(a+b+c);,area=sqrt(s-a)*

7、s-b)*(s-c);,printf(“%fn”,area);,else,printf(“,不能构成三角形,n”);,else,子句不能作为语句单独使用,它是,if,语句的子句,必须与,if,配对使用。例如,:,y=y+;,else (,错误,),y=y-;,if,结构的一般形式,if,语句的嵌套,在,if,或,else,子句中出现,if,或,if-else,语句的形式称为,if,语句的嵌套,。,嵌套的形式:,if(,表达式,1),if(,表达式,2),语句,1,else,语句,2,else,if(,表达式,3),语句,3,else,语句,4,内嵌,if,内嵌,if,if,语句的嵌套,【,例

8、4-5】,比较两个数的大小关系。,/Exam4-5.cpp,#include ,void main(),int a,b;,printf(please input A and B:);,scanf(%d,%d,if(a!=b),if(ab)printf(ABn);,else printf(Ab)printf(“A!Bn”);,else,printf(“A=Bn”);/else,与最外层的,if,配对,if,与,else,的配对,if,语句的嵌套,【,例,4-6】,编写程序,输入,x,的值,求下面分段函数的值。,/Exam4-6.cpp,#include,void main(),float x,

9、y;,printf(please input x:);,scanf(%f,if(x1),y=x;,else,if(x1),if(x=10)y=5*x-17;,else y=2*x+1;,else,y=x;,switch,结构形式,功能描述:,先计算,switch,后面括号内的表达式值,然后将值与,case,后面的表达式值进行比较。若找到匹配的,case,,则执行该,case,后面的语句序列,直到遇到,break,语句为止(跳出,switch,)。若没有找到,则执行,default,后面的语句,直到,switch,语句结束。若找不到相匹配的,case,子句且不存在,default,语句,则跳过,

10、switch,语句体,继续执行,switch,后面的下一条语句。,switch,分支结构,switch(,表达式,),case,常量表达式,1,:语句,1,case,常量表达式,2,:语句,2,case,常量表达式,n,:语句,n,default:,语句,n+1,【,例,4-7】,输入一个数字,如果该数字是,17,,则分别输出星期一,星期日的英文单词,否则,提示输出错误。,/Exam4-7.cpp,#include ,void main(),int a;,printf(input integer number:);,scanf(%d,switch(a),case 1:printf(Monday

11、n);,case 2:printf(Tuesdayn);,case 3:printf(Wednesdayn);,case 4:printf(Thursdayn);,case 5:printf(Fridayn);,case 6:printf(Saturdayn);,case 7:printf(Sundayn);,default:printf(errorn);,程序运行结果:,input integer number:6,Saturday,Sunday,error,switch,结构形式,switch,结构形式,注意几点:,switch,后的表达式的值必须是整型或字符型或枚举型。,case,后的表

12、达式又称为分支标号,它是常量表达式,通常不允许包含变量和函数调用,而且每个,case,的常量表达式的值不允许相同。,每个,case,代表一个分支,其后的语句是该分支执行的功能,允许是多条语句,且可以不用,括起来。,switch,后的表达式找到相匹配的,case,后,并以此标号为入口,顺序执行后续的程序,直到遇到,break,语句为止。,switch(a),case 1:printf(Mondayn);,break,;,case 2:printf(Tuesdayn);,break,;,case 6:printf(Saturdayn);,break,;,case 7:printf(Sundayn)

13、break,;,default:printf(errorn);,运行结果:,input integer number:6,Saturday,switch,结构形式,多个,case,可共用一组执行语句。例如:,switch(x),case 0:,case 1:,语句,1;break;,default,是可选项,,default,语句出现的位置不会影响到程序的执行结果。即,default,可置于,case,前面、中间或后面,但是程序编译时,总是将它放在最后处理。,switch,语句可以嵌套。,switch,结构形式,void main(),int i=1,j=2;,switch(i),case

14、 1:printf(case 1 in outern);,case 2:printf(case 2 in outern);,switch(j)/,嵌套的,switch,结构,case 1:printf(case 1 in innern);,case 2:printf(case 2 in innern);break;,case 3:printf(case 3 in outern);,运行结果:,case 1 in outer,case 2 in outer,case 2 in inner,case 3 in outer,switch,结构形式,【,例,4-8】,计算器程序。用户输入运算数和四则运

15、算符,输出计算结果。,/Exam4-8.cpp,#include ,void main(),float a,b;,char c;,printf(input expression:a+(-,*,/)b n);,scanf(%f,%c,%f,switch(c),case+:printf(%fn,a+b);break;,case-:printf(%fn,a-b);break;,case*:printf(%fn,a*b);break;,case/:printf(%fn,a/b);break;,default:printf(input errorn);,程序运行结果:,input expression:

16、a+(-,*,/)b,10,*,2,20.000000,解决除,0,问题,与,if,语句嵌套,case/:,if(b=0)printf(“Divided by zero!n”);,else printf(%fn,a/b);,break;,If,与,switch,switch,语句只能对等值进行测试,若测试值涉及某个较大的范围,,if,语句适用。,switch,语句只能对整型数进行测试,如果对浮点数进行测试,需要,if,语句。,若测试一个整型变量取几个不同值的情况,则用,switch,语句比较简明。,根据学生的分数输出其成绩等级:,int grade,;,/.if(grade=85 else,p

17、rintf(“errorn”);,综合实例,【,例,4-9】,求一点所在的象限。,/Exam4-9.cpp,#include,void main(),float x,y;,printf(“Input the coordinate of point:n”);,printf(“x=”);,scanf(“%f”,printf(“y=”);,scanf(“%f”,if(x0),if(y0),printf(“The point is in lst quadrant.n”);,else,printf(“The point is in 4th quadrant.n”),else,if(y0),printf(

18、The point is in 2nd quadrant.n”);,else,printf(“The point is in 3rd quadrant.n”);,程序运行结果:,Input the coordinate of point:,x=5,y=3,The point is in lst quadrant.,再次运行结果:,Input the coordinate of point:,x=-2,y=7,The point is in 2nd quadrant.,综合示例,【,例,4-10】,已知某公司员工的保底薪水为,500,,某月所接工程的利润,profit,(整数)与利润提成的关系

19、如下(计量单位:元):,profit1000,没有提成;,1000,profit2000,提成,10%,;,2000,profit5000,提成,15%,;,5000,profit10000,提成,20%,;,10000,profit,提成,25%,。,综合实例,/Exam4-10.cpp,#include,void main(),long profit;,int grade;,float salary=500;,printf(Input profit:);,scanf(%ld,grade=(profit1)/1000;,switch(grade),case 0:break;/profit10

20、00,case 1:salary+=profit*0.1;break;/1000,profit2000,case 2:,case 3:,case 4:salary+=profit*0.15;break;/2000,profit5000,case 5:,case 6:,case 7:,case 8:,case 9:salary+=profit*0.2;break;/5000,profit10000,default:salary+=profit*0.25;/10000,profit,printf(salary=%.2fn,salary);,程序运行结果:,Input profit:3500,sal

21、ary=4025.00,综合实例,【,例,4-11】,输入一个不超过,5,位的正整数,要求,:,求出它是几位数,;,分别打印出每位数字,;,按逆序打印出各位数字。,/Exam4-11.cpp,#include,main(),long int num;,int n1,n2,n3,n4,n5,bits;,scanf(“%ld”,/,计算数的位数,if(num9999)bits=5;,else if(num999)bits=4;,else if(num99)bits=3;,else if(num9)bits=2;,else bits=1;,printf(“bits=%dn”,bits);,n5=nu

22、m/10000;/,计算万位上的数,n4=(int)(num-n5*10000)/1000;/,计算千位上的数,n3=(int)(num-n5*10000-n4*1000)/100;/,计算百位上的数,n2=(int)(num-n5*10000-n4*1000-n3*100)/10;/,计算十位上的数,n1=(int)(num-n5*10000-n4*1000-n3*100-n2*10);/,计算个位上的数,switch(bits),case 5:printf(“Every bitis:%d,%d,%d,%d,%dn”,n5,n4,n3,n2,n1);,printf(“Reverse is:%

23、d,%d,%d,%d,%dn”,n1,n2,n3,n4,n5);,break;,case 4:printf(“Every bit is:%d,%d,%d,%dn”,n4,n3,n2,n1);,printf(“Reverse is:%d,%d,%d,%dn”,n1,n2,n3,n4);,break;,case 3:printf(“Every bit is:%d,%d,%dn”,n3,n2,n1);,printf(“Reverse is:%d,%d,%dn”,n1,n2,n3);,break;,case 2:printf(“Every bit is:%d,%dn”,n2,n1);,printf(“

24、Reverse is:%d,%dn”,n1,n2);,break;,case 1:printf(“Bit is:%dn”,n1);,printf(“Reverse is:%dn”,n1);,程序运行结果:,1234,bits=4,Every bit is:1,2,3,4,Reverse is:4,3,2,1,常见错误,if,条件表达式表示错误。例如:,if(abc),正确的表示:,if(ab&bc),复合语句书写时忘记“,”,。,if-else,语句中,,else,之前的语句分号丢失。例如:,if(ab),printf(“%d”,a),else,printf(“%d”,b);,switch,语句中漏写,break,,使程序结果错误。,END!,

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服