程序设计语言第4章 循环结构.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《程序设计语言第4章 循环结构.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计语言第4章 循环结构 程序设计语言 循环 结构
- 资源描述:
-
1、第第4 4章章 循环结构循环结构 C C语言程序设计语言程序设计循环结构是指在给定条件(或表达式)成立时,循环结构是指在给定条件(或表达式)成立时,反复执行某些程序语句或某个程序段,反复执反复执行某些程序语句或某个程序段,反复执行的程序段称为循环体。行的程序段称为循环体。C C语言提供的三种循环语句(语言提供的三种循环语句(forfor语句、语句、whilewhile语语句和句和dodowhilewhile语句)实现循环结构。语句)实现循环结构。主要内容 while循环 1dowhile循环 2while语句和用do-while语句的比较 3for循环 45循环嵌套 4.1 while循环问题
2、:显示问题:显示“我要学我要学C C编程编程”5”5遍遍.分析分析程序程序1 1程序程序2 24while语句的一般形式 while(表达式表达式)语句块语句块1;注意:控制循环的三个表达式注意:控制循环的三个表达式执行过程:先判断表达执行过程:先判断表达式的值,当表达式的值式的值,当表达式的值为真时,执行循环体一为真时,执行循环体一次,再判断表达式的值,次,再判断表达式的值,并重复上述操作过程,并重复上述操作过程,直到表达式的值为假时直到表达式的值为假时才结束循环,然后转去才结束循环,然后转去执行循环的后继语句。执行循环的后继语句。54.1 while4.1 while循环循环 问题:显示整
3、数:问题:显示整数:1 1、3 3、5 5、7 7、.、1515分析与设计分析与设计 i=1 i=13=1+2 i=i+23=1+2 i=i+25=3+2 i=i+25=3+2 i=i+27=5+2 i=i+27=5+2 i=i+2.15=13+2 i=i+215=13+2 i=i+264.2 dowhile4.2 dowhile循环循环问题:求和问题:求和1+2+3+.+100,并输出。,并输出。4.2.1 分析与设计分析与设计sum=0 i=1sum=sum+1 sum=sum+i i+sum=sum+2 sum=sum+i i+sum=sum+3 sum=sum+i i+.sum=sum
4、+100 sum=sum+i i+#include stdio.h#include stdio.hvoid main()void main()int i=1,sum=0;int i=1,sum=0;do do sum=sum+i;sum=sum+i;+i;+i;while(while(i=100i=100););printf(sum=%dn,sum);printf(sum=%dn,sum);84.1.3 实战演练1译密码。为使电文保密,往往按一定规律将其转译密码。为使电文保密,往往按一定规律将其转换成密码,收报人再按约定的规律将其译回原文。换成密码,收报人再按约定的规律将其译回原文。可以按以下
5、的规律将电文变成密码:将字母可以按以下的规律将电文变成密码:将字母A变成变成字母字母E,a变成变成e,即变成其后的第,即变成其后的第4个字母,个字母,W变变成成A,X变成变成B,Y变成变成C,Z变成变成D。字母按上述。字母按上述规律转换,非字母字符不变。规律转换,非字母字符不变。2计算计算120之间偶数之和。之间偶数之和。94.2.2 do-while循环循环do-while语句的一般形式为语句的一般形式为:do 语句;语句;while(表达式表达式);执行过程:先执行一执行过程:先执行一次指定的循环体语句,次指定的循环体语句,然后判别表达式,当然后判别表达式,当表达式的值为非零表达式的值为非
6、零(“真真”)时,返回重时,返回重新执行循环体语句,新执行循环体语句,如此反复,直到表达如此反复,直到表达式的值等于式的值等于0 0为止,此为止,此时循环结束。时循环结束。10例例 输入一个正整数,将其逆序输出。例如,输入输入一个正整数,将其逆序输出。例如,输入12345,输出,输出54321。.12345/10=1234 分析:为了实现逆分析:为了实现逆序输出一个正整数,序输出一个正整数,需要把该数按逆序需要把该数按逆序拆开,然后输出。拆开,然后输出。在循环中要每次在循环中要每次分离一位,分离方分离一位,分离方法是对法是对1010求余数。求余数。设设x=12345x=12345,从低位开始分
7、离,从低位开始分离,12345%10=512345%10=5,为了能继续使用求余运算分离下一位,需要为了能继续使用求余运算分离下一位,需要改变改变x x的值为的值为12345/10=123412345/10=1234。重复上述操作:重复上述操作:1234%10=41234%10=4;1234/10=1231234/10=123;123%10=3123%10=3;123/10=12123/10=12;12%10=212%10=2;12/10=112/10=1;1%10=11%10=1;1/10=01/10=0;11当当x x最后变成最后变成0 0时,处理过时,处理过程结束。经过归纳得到:程结束。
8、经过归纳得到:(1 1)重复以下步骤:)重复以下步骤:x%10 x%10,分离一位。,分离一位。x=x/10 x=x/10,为下一次分离,为下一次分离做准备。做准备。(2 2)直到)直到x=0 x=0循环结束。循环结束。#include stdio.h#include stdio.hvoid main()void main()int x;int x;printf(printf(输入输入x x:););scanf(%d,&x);scanf(%d,&x);/*循环开始,循环执行的条件为循环开始,循环执行的条件为x!=0 x!=0*/do do printf(%d,x%10);printf(%d,x
9、%10);x=x/10;/x=x/10;/*每次循环每次循环x/10 x/10*/while(x!=0);while(x!=0);124.2.3 while4.2.3 while和和do-whiledo-while语句的比较语句的比较一般情况下,用一般情况下,用while语句和用语句和用do-while语句处理同一问题语句处理同一问题时,若二者的循环体部分是一样的,它们的结果也一样。时,若二者的循环体部分是一样的,它们的结果也一样。但是如果但是如果while后面的表达式一开始就为假后面的表达式一开始就为假(0值值)时,两种循时,两种循环的结果是不同的。环的结果是不同的。13void main(
10、)void main()intint sum=0,i;sum=0,i;printfprintf(请输入请输入i i:););scanf(%d,&iscanf(%d,&i););while(i=10)while(i=10)sum=sum=sum+isum+i;i+;i+;printf(sum printf(sum=%=%dn,sumdn,sum););运行结果如下:运行结果如下:请输入请输入i i:1 /1 /*用户输入用户输入*/sum=55sum=55请输入请输入i i:11 /11 /*用户输入用户输入*/sum=0sum=0void main()void main()int sum=0,
11、i;int sum=0,i;printf(printf(请输入请输入i i:););scanf(%d,&i);scanf(%d,&i);do do sum=sum+i;sum=sum+i;i+;i+;while(i=10);while(i=10);printf(sum=%dn,sum);printf(sum=%dn,sum);运行结果如下:运行结果如下:请输入请输入i i:1 /1 /*用户输入用户输入*/sum=55sum=55请输入请输入i i:11 /11 /*用户输入用户输入*/sum=11sum=11从两段程序的运行结果可以看出:当输入从两段程序的运行结果可以看出:当输入i=1i=1
12、时,时,sum=55sum=55,whilewhile语句和用语句和用do-whiledo-while语句的运行结语句的运行结果相同;但当输入果相同;但当输入i=11i=11时,也就是当第一次执时,也就是当第一次执行循环就不满足循环条件,行循环就不满足循环条件,whilewhile语句和用语句和用do-whiledo-while语句的运行结果不同,因此对于语句的运行结果不同,因此对于do-whiledo-while语句,先执行循环体,再判断是否满语句,先执行循环体,再判断是否满足循环条件,即不管是否满足循环条件均执行足循环条件,即不管是否满足循环条件均执行一次循环体。一次循环体。15 例例 用
13、格里高利公式求圆周率的近似值,要求精确用格里高利公式求圆周率的近似值,要求精确到最后一项的绝对值小于到最后一项的绝对值小于10-4。分析:这是一个求累加和的问题。循环的算式为:分析:这是一个求累加和的问题。循环的算式为:sum=sum+sum=sum+第第i i项。第项。第i i项用变量项用变量itemitem表示。本题没有显式地表示。本题没有显式地给出循环次数,只是提出了精度要求。在反复计算累加的给出循环次数,只是提出了精度要求。在反复计算累加的过程中,一旦某一项的绝对值小于过程中,一旦某一项的绝对值小于10-410-4(即(即|item|10-4|item|10-4),),就达到了给定的精
展开阅读全文