任务利用循环结构程序解决实际问题while.pptx
任务2.4利用循环结构程序解决实际问题在许多问题中需要用到循环控制,即重复执行同种性质的任务。C语言中,最基本的有while语句、do…while语句、for语句。while语句的一般形式:while(循环条件表达式)循环体语句2.4.1while循环结构程序设计【例2.22】用while语句实现1+2+3+…+100的和。#includestdio.hintmain(void){inti=1,sum=0;while(i=100){ sum=sum+i; i++;}printf(sum=%d\n,sum);}思考与实验:1)1+3+5+…+992)2+4+6+…+1003)1+2+3+…+n练习:【例2.23】输入一串字符以#结束,然后输出这串字符。说明:循环条件表达式一般是关系表达式或逻辑表达式,只要循环条件表达式的值为真(非0),即可继续执行循环体语句。如嵌入式系统软件的主函数一般用while(1)构成无限循环结构。请读者将例2.20程序的执行语句作为while(1)的循环体语句,运行程序并体会循环结构的作用。
2.4.2do…while循环结构程序设计do…while语句的一般形式: do 循环体语句 while(表达式);【例2.24】用do…while语句实现1+2+3+…+100的和。#includestdio.hintmain(void){inti=1,sum=0; do { sum=sum+i; i++; }while(i=100); printf(sum=%d\n,sum);}任务2.4利用循环结构程序解决实际问题
【例2.25】while和do…while循环的比较。2.4.2do…while循环结构程序设计通过测试,当输入i3时,两者运行结果相同;但当输入i≥3时,运行结果则不同。练习:【例2.26】将例1.11的顺序结构分别改写为while循环结构和do…while循环结构,并实现:正整数由键盘输入,然后倒序输出该整数。【例2.27】在例2.26的基础上实现:统计输入的非负整数的位数。任务2.4利用循环结构程序解决实际问题
2.4.3for循环结构程序设计for语句的一般形式:for(表达式1;表达式2;表达式3)循环体语句for语句最常用、最容易理解的应用形式:for(循环变量赋初值;循环条件;循环变量变化)循环体语句任务2.4利用循环结构程序解决实际问题
【例2.28】用for语句实现1+2+3+…+100的和。#includestdio.hintmain(void){printf(%d\n,sum);}inti,sum=0;for(i=1;i=100;i++)sum=sum+i;inti=1,sum=0;for(;i=100;i++)sum=sum+i;inti=1,sum=0;for(;i=100;){sum=sum+i;i++;}inti,sum;for(sum=0,i=1;i=100;i++)sum=sum+i;2.4.3for循环结构程序设计思考与实现:1)1+3+5+…+992)2+4+6+…+100 3)1+2+3+…+n任务2.4利用循环结构程序解决实际问题
(2)for(;;)与while(1)等价,表示无限循环。主函数一般为无限循环结构。嵌入式软件设计中常用的两种for语句形式:(1)for循环体可以是空语句,常用于软件延时。例如: for(i=0;i1000;i++);或for(i=1000;i0;i--);2.4.3for循环结构程序设计任务2.4利用循环结构程序解决实际问题
2.4.4循环嵌套一个循环体内又包含另一个完整的循环结构,称为循环嵌套。#includestdio.hintmain(void){ inti,j;//定义两个循环变量 intk=0;//存放循环次数 for(i=1;i