1、移动通信软件编程基础 C语言,知识回顾,5,循环结构,第,章,本章目标,理解为什么要使用循环结构,了解C语言都有哪些循环结构,掌握while和do-while结构的使用,了解while和do-while结构的区别,掌握并熟练使用for循环,C语言的三种循环结构,for循环,while循环,do-while循环,while循环在C语言中用得比较多,它是通过判断循环控制条件是否满足来决定是否继续循环,又称“当型”循环。do while循环是一种专门的“直到型”的循环语句。它是先执行循环体,然后判断循环条件是否成立。for循环使用最为灵活方便,不仅可以用于循环次数已经确定的情况,而且可以用于循环次数
2、不确定而只给出循环结束条件的情况,可以完全代替while语句。,三种循环结构对比,while结构的语法,while (表达式) 语句;,while (表达式) 语句; ,语句,表达式,成立,不成立,while结构的执行过程,#include void main() int n = 1, iSum = 0;while(n=3)iSum = iSum + n;n = n + 1;printf(“iSum=%d,n=%dn“, iSum, n); ,n = 1,1,0,n = 2,1,2,while结构的执行过程,#include void main() int n = 1, iSum = 0;wh
3、ile(n=3)iSum = iSum + n;n = n + 1; printf(“iSum=%d,n=%dn“, iSum, n); ,n = 2,1,0,n = 3,3,3,iSum=3,n=3,while结构的执行过程,#include void main() int n = 1, iSum = 0;while(n=3)iSum = iSum + n;n = n + 1; printf(“iSum=%d,n=%dn“, iSum, n); ,n = 3,1,0,n = 4,6,4,while结构的执行过程,#include void main() int n = 1, iSum = 0
4、;while( n = 3 )iSum = iSum + n;n+; printf(“iSum=%d,n=%dn“, iSum, n); ,n = 4,1,0,iSum=6,n=4,while结构的执行过程,#include void main() int n = 1, iSum = 0;while( n = 3 )iSum = iSum + n;n+; printf(“iSum=%d,n=%dn“, iSum, n); ,1,0,iSum=6,n=4,循环初值,循环终值,循环条件,循环体,循环变量增值,do-while结构的语法,do 语句; while (表达式);,语句,表达式,成立,不
5、成立,do-while结构的执行过程,#include void main() int n = 1, iSum = 0;doiSum = iSum + n;n+;while(n = 5);printf(“iSum = %d,n = %dn“,iSum,n); ,1,0,1,2,n = 2,do-while结构的执行过程,#include void main() int n = 1, iSum = 0;doiSum = iSum + n;n+;while(n = 5);printf(“iSum = %d,n = %dn“,iSum,n); ,3,3,n = 2,n = 3,do-while结构的
6、执行过程,#include void main() int n = 1, iSum = 0;doiSum = iSum + n;n+;while(n = 5); printf(“iSum = %d,n = %dn“,iSum,n); ,15,6,n = 5,n = 6,do-while结构的执行过程,#include void main() int n = 1, iSum = 0;doiSum = iSum + n;n+;while(n = 5);printf(“iSum = %d,n = %dn“,iSum,n);,n = 6,iSum = 15,n = 6,for循环的语法,for(表达式
7、1 ; 表达式2 ; 表达式3) 语句; ,循环变量赋初值,循环条件,循环变量增值,i = 1; iNum = 100;,i 0;,i+; iNum-;,用于分隔for循环的三个表达式,for循环与while循环的比较,表达式1; while(表达式2) 语句;表达式3; ,for(表达式1;表达式2;表达式3)语句;,for循环的执行过程,表达式1,表达式3,表达式2,语句,真,假,for(表达式1 ; 表达式2 ; 表达式3) 语句; ,for循环的示例,使用for循环求1到5的累加和,题目:,#include void main() int i, iSum = 0;for(i = 1;
8、i = 5; i+)iSum = iSum + i;printf(“%d n“,iSum); ,过程演示,for循环的示例,对任意整数内的全部正整数求和。,题目:,过程演示,使用do while循环,输入一个正整数,按反向输出?,题目:,#include void main() int iNumber, iDigit; /定义变量printf(“input an integer n“); /提示输入scanf(“%d“, ,过程演示,使用while循环,#include void main() int iNumber, iDigit; /定义变量printf(“input an integer
9、 n“); /提示输入scanf(“%d“, ,while语句先判断后执行,表达式,语句,成立,不成立,do-while语句先执行后判断,表达式,语句,成立,不成立,对比do-while循环和while循环, int iSum=0,n=101;while(n = 100)iSum = iSum + n;n = n + 1;printf(“n = %d iSum = %dn“,n,iSum); , int iSum=0,n=101;doiSum = iSum + n;n = n + 1;while(n = 100);printf(“n = %d iSum = %dn“,n,iSum); ,计算5 ! 2. 用户从键盘上输入一行字符,分别求出英文字母, 数字,空格以及其它字符的个数。 3.求1100之间所有偶数之和。 4.求100-200之间可以被7整除的数,并显示出来。 5.求100-200之间可以被7整除的数,并将其一行5个 显示出来。,习题,总结,习题,作业,