(2-3)程序控制结构.ppt

  1. 1、本文档共72页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(2-3)程序控制结构

该结构是n个条件控制n+1个语句。根据条件选择执行哪个(可以是复合语句)语句。如果所有条件都不满足,则执行第n+1个语句。 表达式(整数) 语句 1 语句 2 语句 n 语句 n+1 ... =1 =2 =n 其它 2.7.3 多分支选择结构 多分支选择结构(switch~case) switch(expr) { case M1: S_1; break; case M2: S_1; break; …… case Mn: S_n; break; default: S_d; } switch语句的执行过程是: ⑴ 计算expr的值(整型) ⑵ 计算出每个常量表达 式M1,M2,?Mn的值(整型) ⑶ 让expr依次同M1,M2,? 进行比较, 对符合条件的分支,执行其分支 语句,遇到break ,退出分支判断过 程;否则,继续执行其他分支的语句; 直到遇到break为止,或分支结构结束 #includestdio.h void main() { int a,c=0,c1=0,c2=0,c3=0,c4=0; printf(输入a的值:); scanf(%d,a); switch(a) { case 1: c1++; printf(c1=%d\n,c1); break; case 2: c2++; printf(c2=%d\n,c2); case 3: c3++; printf(c3=%d\n,c3); case 4: c4++; printf(c4=%d\n,c4); default: c++; printf(c=%d\n,c); } } 提问: 1.输入1,结果是什么? 2.输入2,结果是什么? 3.输入4,结果是什么? 4.输入3,结果是什么? 5.输入15,结果是什么? switch(ch) { case ‘a’: case ‘A’: d1=(x+y)/2; d2=x*y-2; break; case ‘b’: case ‘B’: d1=(a+b)/2; d2=a*b-2; break; default: printf( “Input error!\n”); exit(1); } 【例】分析下面switch语句的执行过程。 【例】将百分制成绩分段。 #include stdio.h void main() { int s; scanf(%d,s); switch(s/10){ case 1: case 2: case 3: case 4: case 5: printf(E.\n);break; case 6: printf(D.\n);break; case 7: printf(C.\n);break; case 8: printf(B.\n);break; case 9: default:printf(A.\n);} } 【例】分析下面程序段中的错误 float x=2; int a=3,b=1; switch(2*x){ //错误:2*x是浮点型表达式 case 2.5: //错误:2.5是浮点常量表达式 printf(“%f”,2*x); break; case a+b: //错误: case子句中不能有变量 printf(“%d”,a+b); case 2,3,4: //错误:case子句只能有常量构成的数学或关系或逻辑表达式 printf(“%d %d %d”,2,3,4); } 作业: P64-4,5,6 循环结构 当型循环 A 真 假 假 条 件P 当型循环结构 A 当P成立 D C C D 直到型循环 条 件P A 假 真 直到型循环结构 A 直到P为假 C D C D A 条 件P A 当型循环 直到型循环

文档评论(0)

gz2018gz + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档