已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章 C语言的基本控制结构 XUAN SHANLI 合肥工业大学 第三章 C语言的基本控制结构 第三章 C语言的基本控制结构 XUAN SHANLI 合肥工业大学 问题 #include #include void main(void) float a,b,c,x1,x2; scanf(“%f,%f,%f”, x1=(-b+sqrt(b*b-4.*a*c)/(2.0*a); x2=(-b-sqrt(b*b-4.*a*c)/(2.0*a); printf(“x1=%7.2fnx2=%7.2f”,x1,x2); b*b-4ac0? yes 求实根 no 求复根 问题:如何构造条件? 如何根据条件实现不同算法? 第三章 C语言的基本控制结构 XUAN SHANLI 合肥工业大学 3.1 程序的三种控制结构 结构化程序设计是软件设计的第三次革命。结构化程序设计的 基础是采用三种程序的控制结构。 1966年BOHM g; 框图: f; g; 入口 出口 选择结构Selection 算法描述: if(e) f; else g; 框图: e ? yes f; no g; 入口 出口 第三章 C语言的基本控制结构 XUAN SHANLI 合肥工业大学 循环结构Repetition 当型循环 while c is true do f c? f YES NO 直到循环 do f until c is false f c? YES NO 三种控制结构有如下共同的特点: v一个入口和一个出口; v无死语句; v无死循环。 入口 出口 如何构 造条件 ? 第三章 C语言的基本控制结构 XUAN SHANLI 合肥工业大学 复合语句 概念:C语言可以用 包括一系列的语句。一对 所包含的内 容称为一个复合语句。其中可以包含0到多条C语言语句。 #include void main (void) int a,b; scanf(“%d,%d”, int temp; temp=a; a=b; b=temp; printf(“%d,%d”,a,b); 复合语句 复合语句 复合语句可以嵌套 凡是可以出现单一语句的地方都可以使用复合语句。 复合语句的作用: 作为分支和循环的块。 作为标识符的作用域。 交换算法演示 第三章 C语言的基本控制结构 XUAN SHANLI 合肥工业大学 3.2 关系运算和逻辑运算 关系运算 关系运算是比较两个表达式值的数值相互关系的运算。 运算符运算关系实例 大于ab =大于等于a=b b ;/*c的值为0*/ d=a+22 b=a+a+; printf(“b=%d”,b); b=+a+(+a); printf(“b=%d”,b); chp3ex0 在逻辑运算中,如果逻辑值能确定,则不需在进行运算。 int a=0,b=0 +a | b+; /* b的值?*/ a=0; a 语句 表达式,非0为yes,0为no 。 语句,可以是复合语句 。 流程图: e? statement; yes no 举例:#include void main(void) char ch; ch=getchar( ); if(ch=a scanf ( “%d” , if (x=0) printf (“%d” , x); else printf( “%d” , -x); 第三章 C语言的基本控制结构 XUAN SHANLI 合肥工业大学 if else if结构(多分支) 格式: if(e1) stat1; else if(e2) stat2; else if(e3) stat3; else if(en-1) statn-1; else statn; 框图: e1? y stat1; n e2? y stat2; 出口 n en-1? y statn-1; n statn; n-1个条件,满足某个条件,执行对应的语句,然后到出口。 第三章 C语言的基本控制结构 XUAN SHANLI 合肥工业大学 if else if结构举例: 征税问题: 1000以下税率为3% 10002000税率为4% 20003000税率为5% 3000以上税率6% 输入收入求应缴税款。 #include void main(void) float x ,rate; scanf(“%f ”, if(x void main(void) int a; scanf (“%d”, if (a=90) printf( “The score is A”); else if (a=80) printf(“ The score is B”); else if (a=70) printf(“The score is C”); else if (a=60) printf(“The score is D”); else printf( “The score is E”); chp3ex1 第三章 C语言的基本控制结构 XUAN SHANLI 合肥工业大学 if语句的嵌套 对于如下的结构: if(e1) stat1; else stat2; 在stat1或stat2中又含有if结构: if(e2) stat3; else stat4; 称为if结构的嵌套。各种if结构都 可以嵌套。 如求符号函数: -1 (x0) #include void main ( void) int x,y ; scanf (“%d” , if (x0) y=1; else y=0; 结果 ? 第三章 C语言的基本控制结构 XUAN SHANLI 合肥工业大学 举例:求一元二次方程ax2+bx+c=0的根。 #include #include void main(void) float a,b,c,d,e,x1,x2; scanf(“%f,%f,%f”, d=b*b-4.0*a*c; if(abs(d)0) printf(“nx1=%f”,(-b+sqrt(d)/(2.0*a); printf(“nx2=%f”,(-b-sqrt(d)/(2.0*a); else printf(“nx1=%f+i %f”,-b/(2.0*a),sqrt(-d)/(2.0*a); printf(“nx2=%f - i %f”,-b/(2.0*a),-sqrt(-d)/(2.0*a); 外层 内 层 求相等实根 。 求不等实根。 求共扼复根。 chp3ex2 第三章 C语言的基本控制结构 XUAN SHANLI 合肥工业大学 switch语句(多分支结构) 格式: switch (expression) case 常量表达式1: statement 1; case 常量表达式2: statement 2; case 常量表达式n-1: statement n-1; default : statement n; 只能是整型或字符型表达式 。 整型字符型常量表达式。 表达式的值不能相等。 流程: 先求expression的值。 依次比较expression和各常量表达式的值。 如果和第i个常量表达式相等,则执行第i条以后的语句。 如果不相等,则执行default以后的语句。 第三章 C语言的基本控制结构 XUAN SHANLI 合肥工业大学 语句标号的概念: #include void main(void) char grade; grade=getchar( ); switch(grade) case A: printf (“90100n”); case B: printf (“8089n); case C: printf (“7079n”); case D: printf (“60 69n”); case E: printf (“ void main(void) char chGrad; chGrad=getchar( ); switch(chGrad) case a: case A: printf(“90100n”); break; case b: case B: printf(“8089n”); break; case c: case C: printf(“7079n”); break; case d: case D: printf(“6069n”); break; case e: case E: printf(“b,则交换a、b的值。 if(ab) temp=a; a=b; b=temp; 标准二分支:求a和b的最大值。 if(a=b) iMax=a; else iMax=b; 第三章 C语言的基本控制结构 XUAN SHANLI 合肥工业大学 两种多分支 if-else if结构适用于连续不 同区间的分支。 if (a=90) printf( “A”); else if (a=80) printf(“B”); else if (a=70) printf(“C”); else if (a=60) printf(“D”); else printf( “E”); switch 结构适用于离散值 产生的分支 第三章 C语言的基本控制结构 XUAN SHANLI 合肥工业大学 3.4 循环结构 程序经常会重复执行某些相同的操作,如: 求:s=1+2+3+4+100 算法描述: s=0;i=1; s+=i; i+; 判断i是否小于等于100 如果i小于等于100,重复; 否则,结束。 此类根据某个条件重复执行相同算法的结构,称为循环。 初始化部分 。 循环体。含有时条件趋假的语句 。 循环的条件。 循环应在有限次完 成。 C 语言提供了三类实现循环的语句: while, do while,for 第三章 C语言的基本控制结构 XUAN SHANLI 合肥工业大学 while 循环(当型循环) 格式: while(expression) statement; 表达式:值非0,表 示满足条件;值为0 代表不满足条件。 语句(复合语句),重复 执行部分(循环体)。 流程: e? yes statement; no 含有使条件 趋假的语句 。 举例: 求 s= 1+2+3+4+100 #include void main(void ) int s=0, i=1; while (i void main(void) float s=1.0; int i=1; do s*=i; i+; while(i void main (void ) int s,i ; for (s=0,i=1;i void main (void ) int i,j ; for (i=1 ; i100 ) break; printf ( “ n% f “ , area); 满足条件,则退出循环。 继续循环:continue语句 continue语句的作用是跳过本次循环剩余的循环体内容,执行 下次循环。 举例:求1100内的偶数和。 s=0; for ( n=1; n void main(void) int i, ix,iCount=0,iSum=0; for(i=1;i #include void main(void) int n, j, s, iFlag; for(n=101;n void main(void) int n, a, b, c; for(n=100 ; n=999 ; n+) a=n/100; b=n%100/10; c=n%10; if(a*a*a+b*b*b+c*c*c=n) printf(“n%d”,n); 枚举所有三位数 构造条件 测试条件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年河北邯郸市妇幼保健院秋季第二批博硕人才引进6名考试笔试参考题库附答案解析
- 2025福建泉州国企客户经理招聘1人笔试考试参考题库附答案解析
- 2025中金汇通信技术有限公司甘肃分公司招聘笔试考试参考题库附答案解析
- 2026湖北省定向浙江大学选调生招录笔试考试参考试题附答案解析
- 2025年血液科试题及答案
- 2025年施工员考试题库及答案
- 2025年教育系统后备干部面试题及答案
- 2025中国锂电池隔膜材料过滤特性与生产工艺改进分析报告
- 2025广西南宁市武鸣区中医医院里建社区卫生服务中心招聘5人考试笔试备考试题及答案解析
- 2025中国锂电材料供需格局及产业链投资价值报告
- CESA-2021-3-005《半导体集成电路 光互连接口技术要求》团体标准 征求意见稿
- 2024年系统集成项目实施方案
- 指数函数的概念与图象
- 皮肤科护理中的温泉疗法在皮肤病管理中的应用
- 成品入库与出库管理流程培训课件
- 2023年汽车内饰行业市场分析报告及未来发展趋势
- 信息安全测试员资格认证考试复习题库大全-上(单选题汇总)
- 人形机器人专题(一):经典五指灵巧手拆机航空航天篇
- 2023年全球结核病报告(英)
- 企业国际化的量化指标研究
- 粤教版综合实践活动三年级上册第一单元-岭南水果-第二课时-课件
评论
0/150
提交评论