c语言for循环ppt

合集下载

c语言for循环PPT课件

c语言for循环PPT课件
17
(3). f or循环的条件检查总是在循环开始前进行的,如果
一开始条件为假(为零),则循环一次也不执行.
void main( ) { int x, y=10;
一开始条件就为假!
来自百度文库
for(x=10; x<10; --y)
输入小于0 不累加.

psum+=x;
//其中正数之和
}
printf("sum=%f\n",sum);
printf("psum=%f\n",psum);
return 0;
}
ch5_5_4.c 16
五、对于for语句的进一步说明:
(1). 表达式1可以是设置变量初值的赋值表达式,也可是与 循环变量 无关的其它表达式.
例:
a = 3*5 , a*4
求解过程是: 先求解表达式1,再求解表达
式2。整个逗号表达式的值用表 达式2的值代表。
逗号表达式
先求解3*5,得a的值为15,然后求解第二表达式a*4, 得60。
11
一般形式还可扩展: 表达式1,表达式2 , …… ,表达式n
整个表达式的值用表达式n的值代表。
注:
a. 在很多情况下,使用逗号表达式的目的只是想得
main( )
{int x=1; (表达式1) 分析用while语句来完成

C语言第5章-循环结构程序设计PPT课件

C语言第5章-循环结构程序设计PPT课件
一、实现循环结构的控制语句 二、循环嵌套 三、循环结构程序举例
1
• while语句 • do-while语句 • for语句 • break、continue语句 • 几种循环的比较
2
P79
§5.1 while语句
表达式 不成立
格式 举例
while (表达式) 语句 求1~10的累加和。
成立 循环体语句
#include "stdio.h"
int main()
i=1 sum=0
{
当i<=10
sum=sum+i i++
int i,sum; i=1; sum=0; while (i<=10) {
输出sum
sum=sum+i; i++; }
printf("sum=%5d\n",sum);
1 求1~100的累加和. 2 求1~10的奇数和. 3 求N!
举例 利用公式:sum=1-3+5-7+9-11…
求前10项的和。
s:变化的符号 i:第i项 n:第i项的绝对值 t:第i项的值 sum:和
#include <stdio.h> void main() {
int s,i,sum,t,n; i=0;n=1,sum=0,t=1,s=1; 运行结果: while(i<10) { sum=sum+t; n=n+2; s=-s; t=s*n; i++; } printf("sum=%d\n",sum); }

C语言循环结构ppt课件

C语言循环结构ppt课件

i++; } printf("sum=%d\n",sum); }
12:56
第14页
【例5-5】输入一个正整数n,求n!。
计 算 表 达 式 : n!=n*(n-1)*(n2)*…*2*1。用i代表循环变量, s代表n!的结果值。
编程时既可以采用for循环, 也可以采用while循环
求任意正整数n的阶乘的算 法流程图如图 :
循环语句概述
问题:求1~100的累计和。 根据已有的知识,可以用“1+2+……+100”来求解,但 显然很繁琐。现在换个思路来考虑: 首先设置一个累计器sum,其初值为0,利用sum =sum+ i 来计算(i依次取1、2、……、100),只要解决以下3个问 题即可:
(1)将i的初值置为1; (2)每执行1次“sum = sum+ i”后,i增 1; (3)当n增到101时,停止计算。此时,sum的值就是 1~100的累计和。
12:56
第5页
③ <循环表达式>亦可省略,但在循环语句体中必须有 语句来修改循环变量,以使条件表达式的值在某一时 刻为0,从而能正常结束循环。 如:for(sum=0, i=1; i<=100;)
{ sum = sum +i; i++;
}
④ 三个表达式均省略,即for(;;),为无限循环,程序 中要避免这种情况的发生。

C语言循环语句课件四章

C语言循环语句课件四章
❖ 流程图
for语句
求解表达式1
表达式 2
true
语句
false
求解表达式3
Page 10
❖例 求自然数1~10之和。
for语句
#include<stdio.h> void main() {
int i,sum=0; for(i=1;i<=10;i++)
分析:本题需要用累
加算法,累加过程是 一个循环过程,可以 用for语句实现。
❖ #include<stdio.h>
(4)输出sum的值
(3)若i<=n, 则重复执行(2)
Page 6
循环结构的定义
❖循环结构:就是在给定条件成立的情况下,重
复执行一个程序段;当给定条件不成立时,退出循 环,再执行循环下面的程序。
❖循环语句:实现循环结构的语句称为循环语句。 ❖在C中,循环语句有以下三种:
▪ for语句 ▪ while语句 ▪ do…while语句
▪ 一个数如果恰好等于它的因子之和,这个数就称为“完数”。例 如6=1+2+3
8. 求水仙花数:是指一个n(>=3)位数字的数,它等于每个数 字的n次幂之和。
9. 输入两个正整数m和n,求其最大公约数和最小公倍数。
Page 29
3.求1~599中能被3整除,且至少 有一位数字为5的所有整数。

