C语言程序设计教程 课件 第5.2 循环结构for语句_第1页
C语言程序设计教程 课件 第5.2 循环结构for语句_第2页
C语言程序设计教程 课件 第5.2 循环结构for语句_第3页
C语言程序设计教程 课件 第5.2 循环结构for语句_第4页
C语言程序设计教程 课件 第5.2 循环结构for语句_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5.2章循环结构程序设计主讲教师:贺爱香理论知识概述1while语句2do-while语句3for语句4break和continue语句6循环嵌套5goto语句7while语句和Dowhile语句(复习)表达式循环体假真一般形式

while(表达式)循环体语句一般形式

do

{

循环体语句

}

while(条件表达式);循环体表达式假真for语句(最灵活、功能最强)一般形式

for(表达式1;表达式2;表达式3)

循环体语句循环控制变量的初始值循环的条件表达式改变循环变量的表达式应用形式

for(循环控制变量赋初值;循环控制变量<=终值;循环控制变量增值){

循环体语句

}执行过程表达式2循环体语句假真计算表达式1计算表达式3非00s=0;i=1;i<=100s=s+i;i=i+1;/*解决方案三*/voidmain(){ints=0,i;for(i=1;i<=100;i++) s=s+i;

printf("s=1+2+……+100=%d\n",s);}①表达式1可以省略,此时变量赋初值语句放在for循环的前面,注意省略表达式1时其后分号不能省略,如:i=1;for(;i<=100;i++)s=s+i;②当省略表达式2的时候,相当于循环控制条件始终为真,即不判断循环条件,循环无终止地执行下去,如:for(i=1;;i++)s=s+i;③表达式3也可以省略,但此时循环体语句中应该包含使循环趋向于结束的语句,如:for(i=1;i<=100;){s=s+i;i++;}注意事项④当同时省略表达式1和表达式3,则与while循环完全等价,如:i=1;for(;i<=100;){s=s+i;i=i+1;}相当于i=1;while(i<=100){s=s+i;i=i+1;}⑤当三个表达式都省略的时候,表示既不赋初值,也不判断循环条件,也不做循环变量的增减,循环会无终止地执行下去,如:for(;;)语句相当于while(1)语句注意事项⑥表达式1既可以是一个简单的表达式,也可以是逗号表达式,此时按照逗号表达式的求值顺序逐个求值,如:for(s=0,i=1;i<=100;i++)s=s+i;⑦循环体语句也可以为空,但至少要保留一个分号,如:for(;;);分号表示空语句,不实现任何操作。注意事项有如下程序段:inti,sum=0;for(i=1;i<6;i++)sum+=i;printf(“%d\n”,sum);该程序段的执行结果是()。1514不确定0ABCD提交单选题1分有如下程序段:inti,sum=0;for(i=1;i<=3;sum++)sum+=i;printf(“%d\n”,sum);该程序段的执行结果是()。63死循环0ABCD提交单选题1分以下循环体的执行次数是()。inti,j;for(i=0,j=1;i<=j+1;i+=2,j--)printf(“%d\n”,i);3210ABCD提交单选题1分for语句同while语句,也是先判断,后执行for语句可以转换成while结构for(表达式1;表达式2;表达式3){循环体语句;}表达式1;while(表达式2){循环体语句;表达式3;}【例】用三种循环格式实现:

#include<stdio.h>main(){inti,sum=0;

for(i=1;i<=100;i++)sum=sum+i;printf("%d",sum);}#include<stdio.h>main(){inti,sum=0;i=1;

while(i<=100){sum=sum+i;i++;}printf("%d",sum);}#include<stdio.h>main(){inti,sum=0;i=1;

do

{sum=sum+i;i++;}while(i<=100);printf("%d",sum);}若i的初始值为101呢?结论:当循环变量的初始值不满足循环条件时,for和while的循环体一次也不执行,但do……while的循环体会被执行一次。一、思路分析:采用逆向思维,从后往前推断,发现其中有相同的地方,即出现递推公式,可以采用递归方法。令X10=1,容易看出X9=2(X10+1),简化一下X9=2X10+2X8=2X9+2…..Xn=2Xn+1+2//方法一:#include<stdio.h>intmain(){intday=9,x1=0,x2=1;while(day>0){x1=(x2+1)*2;x2=x1;day--;}printf("Thefirstdayofpickingpeachesnumberis:%d\n",x1);}//方法二:#include<stdio.h>intmain(){intday=9,x1=0,x2=1;for(;day>0;day--){x1=(x2+1)*2;x2=x1;}printf("Thefirstdayofpickingpeachesnumberis:%d\n",x1);}循环的嵌套三种循环可互相嵌套,层数不限1)while(){……while(){……}…...}(2)do{……do{……}while();…...}while();(4)for(;

;){……do{……}while();……while(){……}…...}(3)while(){……do{……}while();…….}说明外层循环可包含两个以上内循环请写出程序运行结果#include“stdio.h”main(){intk=1,j;while(k<=5){j=1;do{printf("*");j++;}while(j<=k);printf("\n");k++;}}***************运行结果内层循环体的执行?次1+2+3+4+5=15阅读下述程序段,判断各层循环体的范围;判断各层循环体执行的次数。①n=6;m=5;for(i=0;i<n;i++){for(j=0;j<m;j++)printf(“%d*%d=%2d”,i,j,i*j);printf(“\n”,);}/*内循环体的运行次数:n*m=6*5=30次*//*外循环体的运行次数:6次*/*************************打印如下图形:#include<stdio.h>voidmain(){ inti,j,k; for(i=1;i<=4;i++)//控制行 { for(j=1;j<=2*i-1;j++)//控制列

p

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论