第五章循环结构程序设计
第一节为什么使用循环
如何解决求
å
=
=
100
1
n
n
sum
算法1:直接写出算式 sum=1+2+3+4+5+…+100
算法2:考虑到1+2+3+…+100可以改写为:
(((1+2)+3)+…+100),则有
S1:p1=0+1
S2: p2=p1+2
S3: p3=p2+3
…
S99: p99=p98+99
S100: p100=p99+100 ,结果在p100里。
算法3:考虑用变量i存放加数,变量p存放上一步
的和。那么每一步都可以写成:p+i,然后
让p+i的和存入p,即每步都是p=p+i。
S0: p=0,i=1
S1: p=p+i, i=i+1
S2: p=p+i, i=i+1
S3: p=p+i, i=i+1
…
S100: p=p+i, i=i+1
如何解决求
å
=
=
100
1
n
n
sum
算法4:在上面的算法基础上采用循环功能实现。
S0: p=0,i=1(循环初值)
S1: p=p+i, i=i+1(循环体)
S2: 如果i小于或等于100,重复执行步
骤S1及S2;否则,算法结束(循环
控制)。p中的值就是1+2+…+100
的值。
如何解决求
å
=
=
100
1
n
n
sum
å
=
=
100
1
n
n
sum
求解问题的N-S图
打印p的值
当i≤100
p=p+i
i=i+1
p=0,i=1
while语句
:
while (表达式) 语句
:
实现“当型”循环, 当条件
满足时,执行语句
:
先判断表达式,后执行语句
条件表达式
循环体语句
真
假
第二节 while语句与do while 语句
题目分析:sum=1+2+3+……+100
变量设定:
sum 存放计算的中间结果和最后结果,
i 存放被加数;
算法分析:
1. 开始:sum=0, i=1
2. 如果满足条件 i <= 100,则执行3,否则转5;
3. 反复累加, 迭代式子:sum=sum+ i;
被加数 i 的变化规律: i=i+1;
4. 转2继续;
5. 结束循环,输出结果。
用 while 语句求
#include <>
main( )
{ int i,sum;
sum=0; i=1;
while ( i<=100 )
{ sum=sum+ i;
i = i+1;
}
printf(“sum=%d",sum);
}
循环初值
循环条件
循环体
{累加迭代式子}
用 while 语句求
:实现“直到型”循环
:先执行语句,后判断条件,
直到条件不满足为止。
do—while语句
: do 语句
while(表达式);
说明:1、
2、
do -while语句有两个保留字,do 和while必须成对出现
do语句在执行循环体后才检查表达式,所以循环体至
少执行一次。
循环体语句
条件表达式
循环体语句
条件表达式
do_while语句的图形表达
真
假
main( )
{ int i,sum=0;
i=1;
do
{ sum=sum+i; i++; } while (i<=100);
printf(“sum=%d”,sum);
}
用do_while 语句实现 1+2+3+···+100
c语言课件5 来自淘豆网m.daumloan.com转载请标明出处.