C语言循环结构 ppt课件

C语言循环结构  ppt课件
这是一个很有规律的图案, 可采用二重循环嵌套的方 式:第1层控制行数,第2 层控制列数。
算法流程图如下图:
ppt课件
第10页
/*exam5_3.c 打印图案*/ #include <stdio.h> main() {
int i,j; for(i=1;i<=8;i++) { for(j=1;j<=7;j++)
循环语句概述
问题:求1~100的累计和。 根据已有的知识,可以用“1+2+……+100”来求解,但 显然很繁琐。现在换个思路来考虑: 首先设置一个累计器sum,其初值为0,利用sum =sum+ i 来计算(i依次取1、2、……、100),只要解决以下3个问 题即可:
(1)将i的初值置为1; (2)每执行1次“sum = sum+ i”后,i增 1; (3)当n增到101时,停止计算。此时,sum的值就是 1~100的累计和。
ia
ppt课件
第7页
这个问题与例5-1 类似,只是所求级 数和的初值和终值 不一样,是由键盘 任意输入的,为避 免计算机错误,要 求初值a要小于终 值b 。
算法流程图如右图:
ppt课件
第8页
/*exam5_2.c 求几何级数的和*/
#include <stdio.h>

C语言for语句 ppt课件

C语言for语句  ppt课件

i=i+1 =1+1=2
T
ss=ss*2
i=i+1
思考:2的 5、i<=83、n次方如何=2修*2=改4 程序=2+1=3
:m的n次i<=3方如T何修改s=s2=程*s2s序**22=(8 记下i==i3++11=4
F
例题程i<序=3段,以便模退出仿) 输出
ss=8
结束 上页 下页 末页 节
共 32页 第 20 页
1for(表达式1;表句 同达比 样式较 包2, 含;f循or表环语四达句要也式3)
1
while(2) * 也可表{3示; 为:
语句 素,只是循环四要
素的位置不一样。 更好地体现四要素
do {3;
fo4r(;} 赋循初环值语表句达式结 晰构;紧判凑断,条表理达清 式;修正w表h4i;l达e} (式2 ));
输入五个整数,求和 (6 ,10, 2, 3, 4 )
(1)
(2) F T
(3)
(4)
执行过程:
1----2--T---3----4 ----2--T---3----4 ----2--T---3----4 …… ----2--F--退出
注意:1部分只执行一次 3、4都是重复部分
结束 上页 下页 末页 节
2. 判{断3}条件 修正表达(式打的哪独里立结列束出) 更加加强 4

C语言第5章循环结构PPT课件

C语言第5章循环结构PPT课件
项或多项,如本例中,表达式1同时为i和j赋初值, 表达式3同时改变i和j的值。当有不止一项时,各项 之间用逗号“,”分隔。
42
第42页/共63页
循环结构小结
同一个问题,往往既可以用 while语句解决,也可以用 do-while或者for语句来解决,但在实际应用中,应根 据具体情况来选用不同的循环语句。 选用的一般原则是:
循环的概念 用while语句和do-while语句实现循环
用for 语句实现循环 循环的嵌套
break语句和continue语句 几种循环的比较 程序举例
第44页/共63页
循环的嵌套
一个循环体内又包含另一个完整的循环结构,称为 循环的嵌套。 内嵌的循环中还可以嵌套循环,这就是多重循环。
循环1
循环2
主要内容
学习三种结构的程序设计方法
• 顺序结构程序设计 • 选择结构程序设计
• 循环结构程序设计
掌握每一种语句的格式、功能、执行过程和执行 结果,并学习如何将这些语句组织成程序 学习逻辑问题的解题思路,及递推、迭代的方法
1
第1页/共63页
循环结构程序设计
1. 循环的概念 2. 用while语句和do-while语句实现循环
3. 用for 语句实现循环 4. 循环的嵌套
5. break语句和continue语句 6. 几种循环的比较 7. 程 序 举 例

C语言中 循环结构 ppt课件

C语言中 循环结构 ppt课件

else if(ch>='a'&&ch<='z') b++; /*判断是否为小写字母*/
else if(ch>='0'&&ch<='9') c++; /*判断是否为数字*/
else if(ch==' ')
d++;
else e++;
}
printf("%d,%d,%d,%d,%d\n",a,b,c,d,e);
达式或逻辑表达式,但也可以是其它类型的表 达式,.
【例5.2】 使用while语句求n!。
#include <stdio.h>
int main()
{
int n,i=1;
double sum=1;
printf("请输入一个正整数:");
scanf("%d",&n);
while (i<=n)
{
sum=sum*i; /*累乘求积*/
i++;
/*修改基本数据项i*/
}
printf("%d!=%.0f\n",n,sum);
return 0;
}

