C循环公开课课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
I<=10 时 S=S+1
流程图:
S=0,I=1
N
累加器 :S 计数器 :I
算法分析:
I<=10
Y
S=S+1 I++
TC.EXE
22_04.c:
S=1+2+3+4+5+6+…………+10
算法分析:
设计数变量 I I=1 I=2 ….. I=10 I=11 累加变量S, S0=0 I=1 (I<=10) S1=S0+1=0+1 I=2 (I<=10) S2=S1+2=0+1+2 ….. ……… ……………… I=10 I<=10 时 (I<=10) S10=S9+10=0+1+2…+10 (I.>10) 跳出循环 S=S+I
复习
switch.ppt if.ppt
选择结构定义、IF语句、SWITCH语句
输入销售业绩,输出相应的等级 业绩(元): A 输出:“best” B “better” C “good” D “ok” E “again” 想一想:如果要对全班同学进行操作?
3.4 循环结构程序设计
循环算法描述
穷举算法
“good”
“ok”
“again”
准备对下一个同学进行判断
设计数器 I=1
指明对第1个 同学进行操作
判断是否为 本班同学 I<=39 Y 循环体 N
1、对第I个同学进 行操作 2、将指针指向下 一个同学
指明对第1个 同学进行操作
判断是否为 本班同学
1、对第I个同学进 行操作 2、将指针指向下 一个同学
基本思想:对问题的所有可能 状态一一测试,直到找到解或 将全部可能状态都测试过为止。
循环算法应用
迭代算法
基本思想:不断用新值取代变 量的旧值,或由旧值递推出变 量的新值的过程。
循环算法结构:
WHILE DO…..WHILE FOR
3.4.2 WHILE 结构的应用
语法结构
WHILE <条件> 循环体
I=1
输入第I个同学成绩
先执行
3.4.3 do while
I++ 输入下一个同学成绩
N
Do 循环体 While(条件)
I<=38&&g>=60
Y 再判 断
总结:
1、循环算法的概念及应用 2、while语句结构,执行过程
3、累加、计数、循环终止条件的设置
作业布置
1、用循环结构设计: 统计全班《C语言程序设计》期中考试及格与 不及格人数 2、思考: sum=1!+2!+………+n! (提示:可设s=n! n=1,2,3…..n sum=sum+s)
流程图:
S=0,I=1
N
累加器 :S 计数器 :I
算法分析:
S<=1000
Y
S=S+I I++
TC.EXE
22_07.c 依次学号输入同学一门课的成绩,按“NO.(学号)=(分)” 格式显示,直至出现第一个不及格停止。 算法分析: 学号:I成绩:g I=1 g 判断结果 (I<=38 && g>=60) 执行操作
算法是否成立?
流程图:
输入N
累加器 :S 计数器 :I
算法分析:
S=1,I=1
N
I<=10 N
Y
S=1*2*3+…….n?
S=S*I I++
TC.EXE
22_06.c:
S=1+2+3+4+5+6+……… 直到S>1000为止
算法分析:
设计数变量 I I=1 I=2 ….. I=10 … 累加变量S, S0=0 (S<=1000) S1=S0+1=0+1 I=1 (S<=1000) S2=S1+2=0+1+2 I=2 ….. ……… ……………… (S<=1000) S10=S9+10=0+1+2…+10 I=10 S<=1000 ……… ………………… S=S+I (S>1000) 跳出循环
I=2
g
流程图
==1 输出(I,g) I++,读取下一个成 ==0 跳出循环 (I<=38 && g>=60) ==1 输出(I,g) I++,读取下一个成 ==0 跳出循环
I=1
输入第I个同学成绩
先判断
I<=38&&g>=60 Y I++ 输入下一个同学成绩
N
能否将顺序颠倒, 先执行再判断?
再执 行
条件 Y N
循环体
执行过程
先对表达式进行计算,若其值为真(非0),则执行循环体 中的语句,否则跳出循环体,而执行该结构后面的语句。在 进入循环体后,每执行完一次循环体语句后,再圣条件表达 式进行一次计算和判断。当发现条件表达式的值为0时,便 立即退出循环。
3.4.2 WHILE 结构的应用
习题分析
流程图:
输入N
累加器 :S 计数器 :I
算法分析:
S=0,I=1
N
I<=10 N
Y
S=1+2+3+…….n?
S=S+I I++
TC.EXE
22_05.c:
S=1*2*3*4*5*6*…………*10
算法分析:
设计数变量 I I=1 I=2 ….. I=10 I=11 累加变量S, 1 S0=0 I=1 (I<=10) S1=S0*1=0*1 I=2 (I<=10) S2=S1*2=0*1*2 ….. ……… ……………… I=10 I<=10 时 (I<=10) S10=S9*10=0*1*2…*10 (I.>10) 跳出循环 S=S*I
Βιβλιοθήκη Baidu
计数器:I
若条件为(I<39)
22_03.c:
S=1+1+1+1+1+1+……………1( 10个1)
算法分析:
设计数变量 I I=1 I=2 ….. I=10 I=11 累加变量S, S0=0 (I<=10) S1=S0+1=0+1 (一个1) (I<=10) S2=S1+1=0+1+1 (两个1) ……… ……………… (I<=10) S10=S9+1=0+1+1…+1(十个1) (I.>10) 跳出循环
22_02.c: 依次输入全班同学的操行等级,输出相应的评语 输入: A 输出:“best” B “better” C “good” D “ok” E “again” 算法分析:
判断是否为本班同学
Y 输入等级G N G
==“A”
==“C” ==“E”
==“B”
==“D”
“best”
“better”