循环结构程序设计
第5章 循环结构程序设计
do-while语句的简单应用 do-while语句的简单应用
【例5.3】用辗转相除法求m和n的最大公约数 5.3】用辗转相除法求m
定义m、 、 定义 、n、r m<n T F m和n交换 和 交换 r=m%n m=n n=r 当r != 0时 时 输出最大公约数m 输出最: 算法和程序:
main( ) { int m,n,r; scanf("%d, %d",&m,&n); if (m<n) { r=m; m=n; n=r; } do { r=m%n; 程序运行情况如下: 程序运行情况如下: m=n; 24, 60 24, n=r; 12 }while(r!=0); while(r!=0 printf("%d\n",m); }
for语句的算法 for语句的算法
流程图 计算表达式1 计算表达式
表达式2 表达式 为真? 为真
15
N-S结构图 结构图 for (表达式 表达式 表达式 表达式1;表达式 表达式3) 表达式 表达式2;表达式 N 语句
Y 语句 计算表达式3 计算表达式
例如: 例如: 可部分或全部省略, 可部分或全部省略, main( ) 但“;”不可省略 { int i,sum; sum=0; for ( i=1; i<=100; i++) i=1 i<=100; sum=sum+i; sum=sum+i; printf("sum=%d\n",sum); }
龙诚数码:
18
for语句的简单应用 for语句的简单应用
【例5.4】求n! ,即计算p=1×2×3×…×n 5.4】 即计算p=1× 的值。 的值。
C语言程序设计_05循环结构程序设计
5.2 DO…WHILE循环结构 5.2.1 DO…WHILE语句的格式 DO…WHILE语句的一般格式为: DO 语句 WHILE(表达式); DO…WHILE语句中的表达式表示循环的条件,可 以是任何表达式,常用的是关系表达式和逻辑表达 式。表达式必须加圆括号。语句是重复执行的部分, 称作循环体。
由亍循环体在表达式2乊后表达式3乊前执行所以把循环体语句放在表达式3的开头循环体语句不原来的i构成逗号表达式作为循环语句新的表达式3从而也就没有循环体语句了
第5章 循环结构程序设计
5.1 WHILE循环结构 5.2 DO…WHILE循环结构 5.3 FOR循环结构 5.4 与循环有关的控制语句 5.5 3种循环语句的比较 5.6 循环的嵌套 5.7 循环结构程序举例 本章小结
图5-6 FOR语句执行过 程
FOR语句的执行过程如图5-6所示。具体由以下几步 完成: (1)求表达式1。 (2)求表达式2,并判定其值为0或非0。若值为非0, 转步骤(3);否则结束FOR语句。 (3)执行语句,然后求表达式3。 (4)转向步骤(2)。 由FOR语句的执行流程可知,表达式1的作用是为循 环控制的有关变量赋初值,表达式2是循环控制条件, 表达式3用于修正有关变量,语句是重复执行部分。
【例5.7】输入20个数,求出其中的最大值与最小值。
5.3.3 FOR语句的各种变形 1.在FOR语句中省略表达式 FOR语句中的3个表达式可以部分或全部省略,下面 给出语句的4种基本变形。 (1)表达式1移至FOR语句前,但它后面的分号必 须保留。这时FOR语句的形式为: 表达式1; FOR(; 表达式2; 表达式3) 语句
(2)表达式3移至循环体语句之后,但它前面的分 号必须保留。FOR语句的形式为: FOR(表达式1; 表达式2;) { 语句; 表达式3; } 对于求P=5!的程序段,省略表达式3,将其放在循环 体中,则程序段写成:
C语言程序设计:第5章 循环结构
12
do...while语句(cont...)
课堂练习: 1.输出1---n之间的数,其中n从键盘输入。
int main(void) {
//1.定义变量i和n //2.输入n的值 //3.思考循环的开始条件:i从1开始 //4.思考循环的结束条件:i++,i > n //5.循环的条件:i<=n //6.循环要做的事情:输出i的值 return 0; }
} 相当于 while(1) {
}
26
小结
❖for(i=m;i<n;i++)//循环次数:n-m次 ❖for(i=m;i<=n;i++)//循环次数:n-m+1次
27
循环语句的练习
课堂练习: 1.输出n---1之间的数,其中n>1且n从键盘输入。 2.计算1*2*3*...*n的值(n的阶乘n!), 其中n从键盘输入。 3.计算10- 1/2 - 1/3 -....1/n的值 以上练习分别以while、do...while、for语句实现
int main(void) {
//1.定义变量i,n,sum //2.输入n的值 //3.思考循环的开始条件:i从1开始 //4.思考循环的结束条件:i++,i > n //5.循环的条件:i<=n //6.循环要做的事情:累加i的值 //7.输出计算结果 return 0; }
24
for语句(cont...)
{
sum = sum + i;
if(sum > 100)break;
程序设计的三种基本结构
程序设计的三种基本结构一、概述程序设计的三种基本结构是顺序结构、选择结构和循环结构。
这三种结构是程序设计中最基础且最重要的部分,它们构成了程序的主体框架,决定了程序的执行流程。
二、顺序结构顺序结构是最简单的一种程序结构,按照程序编写的顺序执行,没有条件判断和循环。
通过顺序结构,我们可以实现程序按照预定的操作步骤依次执行。
例如,在一个简单的计算器程序中,用户输入两个数,程序按照先后顺序进行加、减、乘、除的计算。
顺序结构示例代码:1. 输入第一个数2. 输入第二个数3. 计算两个数的和4. 输出计算结果三、选择结构选择结构根据条件判断的结果选择执行不同的代码块。
条件判断通常使用逻辑表达式,判断结果为真或假。
根据判断结果,程序将执行相应的代码块。
例如,在一个学生成绩管理系统中,根据学生的分数判断其等级,可以使用选择结构实现。
如果分数大于等于90,则为优秀;如果大于等于80,则为良好;如果大于等于60,则为及格;否则为不及格。
选择结构示例代码:1. 输入学生分数2. 如果分数大于等于90,输出优秀3. 如果分数大于等于80,输出良好4. 如果分数大于等于60,输出及格5. 否则,输出不及格四、循环结构循环结构根据条件是否满足重复执行某一段代码块,直到条件不满足为止。
循环结构包括while循环、do-while循环和for循环。
循环结构在需要重复执行相同或类似操作的情况下非常有用。
例如,在一个打印九九乘法表的程序中,可以使用循环结构实现。
通过嵌套的循环不断改变乘法表中的行和列,直到打印完整个九九乘法表。
循环结构示例代码:1. 初始化行数和列数2. 当行数小于等于9时执行循环1. 当列数小于等于行数时执行循环1. 计算乘积并输出2. 列数加12. 行数加1五、总结顺序结构、选择结构和循环结构是程序设计的三种基本结构。
通过这三种结构的组合和嵌套,我们可以实现复杂的程序逻辑,完成各种任务。
在实际的程序开发中,我们需要合理运用这些基本结构,以提高程序的可读性和可维护性。
汇编语言程序设计第七章 循环结构程序
2. LOOPE/LOOPZ 条件重复控制指令
指令汇编格式: LOOPE/LOOPZ AGAIN
操作: (1) CX CX-1
(2) 若CX≠ 0且ZF=1,则使控制转到AGAIN 标识的循环入口处,继续下一次循环,否则退出循 环体,执行后续指令。
例 比较两个字符串是否相等。
STR1 DB
‘12345’
DSEG SEGMENT
DATA DB
10,20,30,80,100,90,120
CNT DW 7
ADR DW 0FFFFH
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG,ES:DSEG
START: MOV AX,DSEG MOV DS,AX
DATA1 00H
01H 00H 02H
: :
SI DATA2 00H
10H
50
00H
个
20H
字
单
:
元
:
DI SUM 00H
BX
00H
50
00H 50
个
00H
个
字 单
:
字 单
元
:
元
00H
00H
例7.1 设内存DATA1和DATA2开始分别存放50个无符 号字数据,编制程序将两个存储区对应字数据求和并存 入SUM开始的单元。
存储器中仅由字节或字组成的一组数据称为数据串。由字节组 成的数据串称为字节数据串,简称字节串;由字组成的数据串称为 字数据串,简称字串。一个数据串的长度最长不能超过64KB。
数据串操作指令的寻址方式为数据串寻址:
(1)指令中要处理的两个数据串应分别在数据段和附加段中定义。 (2)数据段中定义的数据串要用SI作指针;
第5章 循环结构程序设计
输入学生2的三门课成绩,并计算平均值后输出
scanf(“%f,%f,%f”,&s1,&s2,&s3);
aver=(s1+s2+s3)/3;
printf(“aver=%7.2f”,aver); 要对50个学生进行相同操作
重复50次
大多数的应用程序都会包含循环结构
循环结构和顺序结构、选择结构是结构 化程序设计的三种基本结构,它们是各 种复杂程序的基本构造单元
(1) 先求解表达式1 (2) 求解表达式2,若其值为真,执行循环体, 然后执行下面第(3)步。若为假,则结束循环, 转到第(5)步 (3) 求解表达式3 (4) 转回上面步骤(2)继续执行 (5) 循环结束,执行for语句下面的一个语句
5.4用for 语句实现循环
for(i=1;i<=100;i++) sum=sum+i; 等价于 用for语句更简单、方便 i=1; while(i<=100) { sum=sum+i; i++; }
要向计算机输入全班50个学生的成绩
分别统计全班50个学生的平均成绩 求30个整数之和 教师检查30个学生的成绩是否及格
5.1为什么需要循环控制
例如:全班有50个学生,统计各学生 三门课的平均成绩。
输入学生1的三门课成绩,并计算平均值后输出 scanf(“%f,%f,%f”,&s1,&s2,&s3); aver=(s1+s2+s3)/3; printf(“aver=%7.2f”,aver);
n 1
100
5.3用do---while语句实现循环
解题思路:
sum=0 i=1 sum=sum+i i=i+1
第四章 循环结构程序设计
while(i<=100)
{ i++;
程序运行结果: sum=5050
sum=sum+i;
}
6
4.3 do-while语句
do-while语句的结构 do 语句 while(表达式);
例如: do
x-=1; while(x>0);
功能:
1)执行“语句”。 2)计算“表达式”的值。如果值为非0,转1);否则转3)。
}
8
4.3 do-while语句
1)循环体如果包含一个以上的语句,要用复合语句表示。 2)在循环体中应有使循环趋于结束的语句。 3)while语句的特点是先执行循环体,然后判断表达式的值。 4)一般情况下,用while语句和用do-while语句处理同一 个问题时,若二者的循环体部分一样,其结果也一样。但如
18
4.7 goto语句以及用goto语句构成循环结构
goto语句的一般格式:
goto 语句标号;
例如: goto loop;
功能:程序执行到goto语句时,将程序流程转到语句标号指定的 语句去执行。
有标号的语句的格式:
语句标号: 语句
例如: loop: sum=sum+i;
19
4.7 goto语句以及用goto语句构成循环结构
【例4-9】用goto语句实现求1~100累加和。
#include <stdio.h>
main() { int n=1, sum=0; loop: sum += n; n++;
if(n<=100) goto loop;
printf("sum=%d\n",sum); }
第5章 循环结构程序设计
运行结果:
printf("%d\n",sum);
sum = 5050
}
while语句和用do-while语句的比较:
一般情况,用while循环语句和用do -while循环语句处理问 题时,若循环体部分一样,结果也一样。但是如果while循 环语句循环条件一开始为“假”,则循环结果不同。while 循环语句一次也不执行,而do -while循环语句不论条件是 否成立,先执行一次循环体语句。
循环变量不增值。无终止地执行循环体。
例5-7用for语句求1 + 2 + 3 + … + 100
#include <stdio.h> void main() {
int i,sum=0; /*将累加器sum初始化为0*/ for(i=1; i<=100; i++) sum += i;/*实现累加*/ printf("sum=%d\n",sum); } 程序运行的结果为: sum=5050 解析:先执行变量赋初值,然后判定循环继续条件, 如果为“真”,执行循环体语句,i 为运算项目和循 环变量,执行完一次,增加一次,最后累加和。
if(n%3!=0) /*循环体*/
printf("%5d",n);
}
§5.4 多重循环
• 当循环中的内嵌语句是循环语句时,称为循 环的嵌套使用。内嵌的循环中嵌套循环,称 为多重循环。
C语言程序设计技术基础
第5章 循环结构程序设计
第5章 循环结构程序设计
5.1 while 循环语句 5.2 do while循环语句 5.3 for循环语句 5.4 多重循环 5.5 break语句与continue语句 5.6 几种循环语句的比较 5.7 循环结构程序举例
循环结构程序设计三种循环语句
循环结构程序设计三种循环语句循环结构是一种重要的程序设计结构,它可以让程序在满足一定条件的情况下重复执行段代码。
在大多数编程语言中,有三种常见的循环语句:for循环、while循环和do-while循环。
1. for循环:for循环是一种在已知循环次数的情况下使用的循环语句。
它的语法如下:```for (初始条件; 循环条件; 循环迭代)//循环体代码```在执行过程中,先执行初始条件,然后判断循环条件。
如果循环条件为真,则执行循环体代码,然后执行循环迭代,再次判断循环条件。
循环条件为假时,终止循环。
适用于已知循环次数的情况。
2. while循环:while循环是一种在未知循环次数的情况下使用的循环语句。
它的语法如下:```while (循环条件)//循环体代码//循环迭代```在执行过程中,先判断循环条件。
如果循环条件为真,则执行循环体代码和循环迭代,再次判断循环条件。
循环条件为假时,终止循环。
适用于未知循环次数的情况。
3. do-while循环:do-while循环是一种先执行循环体代码,再判断循环条件的循环语句。
它的语法如下:```do//循环体代码//循环迭代} while (循环条件);```在执行过程中,先执行循环体代码和循环迭代,然后判断循环条件。
如果循环条件为真,则继续循环;如果循环条件为假,则终止循环。
适用于至少执行一次循环体代码的情况。
这三种循环语句在不同的场景中有不同的应用,程序中根据实际需求选择合适的循环语句可以更加高效地实现循环操作。
第10讲 循环结构程序设计@(4学时)
OTHERWISE y=y+x ENDCASE ENDDO ? “0 ~ 100 之间的奇 数之和为:",y SET TALK ON RETURN
下一页
10
Visual Foxpro 程序设计
思考题:从0开始求奇数的累加和.若和小于250,则 结束程序的运行,并显示累加结果和已累加的奇数的 个数.
下一页
3
一、循环结构
循环结构则能够使某些语句或程序段重 复执行若干次。 如果某些语句或程序段需要在一个固定 的位置上重复操作,使用循环是最好的选 择。
上一页
Visual Foxpro 程序设计
下一页
4
三种循环控制语句
1
“当”型或条件型:
do while …enddo
2
for ….endfor
3
“指针”型或表文件扫描: scan…endscan
Байду номын сангаас
1+2+4+7+14+28=56=28×2
求 (1) [1,700]之间最大的红玫瑰数。
(2) [1,700]之间有多少个红玫瑰数。 算法分析: 利用穷举法用一个循环结构来求一个数N的所 有因子之和, 然后根据定义判断N是否为红玫瑰数. 改变N,在指定范围内重复执行“判断一个数是 否红玫瑰数
上一页
Visual Foxpro 程序设计
3 SCAN循环语句 (1)语句格式 SCAN [〈范围〉] [FOR 〈条件〉] [WHILE 〈条件〉] 〈命令组〉 EXIT] [LOOP] ENDSCAN (2)语句功能 SCAN语句执行时,首先将表记录指针移动到指定范 围内的第一条记录上,然后判断记录指针是否超过指定 范围以及该记录是否满足WHILE子句所描述的条件。若 记录指针超过指定范围或该记录不满足WHILE子句所描 述的条件,则结束扫描循环,执行ENDSCAN后面的语句
第五节 循环结构程序设计
运行结果为
pi=3.141592
注意:不要把n定义为整型变量,否则在执行“t=s/n;”时,得到t的值为0(原因是两个整数相除)。
例5.4求Fibonacci数列前40个数。这个数列有如下特点:第1、2个数为1、1。从第3个数开始,每个数是其前面两个数之和。即
F1=1 (n=1)
F2=1 (n=2)
#include <iomanip>
using namespace std;
int main( )
{int m,k,i,n=0;
bool prime;//定义布尔变量prime
for(m=101;m<=200;m=m+2) //判别m是否为素数,m由101变化到200,增量为2
{prime=true;//循环开始时设prime为真,即先认为m为素数
{int s=1;
double n=1,t=1,pi=0;
while((fabs(t))>1e-7)
{pi=pi+t;
n=n+2;
s=-s;
t=s/n;
}
pi=pi*4;
cout<<"pi="<<setiosflags(ios∷fixed)<<setprecision(6)<<pi<<endl;
return 0;
while语句的一般形式如下:
while (表达式)语句
其作用是:当指定的条件为真(表达式为非0)时,执行while语句中的内嵌语句。其流程图见图5.1。其特点是:先判断表达式,后执行语句。while循环称为当型循环。
图5.1
例5.1求1+2+3+…+100。
Python程序设计 第4章 循环结构程序设计(第6次课)
Copyright © SWFU-CISD, 2012. All rights reserved. 1-8
计算机编程导论
4.2 循环结构概述
(3)给定2个整数,求它们的最大公约数和最小 公倍数。例如:给定6和9,求最大公约数时, 循环过程从6依次பைடு நூலகம்减至1,当循环到3时,判 断得6和9都能被3整除,于是终止循环,求得 最大公约数是3.;求最小公倍数时,循环过程 从9依次递增至54,当循环到18时,判断得18 同时能被6和9整除,于是终止循环,求得最小 公倍数是18。
练习: 1. 求1+3+5+…+99 2. 求2*4*6*…*12
Copyright © SWFU-CISD, 2012. All rights reserved.
1-21
计算机编程导论
第6次上机作业: 1.计算,参考值: S=1.718282 1 1 1 S 1 1*2 1*2*3 1*2*3*50 2.编程求斐波拉契数列的前20项,已知该数列 的第一、二项分别是0、1,从第三项开始,每 一项都是前两项之和。例如:0, 1, 1, 2, 3, 5, 8, 13……
Copyright © SWFU-CISD, 2012. All rights reserved. 1-12
输出 s 结束 图 4-3 累加若干整数值的框图
计算机编程导论
程序:
#Exp4_1.py print '请输入若干正整数进行求和操作,当输入负数时结束: ' s=0 x = input("请输入一个整数: ") while x >= 0: s=s+x x = input("请输入一个整数: ") print '整数之和=', s
C语言程序设计循环结构程序设计
假
体现式
真
语句
假如体现式旳值一开始就为0,则语 句一次也不会被执行。
上一页
下一页
while语句举例
问题: 求学生旳平均成绩,以输入负数成绩为结束
算法分析:
1. 定义变量score存储学生成绩,定义s=0存储累加旳成绩,
定义n=0统计录入旳成绩数目。
2. 输入第一种学生旳score
3. 若score>=0,执行第4步,不然执行第7步
上一页
下一页
例: 求 1+2 +…+99
分析:用变量i从1到99循环, 把i旳值累加到变量s中,最 终输出s旳值。
程序如下:
#include<stdio.h> main( ) { int i,s=0;
for(i=1;i<=99;i++) s=s+i;
printf(“s=%d”,s); }
上一页
下一页
在某些情况下,for语句中旳体现式1、2、3都能够 省略,而改用其他旳方式来实现这些功能。我们还用 上面旳例子阐明for语句省略体现式旳情形。
上一页
下一页
1.省略体现式1: #include<stdio.h> main( ) { int i=1,s=0;
for(;i<=99;i++) s=s+i;
因为do-while语句至 少要被执行一次,特
别要注意n和s旳取值 问题!
s=s+score;
}while(score>=0);
if(n>1) printf (“ \n %f” ,(s-score)/(n-1));
else printf(“no student score!”);
vb第5章循环结构程序设计
输入m,n
大数放m,小数放n 除数d=1
当d<=n 如果m、n都能 被d整除, 则max ← d d=d+1 输出max
求两个正整数的最大公约数。
分析:求最大公约数可以用
[例5.4]输入两个正整数,递减法求最 大公约数。 输入m,n
大数放m,小数放n 除数d=n
当d>=1
如果m、n都能被d 整除,则max ← d, 退出循环
输入m,n 大数放m,小数放n 求得m对n的余数r 当r<>0 m←n n ←r 求m对n的余数r 输出n
求两个正整数的最大公约数。
分析:求最大公约数可以用
[例5.4]输入两个正整数,递增法求最 大公约数。 输入m,n
大数放m,小数放n 除数d=1
当d<=n 如果m、n都能 被d整除, 则max ← d d=d+1 输出max
步长为正时,超过—循环变量大于终值使循环结束 步长为负时,超过—循环变量小于终值使循环结束 5、一般在循环体中不对循环变量重新赋值, 否则影响循环的次数控制。
步长为负时
0
1.5
3
初值送循环变量
For I = 3 To 0 Step -1.5 Print I Next Print "After For :"; I For I = 0 To 3 Step -1.5 Print I Next Print "After For :"; I
说明: (l)条件为True ,(循环体语句列)将被重复执行
作业:
例题 5-1、5-4 ~ 5-6 选做5-2、5-3 5.6习题
xt5-1 ~xt5-4 选做xt5-5
《循环结构程序设计》课件
for循环结构的执行流程
总结词
详细描述for循环结构的执行流程,包括初始化、条件判断、循环体执行和更新四个步 骤。
详细描述
for循环结构的执行流程包括四个步骤。首先,进行初始化操作,设置循环变量的初始 值。然后,进行条件判断,检查是否满足循环继续的条件。如果条件满足,执行循环体 内的语句。最后,进行更新操作,修改循环变量的值,然后再次进行条件判断,重复执
while循环结构的注意事项
总结词
关键点全覆盖
详细描述
使用while循环结构时需要注意以下几点,首先,条件表达式必须保证在某个时刻变为假,否则循环 将无限进行下去;其次,在循环体内应包含使条件表达式最终变为假的操作;最后,应避免在循环体 内使用使条件表达式永远为真的操作。
04
do-while循ห้องสมุดไป่ตู้结构
do-while循环结构的语法
总结词:简洁明了
详细描述:do-while循环结构的语法包括"do"关键字、"while"关键字、循环体和条件表达式。语法 格式为"do {循环体} while (条件表达式);"
do-while循环结构的执行流程
总结词:逻辑清晰
详细描述:do-while循环结构的执行流程是先执行一次循环 体,然后判断条件表达式,如果条件表达式为真,则再次执 行循环体,否则退出循环。循环体会一直执行直到条件表达 式不再满足为止。
循环结构的应用实例
用for循环计算1到100的累加和
总结词:简单明了
详细描述:通过使用for循环,我们可以轻松地计算从1到 100的所有整数的累加和。在每次循环中,我们将当前数 字添加到总和中,直到我们达到100。
C语言第6章循环结构程序设计
第6章循环控制本章要求:1、初步熟悉用计算机解决问题的思路。
2、掌握while、do-while、for语句的特点和使用方法。
3、掌握break、continue语句的用法。
4、熟悉一些常见问题的算法及其C语言实现。
§6.1 概述循环:反复执行称为“循环体”的程序段。
循环控制常用于数学迭代、对象遍历等问题的求解,几乎所有实用程序都包含循环。
特别是在现代多媒体处理程序(图像、声音、通讯)中,循环更是必不可少。
Intel公司为了加快循环程序的执行,在CPU硬件中加入多媒体扩展指令MMX(Multi-Media-eXtension );AMD在CPU中加入3D Now!指令。
循环结构是结构化程序三种基本结构之一。
(顺序结构、分支结构)。
根据开始循环的初始条件和结束循环的条件不同,C语言中用如下语句实现循环1、用goto语句和if语句构成循环。
2、用while语句。
3、用do-while语句。
4、用for语句。
§6.2 goto语句一般形式:goto 语句标号作用:无条件转向“语句标号”处执行。
“语句标号”是一个标识符,它表示程序指令的地址。
goto语句不符合结构化程序设计准则,因为无条件转向使程序结构无规律、可读性差。
一般应避免使用goto语句,但如果能大大提高程序的执行效率,也可以使用。
[例6.1] 用if语句和goto语句构成循环,求。
main(){int i,sum=0;i = 1;loop:if (i <= 100){ sum = sum + i;i++;goto loop;}printf("%d",sum);}§6.3 while语句一般形式:while(表达式) 语句作用:实现“当型”循环。
当“表达式”非0(真)时,执行“语句”。
“语句”是被循环执行的程序,称为“循环体”。
特点:先判“表达式(条件)”。
[例6.2]main(){int i,sum=0;i = 1;whie (i <= 100){sum = sum + i;i++;}printf("%d",sum);}注意:1、注意给出循环的初始条件,如本例中“sum=0、i=1”。
第六讲控制流-循环结构程序设计
16
6.4 循环语句嵌套
while(表达式 表达式1) 表达式 { …
while(表达式 表达式2) 表达式 { … … } } }
while(表达式 表达式1) 表达式 { … do{ …
while(表达式 表达式2) 表达式 …
}
while(表达式 表达式1) 表达式 { … for( …; …; …)
F
P
T
当P为真 为真 A A
4
6.1 while语句 语句
100
例3.9: 求 ∑ n
n=1
Байду номын сангаас
i=1 当i<=100 sum=sum+i i+ +
#include <stdio.h> void main(void) { int i,sum=0; i=1; 要点: 语句要么是单条语句,要么是复合语句。 要点 语句要么是单条语句,要么是复合语句。 while (i<=100) 循环体若不止一条语句时, 循环体若不止一条语句时, { sum=sum+i; 应用{…}括起来。 括起来。 应用 括起来 i++; 在循环体中应有使循环趋于结束的语句, 在循环体中应有使循环趋于结束的语句, } 以避免“死循环” 以避免“死循环”。 printf(“%d”,sum); }
9
求解表达式1 求解表达式 F
表达式2 表达式 T 语句
求解表达式3 求解表达式
for循环下面的语句 循环下面的语句
10
6.3 for语句 语句
例:求 ∑ n 求
n=1 100
#include <stdio.h> void main(void) { int i,sum=0; , ; for(i=1;i<=100;i++) sum=sum+i; ; printf(“%d”,sum); }
第8讲循环结构程序设计PPT课件
结束语
当你尽了自己的最大努力时,失败也是伟大的, 所以不要放弃,坚持就是正确的。
When You Do Your Best, Failure Is Great, So Don'T Give Up, Stick To The End 演讲人:XXXXXX 时 间:XX年XX月XX日
17
❖程序代码:
12
存钱问题求解
main() { double money=1,day,sum=0; for(day=1;day<=365;day++) {sum+=money; money=money*2; } printf("%20.2lf",sum/100); }
程序演示
13
课后练习
• 打印输出所有的水仙花数
➢设定变量n, sum;sum初值为0 ; ➢n初值为1,步长为1,取到100; ➢将n的每一个取值累加到变量sum中;
❖构造循环结构:
for(表达式1;表达式2;表达式3) 语句
➢表达式1:n=1 ➢表达式2:n<=100 ➢表达式3:n++ ➢语句:sum+=n
for(n=1;n<=100;n++)sum+=n;
❖步长
即循环过程中循环变量的变化幅度
9
典型例题2
❖问题描述:
有一对兔子,从出生后第3个月起每个月都 生一对兔子,小兔子长到第三个月后每个 月又生一对兔子,假如兔子都不死,问两 年内每个月的兔子总数为多少?
❖数学模型: 1, 1, 2, 3, 5, 8, 13, 21, 34……
❖算法分析: ➢设定变量 f1, f2; f1=1, f2=1;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第五章 循环结构程序设计
1. i=0, x从0到1 j=0,if 为0 ,x从1到2 j=0,if 为0, x从5到6 j=1,if 为1 j=1,if 为1 内部循环 j=2,if为0,x从2到3 j=2,if为0 ,x从6到7 for(j=0;j<=3;j++) j=3,if为1 j=3,if为1 { if(j%2) continue;
main ( ) { int s,n ; s=0 ; n=1; while(n<=100) { s=s+n ; n++; } printf(“%d\n”, s); }
第五章 循环结构程序设计
n
n 1
100
教师:赵军富
2012年4月1日 星期日
§5.1.2 while语句
3.说明:
(1)当循环体中语句多于一 条时,用{ },否则,循环只 对一个,起作用。 (2)循环体内部必须有实现 对循环变量增值的语句,否 则,易出现“死循环”。 (3) 条件表达式要有括号, 后面不加分号。
输入:12 输出: s=0
教师:赵军富
2012年4月1日 星期日
§5.2 goto、break、contiue语句
§5.2.1 goto语句(无条件转向语句)
第五章 循环结构程序设计
标号由数字,字母, 下划线组成
1、一般格式:goto 语句标号;
功能:执行该语句时,将程序流程无条件地转向指 定标号所在的语句继续执行。
教师:赵军富
变量的增量 循环体
2012年4月1日 星期日
§5.1.1 for语句
3、说明:
第五章 循环结构程序设计
(1)表达式1,表达式2和表达式3均可缺省
分号始终不能缺省!
for (;n<100;n++) for (n=0;;n++) for (n=0;n<100;) for (; ;) for (;n<100;) 缺省e1, n 应在循环之前赋初值 缺省e2, 造成死循环,不可使用! 缺省e3, n增量应在循环体内进行 缺省e1,e2,e3 死循环 缺省e1,e3
即:执行--测试---执行--测试-循环体 Y 条件 N
s
n
n 1
x
do 语句 while (条件);
教师:赵军富
2012年4月1日 星期日
§5.1.3 do-while语句
例1: main() { int n=1,s=0,x; scanf("%d",&x); do {s=s+n; n++;} while (n<=x); printf("s=%d\n",s); }
教师:赵军富
2012年4月1日 星期日
§5.2 goto、break、contiue语句
main( ) { int i,j,a=0; for(i=0;i<2;i++) { for(j=0;j<4;j++) { if(j%2) break; a++; } a++; # } printf(“a=%d\n”,a); }
2、语句标号 例如: loop: if(x<=y); 格式:标号:语句; 功能:指示语句在程序中的位置,作为转移语句的转
移目标 。 scanf(“%d,%d”,&x,&y); loop: if(x<=y) { t=x;x=y;y=t; goto loop; }……
教师:赵军富
2012年4月1日 星期日
一、循环问题
问题1: y
第五章 循环结构程序设计
n
n 1
100
求1+2+3+…+100的和。
什么是循环? 为什么要使用循环?
问题2:求学生平均成绩。(分数相加后除以课数) 问题3:找出整数[1~1000]中能同时被3和7整除的数。 循环是有规律的重复操作。将复杂问题分解为简单的操作 过程,程序只对简单过程描述,这些过程的多次重复就可完成 对问题的求解。 for循环 先判断条件后循环 while循环 (当型循环) if--goto 循环 先循环后判断条件 do while循环 (直到型循环)
说明:goto可以从 较深的多重循环中
转移到外层,或从
函数内,转移到函
数外,不能从外到
内
教师:赵军富
2012年4月1日 星期日
§5.2 goto、break、contiue语句
§5.2.2 break语句 1、一般格式:break;
第五章 循环结构程序设计
break语句的功能:
(1)在switch语句中结束case子句,使控制转 到switch语句之外。 (2)在循环结构中,break语句使流程转向该循 环体的外层继续运行。向外退出一层循环
第五章 循环结构程序设计
(1) (2)
输出number 的值 1 2 3
结果 : *1 *2 **3
教师:赵军富
2012年4月1日 星期日
§5.1.3 do-while语句
第五章 循环结构程序设计
1. 一般格式:do 循环体 while(表达式); 2. 执行顺序:先执行循环体,再判断表达式的值,若为非零 ,重复执行循环体语句,再判断…….直到表 达式的值为零,退出循环体。
(3)for语句的3种形式:
(1) for(初值;判断;增量) 语句; (2)for(初值;判断;增量) {复合语句;} (3)for(初值;判断;增量);
教师:赵军富
2012年4月1日 星期日
§5.1.1 for语句
第五章 循环结构程序设计
特点:先判断后循环
以下程序的输出结果区别
输出结果: main() n=11 { int n,s; ; for(n=1;n<=10;n+=2); printf("n=%d\n",n); } 无循环体
第五章 循环结构程序设计
例1:求 1+2+3…+n<=10000的最 大的n。 main( ) { int n,sum; sum=0;n=0; while(sum <=10000) { ++n; sum+=n; } printf(“1+2+3…..+%d=%d\n”, n-1,sum-n); }
(4) 注意条件的边界值。
2 、三种循环各有特点:
(1) 当循环次数及条件在程序运行中才能确定时,选 用while( )或do-while( )语句 两者区别:while( ) 顶部测试,可能一次也不执行 do-while( )底部测试,至少执行一次
main() { int n,s; for(n=1;n<=10;n+=2) printf("n=%d\n",n); printf("n=%d\n",n); }
循环体
输出结果: n=1 n=3 n=5 n=7 n=9
教师:赵军富
2012年4月1日 星期日
§5.1.2 while语句
第五章 循环结构程序设计
1. 一般格式:while(表达式) 循环体; 2. 执行顺序:先判断表达式的值,若为非零(真),重复执行循 环体语句,再判断…直到表达式的值为零,退出 循环体。
入口
条件
N
Y 循环体
出口
即:测试---执行--测试--执行-教师:赵军富
2012年4月1日 星期日
§5.1.2 while语句
例1:对自然数1-100求和 s
教师:赵军富
2012年4月1日 星期日
§5.1.2 while语句
例3:循环进行了多少次?输出的值? main( ) { int number=0; while(number++<=1) printf(“*%d\n”,number); printf(“**%d\n”,number); }
条件表达式 执行次数 1 2 3 条件表达式 中变量的值 0 1 2 执行哪个 printf语句 (1) (1) (2)
§5.2 goto、break、contiue语句
main( ) { int k, sum=0; k=1; loop: if(k<=100) { sum=sum+k; k++; goto loop; } printf(“%d”,sum); }
例如:if_gotoloop.c
第五章 循环结构程序设计
如何求100以下 所有13的倍数
教师:赵军富
2012年4月1日 星期日
§5.2 goto、break、continue语句 第五章 循环结构程序设计
§5.2.2 continue语句格式: 一般格式:continue; continue语句的功能:
(1)continue语句仅能在循环语句中使用。 (2)它的作用不是结束循环,而是开始一次新的循环。 (结束本次循环继续下一次循环) (3)对于for语句,将控制转到执行增量和条件测试部分。 (4)对于while和do-while语句,将控制转到条件测试部分。
第五章 循环结构程序设计
第五章
循环结构程序设计
教师:赵军富
2012年4月1日 星期日
本章内容
第五章 循环结构程序设计
§ 5.1 循环语句 § 5.2 break语句、continue语句和goto语句 § 5.3 几种循环的比较 § 5.4 循环的嵌套
教师:赵军富
2012年4月1日 星期日