c语言for循环 ppt课件

合集下载
  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;
//其中正数之和
到(计算)各个表达式的值,并非一定要得到或使用整个 表达式的值。
b. 并不是任何出现逗号的地方都是逗号运算符. 如:
printf(“%d,%d,%d”, a,b,c);
其中的这些
12
逗号就不是。
四.含逗号运算符的for语句 for语句中 ,表达式1、表达式3可以使用逗号运算符:
如: for( i=1, j=20 ; i <j ; i++ , j--)
循环控制变量的更新。
}
二 for循环语句形式:
C语言中的for循环语句比较复杂些,也比较灵活,功能较 强.
虽然主要用于定数循环,但也可以用于不定数循环,它完 全可以替代while循环.
for 循环语句的一般形式:
for(表达式1 ; 表达式2 ; 表达式3) {
循环体 }
4
for(表达式1 ; 表达式2 ; 表达式3)
{ 循环体 }
设置循环 变量初值
判断表达式
循环变 量增值
求解表达式1
表达式2 假 真
内嵌语句
求介表达式3
for语句后下 5 一条语句
例: 求100之内各数之和: #include<stdio.h>
int main( )
{ int i , sum=0;
for( i=1;i<=100; i++)
{ sum+=i ; }
c语言
For 循环程序设计
1
5.1
1.FOR循环的引入 2.FOR循环语句的形式 3.表达式缺省的FOR循环语句 4.含有逗号运算符的FOR循环语句 5.关于FOR循环的几点补充说明 5.FOR循环语句的嵌套
一、FOR循环的引入
1、复习前两节课我们学习的循环语句—— while~do语句的基本格式和执行过程和特征。
用两个或两个以上的变量 共同实现对循环的控制。
13
例 输入不多于10个实数,求这些数的和及其中 正数之和.(若不足10个数,以0 为结束标志)
#include<stdio.h> #include<math.h> int main( ) {
float sum,psum,x; int i=1; ….
14
一开始条件为假(为零),则循环一次也不执行.
void main( ) { int x, y=10;
一开始条件就为假!
for(x=10; x<10; --y)
printf(“%d;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;
main( )
{int x=1; (表达式1) 分析用while语句来完成
s=0;
的程序,主要完成1到
while(x<=100) (表达式2) 100的累加和,对一个
{s=s+x;
x=x+1; (表达式3)
循环程序来说最关键的 三个部分:循环变量的
}
赋初值、控制循环条件、
printf(“%d”,s);
但无论省略几个,其中的二个分号不能省。
如果在for语句之前,给循环变量已赋值,表达 式1可省去。分号不能省。如:
sum=0; i=1; for( ; i<=100 ; i++)
sum=sum+i ; 表达式1可省去。
8
1. 表达式3也可省去:
如:for(i =1 ; i <=100 ; )
表达式3可省去
{ if(n%3 ==0)
continue ;
/*能被3整除的数,不打印*/
printf(“%5d” , n);
}
}
当然函数体也可改成:
if(n%3!=0) printf(“%d”, n ) ;
使用Continue仅是为了说明其的语法作用。
7
三、说明: 表达式缺省的for( )语句:
for( )语句中的三个表达式可以省略其中一个, 二个,甚至 三个。
(2). 表达式2一般是关系表达式或逻辑表达式,但也可以是 其它类型表达式,只要其值为非零,就执行循环体.
如:
for(i=0; ( c=getchar( ) ) != ‘\n’ ; i+=c) ;
不断输入字符,将ASCII码累加, 直到输入一个换行符.
16
(3). f or循环的条件检查总是在循环开始前进行的,如果
{ int i=1, sum=0;
for( ; ; ) { sum+=i;
i++; if( i>10000) break ; }
}
这种无限循环可用 break 语句来终止循环, 避免产生死循环.
10
补充: 逗号运算符(顺序运算符):
级别最低的一种。用它将二个表达式联起来,形成逗号
表达式。如:
表达式1,表达式2
{
sum=sum+i; i++; }
可把变量增值部 分放在循环体内.
2. 如果表达式2省略,C编译程序认为其值恒为真, 无限循环下去。如: for(i=1 ; ; i++) sum=sum+ i ; 表达式2可省去
9
3. 甚至三个表达式都可省略: for( ; ; ) 语句 ;
例: void main()
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++)
例:
a = 3*5 , a*4
求解过程是: 先求解表达式1,再求解表达
式2。整个逗号表达式的值用表 达式2的值代表。
逗号表达式
先求解3*5,得a的值为15,然后求解第二表达式a*4, 得60。
11
一般形式还可扩展: 表达式1,表达式2 , …… ,表达式n
整个表达式的值用表达式n的值代表。
注:
a. 在很多情况下,使用逗号表达式的目的只是想得
相关文档
最新文档