欢迎来到天天文库
浏览记录
ID:50351836
大小:785.50 KB
页数:39页
时间:2020-03-08
《C语言程序设计(第三版)教学课件 丁亚涛 第5章 循环结构程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章循环结构程序设计21世纪高等学校精品规划教材掌握循环结构的基本特点掌握3种循环语句:for语句、while语句和do-while语句学会利用for语句、while语句和do-while语句设计简单的循环程序了解goto语句构成的循环5.1循环的基本概念【问题】如何计算1+2+3+4+…+100s=s+i;/*投入i枚硬币到s中*/i=i+1;/*计算下次投币数*/5.1.1方法的探索s=0;/*盒子开始为空*/i=1;/*第1次投币*/while(i<=100)/*100次投币*/{s=s+i;/*投入i
2、枚硬币到s中*/i=i+1;/*计算下次投币数*/}5.1.2循环结构语句for循环while循环do-while循环5.2while循环while循环通过while语句实现。while循环又称为“当型”循环。一般格式为:while(表达式)语句其中,括号后面的语句可以是一条语句,也可以是复合语句。它们都称为循环体。while语句的执行过程为:(1)计算并判断表达式的值。若值为0,则结束循环,退出while语句;若值为非0,则执行循环体(2)转步骤(1)5.2while循环流程图【例5-1】计算s=1+2+3+
3、…+100。#includevoidmain(){inti,s;i=1;s=0;while(i<=100)/*循环控制*/{s=s+i;i=i+1;}printf("s=%d",s);}【注意】循环体包括一条或多条语句,多条语句必须用一对花括号“{}”括起来。合理的循环是有限次循环。如果循环不能退出,则称为“死循环”,在程序设计中应该避免出现。控制循环执行的次数因素包括循环中的循环条件、控制循环的主要变量的初值和终值以及每次变化的幅度等。例如,上例中i有效地控制了循环的运行,i从1循环到1
4、00,每次加1,循环运行了100次,i也可以称为循环变量。【注意】如果只有一个循环变量,而且循环变量每次有固定的增加和减少,则循环的次数可以用以下公式计算:循环次数=(终值-初值)/步长+1步长为循环变量每次增加或减少的值,例如,上例循环次数为:(100–1)/1+1,即100次。步长可以为负数。【例5-2】计算1到100之间所有3的倍数的和。#includevoidmain(){inti,s;i=3;s=0;while(i<=99){s=s+i;i=i+3;}printf("s=%d",
5、s);}5.3do-while循环do-while循环,又称为“直到型”循环,用do-while语句来实现,其一般格式为:do{语句}while(表达式);do-while语句的执行过程为:先执行循环体语句再判断表达式的值。若值为0,则结束循环,退出do-while语句;若值为非0,则继续执行循环体。5.3do-while循环流程图【例5-3】计算s=1+2+3+…+100。#includevoidmain(){inti,s;i=1;s=0;do{s=s+i;i=i+1;}while(i<=
6、100);printf("s=%d",s);}注意do-while循环和while循环可以完成相同的任务。例如上面的程序都可以计算出1到100的数的和。do-while循环的循环条件的判断在循环体的后面,所以和while循环有区别,例如下面的两个程序:inti=1;s=0;inti=1,s=0;while(i<1)do{{s=s+i;s=s+i;i=i+1;i=i+1;}}while(i<1);printf("s=%d",s);printf("s=%d",s);左边的程序运行结果为:s=0右边的程序
7、运行结果为:s=1。5.4for循环for循环是循环的一种标准形式,通过for语句实现,其语法如下:for(①;②;③)④①表达式,通常用于循环的初始化。包括循环变量的赋初值、其他变量的准备等;②表达式,循环的条件判断式,如果为空则相当于真值;③表达式,通常设计为循环的调整部分,主要是循环变量的变化部分;④循环体,由一条或多条语句构成,多条语句需要用一对花括号括起来。5.4for循环流程图【例5-4】计算s=1+2+3+…+100。#includevoidmain(){inti,s;for(i
8、=1,s=0;i<=100;i++)s=s+i;printf("s=%d",s);}注意for循环可以用以下while循环代替:①;while(②){④;③;}表达式①可以是多个表达式构成的逗号表达式,例如i=1,s=0;。①、②、③构成循环的控制部分,3个表达式之间用分号分隔。表达式①可以放在for循环的前面,但后面的分号不能少,例如:①;for(;②;③)④;注意表达式②也可以
此文档下载收益归作者所有