c语言循环结构ppt课件

c语言循环结构ppt课件
表达式即为控制表达式;语句则是循环体。
最新课件
4
while语句
while语句示例:
while (i < n) /* 控制表达式 */ i = i * 2; /* 循环体 */
执行while语句时,首先计算控制表达式的值。 如果值不为零(真),那么执行循环体,接着再次
判定表达式。 这个过程持续进行直到最终控制表达式的值变为零。
程序需要使用循环,循环采用scanf函数读取用户 输入数,然后再把这个数加到运算的总和中。
最新课件
13
sum.c
/* Sums a series of numbers */
#include <stdio.h>
int main(void) {
int n, sum = 0;
printf("This program sums a series of integers.\n"); printf("Enter integers (0 to terminate): ");
最新课件
24
for语句
for语句的执行流程
for(表达式1;表达式2;表达式3) 语句;
最新课件
25
for语句
for语句和while语句关系紧密。 除了极少数情况,for循环总可以等价替换为while循

C语言中 循环结构ppt课件

C语言中 循环结构ppt课件
第五章 循环控制结构
精选ppt课件2021
1
本章知识点:
–while语句的一般形式及应用 –for语句的一般形式及应用 –do...while语句的一般形式及应用 –多重循环结构的使用
•break语句和continue语句
精选ppt课件2021
2
5.1 while语句
语句的一般形式如下: while (表达式) 循环体语句
for(循环变量赋初值;循环条件;循环变量增值)
关于for语句的几点说明:
(1)循环体语句可以是简单语句也可以是使用一对花 括号括起来的复合语句。如果是一个语句,也可以和 for写在一行上,这样使程序看起来更加简洁;如果 循环体包含多条语句,最好是另起一行,采用一对花 括号括起来的复合语句形式,增加程序的可读性。
精选ppt课件2021
12
【例5.4】设n=30,编写程序,计算并输出S(n)的值。 S(n)=(1*2)/(3*4)-(3*4)/(5*6)+(5*6)/(7*8)+…+(-1)(n-
1)*[(2n-1)*2n]/[(2n+1)*(2n+2)] +…
#include<stdio.h>
#include<math.h>
达式或逻辑表达式,但也可以是其它类型的表 达式,.
精选ppt课件2021

C语言循环结构程序设计 ppt课件

C语言循环结构程序设计 ppt课件
(2) 求解表达式2,若其值为真(值为非0), 则执行for语句中指定的内嵌语句,然后 执行下面第(3)步。若为假(值为0),则 结束循环,转到第(5)步。
(3) 求解表达式3。
(4) 转回上面第(2)步骤继续执行。
(5) 循环结束,执行for语句下面的一个语 句
2021/3/26
C语言循环结构程序设计 ppt课件
while(i<=100)
{
控制循环次
sum+=i;

i++;
}
printf("Sum = %d\n",sum);
}
程序的执行结果:
Sum = 5050
2021/3/26
C语言循环结构程序设计 ppt课件
说明:(1)循环体 如果包含一个 以上的语句, 应该用花括弧 括起来,以复 合语句形式出 现.(2)在循环 体中应有使循 环趋向于结束
比while语句功能强,除了可以给出循环条件外,还可
以赋初值,使循环变量自动增值等。
2021/3/26
C语言循环结构程序设计 ppt课件
13
C语言循环结构程序设计
说明:
(5) 3个表达式都可省略,如: for(; ;) 语句 相当于 while(1) 语句
即不设初值,不判断条件(认为表达式2为真值), 循环变量不增值。无终止地执行循环体。

c语言循环语句PPT课件

c语言循环语句PPT课件

