第5讲 循环结构程序设计 C语言课件.ppt

  1. 1、本文档共81页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5讲 循环结构程序设计 C语言课件

主讲老师:刘志强 5.1 while语句 5.2 do-while语句 5.3 for 语句 5.4 循环的嵌套 5.5 break、continue 5.6 程序举例 循环的含义:重复执行一段语句. goto语句和单边if结构可以构成循环。举例说明。 但goto语句的滥用会造成程序的结构混乱,因此,结构化程序设计主张限制goto语句的使用。 C语言有while 、 do - while 、for三种循环结构语句。 前两个称为条件循环,即根据条件来决定是否继续循环; 后一个称为计数循环,即根据设定的执行次数来执行循环。 5.1 while 语句及其循环结构 while 语句和格式及执行过程: 格式: while (表达式) 语句 执行过程: 先计算表达式之值,若为非0(即条件成立),执行后面的语句(称之为循环体)之后,再计算表达式之值进行判断,如此多次重复执行循环体;若表达式之值为0(即条件不成立),跳出循环体语句,继续向下执行。 while 语句的流程图 例1 求1—100之间所有整数的和 求1—100之间整数和的程序 main( ) { int i=1,sum=0; while( i=100) { sum+=i; i+=1; } printf(i=%d,sum=%d\n,i,sum); } 求1—100之间整数和的程序运行过程 main( ) { int i=1,sum=0; while( i=100 ) { sum+=i; i+=1; } printf(i=%d,sum=%d\n,i,sum); } 从键盘上输入10个整数,求总和及平均值 main( ) { int x,sum=0,i=1; float aver; while(i=10) { scanf(%d,x); sum+=x; i++; } aver=sum/10.0; printf(sum=%d,aver=%.2f\n,sum,aver); } 从键盘上输入若干个整数,求总和及平均值,输入-1结束 main( ) { int x,sum=0,i=1; float aver; while( ) {sum+=x; i++; scanf(%d,x); } aver=(float)sum/(i-1); printf(sum=%d,aver=%.2f\n,sum,aver); } 想想这样的一段循环语句的执行结果: i=1; while (i=100) putchar(‘*’); i++; 案例解析 求1到10的累加和。 main() {int x=10,y; while(x0); {y=y+x; x--; } printf(“x=%d,y=%d\n”,x,y); } 请找出该程序中的错误。 任意输入一个自然数,把它正序输出。(如:原数为123,输出123)。题库34-1 1. 定义整型变量a用于存储输入的自然数,定义t初值为0用于存放a的正序数,定义i用于依次存放求出的a的每一位的数值,s=1用于存放权值。 2. 输入一个自然数赋值给变量a 3. 若a0,执行第4步,否则执行第7步 4. i=a%10; 5. t=t+i*s; 6. a=a/10,s=s*10;并返回第3步 7. 输出t. 题目2:从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中。高位仍在高位,低位仍在低位,例如s=7654321,t则为7531。(题库: 7-2) 题库摘题:2-1;20-2;28-1 题目3:求一个无符号数字w的低n-1位。83-3; 思路与正序题目相同,注意最高位不组合的处理方法即可。 (1)分离数字; (2)按原来的顺序组合:原来的低位还在低位,高位还在高位; (3)最高位不组合即可!W10 题目4:求两个整数的最大公约数和最小公倍数,例如24与16 辗转相除法求最大公约数的具体步骤如下: 1.定义变量5个,类型均为整型;例如m=24,n=16,定义变量r 存放m与n的余数;mm存放m的值,nn存放n的值;让m中的值大于n; 2.r=m%n 3.判断r是否为0,如果r为0,则n就是m与n的最大公约数,转第6步;否则,转第4步; 4.m=n;n=r; 5.r=m%n;转到第3步; 6.输出最大公约数n; 7.最小公倍数=mm*nn/最大公约数; 请试着写出源代码! 5.2 do-while 语句及其循环结构

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档