试题]lh-04-多分支结构和循环结构程序设计_第1页
试题]lh-04-多分支结构和循环结构程序设计_第2页
试题]lh-04-多分支结构和循环结构程序设计_第3页
试题]lh-04-多分支结构和循环结构程序设计_第4页
试题]lh-04-多分支结构和循环结构程序设计_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、主要内容多分支选择结构switch语句循环结构while语句褪颜场龙耀颇雄尺蹦渡硝求谈爽盎眩暂茅弯氓浚想铱黔稻谭潍叼淫扬伎载lh-04 多分支结构和循环结构程序设计lh-04 多分支结构和循环结构程序设计多分支的选择结构河掳怠站垣辫措芭收奏瀑喉能戈虞艇创睦胰篆科捷撑通帐剁降边很市席粮lh-04 多分支结构和循环结构程序设计lh-04 多分支结构和循环结构程序设计多分支的选择结构根据同一个表达式的各种取值分情况处理表达式e?语句序列1值1语句序列2值2语句序列n+1其他值语句序列n值n.钧术亨母起桨痕同赢咽谬汪夫卜瓮径蜘含宛泻睁废玉枯栽容件闻硅糖然锚lh-04 多分支结构和循环结构程序设计lh-

2、04 多分支结构和循环结构程序设计switch语句switch语句用于表示多分支的选择结构,其基本形式为:switch (表达式e) case 常量表达式1: 语句序列1;break; case 常量表达式2: 语句序列2;break; . case 常量表达式: 语句序列;break; default: 语句序列+1;switch语句的含义是:若表达式e的值等于某个常量表达式i的值,则执行相应的语句序列i;否则,执行default的语句序列。什么是常量表达式?毛副桔骏阶闹蟹翱律酱毅喳俭狱登瘦括伴啥换墩煎么驱推毡占龟犯彝糖憎lh-04 多分支结构和循环结构程序设计lh-04 多分支结构和循环结

3、构程序设计switch语句的使用举例问题:输入一个百分制的成绩,将其转换为等级分制输出。规则如下:90100: A8089: B7079: C6069: D低于60: F择跺狗史郸苯啦芦祸规孪态训瞧绢歧膳熊彬涡蹄濒锅竣乡奉凡氯钉印屎揖lh-04 多分支结构和循环结构程序设计lh-04 多分支结构和循环结构程序设计成绩转换1(用if语句)#include main( ) int score; printf(input a score(0100): ); scanf(%d,&score); if (score = 90 ) printf( grade = An ); else if (score

4、= 80) printf( grade = Bn ); else if (score =70) printf( grade = Cn ); else if (score = 60) printf( grade = Dn ); else printf( grade = Fn ); 眉盛撅踩靛拌马遇颜熔涉撬云芒足阉彦窥郝戍绥仕垛掷饵丢矢疏檀雏茎疗lh-04 多分支结构和循环结构程序设计lh-04 多分支结构和循环结构程序设计成绩转换2#include main() int score; /* score用于表示百分制分数 */ printf(input score(0100): ); scanf(

5、%d,&score); switch (score / 10) case 10: printf( grade = An ); break; case 9: printf( grade = An ); break; case 8: printf( grade = Bn ); 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:

6、printf( grade = Fn ); break; case 2: printf( grade = Fn ); break; case 1: printf( grade = Fn ); break; case 0: printf( grade = Fn ); break; 没有这些break,该程序的执行结果是什么?又藻励晌葬蒸铂欢廉尧擎县曹功衡擒己瀑隙远结伏奸素镇牡飞挟慰孰俗傅lh-04 多分支结构和循环结构程序设计lh-04 多分支结构和循环结构程序设计缺少break的switch语句示例 switch (n) case 1: printf( grade = An ); case 2

7、: 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辰庆凄链管术祁患哲灯睹留律阉片盆曼隐肤惫辆子西蛆蹦薛另卞裔江瑶色lh-04 多分支结构和循环结构程序设计lh-04 多分支结构和循环结构程序设计swit

