c5选择程序流程设计PPT学习教案_第1页
c5选择程序流程设计PPT学习教案_第2页
c5选择程序流程设计PPT学习教案_第3页
c5选择程序流程设计PPT学习教案_第4页
c5选择程序流程设计PPT学习教案_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、会计学1c5选择程序流程设计选择程序流程设计exprstatement非0=0例:if (xy) printf(“%d”,x);exprstatement1statement2非0=0l形式二:u格式:if (expression) statement1 else statement2u执行过程:例:if (xy) max=x; else max=y;第1页/共29页if ( expr1 ) statement1else if (expr2 ) statement2else if (expr3 ) statement3. else statementn expr1statemnt1非0=0ex

2、pr2expr3statemntnstatemnt3statemnt2非0非0=0=0u执行过程: 例:if (salary1000) index=0.4; else if (salary800) index=0.3; else if (salary600) index=0.2; else if (salary400) index=0.1; else index=0; 第2页/共29页如:if(a=b&x=y) printf(“a=b,x=y”); if(3) printf(“OK”); if(a) printf(“%d”,a);l说明:uif后面的表达式类型任意u语句可以是复合语句u if(

3、x) if(x!=0) if(!x) if(x=0)例 考虑下面程序的输出结果: #include main() int x,y; scanf(“%d,%d”,&x,&y); if(xy) x=y; y=x; else x+; y+; printf(“%d,%dn”,x,y);Compile Error!第3页/共29页Ch4_1.c/*ch4_1.c*/#include main() int x,y; printf(Enter an integer:); scanf(%d,&x); y=x; if(yabsolute value:%dn,x,y);例 求一个数的绝对值运行:Enter an

4、integer:-12 integer:-12-absolute value :12Ch4_0.c第4页/共29页Ch4_2.c/*ch4_2.c*/#include main() int a,b; printf(Enter integer a:); scanf(%d,&a); printf(Enter integer b:); scanf(%d,&b); if(a=b) printf(a=bn); else printf(a!=bn);例 输入两个数并判断两数相等否运行:Enter integer a:12 Enter integer b:12 a=b 运行:Enter integer a:

5、12 Enter integer b:9 a!=b 第5页/共29页/*ch4_3.c*/#include main() char c; printf(Enter a character:); c=getchar(); if(c=0&c=A&c=a&c=z) printf(The character is a lower lettern); else printf(The character is other charactern);Ch4_3.c例 判断输入字符种类运行:Enter a character: The character is a control character运行:Ent

6、er a character:8 The character is a digit运行: Enter a character: D The character is a capital letter运行: Enter a character: h The character is a lower letter运行: Enter a character:F1 The character is other character第6页/共29页vif语句嵌套:l 一般形式:if (expr1) if (expr2) statement1 else statement2else if(expr3) st

7、atement3 else statement4内嵌if内嵌ifif (expr1) if (expr2) statement1 else statement2内嵌ifif (expr1) if (expr2) statement1else statement3 内嵌ifif (expr1) statement1else if(expr3) statement3 else statement4内嵌if第7页/共29页Ch4_4.c例 输入两数并判断其大小关系/*ch4_4.c*/#include main() int x,y; printf(Enter integer x,y:); scanf

8、(%d,%d,&x,&y); if(x!=y) if(xy) printf(XYn); else printf(XYn); else printf(X=Yn);运行:Enter integer x,y:12,23 XY Enter integer x,y:12,12 X=Y第8页/共29页if()if()if()else.else.else.第9页/共29页例: if (a=b) if(b=c) printf(“a=b=c”); else printf(“a!=b”);修改: if (a=b) if(b=c) printf(“a=b=c”); else printf(“a!=b”);实现if

9、else 正确配对方法:加 第10页/共29页例 考虑下面程序输出结果: main() int x=100,a=10,b=20; int v1=5,v2=0; if(a60n”); break; .第13页/共29页例 switch(score) case 5: printf(“Very good!”); case 4: printf(“Good!”); case 3: printf(“Pass!”); case 2: printf(“Fail!”); default : printf(“data error!”); 运行结果:score为5时,输出: Very good! Good! Pas

10、s! Fail! data error!第14页/共29页例 void main() int x=1,y=0,a=0,b=0; switch(x) case 1: switch(y) case 0: a+; break; case 1: b+; break; case 2: a+;b+; break; case 3: a+;b+; printf(“na=%d,b=%d”,a,b); 运行结果:a=2,b=1第15页/共29页/*ch4_5.c*/#include main() int c; printf(Enter m or n or h or other:); c=getchar(); sw

