C语言--循环程序设计课件.pptx
《C语言--循环程序设计课件.pptx》由会员分享,可在线阅读,更多相关《C语言--循环程序设计课件.pptx(83页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第5章章 循环程序设计循环程序设计管理学院管理学院电子商务系电子商务系 2第第5章章 循环程序设计循环程序设计5.1 概述概述 5.2 while和和do while循环循环 5.3 for循环循环 5.4 循环的嵌套循环的嵌套 5.5 循环的控制循环的控制 5.6 应用举例应用举例5.7 程序调试程序调试 3第第5章章 循环程序设计循环程序设计 4第第5章章 循环程序设计循环程序设计 5第第5章章 循环程序设计循环程序设计 6第第5章章 循环程序设计循环程序设计 7第第5章章 循环程序设计循环程序设计 8第第5章章 循环程序设计循环程序设计 9第第5章章 循环程序设计循环程序设计 10第第
2、5章章 循环程序设计循环程序设计 水温度的水温度的量变量变引起水的物理形态的引起水的物理形态的质变质变: 水在标淮大气压下加温到水在标淮大气压下加温到100摄氏度变成汽摄氏度变成汽 降温到降温到0摄氏度变成冰。摄氏度变成冰。 11第第5章章 循环程序设计循环程序设计 物体从地球上抛射速度的物体从地球上抛射速度的量变量变引起运动形式的引起运动形式的质变质变: 小于小于7911m/s时,在地面上沿弹道飞行;时,在地面上沿弹道飞行; 达到达到7911m/s时,绕地球作椭园轨道运动,成为地球的卫星;时,绕地球作椭园轨道运动,成为地球的卫星; 增大到增大到11189m/s时,脱离地球成为绕太阳运行的一个
3、行星;时,脱离地球成为绕太阳运行的一个行星; 速度达到速度达到16662m/s时,脱离太阳系成为迢游太空的一个天体。时,脱离太阳系成为迢游太空的一个天体。 12第第5章章 循环程序设计循环程序设计 计算机程序由若干语句顺序组成:计算机程序由若干语句顺序组成: 顺序结构的程序只能按照语句的先后顺序从前向顺序结构的程序只能按照语句的先后顺序从前向后依次执行后依次执行 分支结构程序虽然允许在执行了某个判断后跳过分支结构程序虽然允许在执行了某个判断后跳过某些语句执行后面的语句,但也只能按语句的前某些语句执行后面的语句,但也只能按语句的前后次序执行后次序执行 有时,需要在程序中重复执行某个语句或语句块,
4、有时,需要在程序中重复执行某个语句或语句块,就需要循环结构就需要循环结构 13第第5章章 循环程序设计循环程序设计生活中的例子:生活中的例子: 击鼓传花:击鼓传花:大家坐成一个圈,鼓声响起的时候将花束顺序交大家坐成一个圈,鼓声响起的时候将花束顺序交到下一个人的手里,依次向下传递,当鼓声突然到下一个人的手里,依次向下传递,当鼓声突然中断时停止传花,花束落在谁的手里便成为输家中断时停止传花,花束落在谁的手里便成为输家 4100米接力赛跑:米接力赛跑:第第1个人跑完个人跑完100米后将接力棒传给第米后将接力棒传给第2个人,第个人,第2个人再跑个人再跑100米,然后是第米,然后是第3个人,直到第个人,
5、直到第4个个人跑完最后一个人跑完最后一个100米米 共同点:共同点: 都要完成相同的任务:都要完成相同的任务:量变量变的重复内容的重复内容 都有结束条件:发生都有结束条件:发生质变质变的界限的界限 14第第5章章 循环程序设计循环程序设计1. 计算计算sum=1+2+3+100 15第第5章章 循环程序设计循环程序设计1. 计算计算sum=1+2+3+100循环体循环控制条件循环控制变量循环的初始化#include void main( ) int i=1, sum=0 ;while ( i = 100 )sum = sum + i ;i+ ;printf ( “Sum = %d n”, su
6、m ) ; 16第第5章章 循环程序设计循环程序设计2. 计算计算sum=2+4+6+100循环体循环控制条件循环控制变量循环的初始化#include void main( ) int i=2, sum=0 ;while ( i = 100 )sum = sum + i ;i+=2 ;printf ( “Sum = %d n”, sum ) ; 175.2 while和和do while循环循环格式:格式:while( 表达式表达式 ) 语句语句do 语句语句 while( 表达式表达式 ) ;说明:说明: 括号中的括号中的“表达式表达式”是循环控制条件,但不限于是循环控制条件,但不限于关系表
7、达式和逻辑表达式关系表达式和逻辑表达式 “语句语句”是单一语句,但可以是复合语句是单一语句,但可以是复合语句 如果如果while语句的括号后面只有语句的括号后面只有“;”,则循环,则循环体为空。如果体为空。如果do-while语句的括号后面(分号前语句的括号后面(分号前面)还有其他符号,则出现语法错误面)还有其他符号,则出现语法错误 185.2 while和和do while循环循环while语句的执行过程语句的执行过程while语句的执行过程是:语句的执行过程是:计算计算“表达式表达式”的值;的值;若若“表达式表达式”的值不时的值不时0,为,为“真真”,继续执行;否则,结束,继续执行;否则,
8、结束循环,转到循环,转到while语句后面的语句语句后面的语句继续执行程序;继续执行程序;执行执行“语句语句”部分,即执行循环体;部分,即执行循环体;返回继续执行。返回继续执行。 195.2 while和和do while循环循环do-while语句的执行过程语句的执行过程 205.2 while和和do while循环循环循环语句的特点:循环语句的特点: while循环是循环是“先判断后循环先判断后循环”,如果开始时循,如果开始时循环条件不满足,循环体就一次也不执行环条件不满足,循环体就一次也不执行 do-while循环是循环是“先循环后判断先循环后判断”,即使第一,即使第一次判断的结果为次
9、判断的结果为“假假”,循环体也已经执行了,循环体也已经执行了一次一次 但不论哪种循环,循环体中必须包含能够使循但不论哪种循环,循环体中必须包含能够使循环条件变为环条件变为“假假”的运算的运算 215.2 while和和do while循环循环循环的变化:循环的变化:sum=1+2+3+100#include void main( ) int i=1, sum=0 ;while ( i= 100 )sum = sum + i+ ;printf ( “Sum = %d n”, sum ) ;#include void main( ) int i=1, sum=0 ;dosum = sum + i
10、;i+;while ( i= 100 );printf ( “Sum = %d n”, sum ) ; 225.2 while和和do while循环循环几何级数几何级数2x的力量:的力量: 一页一页普通普通纸的厚度约为纸的厚度约为0.1mm(1mm=10-3m) 珠穆朗玛珠穆朗玛峰的高度为峰的高度为8844.43m 编写程序计算一下,普通纸对折多少次可以超过编写程序计算一下,普通纸对折多少次可以超过珠珠穆朗玛穆朗玛峰的高度?峰的高度? 235.2 while和和do while循环循环#include void main( )double paper_height, mountain_hei
11、ght;int number;paper_height=0.0001;mountain_height=8844.43;number=0;while ( paper_height mountain_height ) paper_height *= 2; number += 1; printf(对折第对折第%d次后的高度是次后的高度是%g。n, number, paper_height); 245.2 while和和do while循环循环几何级数几何级数2x的力量:的力量: 中国战国时期的赵国辩士公孙龙有一个著名命题:中国战国时期的赵国辩士公孙龙有一个著名命题:“一尺之棰,日取其半,万世不竭一尺
12、之棰,日取其半,万世不竭”。这是说,一。这是说,一尺长尺长(0.33m)的一根木棰,每天取它一半,世世代代的一根木棰,每天取它一半,世世代代也取不完。也取不完。这一命题,包含了某些朴素辩证法的思这一命题,包含了某些朴素辩证法的思想,它猜测到了想,它猜测到了物质物质的无限可分性。但严格说来它的无限可分性。但严格说来它并不科学。因为就某一并不科学。因为就某一具体物质形态具体物质形态来说,它在被来说,它在被分割到一定程度时就不再是这一事物了。分割到一定程度时就不再是这一事物了。 最大的原子是铯,半径为最大的原子是铯,半径为225pm(1pm=10-12m) 编写程序计算一下,这只木棰日取一半,取多少
13、天编写程序计算一下,这只木棰日取一半,取多少天可以比铯原子的半径小?可以比铯原子的半径小? 255.2 while和和do while循环循环 265.2 while和和do while循环循环#include void main( )double hammer_height, cesium_radius;int number;hammer_height=0.33;cesium_radius=225e-12;number=0;while ( cesium_radius hammer_height ) hammer_height /= 2; number += 1; printf(第第%d天后的
14、高度是天后的高度是%g。n, number, hammer_height); 275.2 while和和do while循环循环 恩格斯说:恩格斯说:“纯粹的量的分割是有一个极限的,到了纯粹的量的分割是有一个极限的,到了这个极限它就转化为质的差别;物体纯粹是由分子构这个极限它就转化为质的差别;物体纯粹是由分子构成的,但它是本质上不同于分子的东西,正如分子又成的,但它是本质上不同于分子的东西,正如分子又不同于原子一样不同于原子一样”。 取到第取到第3天,剩下的部分天,剩下的部分4.125cm长,这时它还能做为长,这时它还能做为“木棰木棰”吗?取到第吗?取到第31天,它剩下的部分已经没有分天,它剩
15、下的部分已经没有分子那么大了,这时它不仅不再能成为子那么大了,这时它不仅不再能成为“木棰木棰”,连木,连木头的物理分子都已经不是了。当然,它还可以被取下头的物理分子都已经不是了。当然,它还可以被取下去,但随着次数的变化,它必然会发生不同层次的去,但随着次数的变化,它必然会发生不同层次的质质变变。 严格说来,应该是严格说来,应该是“一尺之一尺之棰棰,日取其半,三日可,日取其半,三日可竭竭”;作为;作为木质木质应该是应该是“一只之棰,日取其半,一月一只之棰,日取其半,一月乃竭乃竭”;作为;作为物质物质,应该是,应该是“一尺之棰,日取其半,一尺之棰,日取其半,万世不蝎万世不蝎”。这就是说,不同层次的
16、。这就是说,不同层次的量变量变,总是引起,总是引起与之相应的与之相应的质变质变。 285.2 while和和do while循环循环循环的嵌套循环的嵌套 如果在一个循环的循环体内包含另一个完整的如果在一个循环的循环体内包含另一个完整的循环则称为循环则称为循环的嵌套循环的嵌套,其中被嵌套的循环称,其中被嵌套的循环称为为内循环内循环,而嵌套了内循环的是,而嵌套了内循环的是外循环外循环 内循环还可以嵌套循环,形成多级(层)嵌套内循环还可以嵌套循环,形成多级(层)嵌套 295.2 while和和do while循环循环顺序打印顺序打印1-10的阶乘,即的阶乘,即1!, 2!, , 10! 本题的关键是
17、求阶乘本题的关键是求阶乘 数学上,数学上,n!=123(n-1)n 305.2 while和和do while循环循环外循环内循环对比程序:对比程序:#include void main( ) int i=1;float f = 1;while( i = 10 )f = f * i;printf( %2d! = %.0f n, i, f );i + ;思考一下:思考一下:8-10的阶乘的阶乘#include void main( )int i=1, j ;float f ;while( i = 10 )j = 1;f = 1;while( j = i )f = f * j;j + ;print
18、f( “ %2d! = %.0f n”, i, f );i + ; 315.2 while和和do while循环循环 循环的嵌套不仅可以发生在相同语句之间,如循环的嵌套不仅可以发生在相同语句之间,如while嵌套嵌套while、do-while嵌套嵌套do-while,while语句和语句和do-while语句也可以互相嵌语句也可以互相嵌套套(1)while(.)(2)while()while() dowhile();(3)do(4)dowhile() do while() ; while() ; 325.2 while和和do while循环循环错误的嵌套形式 循环必须是完整的,不允许循环
19、必须是完整的,不允许内外循环交叉嵌套内外循环交叉嵌套f = 1;while( i 10)i=1;do f = f * i;i +; while( i10 );混乱的控制条件 内外循环的循环控制条件通内外循环的循环控制条件通常是分开的,相对独立的常是分开的,相对独立的i=1; s=0;while ( i 3 )s = s + f;i = 1; f=1;while( i5)i +=2;f = f * i;i+ ; 335.2 while和和do while循环循环应用举例应用举例 输入一个输入一个5位数,计算并输出各位的和位数,计算并输出各位的和方法一:将输入的方法一:将输入的5位数位数看作是看作
20、是5个独立的数字个独立的数字字符,依次读取每一个字符,依次读取每一个数字字符,将其转化为数字字符,将其转化为对应的数字后再求和对应的数字后再求和 将数组字符将数组字符ch转化为转化为数字的方法为数字的方法为ch-0 345.2 while和和do while循环循环 输入一个输入一个5位数,计算并输出各位的和位数,计算并输出各位的和#include void main( ) char ch ;int i=0, sum = 0;printf(“Enter a number with 5 digits: ”);while( i 5 )ch = getchar( );sum += ch - 0 ;
21、/* 将数字字符转化为对应的数字将数字字符转化为对应的数字 */ i+ ;printf( “Sum of these 5 digits is %dn”, sum ) ; 355.2 while和和do while循环循环几种常见运算:几种常见运算:l如果如果chch为数字字符,则表达式为数字字符,则表达式ch - ch - 0 0的值为对应的值为对应的数字的数字l如果如果chch为大写字母,则表达式为大写字母,则表达式 ch-ch-A A+ +a a 为对应的为对应的小写字母小写字母l如果如果chch为小写字母,则表达式为小写字母,则表达式 ch-ch-a a+ +A A 为对应的为对应的大写
22、字母大写字母技巧技巧 365.2 while和和do while循环循环 输入一个输入一个5位数,计算并输出各位的和位数,计算并输出各位的和方法二:将输入的方法二:将输入的5位位数看作一个整数,先数看作一个整数,先读取该整数,再分离读取该整数,再分离出各位数字出各位数字 对于整数对于整数x,其个位数,其个位数为为 x%10 要求整数要求整数x的十位数,的十位数,可以先令可以先令x=x/10,再,再求求x的个位数的个位数 375.2 while和和do while循环循环 输入一个输入一个5位数,计算并输出各位的和位数,计算并输出各位的和#include void main( ) int x,
23、x1, r, sum = 0;printf(Enter a number: );scanf( %d, &x) ;x1=x;while( x 0 )r = x % 10;sum += r ; x /= 10 ;printf( Sum of the digits in %d is %dn, x1, sum ) ; 385.2 while和和do while循环循环 任意输入一行字符,统计字母任意输入一行字符,统计字母a和和A的个数的个数#include void main( )char ch;int count=0;printf( Enter characters: );doch = getcha
24、r( );if( ch=A | ch=a ) count+; while( ch != n );printf( Counter of a or A: %dn , count ); 395.2 while和和do while循环循环 405.2 while和和do while循环循环#include void main( )int f = -1, n =1 ;float t, pi = 0 ;/* t为最后一项的值为最后一项的值 */dof = -f ;/* 第第n项的符号项的符号 */t = 1.0 / ( 2*n -1 ) ;/* 用用1.0是为了避免整除是为了避免整除 */pi += f
25、* t ;n+ ; while( t 1e-5 );pi = 4 * pi ;printf( PI = %.4f n, pi ) ; 415.3 for语句语句 for语句是常用的、特殊的循环控制语句语句是常用的、特殊的循环控制语句 for语句的功能强大,使用灵活,变化多样语句的功能强大,使用灵活,变化多样 for语句语句优点优点:将:将“循环初始化条件循环初始化条件”、“循循环控制条件环控制条件”、“循环控制变量的修改循环控制变量的修改”集集中表示中表示 将将量变量变与与质变质变的因素集中表示的因素集中表示 425.3 for语句语句for语句的用法语句的用法for( 表达式表达式1 ; 表
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 循环 程序设计 课件
限制150内