运行结果: 1*1=1 2*2=4 3*3=9 4*4=16 5*5=25 6*6=36 7*7=49 8*8=64 9*9=81 10*10=100
6-7
6.1 While 语句
例3: 统计从键盘输入一行字符的个数。
#include<stdio.h>
void main( )
{ int n=0;
此表达式的意义是什么?
printf("input a string:\n");
while ( getchar()!='\n‘ )
n++;
printf("%d",n);
}
6-8
6.1 While 语句
关于 while 循环语句的说明 while 循环先判断表达式,后执行循环体; 循环体有可能一次也不执行; 循环体若包含多条语句,应该用{ }括起来; 循环体应包含使循环趋向结束的语句; 退出while循环的情况是: 条件表达式不成立(为零) 循环体内遇 break , goto 无限循环(死循环)必须避免: while(1) 循环体 ;
i =1
N i≤ 100
Y sum=sum+i i=i+1
void main( ) {
int i,sum=0; i=1; while(i<=100)

C语言循环结构 PPT课件

C语言循环结构 PPT课件

while (i <= 10){ 循环条件
循环体
sum = sum + i;
i++;
循环变量的改变
}
22:55
第17页
例5-6 从键盘输入一批学生的成绩,计算平均 分。
分析:
➢求累加和 ➢确定循环条件
• 不知道输入数据的个数,无法事先确定循环次数 • 用一个特殊的数据作为正常输入数据的结束标志,
比如选用一个负数作为结束标志。
scanf("%lf", &grade); /* 输入第1个数*/ while (grade >= 0) { /* 输入负数,循环结束 */
total = total + grade;
num++;
Enter grades: 67 88 73 54 82 -1
scanf (“%lf”, &grade); }
22:55
第18页
#include <stdio.h>
Int main(void) { int num;
Enter grades: -1 67 88 73 54 82
double grade, total;
Grade average is 0
num = 0; total = 0;
printf(“Enter grades: \n");

C语言循环解析PPT课件

C语言循环解析PPT课件

输入第一个数x 设置max、min的初值
#include “stdio.h” main()
当输入数>0
{ float x, max, min;
scanf("%f", &x);
输入x
max=x;
x>max 1
0 min=x;
X<min
while (x>=0)
1
0
/*当x非负,执行循环体*/
max=x min=x
a1→ a0 a2→ a1
第21页/共104页
a2=a0+a1; a0=a1; a1=a2; a2=a0+a1;
(a3=a1+a2; )
a0=a1; a1=a2; a2=a0+a1;
(a4=a2+a3; )
用a2代表所求的某一项, a0、a1代表该项的 前两项,每求一次a2,将a1、a2作为下一次 的a0和a1。
7
第7页/共104页
编程求解:1+2+3+……+100=?
main() { int i=1,sum=0; while(i<=100)
{ sum=sum+i; i++;
} printf("%d \n",sum); }
“i=1”可否 换成:“i =0”

C语言循环结构ppt课件

C语言循环结构ppt课件
while ( i <= 100 ) { sum = sum + i ;
i+=2 ; } printf ( “Sum = %d \n”, sum ) ; }
循环的初始化 循环控制条件 循环控制变量 循环体
Lesson 1A / Slide 14 of 27
6.4 do-while语句
do-while语句的特点: 先执行循环体,然后判断循环条
j ++ ; } printf( “ %2d! = %.0f \n”, i, f ); i ++ ; } }
Lesson 1A / Slide 23 of 27
****
例:打印几何图形
**** ****
对于这类问题,每行 中星号的个数、总行 数等都应该用循环结 构进行控制,而不是 直接输出若干行字符 串
件是否成立。 一般形式: do
循环体语句 while (表达式); 执行过程:先执行一次指定的循环体语句,然后判别表达式, 当表达式的值为非零(“真”) 时,返回重新执行循环体语句, 如此反复,直到表达式的值等于0为止,此时循环结束。
Lesson 1A / Slide 15 of 27
6.4 用do-while语句实现循环
while( i<5)
{ i +=2;
f = f * i;
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

for(sum=psum=0.0, i=0 ; i<10 ; i++)
{


scanf("%f",&x);
若输入为0 ,结束.
这 if(fabs(x)<1e-4) break;

sum+=x;

//求这些数的总和

if(x<0) continue;
输入小于0 不累加.

psum+=x;
//其中正数之和
(2). 表达式2一般是关系表达式或逻辑表达式,但也可以是 其它类型表达式,只要其值为非零,就执行循环体.
如:
for(i=0; ( c=getchar( ) ) != ‘\n’ ; i+=c) ;
不断输入字符,将ASCII码累加, 直到输入一个换行符.
16
(3). f or循环的条件检查总是在循环开始前进行的,如果
到(计算)各个表达式的值,并非一定要得到或使用整个 表达式的值。
b. 并不是任何出现逗号的地方都是逗号运算符. 如:
printf(“%d,%d,%d”, a,b,c);
其中的这些
12
逗号就不是。
四.含逗号运算符的for语句 for语句中 ,表达式1、表达式3可以使用逗号运算符: 如:
for( i=1, j=20 ; i <j ; i++ , j--)
用两个或两个以上的变量 共同实现对循环的控制。
13
例 输入不多于10个实数,求这些数的和及其中 正数之和.(若不足10个数,以0 为结束标志)
#include<stdio.h> #include<math.h> int main( ) {
float sum,psum,x; int i=1; ….
14
循环控制变量的更新。
}
二 for循环语句形式:
C语言中的for循环语句比较复杂些,也比较灵活,功能较 强.
虽然主要用于定数循环,但也可以用于不定数循环,它完 全可以替代while循环.
for 循环语句的一般形式:
for(表达式1 ; 表达式2 ; 表达式3) {
循环体 }
4
for(表达式1 ; 表达式2 ; 表达式3)
{
sum=sum+i; i++; }
可把变量增值部 分放在循环体内.
2. 如果表达式2省略,C编译程序认为其值恒为真, 无限循环下去。如: for(i=1 ; ; i++) sum=sum+ i ; 表达式2可省去
9
3. 甚至三个表达式都可省略: for( ; ; ) 语句 ;
例: void main()
{ if(n%3 ==0)
continue ;
/*能被3整除的数,不打印*/
printf(“%5d” , n);
}
}
当然函数体也可改成:
if(n%3!=0) printf(“%d”, n ) ;
使用Continue仅是为了说明其的语法作用。
7
三、说明: 表达式缺省的for( )语句:
for( )语句中的三个表达式可以省略其中一个, 二个,甚至 三个。
printf(“1+2+…100=%d”,sum);
return 0; }
单条语句时, 大括号可以不要.
i=1