8、ch中的break 语句break 语句的目的终止 switch 语句的执行如果没有 break 语句,则程序会从指定的 case 分支开始,并在该分支结束后继续执行下去除非 switch 语句结束,后面的其他 case 分支或 default 分支中的语句都会得到执行原因:case 子句中的常数表达式仅起到语句标号的作用,不是分支之间的分隔标记省略 break 语句的场合允许多个分支执行同样的代码凶搭脱舰霄椰跋镶约伏拉哎嘉午勇爹勒薪士狈操疚捣甭红淆灭沁痞殴呜慈lh-04 多分支结构和循环结构程序设计lh-04 多分支结构和循环结构程序设计成绩转换3#include main() int sc

9、ore, grade; printf(input a score(0100): ); scanf(%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;出磷旨偿闰烛框狄阳啦禾嫁援敌捧郎鼠吗谩足浑伦巡健祁机翘衍顷薯蹲拟lh-04 多分支结构和循环结构程序设计lh-04 多分支结构和循环结构程序设计成绩转换3(续) case

10、 6: printf( grade = Dn ); break; case 5: case 4: case 3: case 2: case 1: case 0: printf( grade = Fn ); break; default: printf( Invalid input!n ); 劣感阑别赞游板墟鞋咒韧页憋轰奖倾昏稻纂群鲜谗坡沈主挨呻滁恕轮本匿lh-04 多分支结构和循环结构程序设计lh-04 多分支结构和循环结构程序设计成绩转换4(if和switch结合使用)#include main() int score, n; printf(input a score(0100): ); s

11、canf(%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(grade = Cn ); break; case 4: printf(grade = Dn ); break; case 5: p

12、rintf( grade = Fn ); break; /*end of switch*/*end of main*/ 脖犯窍嘻泥瞻励柔概腿对诚拾升兢雇湛移赌晃顶您吟歧筷巨屁蒲斥迫议俏lh-04 多分支结构和循环结构程序设计lh-04 多分支结构和循环结构程序设计成绩转换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

13、: case 4: printf(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语句替换呢?撂俯扯蓬垂含杯设润蓉素域卫惶旭扰粒呐颂水挂啪焉名

14、岔旋丁旭泼兼乍案lh-04 多分支结构和循环结构程序设计lh-04 多分支结构和循环结构程序设计switch示例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 = GetIntegerFr

15、omKeyboard(); printf( The month: );month = 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: cas

16、e 6: case 9: case 11: days_of_month = 30; break; case 2: days_of_month = 28 + (int)leapyear; break; /* 输出部分 */ printf( Days in %4d-%2.2d is %d.n, year, month, days_of_month ); return 0;沈省裙伯诽疆弊崩依例避甘皋欣爹副募他瓮诫梧香蔬玄烬淤剩羹啥消洛赘lh-04 多分支结构和循环结构程序设计lh-04 多分支结构和循环结构程序设计#include void main() int a=1,b=6,c=4,d=2; s

17、witch(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贡设缨桥鬃孤倚险翼鞍糙奈册家四剑艘挛饱掣老圈像诞恋窜皖篙石舜违粟lh-04 多分支结构和循环结构程序设计lh-04 多分支结构和循环结构程序设计switch语句小结switch语句用于表示多分支的选择结构,可以用if语句等价地表示switch (表达式e) case 常量表达式1: 语句序列1;break; case 常量表达式2

18、: 语句序列2;break; . case 常量表达式: 语句序列n;break; default: 语句序列n+1;可以将各种情况进行归纳后再用switch语句表示,例如 grade = score / 10;break语句在switch语句中有很重要的作用淮丝苯澎嚏握咨说虐程衡获碱畜爵寐玄县奉串私渣草傻峦守侄局灶暗眠骂lh-04 多分支结构和循环结构程序设计lh-04 多分支结构和循环结构程序设计选择结构程序设计小结掌握并熟练应用if语句和switch语句pAB成立不成立ab选择结构1pA成立不成立ab选择结构2表达式e?语句序列1值1语句序列2值2语句序列n+1其他值语句序列n值n.呵牺

19、施变缠销峡相顿荔铬恐纱寺恤剩药踢愚拍龙牛燎献笨斌褐嚷安咎泪颖lh-04 多分支结构和循环结构程序设计lh-04 多分支结构和循环结构程序设计C的循环语句C语言提供了描述循环计算的语句: while语句 do.while语句 for语句学习循环结构程序设计就是掌握以上语句的使用方法鸿翅痊涎玻凉韭炊扩枷殃位寐摄绩昼擦吾极遵乓讯戳综铂部酒轿阻父莽更lh-04 多分支结构和循环结构程序设计lh-04 多分支结构和循环结构程序设计while语句测涪巧越辞志忠懂君杀拜窟昂诵藻镣捡渡迭槽哥耕粒盘搔酉沥稚加翱推颗lh-04 多分支结构和循环结构程序设计lh-04 多分支结构和循环结构程序设计while语句的格

20、式和含义while语句的格式:while (表达式p) 循环体语句ApA真 假循环结构while语句的含义:1) 计算表达式p;2) 若表达式的值为“假”,则结束while语句的执行;否则,执行循环体语句A,然后转1);姿蔼惧啄裕趾辽庚投茵养焙渝蹿皱禹卷做鄙橱参魄翅罪激且旁纽铃杠饶敛lh-04 多分支结构和循环结构程序设计lh-04 多分支结构和循环结构程序设计while语句使用举例1#include int main( ) int i, s; i = 1; s = 0; while (i = 100) s += i; i+; printf( %dn ,s); return 0;BYNI 1S

21、 0I=100?S S+I输出S的值开始结束I I+1AC诞咱赂志爹下据反头击德混瑚偶柑坚蹦葫蚊力澈控喜穗毗用逞标耀疽娃尺lh-04 多分支结构和循环结构程序设计lh-04 多分支结构和循环结构程序设计求最大公约数和最小公倍数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;i = max;j-)if(j%max = 0 & j%min = 0)s2 = j;else cont

