C语言程序设计——循环结构-PPT.ppt
第五章第五章循环结构循环结构-I2目标目标u理解为什么使用循环结构理解为什么使用循环结构u熟练掌握熟练掌握while循环的使用循环的使用u熟练掌握熟练掌握do-while循环的使用循环的使用u理解理解while和和do-while循环的区别循环的区别3C语言中的各种循环语言中的各种循环whiledowhilefor4whilewhile循环的一般语法:循环的一般语法:while(表达式表达式)语句语句;5示例1#includevoidmain()intnum=1,result;while(num=100)result+=num;num+;printf(result%dn,result);6示例2#includevoidmain()intnum=1,result;while(num=10)result=num*10;printf(%d10%dn,num,result);num+;输出:1 10 102 10 203 10 304 10 405 10 506 10 607 10 708 10 809 10 9010 10 1007用VC环境的单步执行演示循环过程8do-whiledo-while循环的一般语法:循环的一般语法:do语句段语句段while(表达式表达式);9do-while循环示例循环示例#includevoidmain()intnumber=5,guess;printf(猜一个介于猜一个介于1与与10之间的数之间的数n);doprintf(请输入您猜测的数:请输入您猜测的数:);scanf(%d,&guess);if(guessnumber)printf(太大太大n);elseif(guessnumber)printf(太小太小n);while(guess!=number);printf(您猜中了!您猜中了!答案为答案为%dn,number);10用VC环境的单步执行演示循环过程11while和和do-whilewhile(循环条件循环条件)循环体;循环体;do循环体;循环体;while(循环条件循环条件);第六章第六章循环结构循环结构II13目标目标u熟练使用熟练使用for循环循环u理解理解break和和continue语句的用法语句的用法u熟练使用嵌套循环熟练使用嵌套循环14for循环循环for循环的一般语法:循环的一般语法:for(表达式表达式1;表达式表达式2;表达式表达式3)语句段;语句段;1、计算表达式、计算表达式1的值,通常为循环变量赋初值;的值,通常为循环变量赋初值;2、计算表达式、计算表达式2的值,即判断循环条件是否为真,若值为真的值,即判断循环条件是否为真,若值为真则执行循环体一次,则执行循环体一次,否则跳出循环;否则跳出循环;3、计算表达式、计算表达式3的值,这里通常写更新循环变量的赋值表达的值,这里通常写更新循环变量的赋值表达式,然后转回第式,然后转回第2步重复执行;步重复执行;15示例#includevoidmain()intnumber,count,factorial=1;printf(n请输入任意一个正整数:请输入任意一个正整数:);scanf(%d,&number);for(count=1;count=number;count+)factorial=factorial*count;printf(n%d的阶乘的阶乘=%dn,number,factorial);请输入任意一个正整数:55的阶乘的阶乘=12016用VC环境的单步执行演示循环过程17逗号运算符逗号运算符for(i=0,j=max;i=max;i+,j-)printf(“n%d +%d =%d”,i,j,i+j);ufor语句中的三个表达式都可以是逗号表达式语句中的三个表达式都可以是逗号表达式u逗号表达式就是通过逗号表达式就是通过“,”运算符隔开的多个表达式组运算符隔开的多个表达式组成的表达式成的表达式u逗号表达式从左往右计算。逗号运算符在逗号表达式从左往右计算。逗号运算符在C语言运算符语言运算符中的优先级最低中的优先级最低18break语句语句ubreak语句可以改变程序的控制流语句可以改变程序的控制流ubreak语句用于语句用于do-while、while、for循环中时,可使循环中时,可使程序终止循环而执行循环后面的语句程序终止循环而执行循环后面的语句ubreak语句通常在循环中与条件语句一起使用。若条件语句通常在循环中与条件语句一起使用。若条件值为真,将跳出循环,控制流转向循环后面的语句值为真,将跳出循环,控制流转向循环后面的语句u如如果果已已执执行行break语语句句,就就不不会会执执行行循循环环体体中中位位于于break语句后的语句语句后的语句u在多层循环中,一个在多层循环中,一个break语句只向外跳一层语句只向外跳一层19示例#includevoidmain()intnumber,count,factorial;count=factorial=1;printf(n请输入任意一个正整数:请输入任意一个正整数:);scanf(%d,&number);while(1)factorial=factorial*count;count+;if(countnumber)break;printf(n%d的阶乘的阶乘=%dn,number,factorial);请输入任意一个正整数:55的阶乘的阶乘=12020用VC环境的单步执行演示循环过程21continue语句语句ucontinue语句只能用在循环里语句只能用在循环里ucontinue语句的作用是跳过循环体中剩余的语句语句的作用是跳过循环体中剩余的语句而执行下一次循环而执行下一次循环u对于对于while和和do-while循环,循环,continue语句执行语句执行之后的动作是条件判断;对于之后的动作是条件判断;对于for循环,随后的动循环,随后的动作是变量更新作是变量更新22continue语句语句while()continue;while()break;跳出整个循环继续下一次循环23示例#includevoidmain()intnumber,sum;sum=0;while(1)printf(n请输入任意一个正整数:请输入任意一个正整数:);scanf(%d,&number);if(number=0)break;if(number%2!=0)continue;sum+=number;printf(sumis%dn,sum);24用VC环境的单步执行演示循环过程25嵌套循环嵌套循环一个循环体语句中又包含另一个循环语句,一个循环体语句中又包含另一个循环语句,称为循环嵌套。实际上前面介绍的三个循环语句称为循环嵌套。实际上前面介绍的三个循环语句(for、while、do-while)本身就相当于一条语)本身就相当于一条语句,程序中只要能放语句的地方,就可以放这三句,程序中只要能放语句的地方,就可以放这三个循环语句。个循环语句。26下面我们来看几种循环嵌套的格式:while()while()while()dowhile();for(;)while()dodowhile();while();for(;)for(;)dofor(;)while