C语言第5章循环结构
更新时间:2023-07-24 11:13:02 阅读量: 实用文档 文档下载
C语言程序设计
第5章 循环结构程序设计
第5章 循环结构程序设计主 要 内 容 引例 while语句 do-while语句 for语句 循环的嵌套
C语言程序设计
第5章 循环结构程序设计
引例 编程计算 1+2+...+100根据已有的知识,可以用“1+2+……+100”来求解,但显然很繁琐。 现在换个思路来考虑: 首先设置一个累计器sum,其初值为0,利用sum += n来计算(n依 次取1、2、……、100),只要解决以下3个问题即可: (1)将n的初值置为1; (2)每执行1次“sum += n”后,n增1; (3)当n增到101时,停止计算。此时,sum的值就是1~100的累 计和。 根据已有的知识,单独实现每一步都不难。但是,由于需要经常使用 这种重复计算结构(称为循环结构),C语言提供了3条循环语句来 实现,以简化、并规范循环结构程序设计。在C语言中,可用以下语句实现循环: 用for语句; 用do-while语句; 用while语句。
C语言程序设计
第5章 循环结构程序设计
while语句 一般形式: while(expression) 循环体语句; 执行流程:while 假(0) expr 真(非0) 循环体
C语言程序设计
第5章 循环结构程序设计
特点:先判断表达式,后执行循环体 说明: 循环体有可能一次也不执行 循环体可为任意类型语句,若包含多条语句, 应使用花括弧括起来,以复合语句形式出现。 下列情况,退出while循环 条件表达式不成立(为零) 循环体内遇break,return,goto 无限循环: while(1) 循环体;
C语言程序设计
第5章 循环结构程序设计
例5.1 用while循环求
in 1
100
循环初值
循环变量增值
#include <stdio.h> main() { int i,sum=0; i=1; while(i<=100) { sum=sum+i; i++; } printf("%d",sum); }
循环条件sum=0+1=1 sum=1+2=3 sum=3+3=6 sum=6+4=10 …… sum=4950+100=5050 循环终值
循环体
C语言程序设计
第5章 循环结构程序设计
例5.2 显示1~10的平方
#include <stdio.h> main() { int i=1; while(i<=10) { printf("%d*%d=%d\n",i,i,i*i); i++; } }
运行结果: 1*1=1 2*2=4 3*3=9 4*4=16 5*5=25 6*6=36 7*7=49 8*8=64 9*9=81 10*10=100
C语言程序设计
第5章 循环结构程序设计
do~while语句 一般形式: do 循环体语句; while(expression); 执行流程:do
循环体 真(非0)while expr 假(0)
C语言程序设计
第5章 循环结构程序设计
特点:先执行循环体,后判断表达式 说明: 至少执行一次循环体 do~while可转化成while结构循环体
While循环假(0) expr 真(非0) 循环体
C语言程序设计
第5章 循环结构程序设计
例5.3 用do~while循环求
in 1
100
#include <stdio.h> main() { int i,sum=0; i=1; do { sum= sum+i; i++; }while(i<=100); printf("%d",sum); }
C语言程序设计
第5章 循环结构程序设计
例 while和do~while比
较
#include <stdio.h> main() { int i,sum=0; scanf("%d",&i); while(i<=100) { sum+=i; i++; } printf("%d",sum); }运行情况: 1 sum=5050 101 sum=0
运行情况:
#include <stdio.h> main() { int i,sum=0; scanf("%d",&i); do { sum+=i; i++; }while(i<=100); printf("%d",sum); }运行情况: 运行情况:
1sum=5050
101sum=101
C语言程序设计
第5章 循环结构程序设计
例题:求n的阶乘n!(n!=1*2* *n)。#include<stdio.h> main() { int i=1, n; long fact=1; /*将累乘器fact初始化为1*/ printf(“Input n: ”); scanf(“%d”, &n); do { fact *= i; /*实现累乘* i++; }while(i<=n); printf("%d ! = %ld\n", n, fact); }
程序运行情况如下: Input n: 5↙ 5 ! = 120
C语言程序设计
第5章 循环结构程序设计
for语句 格式: for(表达式1;表达式2;表达式3) 语句 执行过程:首先计算表达式1的值,给循环变 量赋初值,再测试表达式2的值,若其值非0, 则执行循环体语句,并计算表达式3的值,自 动修改循环变量的值,再测试表达式2的值, 直到表达式2的值为0(假)则退出循环。三个表 达式都可以省略。
C语言程序设计
第5章 循环结构程序设计
for语句 一般形式:
for([expr1] ;[ expr2] ;[ expr3]) 循环体语句;forexpr1 假(0) expr2 真(非0) 循环体 expr3
执行流程:
C语言程序设计
第5章 循环结构程序设计
求for循环求累计和
in 1
100
#include<stdio.h> main() { int i,sum=0; /*将累加器sum初始化为0*/ for(i=1; i<=100; i++) sum += i; /*实现累加*/ printf("sum=%d\n",sum); }程序运行情况如下: sum=5050
C语言程序设计
第5章 循环结构程序设计
求n的阶乘n!(n!=1*2*……*n)。#include<stdio.h> main() { int i, n; long fact=1; /*将累乘器fact初始化为1*/ printf(“Input n: ”); scanf(“%d”, &n);
for(i=1; i<=n; i++) fact *= i; /*实现累乘*/ printf("%d ! = %ld\n", n, fact);}程序运行情况如下: Input n: 5↙ 5 ! = 120
C语言程序设计
第5章 循环结构程序设计
for语句一般应用形式: for(循环变量赋初值;循环条件;循环变量增值) { 循环体语句; } 说明: 例2.12 用for循环求 for语句中expr1, expr2 ,expr3 类型任意,都可省略,但分 号;不可省 无限循环: for(;;) for语句可以转换成while结构 expr1; while(expr2) { 循环体语句; expr3; }
C语言程序设计
第5章 循环结构程序设计
例5.4 #include<stdio.h> main( ) { int i; for(i=0;i<10;i++) putchar(‘a’+i); }
例:#include<stdio.h> main( ) { int i=0; for(;i<10;i++) putchar(‘a’+i); }
例:#include<stdio.h> 例:#include<stdio.h> 运行结果:abcdefghij main( main( ) ) { {intint i=0; i=0; for(;i<10;) for(;i<10;putchar(‘a’+i),i++) ; putchar(‘a’+(i++)); } }
C语言程序设计
第5章 循环结构程序设计
main() { int i,j,k; for(i=0,j=100;i<=j;i++,j--) { k=i+j; printf("%d+%d=%d\n",i,j,k); } } #inc
lude<stdio.h> #include <stdio.h> main() main() { char c; for(;(c=getchar())!='\n';) { int i,c; for(i=0;(c=getchar())!='\n';i+=3) printf("%c ",c); printf("%c ",i+c); } }
C语言程序设计
第5章 循环结构程序设计
例:编写一个程序,输入10个整数,求出其中的最大数 #include<stdio.h> main() { int i, max ,n; printf(“输入10个整数”); scanf(“%d”,&n); max=n; for(i=2;i<=10;i++) { scanf (“%d”,&n);
if(n>max)max=n; } printf(“最大数:%d\n”,max); }
C语言程序设计
第5章 循环结构程序设计
【思考题】 鬼谷算题:今有一物不知其数,三三数之剩二,五五数之剩 三,七七数之剩二.部物几何?
用C语编程实现为: #include <stdio.h> main() {int x; for(x=0;x<100;x++) if (x%3==2&&x%5==3&&x%7==2) printf("this is number is %d\n",x); }解题歌诀: " 三人同行七十稀,五樹梅花廿一枝, 七子團圓月正半,除百零五便得知。
C语言程序设计
第5章 循环结构程序设计
几种循环的比较(1) 循环的控制
循环条件初始化
也可在 for前while (表达式) do 语句 for (表达式1;表达式2;表达式3)
语句
while (表达式)循环控制条件
语句
也可在循环 体内
修改循环条件
正在阅读:
C语言第5章循环结构07-24
嘉兴市人民政府关于印发嘉兴市加强历史建筑保护工作意见的通知10-05
信息技术科《刷子工具》教学设计01-31
坑平水库工程施工管理工作报告04-19
规模化立体生态养殖中国林蛙08-06
2018年高考原创押题卷(三)英语试题02-26
XX采石场开发利用方案 - 图文01-31
专四语法分类汇总06-11
2016年上海市奉贤区中考物理一模试卷(高清版有答案)03-21
苏武传(优秀实用教案)05-16
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 循环
- 语言
- 结构
- 1.3世纪金榜 2013 高三复习 答案
- 研究论文:探讨临床护理路径在急性ST段抬高型心肌梗死患者中应用的护理体会
- 玻璃钢游艇三维型线设计平台的开发
- 2008年11月份镇江楼市分析报告-16DOC
- 混凝土浇筑及养护
- 骨科牵引与关节穿剌术
- 昆明平旺食品有限公司企业标准(红糖)
- 车工国家职业技能标准
- 高层建筑抗震设计中短柱问题的处理_ybbxk的建筑结构
- 2015年证券从业资格考试证券投资分析基础班章节练习题库及解析
- 厦门市2010年中考
- 新冷媒产品安装及维修规范
- 生命安全与救援作业
- 《三希堂法帖》释文
- 液相还原法制备花状金属Ni纳米粒子及应用研究
- 国土资源违法行为查处工作规程法律文书表格word版
- 2013年中考物理复习实验专题归类复习 3
- 糖尿病合并脑梗死颅内CT及颅脑MRI改变60例分析
- 英语辩论 话题:教育重要还是工作经验重要(11.6.27)完整备稿
- 七年级数学期末考试题双语