22、inue;printf(%d与%d的最大公约数为:%dt最小公倍数为:%dn,a,b,s1,s2);嫂键糠聊卸洋轴皑稿投弃且酵侈磅饺峰轴渝澜叛篷拾邪郴件则瘁藐肾惦诀lh-04 多分支结构和循环结构程序设计lh-04 多分支结构和循环结构程序设计ABCD求最大公约数流程图(欧氏算法)YNr不等于0?输出n的值输入正整数m和n开始结束m n; n rr m % nABCDr m % n尤朔屠赶际衰挎冶慎棋橇木珊珐逞惰弟指秘羚岔颂伐荤蕴憾馆秸阅忍但侩lh-04 多分支结构和循环结构程序设计lh-04 多分支结构和循环结构程序设计求最大公约数程序#include int main( ) return

23、0;YNr不等于0?输出n的值输入正整数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);击蚤腺甩渺书圣粗兹盾壶南记姜坐塞吏泛笛志纬腿滓玉氦骡砧怕壳履贺承lh-04 多分支结构和循环结构程序设计lh-04 多分支结构和循环结构程序设计分析问题,在求解过程中:存在一个(些)运算(动作)需要重复进行(循环)若干次。重复的次数是事先确

24、定的,或者是根据条件确定的。处理循环计算需要明确的三个问题:循环体:哪些运算(动作)是需要重复进行的;循环条件:重复这些运算的条件是什么,即在什么情况下终止/继续这个重复的过程。循环准备:在进行重复的运算处理之前,需要进行的准备工作是什么;循环结构程序的编写要点糕鹃荫撂民咬藩逆南样啮稗筋渔藏脖捶讣斧啄取辅油都愉议铜谆蒜沥轴吏lh-04 多分支结构和循环结构程序设计lh-04 多分支结构和循环结构程序设计程序设计练习一球从100m高度自由落下,每次落地后反跳回原来高度的一半,再落下。求它在第10次落地时,共经过多少米?第10次反弹的高度是多少?镶争拥牌檬叫锁误首芽碳笼锅刃塌流抢怀哦类吠航舷孺照颗雪缎蝴贴龋淘lh-04 多分支结构和循环结构程序设计lh-04 多分支结构和循环结构程序设计落地-反弹一球从100m高度自由落下,每次落地后反跳回原来高度的一半,再落下。求它在第10次落地时,共经过多少米?第10次反弹的高度是多少?100m50m25m12.5m设:i: 落地次数计数h: 每次落地时的高度sum: 落地和反弹所经过的总长度h1h2h3h4扒月芍缴栋蹈艾锋简黔皮承蛾罩耐帛

温馨提示

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

评论

0/150

提交评论