11、itch(c) case m: printf(nGood morning!n);break; case n: printf(nGood night!n); break; case h: printf(nHello!n); break; default : printf(n?n); break; Ch4_5.c例 根据输入字母输出字符串第16页/共29页补充例题:输入任意三个数,按由大到小顺序排列输出。补充例题:输入任意三个数,按由大到小顺序排列输出。 例例2 2:闰年判断程序。:闰年判断程序。例3:学生成绩分等显示程序。学生有数学、英语两门课。按百分制考核。要求输入各门课成绩,按平均成绩分等显

12、示:excellence(优秀): 平均成绩90; all right(良好): 80平均成绩90; middling(中等): 70平均成绩80; pass(及格): 60平均成绩70; fail(不及格): 平均成绩=0) x1=(-b+sqrt(d)/(2*a); x2=(-b-sqrt(d)/(2*a); printf(x1=%f,x2=%f,x1,x2); 返回扩充到复数根第18页/共29页#include math.h main()float a,b,c; float x1,x2,d; printf(Please Input a,b,c: ); scanf(%f,%f,%f,&a,

13、&b,&c); d=b*b-4*a*c; if(d=0) x1=(-b+sqrt(d)/(2*a); x2=(-b-sqrt(d)/(2*a); printf(x1=%f,x2=%f,x1,x2); 返回float realpart,imagpart;else realpart=-b/(2*a); imagpart=sqrt(-d)/(2*a); printf(x1=%f+%fin,realpart,imagpart); printf(x2=%f-%fin,realpart,imagpart); 第19页/共29页补充例题:输入任意三个数,按由大到小顺序排列输出。 结束输出a,b,c开始输入a

14、,b,cabNoYes交换a与b的值bcNoYes交换b与c的值acNoYes交换a与c的值a为三数中最大者b为三数中次大者a为a,b中最大者main( ) int a,b,c,t; printf(Please Input a,b,c: ); scanf(%d,%d,%d,&a,&b,&c);); if (ab) t=a;a=b;b=t; if (ac) t=a;a=c;c=t; if (b=b&b=c翻译为C语言表达式a=c&c=bb=a&a=cb=c&c=ac=a&a=bc=b&b=amain() int a,b,c; printf(Please input a b c:); scanf(

15、%d%d%d,&a,&b,&c); if (a=b&b=c) printf(%d,%d,%dn,a,b,c); if (a=c&c=b) printf(%d,%d,%dn,a,c,b); if (b=a&a=c) printf(%d,%d,%dn,b,a,c); if (b=c&c=a) printf(%d,%d,%dn,b,c,a); if (c=a&a=b) printf(%d,%d,%dn,c,a,b); if (c=b&b=a) printf(%d,%d,%dn,c,b,a);返回第21页/共29页例例2 2:闰年判断程序。:闰年判断程序。main() int year; printf

16、(Type in a year:n); scanf(%d,&year); if (year%400=0|year%4=0&year%100!=0) printf(%d is a leap year.n); else printf(%d is not a leap year.n);闰年的判别条件:(假设年份变量用闰年的判别条件:(假设年份变量用yearyear表示)表示) 当当yearyear是是400400的整倍数时为闰年;的整倍数时为闰年;条件表示为:条件表示为: year%400=0 当当yearyear是是4 4的整倍数,但不是的整倍数,但不是100100的整倍数时为闰年。的整倍数时为闰

17、年。条件表示为:条件表示为: year%4=0 & year%100 != 0year%400=0 | year%4=0 & year%100 != 0返回第22页/共29页例例3 3:学生成绩分等显示程序。学生有数学、英语两门课。:学生成绩分等显示程序。学生有数学、英语两门课。按百分制考核。要求输入各门课成绩,按平均成绩分等显示:按百分制考核。要求输入各门课成绩,按平均成绩分等显示: excellenceexcellence(优秀):(优秀): 平均成绩平均成绩9090; all rightall right(良好):(良好): 8080平均成绩平均成绩9090; middlingmiddl

18、ing(中等):(中等): 7070平均成绩平均成绩8080; passpass(及格):(及格): 6060平均成绩平均成绩7070; failfail(不(不及格):及格): 平均成绩平均成绩60=90) printf(excellencen); else if(ave=80) printf(all rightn); else if(ave=70) printf(middlingn); else if(ave=60) printf(passn); else printf(failn);返回第23页/共29页返回补充例题:编写计算器程序。用户输入运算数和四则运补充例题:编写计算器程序。用户输入运算数和四则运 算符,输出计算结果。算符,输出计算结果。第24页/共29页返回采用采用switchswitch编程时,要注意编程时,要注意精选精选switchswitch后的表达式:后的表达式:(1 1

温馨提示

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

评论

0/150

提交评论