i<=100?

sum+=i
i++
ch5_5_1.c
for语句后下 一条语句 6
例:把100~200之间的不能被3整除的数输出。
main( )
{ int n;
for(n=100; n<=200; n++)
一开始条件为假(为零),则循环一次也不执行.
void main( ) { int x, y=10;
一开始条件就为假!
for(x=10; x<10; --y)
printf(“%d”,y);
printf(“%d”, x);
但无论省略几个,其中的二个分号不能省。
如果在for语句之前,给循环变量已赋值,表达 式1可省去。分号不能省。如:
sum=0; i=1; for( ; i<=100 ; i++)
sum=sum+i ; 表达式1可省去。
8
1. 表达式3也可省去:
如:for(i =1 ; i <=100 ; )
表达式3可省去
}
printf("sum=%f\n",sum);
printf("psum=%f\n",psum);
return 0;
}
ch5_5_4.c 15
五、对于for语句的进一步说明:
(1). 表达式1可以是设置变量初值的赋值表达式,也可是与 循环变量 无关的其它表达式.
如:
for(sum=0; i<100; i++) sum=sum+i;
{ int i=1, sum=0;
for( ; ; ) { sum+=i;
i++; if( i>10000) break ; }
}
这种无限循环可用 break 语句来终止循环, 避免产生死循环.
10
补充: 逗号运算符(顺序运算符):
级别最低的一种。用它将二个表达式联起来,形成逗号
表达式。如:
表达式1,表达式2
{ 循环体 }
设置循环 变量初值
判断表达式
循环变 量增值
求解表达式1

表达式2

内嵌语句
求介表达式3
for语句后下 5 一条语句
例: 求100之内各数之和: #include<stdio.h>
int main( )
{ int i , sum=0;
for( i=1;i<=100; i++)
{ sum+=i ; }
例:
a = 3*5 , a*4
求解过程是: 先求解表达式1,再求解表达
式2。整个逗号表达式的值用表 达式2的值代表。
逗号表达式
先求解3*5,得a的值为15,然后求解第二表达式a*4, 得60。
11
一般形式还可扩展: 表达式1,表达式2 , …… ,表达式n
整个表达式的值用表达式n的值代表。
注:
a. 在很多情况下,使用逗号表达式的目的只是想得
main( )
{int x=1; (表达式1) 分析用while语句来完成
s=0;
的程序,主要完成1到
while(x<=100) (表达式2) 100的累加和,对一个
{s=s+x;
x=x+1; (表达式3)
来自百度文库
循环程序来说最关键的 三个部分:循环变量的
}
赋初值、控制循环条件、
printf(“%d”,s);
c语言
For 循环程序设计
1
5.1
1.FOR循环的引入 2.FOR循环语句的形式 3.表达式缺省的FOR循环语句 4.含有逗号运算符的FOR循环语句 5.关于FOR循环的几点补充说明 5.FOR循环语句的嵌套
一、FOR循环的引入
1、复习前两节课我们学习的循环语句—— while~do语句的基本格式和执行过程和特征。
相关文档
最新文档