《主要内容安排.ppt》由会员分享,可在线阅读,更多相关《主要内容安排.ppt(43页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、主要内容安排 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望第四章第四章 过程化语句过程化语句4.1 while4.1 while语句语句4.2 dowhile4.2 dowhile语句语句4.3 for4.3 for语句语句4.4 switch4.4 switch语句语句4.5 4.5 转向语句转向语句4.6 4.6 过程应用过程应用1 14.7 4.7 过程应用过程应用2 2 小结小结引言引言语句按语句按功能功能分类:分类:1.1.操作运算语句:描述计算机执行
2、的操作运算。操作运算语句:描述计算机执行的操作运算。2.2.流流程程控控制制语语句句(称称过过程程化化语语句句):控控制制上上述述操操作作运算的执行顺序。运算的执行顺序。4.1 while4.1 while语句语句组组成成:循循环环变变量量初初始始化化,继继续续条条件件,循循环环体体,改改变变循循环环变量的值。变量的值。格式格式:while(while(条件表达式条件表达式)循环体循环体执执行行过过程程:首首先先判判断断一一个个条条件件表表达达式式,以以便便决决定定是是否否应应当当进进入入和和执执行行循循环环体体,当当满满足足该该条条件件时时进进入入循循环环,不不满满足该条件时则不再执行循环。
3、足该条件时则不再执行循环。流程图流程图:P54P544.1 while4.1 while语句(续语句(续1 1)说明说明:(1 1)初始化:对循环控制变量,在开始循环前给)初始化:对循环控制变量,在开始循环前给循环控制变量赋初值。循环控制变量赋初值。(2 2)继续条件:决定循环继续多久,包括循环控)继续条件:决定循环继续多久,包括循环控制变量。制变量。(3 3)循环体:包括在执行循环时将要做的操作。)循环体:包括在执行循环时将要做的操作。4.1 while4.1 while语句(续语句(续2 2)注意注意:(1 1)循循环环体体:块块语语句句用用花花括括号号括括起起来来,简简单单语语句以分号;
4、结束。句以分号;结束。(2 2)循循环环体体:有有使使循循环环趋趋向向结结束束的的语语句句,否否则则为为死循环(永不终止)。死循环(永不终止)。(3 3)whilewhile循环:有可能一次也不执行循环体。循环:有可能一次也不执行循环体。4.1 while4.1 while语句(续语句(续3 3)例例:求:求1+2+3+1001+2+3+100的值。的值。/ch4-1/ch4-1#include#includevoid main()void main()int i=1,sum=0;int i=1,sum=0;while(i=100)sum=sum+i;while(i=100)sum=sum+i
5、;i=i+1;i=i+1;cout“sum=”sumendl;cout“sum=”sumendl;第四章第四章 过程化语句过程化语句4.1 while4.1 while语句语句4.2 do4.2 dowhilewhile语句语句4.3 for4.3 for语句语句4.4 switch4.4 switch语句语句4.5 4.5 转向语句转向语句4.6 4.6 过程应用过程应用1 14.7 4.7 过程应用过程应用2 2 小结小结4.2 dowhile4.2 dowhile语句语句组成组成:同同whilewhile语句语句格式格式:do do 循环体循环体 while(while(条件表达式条件表
6、达式);执执行行过过程程:当当流流程程到到达达dodo后后,立立即即执执行行循循环环体体语语句句,然然后后再再对对条条件件表表达达式式进进行行测测试试。若若条条件件表表达达式的值为真(非式的值为真(非0 0),则重复循环,否则退出。),则重复循环,否则退出。流程图流程图:P56P564.2 dowhile4.2 dowhile语句(续语句(续1 1)说明说明:(1 1)()(2 2)()(3 3)同)同whilewhile语句语句注意注意:(1 1)()(2 2)同)同whilewhile语句语句(3 3)dowhiledowhile循环中,循环中,while(while(条件表达式条件表达式
7、);/;不能遗忘不能遗忘(4 4)dowhiledowhile循环:至少执行一次循环体。循环:至少执行一次循环体。(5 5)与)与whilewhile语句关系:互相转化语句关系:互相转化4.2 dowhile4.2 dowhile语句(续语句(续2 2)例例1 1:从键盘中得到一个范围为:从键盘中得到一个范围为1-101-10的数。的数。/ch4-2/ch4-2#include#includevoid main()void main()int val;int val;docout”please enter a number between 1 and docoutval;cinval;if(v
8、al10)if(val10)cout”the number is not between 1 and 10n”;cout”the number is not between 1 and 10n”;while(val10);while(val10);cout”you entered a”valendl;cout”you entered a”valendl;4.2 dowhile4.2 dowhile语句(续语句(续3 3)例例2 2:求:求1+2+3+1001+2+3+100的值。的值。/ch4-3/ch4-3#include#includevoid main()void main()int i
9、=1,sum=0;int i=1,sum=0;do sum=sum+i;do sum=sum+i;i=i+1;i=i+1;while(i=100);while(i=100);cout“sum=”sumendl;cout“sum=”sumendl;第四章第四章 过程化语句过程化语句4.1 while4.1 while语句语句4.2 dowhile4.2 dowhile语句语句4.3 for4.3 for语句语句4.4 switch4.4 switch语句语句4.5 4.5 转向语句转向语句4.6 4.6 过程应用过程应用1 14.7 4.7 过程应用过程应用2 2 小结小结4.3 for4.3
10、for语句语句格式格式:for(for(表达式表达式1 1;表达式;表达式2 2;表达式;表达式3)3)循环体循环体执行过程执行过程:(1)(1)先求解表达式先求解表达式1 1;(2)(2)再求解表达式再求解表达式2 2,若为,若为0(0(假假),则结束循环,转到,则结束循环,转到(5)(5);(3)(3)若若表表达达式式2 2为为非非0 0(真真),执执行行循循环环体体,然然后后求求解解表表达达式式3 3;(4)(4)转回转回(2)(2);(5)(5)执行执行forfor语句下面的一个语句。语句下面的一个语句。4.3 for4.3 for语句(续语句(续1 1)流程图流程图:P58P58适用
11、范围适用范围:循环次数确定循环次数确定/不确定不确定循环次数循环次数:(终值(终值-初值)初值)/步长步长+1+1例:例:求求1+2+3+1001+2+3+100的值。的值。for(i=1;i=100;i+)sum+=i;for(i=1;i=100;i+)sum+=i;4.3 for4.3 for语句(续语句(续2 2)相当于相当于whilewhile:表达式表达式1 1;while(while(表达式表达式2)2)循环体循环体;表达式表达式3;3;灵活性灵活性:(1 1)表表达达式式1 1省省略略:在在forfor语语句句之之前前给给循循环环变变量量赋赋初初值值,但但分号不能省略。分号不能省
12、略。i=1;i=1;for(;i=100;i+)sum+=i;for(;i=100)break;sum+=i;if(i=100)break;for(i=1;1;i+)for(i=1;1;i+)sum+=i;if(i=100)break;sum+=i;if(i=100)break;4.3 for4.3 for语句(续语句(续4 4)灵活性灵活性:(续续2)2)(3 3)表表达达式式3 3省省略略:应应另另外外设设法法让让循循环环变变量量递递进进变变化化,以保证循环能正常结束。以保证循环能正常结束。for(i=1;i=100;)sum+=i+;for(i=1;i=100;)sum+=i+;(4 4
13、)表达式)表达式1 1、3 3可同时省略:可同时省略:i=1;i=1;for(;i=100;)sum+=i+;for(;i=100)break;for(;)sum+=i+;if(i=100)break;(6 6)表达式)表达式1 1、2 2、3 3都可以为任何表达式:都可以为任何表达式:(逗号表达式逗号表达式)for(sum=0,i=1;i=100;i+)sum+=i;for(sum=0,i=1;i=100;i+)sum+=i;for(i=1;sum+=i+,i=100;);for(i=1;sum+=i+,i=100;);for(i=1;i=100;sum+=i+);for(i=1;i=100
14、;sum+=i+);4.3 for4.3 for语句(续语句(续6 6)灵活性灵活性:(续续4)4)(7 7)表达式)表达式1 1可以是循环变量定义可以是循环变量定义:for(int i=1;i=100;i+)sum+=i;for(int i=1;i=100;i+)sum+=i;/i /i只在循环体中有效,循环退出后自动消失只在循环体中有效,循环退出后自动消失第四章第四章 过程化语句过程化语句4.1 while4.1 while语句语句4.2 dowhile4.2 dowhile语句语句4.3 for4.3 for语句语句4.4 switch4.4 switch语句语句4.5 4.5 转向语句
15、转向语句4.6 4.6 过程应用过程应用1 14.7 4.7 过程应用过程应用2 2 小结小结4.4 switch4.4 switch语句语句功能功能:实现多分支选择结构。实现多分支选择结构。格式格式:switch(switch(表达式表达式)case case 常量表达式常量表达式1 1:语句组:语句组1 1 case case 常量表达式常量表达式2 2:语句组:语句组2 2 case case 常量表达式常量表达式n n:语句组:语句组n n default:default:语句组语句组n+1/n+1/可选项可选项 4.4 switch4.4 switch语句(续语句(续1 1)例例:根
16、据考试成绩的等级输出百分制分数段。根据考试成绩的等级输出百分制分数段。char grade;/char grade;/swith(grade)swith(grade)case caseA A:cout:cout”85-100n85-100n”;case caseB B:cout:cout”70-84n70-84n”;case caseC C:cout:cout”60-69n60-69n”;case caseD D:cout:cout”60n60n”;default:cout default:cout”errornerrorn”;4.4 switch4.4 switch语句(续语句(续2 2)执
17、行过程执行过程:当当表表达达式式的的值值与与某某一一个个casecase后后面面的的常常量量表表达达式式值值相相等等时时,就就执执行行此此casecase后后面面的的语语句句,若若所所有有casecase中中的的常常量量表表达达式式值值都都没没有有与与表表达达式式值值匹匹配配,就就执执行行defaultdefault后后面面的的语语句句。(不能实现多选一)(不能实现多选一)说明说明:(1 1)switchswitch后面括号中的表达式只能是整型、字符型或后面括号中的表达式只能是整型、字符型或枚举型表达式(不能是实型)。枚举型表达式(不能是实型)。casecase后面的常量表达式之后面的常量表达
18、式之类型必须与其匹配。类型必须与其匹配。4.4 switch4.4 switch语句(续语句(续3 3)说明说明:(续:(续1 1)(2 2)casecase语语句句起起标标号号的的作作用用。标标号号不不能能重重名名,所所以以每每一一个个casecase常常量量表表达达式式的的值值必必须须互互不不相相同同,否否则则就就会会出出现现编编译译错错误。误。(3 3)casecase与与defaultdefault并并不不改改变变控控制制流流程程。casecase通通常常与与breakbreak语句联用,以保证多路分支的正确实现(实现多选一)。语句联用,以保证多路分支的正确实现(实现多选一)。(4 4
19、)各个)各个casecase的出现次序可以任意。的出现次序可以任意。4.4 switch4.4 switch语句(续语句(续4 4)说明说明:(续:(续2 2)(5 5)多个)多个casecase可以共用一组执行语句。可以共用一组执行语句。/case 1:case 1:case 2:case 2:case 3:cout“hello”;case 3:cout“hello”;(6 6)defaultdefault语句是可选的。语句是可选的。(7 7)用用ifif语语句句与与switchswitch语语句句可可以以互互相相补补充充。(ifelse(ifelse语语句句的执行体等价于的执行体等价于sw
20、itchswitch语句的语句的casecase中含有中含有breakbreak的语句组的语句组)4.4 switch4.4 switch语句(续语句(续5 5)例例:根据考试成绩的等级输出百分制分数段。根据考试成绩的等级输出百分制分数段。char grade;/char grade;/swith(grade)swith(grade)case caseA A:cout:cout”85-100n85-100n”;break;break;case caseB B:cout:cout”70-84n70-84n”;break;break;case caseC C:cout:cout”60-69n60-
21、69n”;break;break;case caseD D:cout:cout”60n60n”;break;break;default:cout default:cout”errornerrorn”;第四章第四章 过程化语句过程化语句4.1 while4.1 while语句语句4.2 dowhile4.2 dowhile语句语句4.3 for4.3 for语句语句4.4 switch4.4 switch语句语句4.5 4.5 转向语句转向语句4.6 4.6 过程应用过程应用1 14.7 4.7 过程应用过程应用2 2 小结小结4.5 4.5 转向语句转向语句主要内容:主要内容:一、一、brea
22、kbreak语句语句 二、二、continuecontinue语句语句 三、三、gotogoto语句语句4.5 4.5 转向语句转向语句一、一、breakbreak语句语句引言引言:breakbreak语语 句句 不不 能能 单单 独独 使使 用用,只只 能能 用用 在在while,dowhile,dowhile,forwhile,for和和switchswitch语句中。语句中。功能功能:(1 1)在在switchswitch语语句句中中:breakbreak用用来来使使流流程程跳跳出出switchswitch语语句句,继续执行继续执行switchswitch后的语句。后的语句。(2 2)在
23、在循循环环语语句句中中:breakbreak用用来来从从最最近近的的封封闭闭循循环环体体内内跳跳出。出。4.5 4.5 转向语句(续转向语句(续1 1)一、一、breakbreak语句(续)语句(续)格式格式:break break;例:例:for(;)for(;)for(;)for(;)/if(i=1)break;if(i=1)break;/a=1;a=1;/4.5 4.5 转向语句(续转向语句(续2 2)二、二、continuecontinue语句语句引言引言:continuecontinue语句不能单独使用,只能用在循环语句中。语句不能单独使用,只能用在循环语句中。功能功能:结结束束本本
24、次次(轮轮)循循环环,即即跳跳过过循循环环体体中中尚尚未未执执行行的的语语句,接着进行下一次(轮)是否执行循环的判定。句,接着进行下一次(轮)是否执行循环的判定。4.5 4.5 转向语句(续转向语句(续3 3)二、二、continuecontinue语句(续语句(续1 1)例:输出例:输出100-200100-200之间不能被之间不能被3 3整除的数。整除的数。for(int n=100;n=200;n+)/for(int n=100;n=200;n+)/方法一方法一 if(n%3=0)continue;if(n%3=0)continue;coutnendl;coutnendl;/for(in
25、t n=100;n=200;n+)/for(int n=100;n=200;n+)/方法二方法二 if(n%3!=0)coutnendl;/if(n%3!=0)coutnendl;/4.5 4.5 转向语句(续转向语句(续4 4)二、二、continuecontinue语句(续语句(续2 2)continuecontinue语句和语句和breakbreak语句的语句的区别区别是:是:(1)continue (1)continue语句语句:只结束本次循环,而不是终止整个只结束本次循环,而不是终止整个循环的执行。循环的执行。(2)break (2)break语句语句:结束整个循环结束整个循环,不再
26、进行条件判断。不再进行条件判断。流程图流程图:P65 P65 图图4-44-44.5 4.5 转向语句(续转向语句(续5 5)三、三、gotogoto语句语句引言引言:gotogoto语句是无条件转移语句。(不要多用)语句是无条件转移语句。(不要多用)功能功能:将控制从它所在的地方转移到标识符所标识的语句处。将控制从它所在的地方转移到标识符所标识的语句处。缺点:缺点:非结构化语句,使程序流程无规则,可读性差。非结构化语句,使程序流程无规则,可读性差。优点:优点:当要从多重循环深处直接跳转到循环之外时,用当要从多重循环深处直接跳转到循环之外时,用gotogoto好。好。如果用如果用breakbr
27、eak语句,将要用多次。语句,将要用多次。4.5 4.5 转向语句(续转向语句(续6 6)三、三、gotogoto语句(续)语句(续)例:求例:求1 1加到加到100100的和。的和。int i=1;sum=0;int i=1;sum=0;loop:loop:sum+=i+;sum+=i+;if(i=100)if(i=100)goto loop;goto loop;coutcout”sum issum is”sumendl;sumendl;第四章第四章 过程化语句过程化语句4.1 while4.1 while语句语句4.2 dowhile4.2 dowhile语句语句4.3 for4.3 fo
28、r语句语句4.4 switch4.4 switch语句语句4.5 4.5 转向语句转向语句4.6 4.6 过程应用过程应用1 14.7 4.7 过程应用过程应用2 2 小结小结4.6 4.6 过程应用过程应用1 1:求:求 用用公公式式“/41-1/3+1/5-1/7+”“/41-1/3+1/5-1/7+”,求求的的近似值,直到最后一项的绝对值不大于近似值,直到最后一项的绝对值不大于1010-8-8为止。为止。第四章第四章 过程化语句过程化语句4.1 while4.1 while语句语句4.2 dowhile4.2 dowhile语句语句4.3 for4.3 for语句语句4.4 switch
29、4.4 switch语句语句4.5 4.5 转向语句转向语句4.6 4.6 过程应用过程应用1 14.7 4.7 过程应用过程应用2 2 小结小结4.7 4.7 过程应用过程应用2 2:判明素数:判明素数 给定一个整数给定一个整数m m,判断其是否为素数。,判断其是否为素数。第四章第四章 过程化语句过程化语句4.1 while4.1 while语句语句4.2 dowhile4.2 dowhile语句语句4.3 for4.3 for语句语句4.4 switch4.4 switch语句语句4.5 4.5 转向语句转向语句4.6 4.6 过程应用过程应用1 14.7 4.7 过程应用过程应用2 2
30、小结小结小结小结 循环是一组语句,计算机反复执行这组语句循环是一组语句,计算机反复执行这组语句直到满足终止条件为止。直到满足终止条件为止。可以通过循环变量来控制循环。如果事先不可以通过循环变量来控制循环。如果事先不知道循环次数,可以在循环体中通过条件判断知道循环次数,可以在循环体中通过条件判断中间跳转的方法终止循环。中间跳转的方法终止循环。while while、dowhiledowhile和和forfor语句都是循环语句,语句都是循环语句,它们可以互相转化。它们可以互相转化。switch switch是多分支语句,它是是多分支语句,它是ifif语句的一个补语句的一个补充,但并不是必需的。当用
31、它编制程序会带来充,但并不是必需的。当用它编制程序会带来可读性良好的效果时,就采用它。可读性良好的效果时,就采用它。小结(续)小结(续)用这些语句编制的程序,其结构性比较好,用这些语句编制的程序,其结构性比较好,所以可读性也比较好。现代程序设计反对使用所以可读性也比较好。现代程序设计反对使用gotogoto编程,因为它破坏程序过程中的结构,使编程,因为它破坏程序过程中的结构,使之不可读,难维护。之不可读,难维护。学习程序设计的主要任务是学习如何组织程学习程序设计的主要任务是学习如何组织程序,表达实际问题的已有解决方法,而不是去序,表达实际问题的已有解决方法,而不是去寻找实际问题的解决方法。寻找实际问题的解决方法。程序设计更多的是体现其艺术性,可读性是程序设计更多的是体现其艺术性,可读性是我们追求的重要目标。我们追求的重要目标。