书签 分享 收藏 举报 版权申诉 / 30
上传文档赚钱

类型试题]lh-04-多分支结构和循环结构程序设计.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3390579
  • 上传时间:2022-08-26
  • 格式:PPT
  • 页数:30
  • 大小:240.01KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《试题]lh-04-多分支结构和循环结构程序设计.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    试题 lh 04 分支 结构 循环 程序设计
    资源描述:

    1、西安电子科技大学 -Xidian University 1主要内容 多分支选择结构 switch语句 循环结构 while语句西安电子科技大学 -Xidian University 2多分支的选择结构多分支的选择结构西安电子科技大学 -Xidian University 3多分支的选择结构根据同一个表达式的各种取值分情况处理根据同一个表达式的各种取值分情况处理表达式表达式e?语句序列语句序列1值值1语句序列语句序列2值值2语句序列语句序列n+1其他值其他值语句序列语句序列n值值n.西安电子科技大学 -Xidian University 4switch语句switch语句用于表示多分支的选语句用

    2、于表示多分支的选择结构,其基本形式为:择结构,其基本形式为:switch(表达式表达式e)case 常量表达式常量表达式1:语句序列语句序列1;break;case 常量表达式常量表达式2:语句序列语句序列2;break;.case 常量表达式:常量表达式:语句序列;语句序列;break;default:语句序列语句序列+1;switch语句的含义是:若表达式语句的含义是:若表达式e的值等于某个常量表达式的值等于某个常量表达式i的值,则执行相应的语句序的值,则执行相应的语句序列列i;否则,执行;否则,执行default的语的语句序列。句序列。什么是常量表达式?什么是常量表达式?西安电子科技大学

    3、 -Xidian University 5switch语句的使用举例 问题:输入一个百分制的成绩,将其转换为等级分制输出。规则如下:规则如下:90100:A8089:B7079:C6069:D低于低于60:F西安电子科技大学 -Xidian University 6成绩转换1(用if语句)#include main()int score;printf(input a score(0100):);scanf(%d,&score);if(score=90)printf(grade=An);else if(score=80)printf(grade=Bn);else if(score=70)prin

    4、tf(grade=Cn);else if(score=60)printf(grade=Dn);else printf(grade=Fn);西安电子科技大学 -Xidian University 7成绩转换2#include main()int score;/*score用于表示百分制分数用于表示百分制分数*/printf(input score(0100):);scanf(%d,&score);switch(score/10)case 10:printf(grade=An);break;case 9:printf(grade=An);break;case 8:printf(grade=Bn);

    5、break;case 7:printf(grade=Cn);break;case 6:printf(grade=Dn);break;case 5:printf(grade=Fn);break;case 4:printf(grade=Fn);break;case 3:printf(grade=Fn);break;case 2:printf(grade=Fn);break;case 1:printf(grade=Fn);break;case 0:printf(grade=Fn);break;没有这些没有这些break,该,该程序的执行结果是什程序的执行结果是什么?么?西安电子科技大学 -Xidia

    6、n University 8缺少break的switch语句示例 switch(n)case 1:printf(grade=An);case 2:printf(grade=Bn);case 3:printf(grade=Cn);case 4:printf(grade=Dn);case 5:printf(grade=Fn);n=1?YesNo输出输出grade=A输出输出grade=Bn=2?YesNo输出输出grade=C输出输出grade=D输出输出grade=Fn=3?YesNon=4?YesNon=5?YesNo西安电子科技大学 -Xidian University 9switch中的b

    7、reak 语句 break 语句的目的 终止 switch 语句的执行 如果没有 break 语句,则程序会从指定的 case 分支开始,并在该分支结束后继续执行下去 除非 switch 语句结束,后面的其他 case 分支或 default 分支中的语句都会得到执行 原因:case 子句中的常数表达式仅起到语句标号的作用,不是分支之间的分隔标记 省略 break 语句的场合 允许多个分支执行同样的代码西安电子科技大学 -Xidian University 10成绩转换3#include main()int score,grade;printf(input a score(0100):);sc

    8、anf(%d,&score);grade=score/10;switch(grade)case 10:case 9:printf(grade=An);break;case 8:printf(grade=Bn);break;case 7:printf(grade=Cn);break;西安电子科技大学 -Xidian University 11成绩转换3(续)case 6:printf(grade=Dn);break;case 5:case 4:case 3:case 2:case 1:case 0:printf(grade=Fn);break;default:printf(Invalid inp

    9、ut!n);西安电子科技大学 -Xidian University 12成绩转换4(if和switch结合使用)#include main()int score,n;printf(input a score(0100):);scanf(%d,&score);if(score=90)n=1;else if(score=80)n=2;else if(score=70)n=3;else if(score=60)n=4;else n=5;switch(n)case 1:printf(grade=An);break;case 2:printf(grade =Bn);break;case 3:printf

    10、(grade=Cn);break;case 4:printf(grade=Dn);break;case 5:printf(grade=Fn);break;/*end of switch*/*end of main*/西安电子科技大学 -Xidian University 13成绩转换5(if和switch结合使用)#include main()int score,n;printf(input a score(0100):);scanf(%d,&score);if(score 60)n=0;else n=(score 60)/10+1;switch(n)case 5:case 4:printf(

    11、grade =An);break;case 3:printf(grade=Bn);break;case 2:printf(grade=Cn);break;case 1:printf(grade=Dn);break;case 0:printf(grade=Fn);break;/*end of switch*/*end of main*/至此,我们已经了解了至此,我们已经了解了if语句和语句和switch语句的含义和用法,语句的含义和用法,那么,程序中使用那么,程序中使用if语句的地方能否用语句的地方能否用switch语句替换呢?语句替换呢?西安电子科技大学 -Xidian University

    12、14switch示例5编写程序,接受用户输入的年份和月份,输出该月天数编写程序,接受用户输入的年份和月份,输出该月天数#include#include zylib.hint main()int year,month,days_of_month;BOOL leapyear=FALSE;/*输入部分输入部分 */printf(The program gets a year and a month,and prints days of the month.n);printf(The year:);year=GetIntegerFromKeyboard();printf(The month:);mon

    13、th=GetIntegerFromKeyboard();if(month 12)printf(Month error!n);return 1;/*计算部分计算部分 */leapyear=year%4=0&year%100!=0|year%400=0;switch(month)case 1:case 3:case 5:case 7:case 8:case 10:case 12:days_of_month=31;break;case 4:case 6:case 9:case 11:days_of_month=30;break;case 2:days_of_month=28+(int)leapyea

    14、r;break;/*输出部分输出部分 */printf(Days in%4d-%2.2d is%d.n,year,month,days_of_month);return 0;西安电子科技大学 -Xidian University 15#include void main()int a=1,b=6,c=4,d=2;switch(a+)case 1:c+;d+;case 2:switch(+b)case 7:c+;case 8:d+;case 3:c+;d+;break;case 4:c+;d+;printf(%d,%dn,c,d);switch示例示例6西安电子科技大学 -Xidian Univ

    15、ersity 16switch语句小结switch语句用于表示多分支的选语句用于表示多分支的选择结构,可以用择结构,可以用if语句等价语句等价地表示地表示switch(表达式表达式e)case 常量表达式常量表达式1:语句序列语句序列1;break;case 常量表达式常量表达式2:语句序列语句序列2;break;.case 常量表达式:常量表达式:语句序列语句序列n;break;default:语句序列语句序列n+1;可以将各种情况进行归纳后再可以将各种情况进行归纳后再用用switch语句表示,例如语句表示,例如 grade=score/10;break语句在语句在switch语句中有很语句

    16、中有很重要的作用重要的作用西安电子科技大学 -Xidian University 17选择结构程序设计小结 掌握并熟练应用if语句和switch语句pAB成立成立不成立不成立ab选择结构选择结构1 1pA成立成立不成立不成立ab选择结构选择结构2 2表达式表达式e?语句序列语句序列1值值1语句序列语句序列2值值2语句序列语句序列n+1其他值其他值语句序列语句序列n值值n.西安电子科技大学 -Xidian University 18C的循环语句C语言提供了描述循环计算的语句:语言提供了描述循环计算的语句:while语句语句 do.while语句语句 for语句语句学习循环结构程序设计就是掌握以上

    17、语句的使用方法学习循环结构程序设计就是掌握以上语句的使用方法西安电子科技大学 -Xidian University 19while语句语句西安电子科技大学 -Xidian University 20while语句的格式和含义 while语句的格式:while(表达式表达式p)循环体语句循环体语句ApA真真 假假循环结构循环结构while语句的含义:语句的含义:1)计算表达式计算表达式p;2)若表达式的值为若表达式的值为“假假”,则结束,则结束while语句的执行;否则,执行循环体语语句的执行;否则,执行循环体语句句A,然后转,然后转1);西安电子科技大学 -Xidian University

    18、21while语句使用举例1#include int main()int i,s;i=1;s=0;while(i=100)s+=i;i+;printf(%dn,s);return 0;BYNI 1S 0I=100?S S+I输出输出S的值的值开始开始结束结束I I+1AC西安电子科技大学 -Xidian University 22求最大公约数和最小公倍数 void main()int a,b,s1,s2;/s1:最大公约数 s2:最小公倍数int i,j,min,max;printf(请输入两个整数:n);scanf(%d%d,&a,&b);min=ab?a:b;s1=s2=0;for(i=1

    19、;i=max;j-)if(j%max=0&j%min=0)s2=j;else continue;printf(%d与%d的最大公约数为:%dt最小公倍数为:%dn,a,b,s1,s2);西安电子科技大学 -Xidian University 23ABCD求最大公约数流程图(欧氏算法)YNr不等于不等于0?输出输出n的值的值输入正整数输入正整数m和和n开始开始结束结束m n;n rr m%nABCDr m%n西安电子科技大学 -Xidian University 24求最大公约数程序#include int main()return 0;YNr不等于不等于0?输出输出n的值的值输入正整数输入正整

    20、数m和和n开始开始结束结束m n;n rr m%nr m%nwhile(r!=0)m=n;n=r;r=m%n;printf(input two integers:);scanf(%d%d,&m,&n);r=m%n;int m,n,r;printf(ngcd=%dn,n);西安电子科技大学 -Xidian University 25 分析问题,在求解过程中:存在一个(些)运算(动作)需要重复进行(循环)若干次。重复的次数是事先确定的,或者是根据条件确定的。处理循环计算需要明确的三个问题:循环体:哪些运算(动作)是需要重复进行的;循环条件:重复这些运算的条件是什么,即在什么情况下终止/继续这个重复

    21、的过程。循环准备:在进行重复的运算处理之前,需要进行的准备工作是什么;循环结构程序的编写要点西安电子科技大学 -Xidian University 26程序设计练习一球从一球从100m高度自由落下,每次落地后反跳回原来高度的一半,再高度自由落下,每次落地后反跳回原来高度的一半,再落下。求它在第落下。求它在第10次落地时,共经过多少米?第次落地时,共经过多少米?第10次反弹的高度次反弹的高度是多少?是多少?西安电子科技大学 -Xidian University 27落地-反弹一球从一球从100m高度自由落下,每次落地后反跳回原来高度的一半,再落高度自由落下,每次落地后反跳回原来高度的一半,再落下

    22、。求它在第下。求它在第10次落地时,共经过多少米?第次落地时,共经过多少米?第10次反弹的高度是多次反弹的高度是多少?少?100m50m25m12.5m设:设:i:落地次数计数落地次数计数h:每次落地时的高度每次落地时的高度sum:落地和反弹所经过的总长度落地和反弹所经过的总长度h1h2h3h4西安电子科技大学 -Xidian University 28落地-反弹(续1)#include main()sum-=h;printf(h=%lf,sum=%lfn,h,sum);TC2.0循环体中必须包含能改循环体中必须包含能改变循环条件的语句,使变循环条件的语句,使得重复计算过程能够结得重复计算过程

    23、能够结束束sum+=h;/*将本次落下的高度将本次落下的高度h累加到距离的总长度中累加到距离的总长度中*/h=h/2;/*反弹反弹*/sum=sum+h;/*将反弹的高度将反弹的高度h累加到距离的总长度中累加到距离的总长度中*/i=i+1;double h=100,sum=0;int i;i=1;/*落地次数落地次数*/while(i=10)西安电子科技大学 -Xidian University 29反弹-落地100m50m25m12.5m设:设:i:落地次数计数落地次数计数h:每次落地时的高度每次落地时的高度sum:落地和反弹所经过的总长度落地和反弹所经过的总长度h1h2h3h4西安电子科技大学 -Xidian University 30反弹-落地(续2)#include main()h=h/2;printf(h=%lf,sum=%lfn,h,sum);double h=100,sum=100;int i;i=1;/*反弹和落地次数反弹和落地次数*/h=h/2;/*反弹至前次落地高度的一半反弹至前次落地高度的一半*/sum=sum+h*2;/*完成前次落地后的总距离(前次落地后的反弹完成前次落地后的总距离(前次落地后的反弹+本次落地)距离本次落地)距离*/i=i+1;while(i=9)

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:试题]lh-04-多分支结构和循环结构程序设计.ppt
    链接地址:https://www.163wenku.com/p-3390579.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库