当前位置:文档之家› 第五章 C语言for循环ppt课件

第五章 C语言for循环ppt课件

如下例:
for (t=0; t<value; t++)
;
空循环体
.
18
六、 循环嵌套:
for 语句一般用于具有明确循环次数的情况,如果 事先不知道准确的循环次数,只知道循环条件,一般用 while 或 do while 语句.
循环是可以嵌套的,循环嵌套是指一个循环体内又可包 含另一个完整的循环称为 循环嵌套。
{
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( )语句中的三个表达式可以省略其中一个, 二个,甚至 三个。
一开始条件为假(为零),则循环一次也不执行.
void main( ) { int x, y=10;
一开始条件就为假!
for(x=10; x<10; --y)
printf(“%d”,y);
printf(“%d”, x);
}
.
17
(4). 当for语句的循环体是空语句时,则成为空循环体的for 语句,利用它可以实现某些特殊功能,比如产生时间延迟 等.
}
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;
c语言基础
-For 循环语句
.
1
5.1
1.FOR循环的引入 2.FOR循环语句的形式 3.表达式缺省的FOR循环语句 4.含有逗号运算符的FOR循环语句 5.关于FOR循环的几点补充说明 5.FOR循环语句的嵌套
.
一、FOR循环的引入
1、复习前两节课我们学习的循环语句—— while~do语句的基本格式和执行过程和特征。
循环控制变量的更新。
.
二 for循环语句形式:
C语言中的for循环语句比较复杂些,也比较灵活,功能较 强.
虽然主要用于定数循环,但也可以用于不定数循环,它完 全可以替代while循环.
for 循环语句的一般形式:
for(表达式1 ; 表达式2 ; 表达式3)
{
循环体 }
.
4
for(表达式1 ; 表达式2 ; 表达式3)
里面的循环又可嵌套另一个循环,叫多层循环的嵌套。
.
19
已知的三种循环: while( ) , do - while( ) , for( ) 可以相互嵌套。
如: while( ) {┆ do
{…}
while( ); ┆
}
for( ) {┆
while( ) {…} ┆ }
注: 但循环嵌 套不允许交叉
.
(2). 表达式2一般是关系表达式或逻辑表达式,但也可以是 其它类型表达式,只要其值为非零,就执行循环体.
如:
for(i=0; ( c=getchar( ) ) != ‘\n’ ; i+=c) ;
不断输入字符,将ASCII码累加, 直到输入一个换行符.
.
16
(3). f or循环的条件检查总是在循环开始前进行的,如果
用两个或两个以上的变量 共同实现对循环的控制。
.
13
例 输入不多于10个实数,求这些数的和及其中 正数之和.(若不足10个数,以0 为结束标志)
#include<stdio.h> #include<math.h> int main( ) {
float sum,psum,x;
int i=1;
….
.
14
20
例: 问程序输出的结果?
main() { int i=1,a=0;
for(; i<=5; i++) {
do { i++; a++;
} while(i<3);
输出:
a=3 ,i=8
i++; }
printf(“a=%d,i=%d\n”,a,i);
}
.
21
本节内容已授完!!!
.
22
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. 在很多情况下,使用逗号表达式的目的只是想得
{ 循环体 }
设置循环 变量初值
判断表达式
循环变 量增值
.
求解表达式1

表达式2

内嵌语句
求介表达式3
for语句后下 5 一条语句
例: 求100之内各数之和: #include<stdio.h>
int main( )
{ int i , sum=0;
for( i=1;i<=100; i++)
{ sum+=i ; }
{ int i=1, sum=0;
for( ; ; ) { sum+=i;
i++; if( i>10000) break ; }
}
这种无限循环可用 break 语句来终止循环, 避免产生死循环.
.
10
补充: 逗号运算符(顺序运算符):
级别最低的一种。用它将二个表达式联起来,形成逗号
表达式。如:
表达式1,表达式2
但无论省略几个,其中的二个分号不能省。
如果在for语句之前,给循环变量已赋值,表达 式1可省去。分号不能省。如:
sum=0; i=1; for( ; i<=100 ; i++)
sum=sum+i ; 表达式1可省去。
.
8
1. 表达式3也可省去:
如:for(i =1 ; i <=100 ; )
表达式3可省去
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(sum=psum=0.0, i=0 ; i<10 ; i++)
{
注 意
scanf("%f",&x);
若输入为0 ,结束.
这 if(fabs(x)<1e-4) break;

sum+=x;

//求这些数的总和

if(x<0)43;=x;
//其中正数之和
到(计算)各个表达式的值,并非一定要得到或使用整个 表达式的值。
b. 并不是任何出现逗号的地方都是逗号运算符. 如:
printf(“%d,%d,%d”, a,b,c);
其中. 的这些
12
逗号就不是。
四.含逗号运算符的for语句
for语句中 ,表达式1、表达式3可以使用逗号运算符:
如: for( i=1, j=20 ; i <j ; i++ , j--)
相关主题