第5章 循环程序设计
时间:2025-07-11
时间:2025-07-11
循环程序设计
5魏东平
循环程序设计
概述 while和do-while循环 for循环 循环的嵌套 循环控制 应用举例魏东平
程序调试
循环程序设计
计算机程序由若干语句顺序组成。顺序结构的 程序只能按照语句的先后顺序从前向后依次执 行,分支结构程序虽然允许在执行了某个判断 后跳过某些语句执行后面的语句,但也只能按 语句的前后次序执行。有时,需要在程序中重 复执行某个语句或语句块,就需要循环结构。魏东平
循环程序设计
1i=1, sum=0 否 i <= 100 是 sum = sum + i i ++
i=1 sum = 0 i <= 100 sum = sum + i i ++
输出sum
输出sum
循环程序设计
1#include <stdio.h> void main( ) { int i=1, sum=0 ; while ( i <= 100 ) { sum = sum + i ; i++ ; } printf ( “Sum = %d \n”, sum ) ; }
循环控制变量i的初始化 循环控制条件 i为循环控制变量 循环体
循环程序设计
循环次数取决于循环控制变量2#include <stdio.h> void main( ) { int i=0, sum=0 ; while ( i <= 100 ) { sum = sum + i ; i+=2 ; } printf ( “Sum = %d \n”, sum ) ; }
循环程序设计
格式:
while( 表达式 ) 语句 do 语句 while( 表达式 ) ;说明: 括号中的“表达式”是循环控制条件,但不限于关系表达 式和逻辑表达式 “语句”是单一语句,但可以是复合语句 如果while语句的括号后面只有“;”,则循环体为空。
循环程序设计
假
表达式 真 语句
表达式 语句
while语句的执行过程是: ① 计算“表达式”的值; ② 若“表达式”的值不时0,为“真”,继续执行③;否则, 结束循环,转到while语句后面的语句继续执行程序; 魏东平 ③ 执行“语句”部分,即执行循环体; ④ 返回①继续执行。
循环程序设计
语句 假 语句 表达式 真 表达式
魏东平
循环程序设计
while循环是“先判断后循环”,如果开始时循 环条件不满足,循环体就一次也不执行 do-while循环是“先循环后判断”,即使第一 次判断的结果为“假”,循环体也已经执行了 一次 但不论哪种循环,循环体中必须包含能够使循 环条件变为“假”的运算魏东平
循环程序设计
3#include <stdio.h> void main( ) { int i=1, sum=0 ; while ( i<= 100 ) { sum = sum + i ; i++ ; } printf ( “Sum = %d \n”, sum ) ; } #include <stdio.h> void main( ) { int i=1, sum=0 ; do { sum = sum + i ; i++; } while ( i<= 100 ); printf ( “Sum = %d \n”, sum ) ; }
循环程序设计
如果在一个循环的循环体内包含另一个完整的 循环则称为循环的嵌套,其中被嵌套的循环称 为内循环,而嵌套了内循环的是外循环 内循环还可以嵌套循环,形成多级(层)嵌套
魏东平
循环程序设计
4#include <stdio.h> void main( ) { int i=1, j ; float f ; while( i <= 10 ) 外循环 { j = 1; f = 1; 内循环 while( j <= i ) { f = f * j; j ++ ; } printf( “ %2d! = %.0f \n”, i, f ); i ++ ; } }
循环程序设计
循环的嵌套不仅可以发生在相同语句之间,
如while嵌套while、do-while嵌套do-while, while语句和do-while语句也可以互相嵌
套(1) while(….) { … while(…) {…} … } do { (2) while(…) { … do { … }while(…); … } (4) do { … do { … } while(…) ; … } while(…) ;
(3)
… while(…) {…} …
魏东平
}
循环程序设计
循环必须是完整的,不 允许内外循环交叉嵌套
内外循环的循环控制条
件通常是分开的,相对独 立的i=1; s=0; 混乱的控 while ( i <3 ) 制条件 { s = s + f; i = 1; f=1; while( i<5) { i +=2; f = f * i; } i++ ;
错误的嵌 f = 1; 套形式 while( i < 10) { i=1; do { f = f * i; i ++; } } while( i<10 );魏东平
循环程序设计
5方法一:将输入的5位数看作是5个独立的数字字符 ,依次读取每一个数字字 符,将其转化为对应的数 字后再求和
i = 0, sum=0 i<5 输入一个数字字符ch sum += ch – '0' i++
将数组字符ch转化为 数字的方法为ch-’0’
输出sum魏东平
…… 此处隐藏:213字,全部文档内容请下载后查看。喜欢就下载吧 ……