while循环教学设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

真(非0)
6
全班有30个学生,统计各学生三门课的平均成绩。
i=1 用while循环结构实现 N i=1; while(i<=30) { scanf…… ; aver=…… ;
i≤30 Y 输入一个学生成绩
求一个学生平均成绩 输出一个学生平均成绩 i增1
printf…… ;
i++;
}
while循环特点:
与if语句比较:
if (条件) { 条件成立时执行的语句; }
两者格式基本相同,条件成立时,if语句仅执行一次, 而while语句则将反复执行,直到条件不成立为止。
11
例: 用 while 语句实现求从1到100的累加和。
sum = 1 + 2 + 3 + ... 100 分析:1) sum= (1+100) * 50 2) 定义变量i i=1,i=2…i=100 3) sum=sum+i 思考:画出该题的流程图
}
printf(“sum=%10.2f, count=%d\n",sum,count);
}
16
小结:
1)while语句先判断后执行循环语句。
2)while语句中的语句部分若为简单句可不用{}。
3)while语句的循环体中应有趋于结束的条件。
4)对于while循环而言,若表达式不成立语句部分
一次也不被执行。

#include <stdio.h> 思考: #include <math.h> 如果连续两次都输入错 #define M 1000 误呢? int main(){ if (i>M)能不能重复判 int i,k; 定,直到满足i>M才退 出呢? printf("请输入一个小于%d的整数i:",M); scanf("%d",&i); if (i>M){ printf("输入数不合要求,请重新输入一个小于%d的整数i:",M); scanf("%d",&i); } k=sqrt(i); printf("%d的平方根的整数部分是:%d\n",i,k); }
循环条件
循环初值
பைடு நூலகம்
循环变量增值
循环终值
循环体
14
练习:
i 文件包含 1 #include <stdio.h> main() 主函数 2 { int i=1,sum=0; 循环初值 3 4 while(i<=10) 循环条件 5 { sum+=i*i; 将i的平方累加到sum中 6 i++; 7 循环变量增值 } 8 printf(“sum=%d”,sum); 9 } 10 运行结果: 11 sum=385
while语句的一般形式如下:
while (表达式) 语句
循环条件表达式 “真”时执行循环体语句 “假”时不执行
while循环的特点是: 先判断条件表达式,后执行循环体语句
先判断表达式是否为真; 若表达式为真,执行语 句,直到表达式 为 假; 若表达式为假, 则跳出循环。
while
表达式 语句
假(0)
17
作业: 1>编写程序计算下列算式的值:
直到某一项A<=0.000001时为止。输出最后C值。 2>从键盘输入正整数n,求n!
18
循环结构程序设计
用while语句实现循环
全班有30个学生,统计各学生三门课的平均成绩。
输入学生1的三门课成绩,并计算平均值后输出 要: scanf(“%f,%f,%f”,&s1,&s2,&s3); aver=(s1+s2+s3)/3; printf(“aver=%7.2f”,aver);
从键盘输入一个小于 100 的正整数,要求输出它的平 方根.(若平方根不是整数,则输出其整数部分) 要求: 在输入数据后先对其进行检查是否为小于 100 的正 整数。若不是,则要求重新输入。
思考
1、编程计算1~10的平方和 执行过程
sum 0+1*1=1 1+2*2=5 5+3*3=14 14+4*4=30 30+5*5=55 55+6*6=91 91+7*7=140 140+8*8=204 204+9*9=285 285+10*10=385
15
思考
2、程序阅读
main() { float score,sum=0; int i=1,count=0; while(i<=50) { printf(“input a score:\n”); scanf("%f",&score); sum+=score; if (score<60) count++; i++;
特点:先判断表达式,后执行循环体
说明:
1、循环体可为任意类型语句 2、下列情况,退出while循环: ●条件表达式不成立(为零) ●循环体内遇break,return,goto
3、无限循环: while(1)
循环体;
8
注意事项:
1.如果循环体包含一个以上的语句,那么应该用复合语句“{ }”的形式。 例如,程序段1: sum=i=0 ; while (i<10) ++i ; sum+=i ;
程序段2: sum=i=0; while(i<10) { ++i; sum+=i; } 想一想执行程序段1和程序段2后 i、sum的值?
2.在循环体中应有使循环趋于结束的语句。
i=1; sum=0; while(i<10) { sum+=i; ++i; }
考虑以下while循环的执行情况: i=1; sum=0; while(i<10) sum+=i;
12
流程图:
定义变量i, sum 赋初值
while ( i<=100 )
Y
N
sum=sum+i i++
输出sum (总和)
13
源程序:
#include <stdio.h> main() { int i,sum=0; i=1; while(i<=100) { sum=sum+i; i++; } printf("%d",sum); }
相关文档
最新文档