1 / 30
文档名称:

09循环结构for语句.ppt

格式:ppt   页数:30页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

09循环结构for语句.ppt

上传人:中国课件站 2011/10/11 文件大小:0 KB

下载得到文件列表

09循环结构for语句.ppt

文档介绍

文档介绍:C程序设计
Programming in C
西安电子科技大学计算机学院张淑平
上次课的内容提要
p
A
成立
不成立
a
b
循环结构1(while)
p
A
a
b
循环结构2(until)
while语句的循环体执行0次或多次
while(表达式p)
循环体语句A;
do-while语句的循环体执行1次或多次
do
循环体语句A;
while(表达式p);
分析问题,在求解过程中:
存在一个(些)运算(动作)需要重复进行(循环)若干次。
重复的次数是事先确定的,或者是根据条件确定的。
处理循环计算需要明确的三个问题:
循环体:哪些运算(动作)是需要重复进行的;
循环条件:重复这些运算的条件是什么,即在什么情况下终止/继续这个重复的过程。
循环准备:在进行重复的运算处理之前,需要进行的准备工作是什么;
循环结构程序的编写要点
这次课的主要内容
for语句
break语句
continue语句
循环嵌套
for语句的格式和含义
for语句的基本格式:
for(表达式1;表达式2;表达式3)
循环体语句A
for语句的含义:
1) 计算表达式1;
2) 计算表达式2,若表达式2的值为“假”,则结束for语句的执行,转4);否则,执行循环体语句A;
3) 计算表达式3, 然后转2);
4) 执行for语句之后的第一条语句;
表达式2?
A


表达式1
表达式3
for语句:1+2+...+100
#include <>
main( )
{
int i, s;


printf(" %d\n ",s);
}

B
Y
N
I ← 1
S ← 0
I<=100?
S← S+I
输出S的值
开始
结束
I ← I+1
A
C
for(i = 1,s = 0; i <= 100;i++) {
s += i;
}
for语句中的表达式
for语句的基本格式:
for(表达式1;表达式2;表达式3)
循环体语句A
一般情况下
表达式1进行循环计算的初始化处理
表达式2是循环的条件
表达式3进行的计算能够对表达式2的值产生影响
表达式2?
A


表达式1
表达式3
求最大公约数程序(for)
#include <>
main( )
{
int m, n, r;
printf("input two integers:");
scanf("%d%d",&m,&n);


printf("\ngcd = %d\n ",n);
}

Y
N
r不等于0?
输出n的值
输入正整数m和n
开始
结束
m ← n; n ← r
r←m被n除的余数
r←m被n除的余数
for(r = m % n; r != 0; r = m % n) {
m = n; n = r;
}
for语句与while语句的等价关系
for语句的基本格式:
for(表达式1;表达式2;表达式3)
循环体语句A
表达式2?
A


表达式1
表达式3
表达式1;
while (表达式2) {
循环体语句A;
表达式3;
}
Y
N
K← 2
K不能整除n?
K ← K+1
输出n是素数
输入n的值
开始
结束
Y
N
K等于n?
输出n不是素数
判断素数算法及程序
#include <>
main ( )
{
int k, n;
printf("input an integer:");
scanf("%d",&n);
k = 2;
while (n % k != 0) {
k++;
}
if ( k == n)
printf("%d is a prime.\n",n);
else
printf("%d is not a prime.\n",n);
}

#include <>
main ( )
{
int k, n;
printf("input an integer:");
scanf("%d",&n);



if ( k == n)
printf("%d is a prime.\n",n);
else
printf("%d is not a prime.\n",n);
}
for(k = 2; n % k !=0; k++);