第三章控制语句课件_第1页
第三章控制语句课件_第2页
第三章控制语句课件_第3页
第三章控制语句课件_第4页
第三章控制语句课件_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

章控制语句程序的三种基本结构条件分支语句多路开关语句循环语句循环嵌套章控制语句程序的三种基本结构程序的三种基本结构语句的类型五类三种基本结构顺序、选择、循环2程序的三种基本结构语句的类型2程序结构3程序结构3语句的类型.控制语句①()... (条件语句)② (多分支选择语句)③()... (循环语句)④()... (循环语句)⑤() (循环语句)⑥ (结束本次循环语句)⑦ (中止执行或循环语句)⑧ (转向语句)⑨ (从函数返回语句)4语句的类型.控制语句4语句的类型.函数调用语句 函数调用语句由一个函数调用加一个分号构成。 例: ();.表达式语句表达式语句由一个表达式加一个分号构成。 例: ; ; ;5语句的类型.函数调用语句5语句的类型.空语句空语句是只有一个分号的语句,不执行任何操作。形式为: ;.复合语句把一些语句用{}括起来称为复合语句(又称分程序),通常由多条语句构成,但在逻辑上可以看作一条语句。例:(>){;;;}6语句的类型.空语句6三种基本结构顺序结构例,从键盘输入一个学生的学号、姓名和成绩,并输出。7三种基本结构顺序结构7三种基本结构.选择结构8三种基本结构.选择结构8三种基本结构.循环结构9三种基本结构.循环结构9条件分支语句语句的三种流程语句嵌套条件运算符10条件分支语句语句的三种流程10语句的三种流程.单分支语句(表达式)语句例:(){<<"最高分"<<; }(){<<"缺考"<<; }11语句的三种流程.单分支语句11语句的三种流程.双分支语句(表达式)语句

语句例:(>){<<“合格"<<; }{<<“不合格"<<; }12语句的三种流程.双分支语句12语句的三种流程.多分支语句(表达式)语句(表达式)语句(表达式)语句...(表达式)语句

语句13语句的三种流程.多分支语句(表达式)13语句的三种流程.多分支语句例: (>) {(''); } (>) {(''); } (>) {(''); } (>) {(''); }

{(''); }14语句的三种流程.多分支语句14.关于语句的说明种形式的语句都只是一条语句后面都有表达式,一般为逻辑表达式或关系表达式,求解逻辑值。常犯的逻辑错误:(){<<"***"<<;}改为:(){<<"***"<<;}语句的三种流程15.关于语句的说明语句的三种流程15语句嵌套(表达式)(表达式)语句

语句(表达式)语句

语句与配对原则:总是与它前面最近的未曾配对的配对。内嵌if内嵌if16语句嵌套(表达式)与配对原则:内嵌if内嵌if16编程实现以下符号函数的功能:算法分析:语句嵌套举例17编程实现以下符号函数的功能:语句嵌套举例17......,;<<"";>>;(>) 如果大于{;}(<) 如果小于{;} 如果等于{;}<<""<<<<;......

语句嵌套举例(编程实现)18......语句嵌套举例(编程实现)18......,;<<"";>>;(>) 如果大于{;}(<) 如果小于{;} 如果等于{;}<<""<<<<;......

语句嵌套举例(编程实现);(>)(>);

;也能实现吗?为什么?19......语句嵌套举例(编程实现);也能实条件运算符: ?:条件表达式:由条件运算符和操作数构成的表达式格式:表达式?表达式:表达式功能:若表达式成立,则求解表达式,并将表达式的值作为整个表达式的值;否则,求解表达式,并将表达式的值作为整个表达式的值。条件运算符20条件运算符: ?:条件运算符20例:将、、三个变量中最大的值赋值给变量。用语句实现: (>) (>) ;

;

(>) ;

;用条件运算符实现: >?(>?:):(>?:);条件运算符21例:将、、三个变量中最大的值赋值给变量。条件运算符21多路开关语句为什么使用?怎样正确使用?22多路开关语句为什么使用?22多路开关语句流程图:23多路开关语句流程图:23多路开关语句基本格式:(表达式){常量表达式: 语句;;常量表达式: 语句;;……常量表达式: 语句;;: 语句;}24多路开关语句基本格式:24多路开关语句举例例,在“学生选课系统”中,根据用户输入的编号,输出需要调用的操作模块名称。根据学生的百分制分数值打出~等级。(){::('');;:('');;:('');;:('');;:('');}25多路开关语句举例例,在“学生选课系统”中,根据用户输入的编多路开关语句说明:后面表达式可以是中任意类型的合法表达式,通常是整型或字符型,求解其实际值,而非逻辑值;每一个后的常量表达式必须互不相同,否则在编译时系统会报错;不是必不可少的;和的出现顺序不影响执行结果;最后一个情况(无论是还是)之后可以不使用,流程自动结束语句。(表达式){常量表达式:常量表达式:语句;;……常量表达式:语句;;: 语句;}26多路开关语句说明:(表达式)26循环语句语句语句语句27循环语句语句27语句基本格式:说明:后面的表达式可以是中任意类型合法的表达式,先求其实际值,进一步求得其逻辑值;若表达式的值一开始就为,则循环体将一次也不执行;当循环体由多个语句组成时,必须用{}把它们括起来,使它们形成复合语句;为了使循环最终能够结束,而不至于产生“死循环”,每执行一次循环体,表达式的值都应该有所变化。(表达式){ 语句(组);}28语句基本格式:(表达式)28语句举例利用以下公式计算π的值,要求精度控制在内。算法分析:每次得到新的一项,并累加。关键:如何得到新项?29语句举例利用以下公式计算π的值,要求精度控制在内。29语句举例图:当前项分子初始化为当前项分母初始化为当前项初始化为初始化为(当前项绝对值大于)

