资源描述:
《西北工业大学 C语言课件 循环.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、循环结构程序设计C语言:结构化程序设计语言。由三种基本结构组成:顺序结构、选择结构和循环结构。回顾:在许多实际问题中都会遇到具有规律性的重复运算或操作,如求若干个数的和,此时就需要用到循环结构。C语言提供了三种循环语句,for语句,while语句和do-while语句。本节内容:循环结构程序设计1、while语句2、do-while语句3、for语句看下面的图形,试想用目前所学内容,怎样来编写它的程序?*****printf(“*”);printf(“*”);printf(“*”);printf(“*”);printf(“*
2、”);问题:若想画10行、100行、1000行呢?一、while语句的一般形式while(表达式)循环体语句;expr循环体假(0)真(非0)while执行流程:特点:先判断表达式,后执行循环体说明:循环体有可能一次也不执行循环体可为任意类型语句下列情况,退出while循环条件表达式不成立(为零)循环体内遇break.无限循环:while(1)循环体;例:程序讲解编程:计算鸭子的总数?#includemain(){inti,sum=0;i=1;while(i<=10){sum=sum+i;i++;}printf("%d
3、",sum);}循环初值循环终值循环变量增值循环条件循环体1+2+3+4+……..+10=?例用while循环求#includemain(){inti,sum=0;i=1;while(i<=100){sum=sum+i;i++;}printf("%d",sum);}循环初值循环终值循环变量增值循环条件循环体二、do~while语句的一般形式一般形式:do循环体语句;while(表达式);执行流程:do循环体expr假(0)真(非0)while#includemain(){inti,sum=0;i=1;do
4、{sum+=i;i++;}while(i<=100);printf("%d",sum);}例用do~while循环求例while和do~while比较#includemain(){inti,sum=0;scanf("%d",&i);do{sum+=i;i++;}while(i<=10);printf("%d",sum);}main(){inti,sum=0;scanf("%d",&i);while(i<=10){sum+=i;i++;}printf("%d",sum);}三、for语句的一般形式for(表达式1;表达式2;
5、表达式3)循环体语句;循环变量赋初值循环条件循环变量增值for语句的执行流程:步骤:1、先计算表达式1的值。2、再计算表达式2的值,若其值为真,则执行循环体一次;否则跳转第5步。3、然后计算表达式3的值。4、转回第2步。5、结束循环,执行for语句后面的语句。表达式2循环体假(0)真(非0)for表达式1表达式3问题:1、1+3+5+7+……………+99=?2、2+4+6+8+…………….+100=?#includemain(){inti,sum=0;for(i=1;i<=99;i+=2)sum+=i;printf("%d
6、",sum);}#includemain(){inti,sum=0;for(i=2;i<=100;i+=2)sum+=i;printf("%d",sum);}编程:求1~100内所有3的倍数的和。要求:两种方法。for语句的有关说明:1、三个表达式之间用“;”分隔,是分隔符,不是语句。2、圆括号中的表达式1,表达式2,表达式3可以部分或全部省略,但分号不可省略。i=1;1)、for语句的一般形式中”表达式1”可省略,此时应在给循环变量赋初值。for语句之前for(;i<=100;i++)sum+=i;分号不能少i=1;2)
7、、如果表达式3省略,此时程序设计者应另外设法保证循环能正常结束。for(i=1;i<=100;)sum+=i;{}i++;3)、可以同时省略表达式1和表达式3。for(;i<=100;)sum+=i;i=1;for(;i<=100;){sum+=i;i++;}4)、省略表达式2,程序会怎样?for(i=1;;i++)sum+=i;for(i=1;;i++){sum+=i;if(i>100)break;}5)、三个表达式均可省略for(;;)sum+=i;i=1;for(;;){sum+=i;i++;if(i>100)break;}6)、表达
8、式1可以是设置循环变量初值的赋值表达式,也可以是与循环变量无关的其他表达式。i=1;for(sum=0;i<=100;i++)sum+=i;for(i=1,sum=0;i<=10