C语言程序设计教程 课件 第5.1 循环结构_第1页
C语言程序设计教程 课件 第5.1 循环结构_第2页
C语言程序设计教程 课件 第5.1 循环结构_第3页
C语言程序设计教程 课件 第5.1 循环结构_第4页
C语言程序设计教程 课件 第5.1 循环结构_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

第5章循环结构程序设计主讲教师:贺爱香理论知识概述1while语句2do-while语句3for语句4break和continue语句6循环嵌套5goto语句7要求:掌握while语句与do…while语句的结构与使用方法。掌握for语句的结构,熟练掌握其使用方法。能正确区分for语句、do…while语句与while语句三者的不同。教学目标要求:会使用常见的循环嵌套形式。掌握break语句和continue的应用及其区别。分析总结常用的程序设计方法及算法特点,并能编写相应的程序。实践任务编写C程序计算1+2+…+100

1求某小组若干个学生某门课程的平均分

2输出Fibonacci数列前20项

3求1!+2!+…+10!5判断一个数n是否是素数。6在屏幕上打印图形

4教学重点:While、For循环控制结构;break和continue;循环结构C程序的编写。重难点教学难点:break和continue;循环结构C程序的编写。while语句一般形式

while(条件表达式)

循环体语句执行过程条件表达式循环体假真【例】

用while循环求

#include<stdio.h>main(){inti,sum=0;i=1;

while(i<=100){sum=sum+i;i++;}printf("%d",sum);}循环初值循环终值循环变量增值循环条件循环体1*2*3*……100?编一个程序,用π/4=1-1/3+1/5-1/7+……公式求π的近似值,直到最后一项的绝对值小于10-6为止。作答主观题10分特点:

先判断表达式,后执行循环体注意:循环体有可能一次也不执行循环体可为任意类型语句;若为多条语句,必须采用复合语句{}下列情况可退出while循环条件表达式不成立(表达式值为零)循环体内遇break、return、goto无限循环(死循环)

while(1)循环体;while语句以下程序片段执行后的输出结果是:

[填空1]。intn=10;while(n>7){printf(“%d”,n--);}

作答填空题2分【练习】

显示1~10的平方#include<stdio.h>main(){inti=1;

while(i<=10){printf("%d*%d=%d\n",i,i,i*i);i++;}}运行结果:1*1=12*2=43*3=94*4=165*5=256*6=367*7=498*8=649*9=8110*10=100问题描述:(积少成多)计划存款,第一天存5元,第二天存10元,第三天存20元,以后每天存钱数是前一天的两倍,到第多少天,能突破你预定存款额?问题分析:令day=1,money=5,sum=5预期存款额为i当sum<i时,day=day+1money=money*2sum=sum+money

输出最终结果do-while语句一般形式

do

{

循环体语句

}

while(条件表达式);执行过程循环体条件表达式假真特点:

先执行循环体,后判断表达式注意:至少执行一次循环体do-while可转化成while结构#include<stdio.h>main(){inti,sum=0;i=1;

do

{sum=sum+i;i++;}while(i<=100);printf("%d",sum);}do-while语句对同一个问题,我们既可以用while语句实现,也可以用do-while语句来实现。在一般情况下,用while语句和do-while语句来处理同一个问题,当循环初始条件为真的情况下,它们的结果是相同的。但while和do-while是有区别的,因为while是“当型”循环,先判断条件,后执行循环体语句;而do-while是“直到型”循环,先执行循环体语句,后判断条件,所以当循环初始条件为“假”时,while语句一次循环体都不执行,而do-while需要执行一次循环体语句,结果不同。结论:当循环初始条件为“真”时,两种循环结果相同,否则结果不同。例如下面两个程序,请思考结果分别为多少?#include"stdio.h"main(){ints=0,i=10;do{s=s+i;i++;}while(i<10);printf("i=%d,s=%d",i,s);}#include"stdio.h"main(){ints=0,i=10;while(i<10){s=s+i;i++;}printf("i=%d,s=%d",i,s);}

注意事项任务2:求某小组若干个学生某门课程的平均分。分析:要求出平均分需要知道总分和学生人数。由于学

生数不能事先确定,不妨由输入者来决定,一旦

输入一个非法成绩数据(可以假定为-1)即结束,那么问题解决的关键就是重复进行成绩的输入、累加及学生数的统计。实践任务/*案例4-2

*/#include"stdio.h"voidmain(){floatsum,score,average;intn=0;sum=0;average=0;printf("请输入学生成绩:\n");scanf("%f",&score);while(score>=0){sum+=score;n++;scanf("%f",&score);}if

温馨提示

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

评论

0/150

提交评论