累加当前项

计算当前项的分子

计算当前项的分母

计算新的当前项*输出30语句举例当前项分子初始化为当前项分母初始化为当前项初始化语句举例(编程实现)......;;;;(()>){ ; ; ; ();}*;<<""<<<<;......31语句举例(编程实现)......31语句基本格式:说明:在后必须有一个“;”,表示语句结束;由于语句是先执行循环体语句再判断表达式的值,所以无论一开始判断表达式的值为“真”还是“假”,循环体中的语句都至少被执行一次;如果语句的循环体部分是由多个语句组成的,则必须用花括号{}括起来,使它们形成复合语句。{ 语句(组);}(表达式);32语句基本格式:32语句举例将用户输入的一个正整数倒序输出。例如,输入,则输出。算法分析:如何求得正整数的某一位?如何倒序输出?33语句举例将用户输入的一个正整数倒序输出。例如,输入,则输出语句举例(编程实现)......;<<"请输入一个正整数:";>>;<<"倒序结果:";{<<;;}(>);<<;......34语句举例(编程实现)......34循环语句基本格式:说明:三个表达式之间必须用分号间隔;任何一个表达式都可以省略,但其中的分号一定要保留;若循环体部分由多个语句组成,则必须用花括号{}括起来,使它们形成复合语句;表达式和表达式既可以是一个简单表达式,也可以是由逗号连接的多个表达式。(表达式;表达式;表达式){ 循环体语句;}35循环语句基本格式:(表达式;表达式;表达式)35循环语句举例由键盘输入全体考生的语言成绩,并求平均分。算法分析:利用循环依次输入每一位考生的成绩,并将其累加起来。若考生人数确定(即循环次数确定),选用循环更为方便。36循环语句举例由键盘输入全体考生的语言成绩,并求平均分。36循环语句举例(编程实现)......; 循环变量; 考生人数; 当前考生的成绩; 总成绩; 平均成绩<<"请输入考生人数:";>>;<<"请逐一输入各位考生的成绩:"<<;(;<;){>>; 输入当前考生成绩; 累加}; 求平均值<<"平均分是"<<<<;......37循环语句举例(编程实现)......37,和语句的比较①一般情况下,三种循环语句是可以互换的;②一般来说,语句用于循环次数明确的情况,而和语句用于循环次数不确定但循环条件明确的情况;③用循环时,循环变量的初始化可以由表达式来实现,而用和循环时,循环变量的初始化需要在语句之前完成。④循环更加灵活。(,;<;){;}(,;<;,);38,和语句的比较①一般情况下,三种循环语句是可以互换的;循环嵌套一个循环体内又包含另一个完整的循环结构,称为循环的嵌套。39循环嵌套一个循环体内又包含另一个完整的循环循环嵌套(){…(){…}…}(){…

{…}();…}(){…(;;){…}…}40循环嵌套()()()40循环嵌套

{…

{…}();…}();

{…(){…}…}();{…(;;){…}…}();41循环嵌套41循环嵌套(;;){…

{…}();…}(;;){…(){…}…}(;;){…(;;){…}…}42循环嵌套(;;)(;;)(;;)4循环嵌套举例请输出九九乘法表。算法分析:可使用循环依次输出九九表的各行,表每行的输出又需要一个循环——双重循环外层循环变量代表被乘数内层循环变量代表乘数外层循环依次处理各行,内层循环中依次输出当前行的每一个乘法口诀(;<;)依次处理行

(;<;)

输出乘法表的当前项*

输出换行符43循环嵌套举例请输出九九乘法表。(;<;)依次循环嵌套举例(编程实现)请输出九九乘法表。......;循环变量,控制行;循环变量,控制列(;<;)依次处理各行{(;<;)依次处理各列{<<<<"*"<<<<""<<*<<"";}<<;结束本行}......44循环嵌套举例(编程实现)请输出九九乘法表。44,

和语句条件转向语句——,无条件转向语句——45,

