第04章控制程序流程.pptx
《第04章控制程序流程.pptx》由会员分享,可在线阅读,更多相关《第04章控制程序流程.pptx(42页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第0404章控制程序流程章控制程序流程-2-本章内容安排本章内容安排&whilewhile循环循环&dowhiledowhile循环循环&forfor循环循环&高级循环高级循环&switchswitch-3-循循环的概念的概念&计算机擅长的工作之一是重复做相同的事情。计算机擅长的工作之一是重复做相同的事情。&许多编程任务可以通过重复相同的操作来完成,许多编程任务可以通过重复相同的操作来完成,通过指定次数或设定条件来控制执行过程。多次重通过指定次数或设定条件来控制执行过程。多次重复执行的结构称为复执行的结构称为循环循环,每一次循环称为,每一次循环称为迭代迭代。&whilewhile、dowhi
2、ledowhile、forfor-4-while循循环&在指定条件为在指定条件为truetrue的情况下,程序重复执行,直的情况下,程序重复执行,直到指定条件变为到指定条件变为falsefalse。&条件放在条件放在whilewhile之后的()内,循环执行的语句放之后的()内,循环执行的语句放在一对内。在一对内。表达式表达式表达式表达式F F F F循环体语句循环体语句循环体语句循环体语句T T T Twhile(表达式)循环体语句;-5-显示示099#include#include using namespace std;using namespace std;int main()int
3、main()int x=0;int x=0;while(while(x100 x100)cout x ;cout x ;x+;x+;return 0;return 0;p假如循环语句中没有假如循环语句中没有x+x+,则,则whilewhile循环循环 的条件永远为真,导致循环一直执行,的条件永远为真,导致循环一直执行,称为无限循环或死循环。称为无限循环或死循环。-6-显示示099,每行,每行5个个#include#include using namespace std;using namespace std;int main()int main()int x=0;int x=0;while(x
4、100)while(x100)cout x ;cout x ;x+;x+;if(x%5=0)coutendl;if(x%5=0)coutendl;return 0;return 0;p递增递增x x,每当,每当x x是是5 5的倍数时,输出回车。的倍数时,输出回车。-7-显示前示前20个整除个整除14的正整数的正整数#include#include using namespace std;using namespace std;int main()int main()int x=0,count=0;int x=0,count=0;while(while(truetrue)x+;x+;if(x%
5、14=0)if(x%14=0)coutx;coutx19)if(count19)break;break;return 0;return 0;p循环中让循环中让whilewhile的条件为的条件为truetrue,构,构 造造1 1个无限循环。个无限循环。p在循环体内,调用在循环体内,调用breakbreak语句,可语句,可 立即停止循环的执行。立即停止循环的执行。p使用使用while(true)while(true)结构时,要确结构时,要确 保循环能够停止。保循环能够停止。-8-显示前示前20个整除个整除14的正整数的正整数#include#include using namespace st
6、d;using namespace std;int main()int main()int x=0,count=0;int x=0,count=0;while(count19)while(count19)x+;x+;if(x%15!=0)if(x%15!=0)continue;continue;coutx;coutx;count+;count+;return 0;return 0;p在循环中遇到在循环中遇到continuecontinue语句,将语句,将 跳过余下的语句,执行下一次跳过余下的语句,执行下一次 迭代。迭代。pbreakbreak结束当前循环,而结束当前循环,而continueco
7、ntinue 结束本次迭代。结束本次迭代。-9-显示前示前20个整除个整除14的正整数的正整数#include#include using namespace std;using namespace std;int main()int main()int x=0,count=0;int x=0,count=0;while(count19)while(count19)x+=14;x+=14;coutx;coutx;count+;count+;return 0;return 0;p1414倍数,从倍数,从1414开始,依次递增开始,依次递增1414。-10-本章内容安排本章内容安排&whilewh
8、ile循环循环&dowhiledowhile循环循环&forfor循环循环&高级循环高级循环&switchswitch-11-dowhile循循环&whilewhile在执行循环前检查条件,如果此时条件为在执行循环前检查条件,如果此时条件为falsefalse,则一次循环也不执行。,则一次循环也不执行。&dowhiledowhile在循环之后检查条件,条件为在循环之后检查条件,条件为truetrue,继,继续循环,条件为续循环,条件为falsefalse结束循环。结束循环。do 循环体语句;while(表达式);表达式表达式F循环体语句循环体语句T-12-重复重复显示示单词指定次数指定次数#i
9、nclude#include using namespace std;using namespace std;int main()int main()int badger;int badger;coutHow many badgers?;coutbadger;cinbadger;do do coutBadger;cout0)while(badger0);coutn;coutn;return 0;return 0;p不要遗漏语句最后的;号。不要遗漏语句最后的;号。p无论条件如何设置,无论条件如何设置,dodowhilewhile循循 至少执行至少执行1 1次。次。pbreakbreak和和con
10、tinuecontinue仍然有效。仍然有效。-13-本章内容安排本章内容安排&whilewhile循环循环&dowhiledowhile循环循环&forfor循环循环&高级循环高级循环&switchswitch-14-for循循环&forfor循环将设置计数变量初值、检查条件、修改计循环将设置计数变量初值、检查条件、修改计数变量合并到数变量合并到1 1条语句中。条语句中。for(表达式1;表达式2;表达式3)循环体;表达式表达式表达式表达式2 2 2 2F F F F表达式表达式表达式表达式3 3 3 3表达式表达式表达式表达式1 1 1 1循环体语句循环体语句循环体语句循环体语句T T T
11、 T计算算1100的和的和#include#include using namespace std;using namespace std;int main()int main()int i,sum=0;int i,sum=0;for(i=1;i=100;i+)for(i=1;i=100;i+)sum+=i;sum+=i;cout“Sum:“sum“n”;cout“Sum:“sum“n”;return 0;return 0;p表达式表达式1 1:完成计数变量初始化。:完成计数变量初始化。p表达式表达式2 2:检查条件,确定是否:检查条件,确定是否 继续执行循环。继续执行循环。p表达式表达式3
12、3:修改计数变量的值。:修改计数变量的值。p3 3个表达式之间用分号分割。个表达式之间用分号分割。-15-16-本章内容安排本章内容安排&whilewhile循环循环&dowhiledowhile循环循环&forfor循环循环&高级循环高级循环&switchswitch1、for的的变化形式化形式1#include#include using namespace std;using namespace std;int main()int main()int i,sum;int i,sum;for(for(i=1,sum=0;i=1,sum=0;i=100;i+)i=100;i+)sum=sum
13、+i;sum=sum+i;cout“Sum:“sum“n”;cout“Sum:“sum“n”;return 0;return 0;p初始化多个变量时,用逗号进行初始化多个变量时,用逗号进行 分割。分割。p仍然是仍然是3 3大部分,用;分割大部分,用;分割-17-for的的变化形式化形式2#include#include using namespace std;using namespace std;int main()int main()int int i=1,sum=0i=1,sum=0;for(for(;i=100;i+)i=100;i+)sum=sum+i;sum=sum+i;cout“
14、Sum:“sum“n”;cout“Sum:“sum“n”;return 0;return 0;p3 3个表达式中的任意个表达式中的任意1 1个可以为空,个可以为空,但对应的分号不能省略。但对应的分号不能省略。-18-for的的变化形式化形式3#include#include using namespace std;using namespace std;int main()int main()int int i=1,sum=0i=1,sum=0;for(for(;i=100i=100;)sum=sum+i;sum=sum+i;i+;i+;cout“Sum:“sum“n”;cout“Sum:“s
15、um“n”;return 0;return 0;p将表达式将表达式3 3转移到循环体内部,已转移到循环体内部,已 经退化为经退化为whilewhile循环。循环。-19-for的的变化形式化形式4#include#include using namespace std;using namespace std;int main()int main()int int i=1,sum=0i=1,sum=0;for(for(;)sum=sum+i;sum=sum+i;if(i=100)if(i=100)break;break;i+;i+;cout“Sum:“sum“n”;cout“Sum:“sum“n
16、”;return 0;return 0;p将将3 3个表达式全部移出,退化为个表达式全部移出,退化为 while(true)while(true)结构。结构。-20-for的的变化形式化形式5#include#include using namespace std;using namespace std;int main()int main()int int i=1,sum=0i=1,sum=0;for(i=1;i=100;for(i=1;i=100;sum=sum+i,i+sum=sum+i,i+);cout“Sum:“sum“n”;cout“Sum:“sum“n”;return 0;ret
17、urn 0;p将循环体内的语句转移到某个表达式将循环体内的语句转移到某个表达式 中,不提倡这种用法。中,不提倡这种用法。p第第3 3部分为逗号表达式,顺序执行部分为逗号表达式,顺序执行-21-2、循、循环的典型的典型问题#include#include using namespace std;using namespace std;int main()int main()int i,sum=0;int i,sum=0;for(i=1;i=100;i+)for(i=1;i=100;i+);sum+=i;sum+=i;cout“Sum:“sum“n”;cout“Sum:“sum“n”;return
18、 0;return 0;p此时的此时的forfor循环,执行了循环,执行了100100次空次空 语句(;)。语句(;)。p真正的循环体真正的循环体sum+=isum+=i没有执行。没有执行。-22-循循环的典型的典型错误#include#include using namespace std;using namespace std;int main()int main()int int i=1,sum=0i=1,sum=0;for(;i=100;)for(;i=100;)sum=sum+i;sum=sum+i;i+;i+;cout“Sum:“sum“n”;cout“Sum:“sum“n”;re
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 04 控制程序 流程
限制150内