dowhile语句 for语句 循环结构的嵌套_第1页
dowhile语句 for语句 循环结构的嵌套_第2页
dowhile语句 for语句 循环结构的嵌套_第3页
dowhile语句 for语句 循环结构的嵌套_第4页
dowhile语句 for语句 循环结构的嵌套_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

会计学1dowhile语句for语句循环结构的嵌套do-while语句的执行过程是:先执行循环体语句,再求表达式的值,若表达式的值为“真”(非0数值)则再执行循环体语句,由此构成循环,直到表达式的值为“假”

(数值0)时结束循环。如图所示。第1页/共15页注意点:do-while语句和while语句的区别在于do-while是先执行循环体语句,后判断循环条件,因此do-while至少要执行一次循环体。第2页/共15页main(){inti,sum;i=1;sum=0;do{sum=sum+i;i++;}while(i<=100);printf("sum=%d\n",sum);}用do-while语句改写例5.3的程序题目:求1+2+3+…+100的值注意:N_S流程图的直到型循环结构的循环条件的描述方法与C语言的do-while语句的循环条件的测试方法稍有不同。这里一定要有一个分号第3页/共15页5.4for语句和用for语句构成的循环for语句的一般形式为:

for

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

循环体语句for循环语句的执行过程是:(1)计算”表达式1”的值。(2)计算”表达式2”的值;若其值为非零,转至步骤(3);

若其值为零,则转至步骤(5)。(3)执行一次循环体语句。(4)计算”表达式3”;然后转向步骤(2),构成循环。(5)结束循环,执行for循环之后的语句。第4页/共15页for语句的常规使用方法:“表达式1”用来给循环变量赋初值或做一些初始工作;“表达式2”用来作为判断循环是否结束的条件;“表达式3”用来修改循环变量的值,使得循环能够趋于结束。第5页/共15页for语句的常规使用方法例main()/*程序1*/{inti,sum;for(i=1,sum=0;i<=100;

i++)

sum=sum+i;

printf("sum=%d\n",sum);}“表达式1”是逗号表达式给循环变量赋初值做一些初始工作,准备累加!判断循环是否结束!使得循环能够趋于结束。第6页/共15页

从语法上来讲,三个表达式都可以是任意合法的C表达式,各表达式之间用”;”隔开,并且这三个表达式都是任选项。例如:我们可以用for循环语句将例5.3的程序改写为如下几种形式,它们都能正确地求出1+2+3+…+100的值。for语句的非常规使用方法main()/*程序2*/{inti=1,sum=0;for(;i<=100;i++)sum=sum+i;printf(“sum=%d\n”,sum);}表达式1省略了!main()/*程序3*/{inti=1,sum=0;for(;i<=100;){sum=sum+i;i++;

}printf(“sum=%d\n”,sum);}循环体语句是复合语句,花括号不能省!表达式1和表达式3都省掉了!第7页/共15页for语句的非常规使用方法2main()/*程序4*/{inti=1,sum=0;for(;;)

{sum=sum+i++;ifi>100goto

pend;

}

pend:printf(“sum=%d\n”,sum);}三个表达式都被省掉了!分隔符“;”不能省。

由于没有了表达式2,用goto语句结束循环。main()/*程序5*/{inti,sum=0;for(i=1;i<=100;sum=sum+i++);printf(“sum=%d\n”,sum);}循环体语句是一个空语句!第8页/共15页注意在循环体语句之前不能有分号main(){inti,sum=0;for(i=1;i<=100;

i++);

sum=sum+i;

printf("sum=%d\n",sum);}main(){inti,sum=0;for(i=1;i<=100;

i++)

;

sum=sum+i;

printf("sum=%d\n",sum);}/*前面两个程序的执行过程*/main(){inti,sum=0;for(i=1;i<=100;

i++);

sum=sum+i;printf("sum=%d\n",sum);}即:循环体语句是一个空语句!第9页/共15页例5.4编程计算多个圆的面积

本例要求计算6个不同半径的圆面积,且半径值的变化是有规律的,从0.5mm开始按增1

mm的规律递增,可直接用半径r作为for语句的循环控制变量,每循环一次使r的值增1,直到r大于5.5为止。main(){floatr,s;for(r=0.5;r<=5.5;r++)

{s=3.14159*r*r;printf("r=%f,s=%f\n",r,s);

}}

变量r具有双重功能,它既是循环控制变量,又是圆的半径值,它的值由0.5变化到5.5,循环体共执行6次,当r增到6.0时,条件表达式r<=5.5的值为0,从而退出循环。第10页/共15页5.5循环结构的嵌套

在一个循环语句的循环体内又完整地包含了另一个循环语句,称为循环嵌套。第11页/共15页

在编写程序时,循环嵌套的书写要采用缩进形式,如在例5.5的程序中,内循环中的语句应该比外循环中的语句有规律地向右缩进2~4列。例5.5循环嵌套的应用--输出九九乘法表。main(){inti,j;for(i=1;i<=9;i++)

{for(j=1;j<=i;j++)

printf("%1d*%1d=%2d",i,j,i*j);printf("\n");

}}第12页/共15页程序的运行结果为:1*1=12*1=22*2=43*1=33*2=63*3=94*1=44*2=84*3=124*4=165*1=55*2=105*3=155*4=205*5=256*1=66*2=126*3=186*4=246*5=306*6=367*1=77*2=147*3=217*4=287*5=357*6=427

温馨提示

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

评论

0/150

提交评论