和语句条件转向语句——,45语句用法:只能用在语句和循环语句中。作用:用在语句中控制分支的出口。用在循环体中,使流程从循环体内跳出,从而提前结束循环。46语句用法:只能用在语句和循环语句中。46编程计算×××…×,。<>;(){ ,; () { *;; (>); } (“**…*\”,–,); ;}语句举例用常量作判断表达式,好像形成了一个无限循环……当循环终止条件满足时,用语句结束循环。47编程计算×××…×,。语句举例用常量作判断表达式,好像将一个正整数分解质因数。例如:输入,打印出×××。算法分析:要将一个数分解为质因数,可从质数开始,判断其是否为的因子。如果是,则输出,再将除以该因子,继续判断;如果不是,则将因数的值增继续判断。本例可使用双重循环:外层循环对的可能因子进行循环,的因子最小可能是,最大不能超过本身;在内层循环,如果是的因子,则输出,然后将除以,继续判断是否是的因子,这样就可以将进行完全分解了。语句举例48将一个正整数分解质因数。例如:输入,打印出×将一个正整数分解质因数。例如:输入,打印出×××。语句举例49将一个正整数分解质因数。例如:输入,打印出×......;待分解的数;外层循环的循环变量,表示的因子<<"请输入一个正整数:";>>;<<<<"";......语句举例(编程实现)50......语句举例(编程实现)50......(;<;)对的所有可能正因子进行循环{()不等于其正因子时循环{()如果是的正因子{<<<<"×";输出正因子; 除以当前正因子}

{;}不是的因子,跳出当前的循环}}<<<<;输出最后一个因子......语句举例(编程实现)51......语句举例(编程实现)51语句用法:只能用在循环语句中。作用:结束本次循环,立即开始执行下一次循环。52语句用法:只能用在循环语句中。52编程计算~之间所有偶数的和。......;循环变量,当前要累加的数;累加和,初始化为(;<;)对~中每个数进行循环{()如果不是偶数{;跳过累加};累加当前数字}<<"…"<<<<;......语句举例53编程计算~之间所有偶数的和。语句举例53基本结构:标识符;作用:与条件判断相结合可以构成循环结构或跳出循环,但非实现循环结构的专用语句。优点:灵活,尤其在多层循环嵌套的内层中跳出的情况下,语句可方便实现;缺点:可能会使程序流程无规律,可读性差。语句54基本结构:标识符;语句54用逐个判别法求出~以内的所有质数。算法分析:可使用双重循环:外循环对~的所有数进行枚举;内循环对的所有可能正因子进行枚举,如果某个能整除,则转向对非质数处理的相应语句;如果所有的均不能整除,则是质数,输出即可。语句举例55用逐个判别法求出~以内的所有质数。语句举例55<> 包含输入输出接口文件; 引用标准命名空间() 定义主函数{;循环变量,枚举所有的数;循环变量,枚举所有的正因子;质数的个数,初始为......语句举例(编程实现)56<> (;<;) 循环处理所有的数{(;*<;) 循环处理的所有可能正因子{() 如果是的因子{;} 转向非质数处理语句}<<<<""; 输出当前质数; 质数个数增()如果是的倍数,本行已输出个数{<<;} 输出换行符: 非质数处理语句; 什么事也不做,但空语句不能省略};}语句举例(编程实现)57(;<;) 循环处理所程序举例58程序举例58某次面试有若干位专家为面试者打出百分制分值,计算面试者最后得分的方法是:去掉一个最高分,去掉一个最低分,取剩余成绩的平均分。编写程序,输入一位面试者的若干成绩,以作为输入结束标记,计算其最终得分。算法分析:在循环中完成输入评分、累加成绩、求最高及最低分等操作。循环完成后,将总成绩减去最高分和最低分,除以计分专家的人数即可得到平均分。因为专家数不定,故循环需以“当前成绩是”为结束条件。如何求一系列数字中的最大值和最小值?可以设一个变量存储最大值,其初值很小,如;在循环中,如果当前评分大于,则将更新为当前评分;这样循环结束后,的值就是所有评分中的最大值。同理可得最小值。例59某次面试有若干位专家为面试者打出百分制分值,例(流图)60例(流图)60<> 包含输入输出接口文件; 引用标准命名空间()定义主函数{; 专家打分; 最低分; 最高分; 总分; 专家数<<"输入专家评分,以结束:"<<;>>; 输入第一个分数;设读入第一个分数为最高分和最低分(){; 专家数增......

例(编程实现)61<> 包含输入输出接口文件例(编程实现)61......;分数累加(>)如果当前分数大于最高分{;则将最高分更新}(<)如果当前分数小于最低分{;则将最低分更新}>>;输入下一个分数};去掉一个最高分和最低分<<"最后得分:"<<()<<;;}例(编程实现)62......例(编程实现)62写一个程序,打印输入中的单词,每行打印一个单词。(假定空格和制表位都是单词间的分隔符)算法分析:在一串字符中,一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论