第5章 控制结构-循环控制
C语言 第五章-循环结构程序设计
执行过程如图所示。其中i为外循环的控制变 量,j为内循环的控制变量。
i =0 当 i <=10
j=0 当 j<=10
printf(“%d ”, i*j ) j++ i++
例4 编程打印“九九乘法表”。
分析:九九乘法表 1×1=1 1×2=2 1×3=3 … 2×1=2 2×2=4 2×3=6 … 3×1=3 3×2=6 3×3=9 … …… 9×1=9 9×2=18 9×3=27 …
i ++ ; } while ( i <= 100 ) ; printf ( " %d " , sum ) ; }
结果相同
同样是下列程序,但如果while后面的表达式结果一开始就是 假时,两种循环结果会不一样。
main ( ) /*程序1*/
{ int i , sum = 0 ; i = 101 ;
所以程序需要设计成二重循环。由于题目只 要求找到一组解,所以在循环过程中只要找到一组 满足条件的x, y, z就可以跳出循环。
跳出循环的方法可以采用break语句,但是, 因为是二重循环,所以要考虑使用break是否方便。
程序 百钱买百鸡问题。 void main ( ) { int x , y , z ;
打印第2行 ( i = 2 ) for (j=1;j<=9;j++) printf(“%5d”,i*j) ; printf ( “ \n ” ) ; /*换行打印*/
…… 打印第9行 ( i = 9 )
for (j=1;j<=9;j++) printf(“%5d”,i*j) ; printf ( “ \n ” ) ; /*换行打印*/
高树芳C语言程序设计--第五章
VC程序代码
21
5.4
for循环结构
相关知识:
求解表达式1
1.for语句 见执行过程图。 2. for语句的说明 三个表达式均可省略, 但两个分号不可省略。
假 计算表达式2 真 循环体语句
求解表达式3
for语句的后续语句
22
5.2
while(当型)循环结构
[课堂训练5-4] 用for循环编程实现倒计时效果。即在屏幕上 固定位置显示10,然后清除之,再显示9,之后 是8……,至到1。
是成绩非-1等。
10
5.2
while(当型)循环结构
相关知识:
1.while语句的一般形式 2.while语句的说明 3.循环结构的构造方法 4.if语句与循环语句的区别
11
5.2
while(当型)循环结构
[课堂训练5-2] 计算s=1+1/2+1/3+1/4+„„+1/n,直到s大于或等 于3为止,输出n的值。 提示: 这是“标志”型循环。设置实型变量s并设初值为 0.0,设置整型变量i并设初值为1,循环条件是 s<=3,重复内容是s=s+1.0/i,注意要使用1.0实型 常量,或者将1或i作强制类型转换,将其转换为 实数,否则运算结果为0。
20
5.4 for循环结构 案例5-6 跳动的“O”
[案例任务]
编程实现字符“O”从屏幕的左端移动到右端。每一 秒种移动一下,形成跳动的效果。运算结果大致如 下。
[解决方案]首先显示一个O,延时片刻,然后光标
后退(用转义字符),再显示一个空格和一个O。循 环以上功能直到光标到屏幕最右端。
WIN-TC程序代码
[解决方案]该循环至少执行1次,使用do„while
第5章 习题与思考题和答案
4.下段程序执行的输出结果是。
S=0:T=0:U=0
For i=1 To 3
For j=1 To i
For K=j To 3
S=S+1
Next K
T=T+1
Next j
U=U+1
Next i
Print S;T;U
A.3 6 14B.14 63C.14 3 6D.16 4 3
Next j
If j>Int (Sqr(n-m))ThenPrint n,m,n-m
EndIf
Next m
Next n
EndSub
六
(1)编程序计算:1!+3!+5!+….+11!
(2)输入两个正整数m和n,求其最大公约数a和最小公倍数b,计算最大公约数a的方法如下:先算出m/n余数r,若r等于0,则n为最大公约数;若r不为0,则把原来的n值作为新的m值,把原来的r值作为新的n值,继续运算。这样辗转相除,直到r为0,此时的n值为最大公约数a,最小公倍数则可用原始m与n值的积除以最大公约数求得。
Private Sub Form_click()
Dim k,a,b as integer
a=20
b=2
k=2
Do While k<=a
b=b*2
k=k+5
Loop
Print b
End Sub
5.写出以下程序在单击命令按钮后的输出结果。
Private Sub Form_click()
k=0
fori=1 to 5
If n <= 0 Or m <= 0 Then
《循环控制》课件
结束条件
当满足退出条件时,循环终止 ,程序继续执行后续任务或流 程。
03 循环控制的实现 方式
使用for循环实现循环控制
总结词
for循环是一种常见的循环控制结 构,适用于已知循环次数的情况 。
详细描述
在for循环中,通常会指定一个计 数器变量,并设置其初值、条件 和增量。当条件满足时,循环体 将会被执行指定的次数。
使用while循环实现循环控制
• i;
使用while循环实现循环控制
}
```
使用do-while循环实现循环控制
总结词
do-while循环与while循环类似,但至少会执行一次循环体,然后再检查条件 。
详细描述
在do-while循环中,无论条件是否满足,循环体至少会被执行一次。然后,根 据条件的真假来决定是否继续执行循环体。
05 循环控制的实例 应用
在数据排序中的应用
冒泡排序
通过多次遍历列表,比较相邻元素并 交换位置,使得较大的元素逐渐向列 表的末尾“冒泡”,最终实现列表的 排序。
选择排序
插入排序
将待排序的元素插入到已排序的子列 表中,使得子列表保持有序,直到所 有元素都插入完毕。
每次遍历列表,找到最小(或最大) 的元素,将其与当前位置的元素交换 ,直到整个列表排序完成。
动画播放
通过循环控制,可以按照一定的时间间隔播放游戏角色的动画,以 实现连续的动作效果。
游戏循环
游戏的主循环也是通过循环控制来实现的,它负责不断更新游戏状 态、渲染游戏画面和处理用户输入。
THANKS
感谢观看
提高代码效率
通过重复执行某段代码, 可以减少重复编写相同代 码的工作量。
处理重复性任务
第5章 程序的基本控制结构
程序设计基础
程序设计基础
5.2 选择结构
14 char Grade(double score) 15 { 16 char grade ; 17 int temp ; 18 temp = (int)score / 10 ; //执行整除前进行强制类型转换 19 switch (temp) 20 { 21 case 10 : //case 10和case 9共用一个程序段 22 case 9 : grade = 'A' ; break ; 23 case 8 : grade = 'B' ; break ; 24 case 7 : grade = 'C' ; break ; 25 case 6 : grade = 'D' ; break ; 26 default : grade = 'E' ; break ; 27 } 28 retur循环结构
当型循环结构
当型循环结构由while语句实现,因此,也称while循环。 【语法】while语句的一般形式如下:
循环条件
必须有括号 while (表达式) 语句 循环体
【语义】
表达式 T
语句
F
程序设计基础
5.3 循环结构
当型循环结构
例5.7 计算n!。
解:n! = n×n-1×……×2×1,设变量result保存计算结果,首先将变量 result初始化为1,然后将result乘以1、乘以2、……,乘以n,显然需要设 置变量i表示重复执行的乘法次数。 14 15 16 17 18 19 20 21 22 23 24 long int Fac(int n) { int i = 1 ; long int result = 1 ; while (i <= n) { result = result * i ; i ++ ; } return result ; }
第5章-循环结构程序设计PPT优秀课件
5.3.1 前测型Do…Loop循环语句
格式:
Do [While | Until <条件表达式>] <语句块> [Exit Do] <语句块>
Loop
18
5.3.1 前测型Do…Loop循环语句
前测型Do…Loop循环的流程图
Do While…Loop流程图
Do Until…Loop流程图
条件表达式 值为真?
格式:
Do <语句块> [Exit Do] <语句块>
Loop [While | Until <条件表达式>]
23
5.3.1 后测型Do…Loop循环语句
说明:
后测型Do…Loop循环语句与前测型Do…Loop循环语句的主 要区别在于:
后测型要先执行一次循环体,再判断条件;而前测型要 先判断条件,然后根据判断结果决定是否执行循环体。因此 对于后测型,不管条件是否满足,循环体至少有一次执行机 会。
16
5.3 Do…Loop循环语句
导入:
Do…Loop循环也属于条件型循环,即根据条件的 成立与否来决定是否执行循环。Do…Loop循环的应 用具有很强的灵活性,主要体现在:它既能指定循环 开始条件,又能指定循环结束条件;既能构成前测型 Do…Loop循环语句,又能构成后测型Do…Loop循 环语句。
25
5.3.1 后测型Do…Loop循环语句 【例5-10】将400~600间能够被3整除的数 输出(上机练习)
【例5-11】(略)
26
5.4 循环嵌套
介绍:
一个循环结构中又包含一个或多个循环结构被称为 循环嵌套,或称多重循环。 多重循环对嵌套的层数没有限制。有几层嵌套,就 称为几重循环,如二重循环、三重循环、四重循环 等。一般地,把嵌套在一个循环体内部的另一个循 环结构称为内循环;这样,嵌套了其他内循环部分 的循环结构就称为外循环。 为了使多重循环结构具有较好的可读性,通常用缩 进方式书写相应的源代码。
Python语言程序设计第五章循环结构程序设计
14
第5章
循环结构程序设计
5.2 for语句 结构
1. for语句一般形式: for 目标变量 in 序列对象: 循环体语句 说明:
for语句的首行定义了目标变量和遍历的序 列对象,后面是需要重复执行的语句块。语 句块中的语句要向右缩进,且缩进量要一致。
15
第5章
循环结构程序设计
注意:
(1)for语句是通过遍历任意序列的元素来建立 循环的。 (2)for 语句也支持一个可选的else块,一般格 式如下: for 目标变量 in序列对象: 语句块 else: 语句
5
第5章
循环结构程序设计
在while语句中使用else子句
while exp: 循环体 else: 语句
Python可以在循环语句中使用else子句,即构 成了while.......else循环结构。
6
第5章
循环结构程序设计
例 :求
100
n 1
n
开始 sum,n=0,1 n<=100
1)问题分析:
29
第5章
循环结构程序设计
5.4 循环控制语句
有时候我们需要在循环体中提前跳 出循环,或者在某种条件满足时,不执行 循环体中的某些语句而立即从头开始新的 一轮循环,这时就要用到循环控制语句 break、continue和pass语句。
30
第5章
循环结构程序设计
(1) break语句
一般格式 break 功能
371printdddijk40728python语言程序设计第5章循环结构程序设计第5章循环结构程序设计循环结构程序设计51while语句当型循环52for语句结构53循环的嵌套54循环控制语句55循环结构程序举例2第5章循环结构程序设计循环结构的基本类型exptaf
第5章 基本的控制结构(循环)
结束
图5-7
“九九乘法表”运行结果
结束
循环嵌套要注意以下事项: (1)在多重循环中,各层循环的循环控制变 量不能同名。但并列循环的循环控制变量名
可以相同,也可以不同。
(2)外循环必须完全包含内循环,不能交叉。
结束
下面的循环代码正确吗? For I=1 To 100 For I=1 To 100 For J=1 To 10 For I=1 To 10 „„ „„
结束
5.3.5 循环的退出
在某些情况下,为了减少循环次数或便 于程序调试,可能需要提前强制退出循 环。VB为For„Next和Do„Loop循环语句 提供了相应的强制退出循环的语句。
结束
Exit For语句:
用于For„Next循环,在循环体中可以出 现一次或多次。当系统执行到该语句时, 就强制退出当前循环。
结束
格式1的两种形式: Do {while} <条件> [<循环体>] Loop Do
当条件为真时, 执行循环体语句
{until} <条件> 当条件为真时,终 [<循环体>] 止执行循环体语句 Loop 说明: 格式1是先判断条件是否为真,然后执行。
结束
F
条件是否为真?
T
条件是否为真?
T
循环体
F
循环体
图2-3
Do While „Loop执行流程
图2-4
Do
Until „Loop执行流程
结束
格式2的两种形式: Do [<循环体>] Loop {while} <条件> Do
[<循环体>] Loop {until} <条件> 说明: 格式2是先执行循环体语句,然后判断条件。
第五章 循环控制结构程序
第五章循环控制结构程序•什么是循环?•为什么要使用循环?循环结构是程序中一种很重要的结构。
其特点是,在给定条件成立时,反复执行某程序段,直到条件不成立为止。
给定的条件称为循环条件,反复执行的程序段称为循环体。
C语言提供了多种循环语句,可以组成各种不同形式的循环结构。
1) 用goto语句和if语句构成循环;2) 用while语句;3) 用do-while语句;4) 用for语句;1 goto语句以及用goto语句构成循环1.1 goto语句goto语句是一种无条件转移语句, 与BASIC中的goto语句相似。
goto语句的使用格式为:goto语句标号;其中标号是一个有效的标识符,这个标识符加上一个“:”一起出现在函数内某处, 执行goto语句后,程序将跳转到该标号处并执行其后的语句。
另外标号必须与goto语句同处于一个函数中,但可以不在一个循环层中。
通常goto语句与if条件语句连用, 当满足某一条件时, 程序跳到标号处运行。
但是注意:goto语句通常不用,主要因为它将使程序层次不清,且不易读,但在多层嵌套退出时, 用goto 语句则比较合理。
【例6.1】用goto语句和if语句构成循环void main(){inti,sum=0;i=1;loop: if (i<=100){sum=sum+i;i++;goto loop;}printf("%d\n",sum);}2 while语句2.1 while语句的一般形式为:while(表达式)语句其中表达式是循环条件,语句为循环体。
︽︽︽︽︽︽while语句的语义是:计算表达式的值,当值为真(非0)时,执行循环体语句。
其执行过程可用上图表示。
【例6.2】用while语句求void main(){inti, sum=0;i=1;while(i<=100){sum=sum+i;i++;}printf("%d\n",sum);}【例6.3】统计从键盘输入一行字符的个数。
visual basic (vb)第5章_2(循环语句)解析
Visual Basic 程序设计
1 为什么要使用循环结构? 使用循环结构,上述程序可以修改为: Private Sub Form_Click() For I = 1 To 6 Print "**********" Next I End Sub 与前面的程序相比,循环结构使得程序更加 清晰,功能更加强大,修改也更加方便。
VB 程序设计基础课件 Visual Basic 程序设计
例题3 计算S=1!+2!+……+20!
Private Dim Dim S = For Sub Form_Click() S As Single, temp As Single I As Integer, J As Integer 0 I = 1 To 20 temp = 1 For J = 1 To I temp = temp * J Next J S = S + temp Next I Print "1!+2!+……20!=", S End Sub
例题5 输出乘法口诀—2
Private Sub form_Click() For I = 1 To 9 For J = 1 To I Print I;"*"; J; "="; I * J; ' 不换行 Next J Print ' 换行 Next I End Sub
Visual Basic 程序设计
例6 输出图形
Visual Basic 程序设计
Private Sub picture1_Click() Picture1.Cls ' 清除图片框 n = Val(InputBox("请输入行数")) For i = 1 To n Picture1.Print Tab(n + 1 - i); ' 控制打印起点 For j = 1 To 2 * i - 1 Picture1.Print "*"; Next j Picture1.Print For j = 1 To n - i Next i Picture1.Print Spc(1); End Sub
VB第5章 循环结构程序设计
教案讲稿第五章循环结构程序设计[旧课复习]:复习内容:1.多分支选择结构语句2.选择结构的嵌套复习目的:学生回顾多分支选择结构的实现语句和嵌套语句的使用复习时长:大约8分钟[新课导入]:导入方式:以日常生活中的实例让学生理解什么是循环结构导入目的:增强学生的理解能力导入时长:大约7分钟[新课讲授]:重点:Do…Loop和For…Next循环语句的使用难点:多重循环语句的使用方法:运用多媒体辅助教学,采用讲授法和案例教学法5.1循环语句循环结构是专门用于实现有规律的重复性操作的算法结构,是结构化程序设计的3种基本结构之一。
所谓循环,是指在一定的条件下多次重复执行一组语句。
循环结构由两部分组成。
(1)循环体:即要重复执行的语句序列。
(2)循环控制部分:指定循环条件来控制重复次数的语句。
正常情况下,循环次数必须是有限的。
5.1.1 Do…Loop语句若事先不知道循环次数,只知道循环结束条件,可以使用Do…Loop循环。
Do…Loop循环语句有前测型循环和后测型循环两种语法结构。
1. 前测型Do…Loop循环前测型循环是先判断条件,根据条件成立与否决定是否执行循环体,这种情况下,循环体有可能一次都不被执行。
前测型循环有两种语法格式:格式1(当型前测型):Do While〈条件〉[〈语句列1〉][ Exit Do ][〈语句列2〉]Loop格式2(直到前测型):Do Until 〈条件〉[〈语句列1〉][ Exit Do ][〈语句列2〉]Loop说明:(1)当VB执行Do While…Loop循环时,先判断指定的条件,若条件为True,执行循环体,条件为False时退出循环;当执行Do Until…Loop循环时,先判断指定的条件,若条件为False,执行循环体,条件为True时退出循环。
(2)〈条件〉是条件表达式,为循环的条件,其值为True或False。
如果省略条件即条件为Null,则条件会被当作False。
C语言程序设计教程(第4版)_第5章_循环结构
5.1 for语句
程序流程图: 程序:example5_2.c 思考: ①该算法的缺点; ②设计更好的算法。 ③假如输入的数可以为任意整数, 如果a≤b,计算 i ; 如果a>b,则计算 i 。 请设计算法并编写程序验证。
i b ia ia i b
5.1 for语句
例3:编写程序,从键盘输入m和n的值,用符号“*”在屏幕 上打印出如下所示具有m行n列的矩形图案。 ******* ******* ******* ******* ******* ******* ******* ******* 分析: ①图案有规律,共有m行,每行有n个*号。 ②可采用循环嵌套的方式: 第1层(外层)控制行数,用i来表示,输出m行“*” ; 第2层(内层)控制列数,用j来表示,输出n列“*” 。
100
5.1 for语句
for语句所具有的特性。 1.<初始表达式>可以省略,但须保留分号(;),同时在for之 前必须给循环控制变量赋值,形式为: <初始表达式>; for(;<条件表达式>;<循环表达式>) <循环体语句> 2.<条件表达式>一般不可省略,否则为无限循环。 例如: for(i=1;; i++) sum =sum+i; 相当于条件总为真,程序会一直不停地执行直到“数据溢出”。
5.2 while语句
例7:编写程序,统计从键盘输入的字 符个数(回车换行符也是一个字符) ,当遇到结束标志时程序结束。 分析:关键是循环计数。
开始 count=0
(ch=getchar())!=EOF
F
设置一个累加器count(初值为0),
每次从键盘输入一个字符,只要该字 符的值不等于结束标志,累加器的值 就增1:count=count+1; 算法流程图如图所示。 程序: example5_7.c
循环控制ppt课件
提示:猜对了。 程序结束
系统产生数据
输入数据
太大了
是
x
y
printf(“太大了!\n“);
else
printf(“太小了!\n“);
if(y>x)
if(y<x)
#include <stdio.h> #include <time.h> #include <stdlib.h> void main() {int x,y; srand(time(0)); //以系统时钟作为随机种子 x=rand()%100; //产生随机数 }
j
%d
j,
{ }
for(j=1;j<=9;j++)
,j;
printf(“\n”);
printf(“\n”);
i*j
以上3种形式的循环结构可以相互嵌套。
1
一个循环体内又包含另一个完整的循环结构,称为循环的嵌套。内嵌的循环中还可以嵌套循环,这就是多层循环。
2
4、循环结构的嵌套
3:输入一个任意位数的正整数,然后由低位到高位输出每一位上的数字。如输入456789,则输出9,8,7,6,5,4
引申练习:可以玩多次的猜数游戏,知道不想玩为止。
引申练习:输入一个任意位数的正整数,然后由高位到低位输出每一位上的数字。 如输入446789,则输出4,5,6,7,8,9
for( )
用来实现“当型”循环
流程图:
条件p
循环体
真
假
后续语句
1、循环结构之 ——while语句
形式: while (条件) { 循环体 }
练习:输出100以内所有整数。
#include <stdio.h> void main() {int i=1; while(i<100) { printf(“%d”,i); i=i+1; } }
5 循环结构程序设计
5 循环结构程序设计本章重点:• while 语句及其构成的循环结构• do-while语句及其构成的循环结构• for语句及其构成的循环结构• break语句和continue语句• 多重循环结构的实现本章难点:• for循环结构• 多重循环结构的实现5.1 概述循环结构是高级语言程序设计中一种重要的、常用的控制结构,主要用于解决那些需要重复执行的操作。
循环结构是在重复性的操作过程中找到规律,然后按照指定的条件重复执行某个指定程序段的控制方式,也称重复结构。
其特点是在给定条件成立时,反复执行某程序段,直到条件不成立为止。
其中给定的条件称为循环条件,反复执行的程序段称为循环体。
C语言中常见的循环结构语句有以下三种。
(1) while语句(2) do-while语句(3) for语句另外,使用goto语句与if语句一起也可以构成循环结构。
goto语句也称为无条件转移语句,其一般格式如下:goto 语句标号;……标号:语句……说明:其中语句标号是按标识符规定书写的符号,放在某一语句行的前面,标号后加冒号(:)。
语句标号起标识语句的作用,与goto 语句配合使用。
如: loop: i=i+1;C语言不限制程序中使用标号的次数,但各标号不得重名。
goto语句的语义是改变程序流向,转去执行语句标号所标识的语句。
例5-1 用goto语句构造循环计算1到100的整数和。
算法分析:这是一个求连续数累加和的问题。
sum用来存放两数的和,初值为0,i用来表示下一个要进行求和的数。
main(){int i=1,sum=0;loop:sum=sum+i;i++;if(i<=100)goto loop;printf("the sum of 1 to 100 is:%d\n",sum);}运行结果如下:the sum of 1 to 100 is:5050本例用if语句和goto语句构成循环结构。
5 程序的控制结构
编程几则
编程就是失败、失败,再失败,直到最后 成功。 重要的不是语句结构,而是仔细和训练。 不抛弃,不放弃。 – 《士兵突击》 无他,但手熟尔。 – 《卖油翁》欧阳修
2012-5-27
2
编程几则
All roads lead to Rome
每一题目都没有标准答案,只有参考答 案。 每一题目都有若干方法解决,希望大家 能够坚持自己的思路和大胆尝试。
return 0;
}
2012-5-27
10
while(1+2+3+……+100)
Initialize
int main() { int i, sum = 0; i=1; while (i <= 100) Test { sum += i; ++i; } Increment
printf("the sum is %d\n", sum) ;
2012-5-27
3
编程几则
问题和回答问题
பைடு நூலகம்
问题: – 提问之前请先大胆在计算机上尝试一下 – 请给出自己的思路和解决方案 – 请注意编程风格(缩进,空行,变量命名,注释) 回答问题: – 原则上只给出思路,不给答案
2012-5-27
4
结构化程序设计的核心思想
采用顺序、选择和循环三种基本结构作为程序设计 的基本单元 – 只有一个入口; – 只有一个出口; – 无死语句,即不存在永远都执行不到的语句; – 无死循环,即不存在永远都执行不完的循环。 采用“自顶向下、逐步求精”和模块化的方法进行 结构化程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
练习
为什么使用for循环2-1 .p83-86
回顾问题1:令狐冲说一百遍“我最棒” 回顾问题2:根据人数和成绩,计算平均成绩
共同点:确定的循环次数 更优解决 : for 循环结构 解决: 使用 while 循环
27
为什么使用for循环2-2 . p83-86
while循环结构 for循环结构
10000米赛跑
锲而不舍地学习
旋转的车轮
循环结构的特点
循环结构 循环条件 循环操作
根据条件重复的做 相同或相似的事情
5
while循环(当型循环).p77-80
符合条件,循环继续执 行;否则,循环退出
while ( 循环条件 ) {
循环操作 } 循环中被重复 执行的操作
int i = 1; while ( i <= 30 ) {
初始情况不满足循环条件时
while循环一次都不会执行 do-while循环不管任何情况都至少执行一次
24
比较while和do-while
[注]通常情况while,do—while可互换,但以下情况例外
#include ―stdio.h‖ int main() { n=101; while(n<100) { printf(―n=%d\n‖,n); } return 0; }
使用while循环的步骤
1、分析循环条件和循环操作 2、套用while语法写出代码 3、检查循环是否能够退出
7
怎样使用while循环3-2 .p77-80
比较两个char类型的 值是否相等 char answer; printf("表演得怎么样 ?(y/n):"); answer=getchar(); 循环条件 while (answer!='y') { printf("早上5点开始练声 !\n"); printf("上午练习钢琴 !\n"); printf("下午到声乐老师家练习唱歌 !\n"); printf("晚上练习舞蹈基本功!\n"); printf("表演得怎样 ?(y/n):"); getchar(); answer=getchar(); } printf("圆满完成 !\n");
个表达式,运算顺序从左到右
for(i = 0, j = val; i<=val; i++, j-- ){ printf( “%d + %d=%d “,i,j,i+j); }
循环操作
8
求自然数1到100的和.p77-80
解:1.分析问题
step1: 设两个加数变量 int sum=0,i=1; sum=0,i=1; 0 重复做p2: 当 i<=100 时 1 + 2 3 while(i<=100) 1 2 = { 3 + 3 3 = 6 重复 (循环)做sum+i 6 sum=sum+i; 6 + 4 4 = 10 10+… 其中 sum=前一个sum+i …=最终结果 i=i+1; 10 i =前一个i+1; } step3:第二个加数有规律 输出循环后的结果 :1,2,3 … printf(―和 =%d‖,sum);
do { while循环先判断,再执行 不适合描述此故事 循环操作 }while ( 循环条件 );
18
什么是do-while循环. p80-83
do { 先执行一遍循环操作
循环操作
循环操作
真
} while ( 循环条件 ); 符合条件,循环继续执行; 否则,循环退出
循环条件 假
特点:先执行,再判断
第五章 控制结构-循环结构
目标
理解为什么使用循环结构 熟练掌握while循环的使用 熟练掌握do-while循环的使用 理解while 和 do-while 循环的区别 熟练使用for循环 理解 break 和 continue 语句的用法 熟练使用嵌套循环
2
为什么需要循环2-1
而第一个加数都是前一个运算的结果
while循环常见问题3-1 .p77-80
//打印4次“欢迎同学” void main(){ int i = 0; while (i < 4 ){ printf(“欢迎同学"); i ++ ; } }
循环一直执行,不会退 出,哪里出错了?
永远都不会退出的循环称为死循环 循环的次数原则上应该是有穷的,也就是说,循环要有出 口,否则成为死循环
int i=0; while(i<100) { printf ("我最棒"); i++;
for(int i=0;i<100;i++)
{
printf ("我最棒");
}
}
for比while更简洁
28
什么是for循环. p83-86
for循环的语法和执行顺序 1 for( 参数初始化 表达式1 3 }
/* 打印4次“欢迎同学” */ void main(){ int i = 0; while ( i < > 5 ){ printf("欢迎欢迎同学"); i ++; } } 一次都没有打 印,哪里出错 了?
注意:如果一开始条件就不满足,while循环一次都不执行
12
练习
[课堂练习]找出100以内的奇数。
25
#include ―stdio.h‖ int main() { n=101; do { printf(―n=%d\n‖,n); }while(n<100); return 0; }
25
结果分别是多少?
代码填空: 实现整数反转
#include<stdio.h> void main( ) { int val = 12345; int r_digit; printf ("反转后的整数是:"); while(_______){ while(val!=0){ _____________________; r_digit = val %10; _____________________; printf(“%d”,r_digit); _____________________; val = val /10; }} } }
17
练习
do-while循环(直到型循环).p80-83
如何用程序讲述下面的故事?
苦练半年,眼看大赛在即, 盈盈提议:彩排一次,如果很令人满意,以后就不用彩排了,否则每天都要彩排, 直到现场表现让她满意为止! 他能否用动听的歌声震撼盈盈,用美妙的钢琴声博得赞赏呢?……
while (循环条件){ 循环操作 }
19
怎样使用do-while循环. p80-83
先执行一遍循环操作
char answer; do { printf("唱歌 !\n"); printf("演奏肖邦钢琴曲 !\n"); printf("可以了吗 ?(y/n):"); answer=getchar(); } while (answer!='y' ) ; 循环条件 printf("大功告成 !\n");
B
D. 程序进入死
22
练习
输入一行字符,分别统计字母、数字、和其 它字符的个数。
23
比较while和do-while
while循环和do-while循环的区别
语法不同
先执行,再判断
while ( 循环条件 ) {
循环操作 } 先判断,再执行
do { 循环操作 } while( 循环条件 );
16
【课堂练习】华氏和摄氏温度的转换公式为C=5/9*(F32),其中C表示摄氏温度,F表示华氏温度。要求从华 氏0度到华氏300度,每隔20度输出一个华氏温度所对 应的摄氏温度值。 #include <stdio.h> int main() { float F=0,C; while( F<=300 ① ) { C=5.0/9*(F-32) ________________ ② ; printf(“4.0f\t%6.1f\n:,F,C); ③ ; F=F+20 } return 0; }
printf ("我能行!"); i ++;
}
特点:先判断,再执行
编码规范:缩进、换行
循环条件 真 循环操作
假
6
怎样使用while循环3-1.p77-80
如何用程序描述下面这个故事呢?
循环条件 为了备战,令狐冲锲而不舍地练习,盈盈严格把关… “盈盈,怎么样,可以了吗?” “不行,高音部分唱得还不是很好,钢琴还要继续练啊 !” 没有听到“很棒”的评价,看来革命尚未成功, 令狐冲并不气馁: 早上5点练声,上午练钢琴,下午到声乐老师家练习唱歌,晚上练习舞蹈基本功。 循环操作
for ( int i = 0 ; i < 100 ; i++ ) { printf ("我最棒"); } 代码规范:格式对齐、代码的缩进
29
条件为true 2 条件判断 ; 表达式 ; 2 循环操作 ; 循环体被执行
4 更新循环变量 表达式3
){
如何使用for循环. p83-86
循环录入某学生第一期的5门课成绩,计算平 均分
盈盈为了考验令狐冲夺冠的决心,要他说一百遍 “我能行!”
printf("第1次说:我能行!"); 100条 printf("第2次说:我能行!"); …… printf("第100次说:我能行!");