课件编号4151774

For循环语句 课件

日期:2024-05-21 科目:信息技术 类型:高中课件 查看:75次 大小:66686Byte 来源:二一课件通
预览图 1/6
For,循环,语句,课件
  • cover
课件13张PPT。For循环语句For循环语句的使用及和其他循环语句的比较 5.3 for循环语句 for(表达式1;表达式2;表达式3) 循环体语句一般形式:1.计算表达式1,通常用于循环开始前设置变量初值。 2.计算表达式2,值为0则结束循环,否则执行第3步。 3.执行循环体语句。 4.计算表达式3,返回第2步。执行流程例: 求 1+2 +…+99#include main( ) { int i,s=0; for(i=1;i<=99;i++) s=s+i; printf(“s=%d”,s); }分析:用变量i从1到99循环,把i的值累加到变量s中,最后输出s的值。程序如下:从上面的程序我们看到,for语句中: 表达式1:通常是给循环变量赋初值 表达式2:循环是否继续执行的判别表达式,这个表达式通常与某一个(或多个)变量的值有关,随着这个(些)变量的值的改变,表达式的结果发生变化,这个(些)变量被称为循环因变量。 表达式3:通常用于改变循环因变量的值。 在某些情况下,for语句中的表达式1、2、3都可以省略,而改用其他的方式来实现这些功能。我们还用上面的例子说明for语句省略表达式的情形。1.省略表达式1:#include main( ) { int i=1,s=0; for(;i<=99;i++) s=s+i; printf(“s=%d”,s); }2.省略表达式3:#include main( ) { int i,s=0; for(i=1;i<=99;) {s=s+i;i++;} printf(“s=%d”,s); }3. 同时省略表达式1、3#include main( ) { int i=1,s=0; for(;i<=99;) {s=s+i;i++;} printf(“s=%d”,s); }表达式2也可以省略 但在循环体中要借助 break;语句来实现循 环的结束,我们将在 后面介绍。注意:表达 式省略,分 号不省略。 for语句中的表达式可以是一切形式的表达式,逗号运算符参与的表达式也可以运用在for语句中,通常运用于表达式1和表达式3。 如上面的例子可以改写为:#include main( ) { int i,s; for(s=0,i=1;i<=99;s=s+i,i++) ; printf(“s=%d”,s); }注意此处 的分号。 此处,表达式1用逗号表达式的形式,给多个变量赋初值。表达式3用逗号表达式把循环体也写入其中。注意表达式3书写顺序不能交换。例:求 1/100+2/99+…+1分析:用变量i从1开始循环,每次增加1;用变量j从100开始循环,每次减少1。累加i/j的值到s中。当i>j时结束循环(即i<=j时继续循环)。最后输出s。程序如下:#include main( ) { int i,j; float s=0; for( i=1,j=100 ; i<=j ; i++,j--) s=s+(float)i/j; printf(“ns=%f”,s); }for、while、do-while的比较 所有需要用到循环结构的程序,都可以用for、while、do-while中的任何一个来实现,区别只在于某些问题用哪种语句更方便。 比如求1+2+…+99的问题我们也可以分别用while与do-while语句编写如下:用while:#include main( ) { int i=1,s=0; while(i<=99) {s=s+i; i++; } printf(“ns=%d”,s); }用do-while:#include main( ) { int i=1,s=0; do{s=s+i; i++; }while(i<=99); printf(“ns=%d”,s); }例:任意输入一个自然数,把它反序输出。(如:原数为123,输出321)。分析:此题不确定循环执行的次数,也不涉及一个规律变化的变量,一般用while或do-while来编写。又由于第一次就要判断输入的是否是自然数,通常用while来实现。算法步骤如下:1. 定义整型变量a用于存储输入的自然数,定义t初值为0用于存放a的反序数,定义i用于依次存放求出的a的每一位的数值。 2. 输入一个自然数赋值给变量a 3. 若a>0,执行第4步,否则执行第7步 4. i=a%10 5. t=t*10+i 6. a=a/10,并返回第3步 7. 输出t程序:#include main( ) { long a,i,t=0; scanf(“%ld”,&a); while(a>0) { i=a%10; t=t*10+i; a=a/10; } printf(“n%ld”,t); } 在这里由于a的值可能 很大所以用到了long型定 义变量a,如果希望取到的 ... ...

~~ 您好,已阅读到文档的结尾了 ~~