第五章循环控制程序设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3
北京航空航天大学
课程名称:C 语言程序设计
§5.1 while语句
格式
功能
执行 过程
while (循环条件表达式) {循环体语句}
当表达式成立(表达式的值为非0值)时,执行while语句中的循 环体语句。
表达式 不成立
成立 循环体语句
说明
4
?
1、循环体如果包含一个以上的语句,必须使用复合语句形式。
课程名称:C 语言程序设计
第五章 循环控制程序设计
王党校 2016-10-26
1
北京航空航天大学
课程名称:C 语言程序设计
思考 求1~100的累加和。
sum=1+2+…+100;
分析 换一种思路:
sum=sum+n;
首先设置一个累计器sum,其初值为0,利用sum += n来计算(n依 次取1、2、……、100),只要解决以下3个问题即可:
凵 206名7凵 学4生8的凵C7语2言凵平81均凵成6绩5凵为7:47凵18.87凵73凵北6京7凵航9空0凵航9天8大学
课程名称:C 语言程序设计
§5.2 do-while语句
格式
含义 执行 过程
do {循环体语句}
while (循环条件表达式);
执行do-while语句中的循环体语句,直到表达式的值为假(0)才跳出 循环。
至少执 行一次
说明
循环体语句
1、循环体如果包含一个以上 的语句,必须使用复合语句形 式。
真 表达式
假
2、在循环体中,必须有使循 环条件趋向于不满足(假)的 语句。
3、先执行循环体语句,后判 断表达式的值。
11
北京航空航天大学
课程名称:C 语言程序设计
举例 例5.6 求1~100之间的奇数和。
#include <stdio.h> int main() {
2、在循环体中,必须有使循环条件趋向于不满足(假)的语句。
3、先判断表达式,后执行语句。
北京航空航天大学
课程名称:C 语言程序设计
5.1 while语句
–形式:while(表达式)语句 –功能: ① 求解表达式的值 ② 若表达式的值不为0, 则执行while()后面的语句,然后转① ③ 若表达式的值为0, 则结束while循环
i++; }
?
printf("sum=%5d\n",sum);
return 0;
}
sum= 5050
1 求1~50的累加和. 2 求1~100的奇数和. 3 求1~100的偶数和.
思考来自百度文库
1、如果去掉循环体中的大括号,执行过程将会怎样变化? 2、在循环体中,使循环条件趋向于不满足(假)的语句是哪条? 3、变量 i和sum在循环外不赋予初值行不行?i=1; sum=0;
int i,sum; i=1; sum=0; do {
sum=sum+i; i++; i++; } while (i<=100);
printf("sum=%5d\n",sum); return 0;
} 12
运行结果:凵2500
思考
1、如果去掉循环体 中的大括号会怎样? 2、在循环体中,使 循环条件趋向于不满 足(假)的语句是哪 条?
6
北京航空航天大学
课举程例名称:C
语言程序设计
求1到100的奇数和
#include <stdio.h> int main()
运行结果:凵2500
{
int i, sum;
i=1; sum=0;
while (i<100)
{
sum=sum+i;
i++; i++;
}
printf("sum= %d\n",sum);
分析:定义变量表示学生的成绩、全班总和、平均成绩。 算法设计:
第一步:输入20个学生的成绩 第二步:计算成绩总和 (用累加求和的方法) 第三步:计算平均值 (总和/人数) 第四步:输出平均值
9
北京航空航天大学
课例程题名称:现C有语某言班程20序名设学计生的C语言成绩,求该班学生的C语言的平均成绩。
scanf("%f",&score); total=total+score; i++; } average=total/20; printf("20名学生的C语言平均成绩为:%5.1f\n",average); return 0; }
运行结果: 请输入学生成绩:23凵89凵67凵78凵94凵56凵34凵83凵90
即:输入20个学生的成绩,计算平均值,输出平均值。
total 前i 名学 生的成 绩的和
score 每一名 学生的 成绩
average 平均成 绩 i 用来计 数
10
#include <stdio.h> int main( ) {
float score, total=0,average; int i=1; printf("请输入学生成绩:"); while(i<=20) {
例题1: 打印1,2…..,100 例题2: 求和1+..+100
0 表达式
非0
语句
5
北京航空航天大学
举课例程名称:例C5语.1言:程序求设1计~100的累加和。
#include <stdio.h>
int main()
{
int i,sum;
i=1; sum=0;
while (i<=100)
{
sum=sum+i;
(1)将n的初值置为1; (2)每执行1次“sum += n;”后,n增1; (3)当n增到101时,停止计算。此时,sum的值就是1~100的 累计和。
2
北京航空航天大学
课程名称:C 语言程序设计
第五章 循环控制程序设计
概述: c 语言实现循环控制的语句 – while语句 – do-while语句 – for语句 – goto语句和if语句构成循环
return 0;
}
说明:(1)循环体如果包含一个以上的语句,应该用
花括弧括起来,以复合语句形式出现。
7
(2)在循环体中应有使循环趋向于结束的北语京句航空航天大学
课程名称:C 语言程序设计
回顾 例题:求1到100的奇数和
#include <stdio.h>
int main()
{
int i, sum; i=1; sum=0; while (i<100)
用while循环 实现累加求和
{
sum=sum+i;
累加项是谁? i
i=i+2; } printf("sum=
累加项是如何不断 %d\n",sum);被更新的? i=i+2;
return 0;
}
8
北京航空航天大学
课举程例名称:现C 有语言某程班序2设0计名学生的C语言成绩,求该班学生的C 语言的平均成绩。即:输入20个学生的成绩,计算 平均值,输出平均值。