电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

C语言-5-C循环结构 PPT课件

41页
  • 卖家[上传人]:Lesl****ang
  • 文档编号:165202993
  • 上传时间:2021-02-01
  • 文档格式:PPT
  • 文档大小:1.78MB
  • / 41 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、问题的提出,程序设计: 求三个整数的和。 算法思想是引入三个整型变量a,b,c和一个和变量sum,表达式 sum=a+b+c表示三数之和; 求四个整数的和。 算法思想是引入四个整型变量a,b,c,d和一个和变量sum,表达式 sum=a+b+c+d表示三数之和; 若计算1到100的和,如何实现?,设想求1+2+100的方法?,结构化程序设计,循 环 结 构,C语言程序设计实现循环结构的语句: for循环 while循环 do-while循环,P113,for 循环语句,for(表达式1; 表达式2; 表达式3) 语句组 ,P118,循环体,初值,终值,增量,设置循环控制变量,给定初值,设定终值条件(循环条件)以及循环控制变量的变化规律,由循环结构语句for控制执行循环体的次数。 语句组实现:“重复的工作”。,for(表达式1; 表达式2; 表达式3) 循环体 ,Y,N,for 循环语句,退出循环,执行后继语句,#include main() int i,sum=0; for(i=1;i=100;i+) sum=sum+i; printf(sum=%d,sum); ,作加时,和变量必须先

      2、赋初值。通常情况下赋 0 值。,for 循环语句,算法总结:求和(累加和),累加和的算法思想: sum=sum+a 和变量sum必须先赋值,通常情况下赋0值。也可视情况而定。 结构:循环结构,例.求200以内的奇数之和与偶数之和。,#include main() int i,sum1=0,sum2=0; for(i=1;i=200;i+) if(i%2=0) sum1+=i; else sum2+=i; printf(%d %d,sum1,sum2); ,例 求n!=1*2*3* *n,算法:累乘(求积),f=f*n;,注意:作累乘时,积变量必须先赋初值,通常赋1值。,#include main( ) int i ,n; long f=1; scanf(%d,for( ; ; ),i=1,i=n,i+,f=f*i;,注意: 作乘时,注意数的范围: 整型:-3276832767 若其值大于该范围,可修改数据类型为长整型。,printf( %d != %ld,n,f); ,算法总结:求积(累积),累积的算法思想: f=f*a 积变量f必须先赋值,通常情况下赋1值。也可视情况而定。 结构:循

      3、环结构,友情提醒:考虑数据的溢出。,P129.6.8: 有一分数序列:,求这个数列前20项之和。,#include main( ) int n ; float a=2,b=1,t,sum=0;,for( ; ; ),n=1,n=20,n+, sum=sum+a/b; t=a; a=a+b; b=t; ,a:分子,b:分母 sum:和,printf(“ sum= %.2f”,sum); ,1、表达式1,2,3可以是任意表达式。 2、表达式间用“;”相隔。表达式1,2,3都可以省略,但表达式2省略时,会造成死循环。当某一表达式省略时,分号“;”不可省略。,for 循环语句,P121,(1)省略表达式1,但必须在for之前给循环控制变量赋初值。否则会导致死循环。 i=1; for ( ;i=50 ;i+) sum=sum+i; ,for 循环语句,(2)省略表达式2,会导致死循环。在编写程序时一定要避免产生死循环。 for ( i=1; ;i+) sum=sum+i; ,for 循环语句,(3)省略表达式3,但必须在循环体内对循环控制变量重新赋值(增量),否则导致死循环。 for ( i=1

      4、;i=50 ;) sum=sum+i; i+; ,for 循环语句,(4)同时省略表达式和表达式3,保证不产生死循环,须在循环体外对循环控制变量赋初值以及在循环体内对该变量重新赋值(增量)。 i=1; for (;i=50 ;) sum=sum+i; i+; ,for 循环语句,while 循环语句,while(条件表达式) 语句组 ,求解条件表达式的值,值为非0(条件为真)时,执行循环体,之后继续求解表达式的值,当值为0(条件为假)时退出循环,执行其后继语句。,循环体,P114,真(值为非零),假(值为零),while的后继语句,#include main() int m,n,b=0; m=11; while(m!=0) n=m%2; m=m/2; b=b+n; printf(“%dn,b); ,3,while 循环语句,11,1,5,1,1,2,2,0,1,2,1,0,3,假,do_ while 循环语句,do 语句组 while(条件表达式);,循环体,P115,先执行循环体,然后求解条件表达式的值,若值为非0(条件为真),继续执行循环体,直至条件表达式的值为0(条件为假),退出

      5、循环,执行其后继语句。,真(值为非零),假(值为零),do-while的后继语句,do_ while 与while的区别,do 语句组 while(表达式);,while(表达式) 语句组 ,无分号,必须有分号,无论条件是否成立,循环必执行一次。,最少是一次都不执行。,表达式可以是任意表达式。但其值只有两种:0值或非0值。 若语句只一条时,才能省略 。,#include #include main() double pi, sum=0; int f=1,n=1; while( fabs(1.0/n)=1e-6) sum=sum+f*1/n; n+=2; f=-f; pi=4*sum; printf(pi=%lf,pi); ,P124 例6.6:用 公式 求 的近似值,直到某一项的绝对值小于10-6为止。,#include #include main() double pi, sum=0; int f=1,n=1; do sum=sum+f*1/n; n+=2; f=-f; while( fabs(1.0/n)=1e-6) ; pi=4*sum; printf(pi=%lf,pi); ,

      6、例:输入任意的正整数(一个不多于5位),求出它是几位数。,#include main( ) int i,n=0; long m; do printf(input m:n); scanf(%ld, ,若数超出范围,重新输入。,P112 5.7:输入任意的正整数(一个不多于5位),求出它是几位数;求它的逆序并输出。,#include main( ) int i,n=0; long m,k=0; do printf(input m:n); scanf(%ld, ,P129 6.1 :求两个正整数的最大公约数,#include main() int m,n,r,t; do scanf(%d%d, ,欧几里得的辗转相除: 1、用两数中的小数去除大数,得到余数; 2、若余数1不为零,则用余数1去除小数,得到余数2; 3、若余数2还不为零,再以此余数2去除余数1,这样辗转相除,直到余数是零为止。 4、在最后一次相除所用的余数,即最后一个不为零的余数,就是所求两数的最大公约数。,辅助控制语句 break,break语句 功能:在循环语句和switch语句中,终止并跳出循环体或switch结构 用法:

      7、break; 说明: break只能终止并跳出最近一层的结构 break只用于循环语句和switch语句,P122,辅助控制语句 continue,continue语句 功能:结束本次循环,跳过尚未执行的语句,进行下一次循环。 仅用于循环语句中。 用法: continue;,P123,例:阅读程序,写出程序的输出结果,#include main() int x,j=1; for(x=1;x10)break; if(x2!=0) x+=3; continue; x-=1; printf(x=%d,j=%dn,x,j); ,x=12,j=10,x j,1,for (x50),1,if (x10),N,if (x%2!=0),Y,4,2,4,N,3,3,3,Y,6,4,6,N,5,5,5,Y,8,6,8,N,7,7,7,Y,10,8,10,N,9,9,9,Y,12,10,12,Y,#include main ( ) int i=0,j,k=19; do k-=3 ; if (k%5=0) i+ ; continue ; else if (k5) break ; i+; while(i=k-1

      8、); printf(i=%d,k=%dn,i,k);,例、读下列程序,写出其运行结果。,i=6,k=4,P126 例6.8:判断数m是否素数(质数)。,判断数m能否被除1和本身之外的任何数整除,若不能则是素数,否则不是素数。,循环条件: 1)2 m-1; 2)2 sqrt(m); 3)2 m/2;,#include main() int m,i,k; scanf(%d, ,#include main( ) int i,a ; int flag=1; printf(Enter a Number :); scanf(%d, ,求素数,例:编程实现判断输入的数a是否为素数。当a为素数时,输出字符串YES,否则输出NO。 采用标识变量。 即在程序中,用变量flag来标志a是否是素数,若flag的值为“真”表示是素数,否则不是素数。,if(a%i=0) flag=0; else i+;,flag flag!=0 flag=1,循环嵌套-多重循环,一个循环体内又包含另一个完整的循环结构,称为循环的嵌套。内嵌的循环中还可以嵌套循环,称为多重循环。,P121,Y,Y,N,N,for(表达式1;表达式2

      9、;表达式3) . . for(表达式1;表达式2;表达式3) 语句组; . . ,循环嵌套-多重循环,一个循环体内又包含另一个完整的循环结构,称为循环的嵌套。内嵌的循环中还可以嵌套循环,称为多重循环。,#include main() int i,j,sum=0; for(i=1; i=2; i+) for(j=1; j=2; j+) sum+=i+j; printf(sum=%dn,sum); ,sum=12,循环嵌套-多重循环,#include #define N 4 main( ) int i,j; for(i=1;i=N;i+) for(j=1;ji;j+) printf( ); printf(*); printf(n); ,* * * *,#include main() int i,j,k; for(i=1;i=1;i-) for(j=1;j14-i;j+) printf( ); for(k=1;k=2*i-1;k+) printf(*); printf(n); ,P130 6.14,#include main( ) int i,j,ok; for(j=101;j200;j+) i=2; ok=1; while( ok ,P127 例6.9 求100200间的所有素数,#include main() int j,i,k; for(j=101;jk) printf(%4d,j); ,#include stdio.h main() int j, i, sum=0; for(i=1;i=1000;i+) sum=0; for(j=1;ji;j+) if(i%j=0) sum=su

      《C语言-5-C循环结构 PPT课件》由会员Lesl****ang分享,可在线阅读,更多相关《C语言-5-C循环结构 PPT课件》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.