第四章流程控制循环结构
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
•{
{ int i, sum;
• sum=0; • sum=sum+i; •} 结果如何?
sum = 0;
/* 置累加和sum的初值为0 */
for ( i = 1; i <= 100; i++ ) /* 循环重复100次 */
sum = sum + i;
/* 反复累加 */
printf( “sum = %d\n”, sum); /* 输出累加和 */
注意复合语句{ }和空语句 ;
for (fahr = lower; fahr <= upper; fahr ++) {
celsius = (5.0 / 9.0) * (fahr - 32.0); printf("%d %6.1f\n", fahr, celsius);
}
•for (fahr = lower ; fahr <= upper; fahr = fahr + 1)
PPT文档演模板
•到VC 中看 看执行过程
第四章流程控制循环结构
二、 for语句-循环语句
for(表达式1;表达式2;表达式3) 循环体语句
实现C语句的重复执行
•3个表达式、循环体语句 •!书写顺序和执行顺序不同 •!表达式1只执行一次
PPT文档演模板
第四章流程控制循环结构
for语句中的循环变量
例4-9中for语句的流程
for (fahr = lower; fahr <= upper; fahr ++) { celsius = (5.0 / 9.0) * (fahr - 32); printf("%d %6.1f\n", fahr, celsius);
}
•Enter lower: 30
•Enter upper: 35 •fahr celsius • 30 -1.1 • 31 -0.6 • 32 0.0 • 33 0.6 • 34 1.1 • 35 1.7
l 改变循环变量:在每次循环中改变循环变量的值
l 如 i++,以改变循环条件的真假。一旦i > 100,循环结束。
PPT文档演模板
第四章流程控制循环结构
例4-11 求 1+2+3+……+n
输入一个正整数n,求前n项和,即循环n次
/* 计算1 + 2 + 3 + …… + 100 */
#include <stdio.h>
求前n项和,即循环n次,每次累加1项。
f•odre(ni o==11;;i <= n ; i++) •fosru(mi ==1;sui <m=+nit;eim++()第i项) 问•{ 题是第i项item如何计算:分母总是比前一项大2 • item=1.0/deno; /*计算第i项的值 */ • sum = sum + item;/* 累加第i项的值 */ • deno=deno+2; /*计算下一项的分母 */ •}
for (fahr = lower; fahr <= upper; fahr ++)
{
celsius = (5.0 / 9.0) * (fahr - 32);
printf("%d %6.1f\n", fahr, celsius);
}
return 0;
•fahr = fahr+1
}
PPT文档演模板
第四章流程控制循环结构
return 0; }
PPT文档演模板
第四章流程控制循环结构
模仿练习:求 1+1/2+1/3+……+ 1/100
/* 计算1 + 2 + 3 + …… + 100 */
#include <stdio.h> int main()
•在上例基础上改 写:
{
•int i;
int i, sum;
•double sum;
int main(void)
{ int i, sum;
•printf(“Enter n:"); •scanf("%d", &n);
sum = 0;
for ( i = 1; i <= 100; i++ ) sum = sum + i;
printf( “sum = %d\n”, sum);
•for(i=1; i<=n;
• #include <stdio.h>
• int main()
•{
• int i, n;
• double sum;
• printf(“Enter n: ");
• scanf("%d", &n);
• sum = 0;
• for ( i = 1; i <= n; i++ )
•
sum = sum + 1.0/i;
问题• 是第itei项mite=m1如.0何/计(2算*(i 考- 1虑);与/i*的计关算第系i项)的:值 */ i•tems=um1.0= /s(u2m* +i -it1e)m;/* 累加第i项的值 */ •}
PPT文档演模板
第四章流程控制循环结构
求 1+1/3+1/5+… 的前n项和—思路二
模仿练习:
1、求 的前n项和,结果保留3位小数 2、求
的前n项和,结果保留3位小数 3、求 的前n项和,结果保留3位小数
PPT文档演模板
第四章流程控制循环结构
求 1-1/3+1/5-… 的前n项和
求前•方n项法12和:,即循环n次,每次累加1项。
f•odflrae(gni=o=1=1;1;;i <= n ; i++) •floasrgu(=mi 1=;=1;sui <m=+nit;eim++()第i项) 关•f{o键r (是i =第1i;项i <ite=mn的; i计++算) : •• {符ite号m和=f前lag一*1项.0相/(2反*i-,1)分;母比/*计前算一第项i项大的2值 */ •• isteumdme=n=floas=gu*dm1e.n0+o/dit+emn2o;;/* 累/*加计第算i项第的i项值的*值/ */ • sflaufmgla=g=-fl=saug-fm;la//g计+ 算ite下m一;项/*的累符加号第i项的值 */ •} deinteom=d=enflaog+2*;1/*.计0 算/ d下e一no项的分母 */ • flag=-flag; //计算下一项的符号 •}
for ( i = 1; i <= n; i++ ) {
item = 1.0 / (2 * i - 1);
sum = sum + item ; } printf ( "sum = %f\n", sum); return 0; }
PPT文档演模板
/* 计算第i项的值 */ /* 累加第i项的值 */
第四章流程控制循环结构
int i, sum; printf(“Enter n: "); scanf("%d", &n); sum = 0; for ( i = 1; i <= n; i++ )
sum = sum + i; printf( “sum = %d\n”, sum); return 0; }
PPT文档演模板
• /*求1+1/2+1/3+……+ 1/n*/
PPT文档演模板
第四章流程控制循环结构
指定次数的循环程序设计
一般包含四个部分:
l 初始化:指定循环起点
l 给循环变量赋初值,如i = 1; l 进入循环之前,设置相关变量的初值,如sum = 0。
l 条件控制:
l 只要i <= 100,循环就继续
l 工作:指重复执行的语句(循环体)。
l 一条语句,可以是复合语句或空语句。如sum = sum + i。
sum = 0; for ( i = 1; i <= 100; i++ )
sum = sum + i;
printf( “sum = %d\n”,Leabharlann Baidusum);
return 0; }
•for(i=1; i<=100; i++) • sum=sum+1.0/i;
•printf( “sum = %f\n”, sum);
循环(控制)变量:for语句中,通过改变或判断某 个变量的值来控制循环的执行
for (fahr = lower; fahr <= upper; fahr ++)
{
celsius = (5.0 / 9.0) * (fahr - 32.0);
printf("%d %6.1f\n", fahr, celsius);
PPT文档演模板
第四章流程控制循环结构
源程序-求 1+1/3+1/5+…的前n项和
#include <stdio.h>
int main(void) { int i, n;
double item, sum; printf(“Enter n: ");
scanf ("%d", &n);
sum = 0 ;
PPT文档演模板
•!不要在for语句中随意加分 号
第四章流程控制循环结构
三、 指定次数的循环程序设计
例4-10 求 1+2+……+100
抽取具有共性的算式:sum = sum + i
sum初值为0,该算式重复100次,i从1变到100
设i为循环变量,则: 指定循环起点的表达式1:i = 1 给出循环条件的表达式2:i <= 100 设置循环步长的表达式3:i++ 循环体语句:sum = sum + i;
i++)
• sum=sum+i;
return 0;
}
•Enter n: 100
•Sum = 5050
PPT文档演模板
第四章流程控制循环结构
模仿练习: 求1+1/2+1/3+……+ 1/n
/* 计算1 + 2 + 3 + …… + n */ #include <stdio.h> int main() {
for(i=1; i<=100; i++)
sum =sum+i;
PPT文档演模板
第四章流程控制循环结构
源程序-求 1+2+……+100
•sum=5050
/* 计算1 + 2 + 3 + …… + 100 */
#include <stdio.h>
•for(i=1; i<=100; i++)
int main()
第四章流程控制_循环结 构
PPT文档演模板
2020/11/30
第四章流程控制循环结构
4.3.1 for语句
例4-9:输入2个整数lower和 upper,输出一 张华氏-摄氏温度转换表,华氏温度的取值 范围是[lower, upper],每次增加1°F。例如
•输入: •30 35
•输出: •fahr celsius • 30 -1.1 • 31 -0.6 • 32 0.0 • 33 0.6 • 34 1.1 • 35 1.7
PPT文档演模板
第四章流程控制循环结构
一、 程序解析-温度转换表
#include <stdio.h>
•Enter lower: 30
i{ntspspdpiccmrrnroiiaanntianu/nnftt/iatbffffn温((f(((hl“"(e""“输fvr度%%输a,ochl入d重deio入dr""lws)复,,最最cie&&ue转高rlus低,los;p换uw值i值upp:esep:r:"\re"华)n)));;r;";;氏); 温度从lower开始,到upper结••••••••束Efa333333n,h012345tre每rc次--ue001110p增l......s061716p加iuer1s:°3F5
} 表达式1:给循环变量赋初值,指定循环的起点。
fahr = lower
表达式2:给出循环的条件,决定循环的继续或结束。
fahr <= upper
表达式3:设置循环的步长,改变循环变量的值,从而可改 变表达式2的真假性。
fahr++
语句:被反复执行的语句,一条语句。
PPT文档演模板
第四章流程控制循环结构
• celsius = (5.0 / 9.0) * (fahr - 32.0); • printf("%d %6.1f\n", fahr, celsius);
•for (fahr = lower ; fahr <= upper; fahr = fahr + 1);
• celsius = (5.0 / 9.0) * (fahr - 32.0); • printf("%d %6.1f\n", fahr, celsius);
• printf( “sum = %f\n”, sum);
• return 0;
•}
第四章流程控制循环结构
例4-12 求 1+1/3+1/5+… 的前n项和
•——思路一:
求前n项和,即循环n次,每次累加1项。
for•(foi =r (1i ;=i 1<;=i n<=; in++; )i++) s•{um = sum + item (第i项)
} •赋初值
•判断其值 •改变其值
PPT文档演模板
第四章流程控制循环结构
for语句的说明
for (fahr = lower; fahr <= upper; fahr ++) {
celsius = (5.0 / 9.0) * (fahr - 32.0); printf("%d %6.1f\n", fahr, celsius);