c语言for循环
(22页)
本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!
19.90 积分
c语言For 循环程序设计 1 5.11.FOR循环的引入2.FOR循环语句的形式3.表达式缺省的FOR循环语句4.含有逗号运算符的FOR循环语句5.关于FOR循环的几点补充说明5.FOR循环语句的嵌套 一、FOR循环的引入1、复习前两节课我们学习的循环语句——while~do语句的基本格式和执行过程和特征。 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循环语句形式: C语言中的for循环语句比较复杂些,也比较灵活,功能较强. 虽然主要用于定数循环,但也可以用于不定数循环,它完全可以替代while循环. for 循环语句的一般形式: for(表达式1 ; 表达式2 ; 表达式3) { 循环体 } 4for(表达式1 ; 表达式2 ; 表达式3) { 循环体 } 求解表达式1 设置循环 变量初值 假 表达式2 真 判断表达式 内嵌语句 循环变 求介表达式3 量增值 for语句后下 5 一条语句例 求 之内各数之和 : 100 : i=1 #include int main( ) 假 { int i , sum=0; i<=100? 真 for( i=1;i<=100; i++) { sum+=i ; } sum+=i printf(“1+2+…100=%d”,sum); return 0; 单条语句时, i++ } 大括号可以不要. for语句后下 6 ch5_5_1.c 一条语句例:把100~200之间的不能被3整除的数输出。 main( ) { int n; for(n=100; n<=200; n++) { if(n%3 ==0) continue ; /*能被3整除的数,不打印*/ printf(“%5d” , n); } }当然函数体也可改成: if(n%3!=0) printf(“%d”, n ) ; 使用Continue仅是为了说明其的语法作用。 7三、说明: 表达式缺省的for( )语句: for( )语句中的三个表达式可以省略其中一个, 二个,甚至三个。 但无论省略几个,其中的二个分号不能省。 如果在for语句之前,给循环变量已赋值,表达 式1可省去。分号不能省。如: sum=0; i=1; for( ; i<=100 ; i++) sum=sum+i ; 表达式1可省去。 81. 表达式3也可省去:如:for(i =1 ; i <=100 ; ) 表达式3可省去 { sum=sum+i; 可把变量增值部 i++; 分放在循环体内 } .2. 如果表达式2省略,C编译程序认为其值恒为真, 无限循环下去。如: for(i=1 ; ; i++) sum=sum+ i ; 表达式2可省去 9 3. 甚至三个表达式都可省略: for( ; ; ) 语句 ;例: void main() { int i=1, sum=0; for( ; ; ) 这种无限循环可用 break 语句来终止循环, { sum+=i; 避免产生死循环. i++; if( i>10000) break ; } } 10补充: 逗号运算符(顺序运算符): 级别最低的一种。用它将二个表达式联起来,形成逗号表达式。如: 求解过程是: 表达式 ,表达式 先求解表达式1,再求解表达 1 2 式2。整个逗号表达式的值用表 达式2的值代表。 例: 逗号表达式 a = 3*5 , a*4 先求解3*5,得a的值为15,然后求解第二表达式a*4,得60。 11一般形式还可扩展: 表达式1,表达式2 , …… ,表达式n 整个表达式的值用表达式n的值代表。注: a. 在很多情况下,使用逗号表达式的目的只是想得 到(计算)各个表达式的值,并非一定要得到或使用整个 表达式的值。 b. 并不是任何出现逗号的地方都是逗号运算符. 如: printf(“%d,%d,%d”, a,b,c); 其中的这些 12 逗号就不是。四.含逗号运算符的for语句 for语句中 ,表达式1、表达式3可以使用逗号运算符:如: for( i=1, j=20 ; i #include int main( ) { float sum,psum,x; int i=1; …. 14 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; //其中正数之和 } printf("sum=%f\n",sum); printf("psum=%f\n",psum); return 0; } ch5_5_41.5c五、对于for语句的进一步说明:(1). 表达式1可以是设置变量初值的赋值表达式,也可是与 循环变量 无关的其它表达式. 如: for(sum=0; i<100; i++) sum=sum+i;(2). 表达式2一般是关系表达式或逻辑表达式,但也可以是 其它类型表达式,只要其值为非零,就执行循环体. 如: for(i=0; ( c=getchar( ) ) != ‘\n 关 键 词: c语言for循环 ppt、pptx格式 免费阅读 下载 天天文库
天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。