欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    《c语言教学资料》3程序设计结构.ppt

    • 资源ID:80470323       资源大小:243.50KB        全文页数:66页
    • 资源格式: PPT        下载积分:11.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要11.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《c语言教学资料》3程序设计结构.ppt

    第第3章章 程序程序设计结构构2第第3 3章章 程序设计结构程序设计结构本章内容本章内容 3.2 顺序结构顺序结构 3.3 选择结构选择结构 3.4 循环结构循环结构 3.1 程序设计结构的基本概念程序设计结构的基本概念 3.5 辅助控制语句辅助控制语句3 3.1 3.1 程序设计结构的基本概念程序设计结构的基本概念本节内容本节内容 3.1.2 程序设计的三种基本结构程序设计的三种基本结构 3.1.3 使用流程图描述程序算法使用流程图描述程序算法 3.1.4 C语句语句 3.1.1 机构化程序设计的基本原则机构化程序设计的基本原则4 3.1.1 3.1.1 结构化程序设计的基本原则结构化程序设计的基本原则v结构化程序设计是从宏观角度描述程序设计。结构化程序设计是从宏观角度描述程序设计。v一个比较大的程序是由不同功能模块构成,每个一个比较大的程序是由不同功能模块构成,每个模块完成一定的功能,而每个模块又是由三种基模块完成一定的功能,而每个模块又是由三种基本程序设计结构描述的。本程序设计结构描述的。v结构化程序设计强调程序设计风格和程序结构的结构化程序设计强调程序设计风格和程序结构的规范化,提倡清晰的结构。规范化,提倡清晰的结构。v结构化程序设计应遵循下述原则:结构化程序设计应遵循下述原则:(1 1)自顶向下)自顶向下(2 2)逐步细化)逐步细化(3 3)模块化设计)模块化设计(4 4)结构化编码)结构化编码53.1.2 3.1.2 程序设计的三种基本结构程序设计的三种基本结构v3.1.2.1 3.1.2.1 顺序结构顺序结构v按设定的顺序一步一步的执行操作步骤,直到完按设定的顺序一步一步的执行操作步骤,直到完成全部工作。成全部工作。v3.1.2.2 3.1.2.2 选择结构选择结构v此结构一定包含一个判断,根据判断结果的不同,此结构一定包含一个判断,根据判断结果的不同,执行不同操作步骤,获得不同的结果。执行不同操作步骤,获得不同的结果。v3.1.2.3 3.1.2.3 循环结构循环结构v此结构一定包含一个判断,如果判断结果满足一此结构一定包含一个判断,如果判断结果满足一定的条件,则反复执行一段操作步骤,直到判断定的条件,则反复执行一段操作步骤,直到判断结果不满足条件为止结果不满足条件为止 。63.1.2 3.1.2 程序设计的三种基本结构程序设计的三种基本结构v三种基本结构有以下共同特点:三种基本结构有以下共同特点:v(1 1)只有一个入口。)只有一个入口。v(2 2)只有一个出口。)只有一个出口。v(3 3)结构内的每一部分都有机会被执行到。)结构内的每一部分都有机会被执行到。v(4 4)结构内不存在)结构内不存在“死循环死循环”。73.1.3 3.1.3 使用流程图描述程序算法使用流程图描述程序算法v编写一个大一点的程序,在编写代码前,首先要编写一个大一点的程序,在编写代码前,首先要写出程序的算法。程序算法可以用自然语言、伪写出程序的算法。程序算法可以用自然语言、伪代码、程序框图或代码、程序框图或N/SN/S图来表示。图来表示。v用程序流程图来描述程设计的算法是比较通用的用程序流程图来描述程设计的算法是比较通用的做法,程序流程图就是用框图来表示程序设计的做法,程序流程图就是用框图来表示程序设计的算法。算法。8 3.1.4 C3.1.4 C语句语句v在在C C语言程序设计中,是以语句为单位向计算机发语言程序设计中,是以语句为单位向计算机发出操作命令的。出操作命令的。v一个实际的程序是由若干个语句构成的,语句是一个实际的程序是由若干个语句构成的,语句是最小的程序设计单位,一个语句经编译后产生若最小的程序设计单位,一个语句经编译后产生若干条机器指令。干条机器指令。vC C语言把语句分成语言把语句分成5 5类(函数调用语句、控制语句、类(函数调用语句、控制语句、空语句、复合语句、表达式语句),只有控制语空语句、复合语句、表达式语句),只有控制语句是系统提供的,其他语句都是程序设计人员根句是系统提供的,其他语句都是程序设计人员根据具体操作给出的。据具体操作给出的。93.1.4 C3.1.4 C语句语句v(1)(1)表达式语句。表达式语句。表达式语句由一个表达式加一个表达式语句由一个表达式加一个分号构成分号构成,最典型的是,由赋值表达式构成一个,最典型的是,由赋值表达式构成一个赋值语句。赋值语句。v例如:例如:ve=3.2 e=3.2 是一个赋值表达式,是一个赋值表达式,ve=3.2e=3.2;是一个赋值语句。;是一个赋值语句。103.1.4 C3.1.4 C语句语句v(2)(2)控制语句。控制语句用于完成一定的控制功能。控制语句。控制语句用于完成一定的控制功能。if()else if()else (条件语句)(条件语句)for()for()(循环语句)(循环语句)while()while()(循环语句)(循环语句)dowhile()dowhile()(循环语句)(循环语句)continue continue (结束本次循环语句)(结束本次循环语句)break break (中止执行(中止执行switchswitch或循环语句)或循环语句)switch switch (多分支选择语句)(多分支选择语句)goto goto (转向语句)(转向语句)return return (从函数返回语句)(从函数返回语句)113.1.4 C3.1.4 C语句语句v(3)(3)函数调用语句。函数调用语句由一个被调用函函数调用语句。函数调用语句由一个被调用函数加一个分号构成,例如:数加一个分号构成,例如:printf(“This is a C programing.”)printf(“This is a C programing.”);v(4)(4)复合语句。可以用把一组语句括起来构成复合语句。可以用把一组语句括起来构成复合语句(又称为分程序)。例如:复合语句(又称为分程序)。例如:m=a;a=b;b=m;m=a;a=b;b=m;v(5)(5)空语句。下面是一个空语句:空语句。下面是一个空语句:;123.1.4 C3.1.4 C语句语句vC C程序中的数据类型定义、预处理命令及注释行都程序中的数据类型定义、预处理命令及注释行都不是语句。不是语句。vC C语言允许一行写几个语句,也允许一个语句拆开语言允许一行写几个语句,也允许一个语句拆开写在几行上,对书写格式没有固定要求,为了读写在几行上,对书写格式没有固定要求,为了读写程序的方便,在书写程序时,还应错落有致。写程序的方便,在书写程序时,还应错落有致。133.2 3.2 顺序结构顺序结构v在顺序结构中,程序按照由上往下的顺序逐个执在顺序结构中,程序按照由上往下的顺序逐个执行各语句。行各语句。#includevoid main()int a=3,b=4;int temp;temp=a;a=b;b=temp;printf(a=%d,b=%dn,a,b);【例例3-2】交换交换a、b两个数的两个数的值值14 3.3 3.3 选择结构选择结构本节内容本节内容 3.3.2 多分支语句多分支语句 3.3.1 条件语句条件语句15 3.3.1 3.3.1 条件语句条件语句v条件语句首先判断条件,根据条件满足情况,确条件语句首先判断条件,根据条件满足情况,确定执行哪些程序语句。定执行哪些程序语句。v在条件语句中,要给出测试的条件,它可是任何在条件语句中,要给出测试的条件,它可是任何常量、变量或表达式。大多数情况下,条件语句常量、变量或表达式。大多数情况下,条件语句中被测试的条件为关系表达式或逻辑表达式。在中被测试的条件为关系表达式或逻辑表达式。在条件语句中,条件的计算结果为非条件语句中,条件的计算结果为非0 0时满足条件,时满足条件,否则不满足条件。否则不满足条件。if(x5)if(x5)if(a&b)if(a&b)163.3.1 3.3.1 条件语句条件语句v3.3.1.1 3.3.1.1 单分支选择结构单分支选择结构v1 1格式格式 ifif(E E)语句组语句组;v2 2功能功能v若若E E为非为非0 0,即为真值时,执行,即为真值时,执行ifif语句中的语句组,语句中的语句组,否则执行后面的语句。否则执行后面的语句。173.3.1 3.3.1 条件语句条件语句表达式表达式表达式表达式语句组语句组语句组语句组FTIf的后续语句183.3.1 3.3.1 条件语句条件语句#includevoid main()int x;printf(please input x:n);scanf(%d,&x);if(x0)x=-x;/if语句中只有这一句,可以省略花括号 printf(%dn,x);【例例3-4】从键盘上输入一个数,从键盘上输入一个数,求这个数的绝对值求这个数的绝对值193.3.1 3.3.1 条件语句条件语句#includevoid main()float a,b,s;scanf(%f,%f,&a,&b);s=a;if(ab)s=b;s=s*s;/变量s中保存a、b中比较大的一个数的平方 printf(s=%fn,s);【例例3-5】求任意两个数字求任意两个数字a、b中比较大的那个数的平方中比较大的那个数的平方203.3.1 3.3.1 条件语句条件语句#includevoid main()float a,b,s;float t;scanf(%f,%f,&a,&b);if(ab)/要执行一系列语句,要用花括号括起来 t=a;a=b;b=t;s=a*a;printf(s=%fn,s);另一解法另一解法213.3.1 3.3.1 条件语句条件语句v3.3.1.2 3.3.1.2 双分支选择结构双分支选择结构v1 1格式格式 ifif(E E)语句组语句组1;1;elseelse 语句组语句组2;2;v2 2功能功能v如果如果E E为非为非0 0,则执行语句组,则执行语句组1 1的语句,然后执行整个的语句,然后执行整个if-if-elseelse的后续语句;否则执行语句组的后续语句;否则执行语句组2 2,然后执行后续语句。,然后执行后续语句。223.3.1 3.3.1 条件语句条件语句表达式表达式表达式表达式语句语句语句语句1 1 1 1语句语句语句语句2 2 2 2TFIf-else的后续语句233.3.1 3.3.1 条件语句条件语句#includevoid main()int x,y;scanf(%d,&x);if(x0)y=x*x;else y=2*x;printf(y=%dn,y);【例例3-6】设设x为任意整数,求为任意整数,求y的值,当的值,当x0时,计算时,计算y=x*x;当当x=0时,计算时,计算y=2*x243.3.1 3.3.1 条件语句条件语句v3.3.1.3 3.3.1.3 用用if-elseif-else实现多分支选择结构实现多分支选择结构v实现多分支选择结构的实现多分支选择结构的ifif语句结构如下:语句结构如下:if(E1)if(E1)语句组语句组1;1;else if(E2)else if(E2)语句组语句组2;2;else if(E3)else if(E3)语句组语句组3;3;else if(En)else if(En)语句组语句组n;n;else else 语句组语句组n+1;n+1;后续语句后续语句253.3.1 3.3.1 条件语句条件语句#includevoid main()float x,y;scanf(%f,&x);if(x=-10)y=2*x;else if(x=0)y=2+x;else if(x=10)y=x-2;else y=x/10;printf(y=%fn,y);263.3.1 3.3.1 条件语句条件语句v3.3.1.4 if3.3.1.4 if语句的嵌套语句的嵌套vifif语句是可以嵌套的,即语句是可以嵌套的,即ifif语句内部还可以包含语句内部还可以包含ifif语句。语句。if(E1)if(E1)if(E2)if(E2)语句组语句组1;1;else else 语句组语句组2;2;else else if(E3)if(E3)语句组语句组3;3;else else 语句组语句组4;4;后续语句后续语句273.3.1 3.3.1 条件语句条件语句#includevoid main()int a,b,c;int small;scanf(%d,%d,%d,&a,&b,&c);if(a=b)if(a=c)small=a;else small=c;/这对花括号可以不用 else if(b=0)if(x=0)printf(x is zero);else printf(x is positive);int x=10;if(x=0)if(x=0)printf(x is zero);else printf(x is positive);303.3.2 3.3.2 多分支语句多分支语句v多分支语句也叫开关语句,是多分支选择结构,多分支语句也叫开关语句,是多分支选择结构,它是根据多个条件进行多条运行线路的选择。它是根据多个条件进行多条运行线路的选择。v1 1格式格式 switch(E)switch(E)case c_E1:case c_E1:语句组语句组1;break;1;break;case c_E2:case c_E2:语句组语句组2;break;2;break;case c_En;case c_En;语句组语句组n;break;n;break;default:default:语句组语句组n+1;break;n+1;break;313.3.2 3.3.2 多分支语句多分支语句v1 1执行过程执行过程vswitchswitch语句先计算表达式语句先计算表达式E E的值,然后的值,然后E E依次与依次与c_E1 c_E1 到到c_Enc_En进行比较。若进行比较。若E E的值与某个情况常量的值与某个情况常量c_Eic_Ei相等,则转到相等,则转到c_Ei:c_Ei:后面的后面的“语句组语句组i”i”去执去执行,执行完后再由行,执行完后再由breakbreak语句跳出语句跳出switchswitch语句,继语句,继续执行后面语句。当所有情况都不满足(续执行后面语句。当所有情况都不满足(E E的值与的值与所有情况常量的值都不相等)时,执行所有情况常量的值都不相等)时,执行default:default:后面的语句组。后面的语句组。323.3.2 3.3.2 多分支语句多分支语句v注意注意1 1:如果:如果casecase后面的语句组不跟随后面的语句组不跟随breakbreak语句,语句,则在执行第一个符合条件的语句组后将不判断后则在执行第一个符合条件的语句组后将不判断后面的条件,将直接依次执行其它情况常量后面的面的条件,将直接依次执行其它情况常量后面的语句组。语句组。v注意注意2 2:switchswitch语句中可以省略语句中可以省略defaultdefault子句。在子句。在这种情况下,当所有情况都不满足时,将不执行这种情况下,当所有情况都不满足时,将不执行任何语句组,直接跳出任何语句组,直接跳出switchswitch语句。语句。333.3.2 3.3.2 多分支语句多分支语句#includevoid main()int score;int k;scanf(%d,&score);k=score/10;switch(k)case 10:case 9:printf(An);break;case 8:printf(Bn);break;case 7:printf(Cn);break;case 6:printf(Dn);break;default:printf(En);【例例3-10】编写程序,输入一编写程序,输入一个百分制成绩,对应输出等级个百分制成绩,对应输出等级A、B、C、D、E。90分以上分以上为为A,80分分89分为分为B,70分分79分为分为C,60分分69分为分为D,60分以下为分以下为E。343.3.2 3.3.2 多分支语句多分支语句v2 2说明说明v(1 1)switchswitch语句的作用是建立多路分支程序结构。语句的作用是建立多路分支程序结构。v(2 2)switchswitch后面括号中的后面括号中的E E的值通常为整型或字的值通常为整型或字符型。符型。v(3 3)其中,)其中,c_E1c_E1c_Enc_En称为情况常量,通常为整称为情况常量,通常为整型或字符型常量。型或字符型常量。v(4 4)关键字)关键字casecase和后面的情况常量之间至少要用和后面的情况常量之间至少要用一个空格隔开。一个空格隔开。v(5 5)E E的值的类型要与情况常量的值类型相同。的值的类型要与情况常量的值类型相同。v(6 6)每个情况常量的值必须互不相同。)每个情况常量的值必须互不相同。353.3.2 3.3.2 多分支语句多分支语句v(7 7)各个)各个casecase和和defaultdefault出现的次序不影响执行出现的次序不影响执行结果。结果。v(8 8)每个情况常量后都跟一个语句组,也就是符)每个情况常量后都跟一个语句组,也就是符合该情况时,要执行的若干语句。合该情况时,要执行的若干语句。v(9 9)格式用中括号)格式用中括号“”和和“”括起来的括起来的break;break;为任选项,根据程序需要。为任选项,根据程序需要。v(1010)执行完)执行完casecase后面的语句组后,如果没有遇后面的语句组后,如果没有遇到到breakbreak语句,接着执行下面语句,接着执行下面casecase后的语句,直到后的语句,直到switchswitch语句结束。语句结束。v(1111)正确使用)正确使用breakbreak语句可以控制语句可以控制switchswitch语句的语句的流程。流程。36 3.4 3.4 循环结构循环结构本节内容本节内容 3.4.2 while循环语句循环语句 3.4.3 do-while循环语句循环语句 3.4.4 循环嵌套循环嵌套 3.4.1 for循环语句循环语句 3.4.5 三种基本结构的综合应用三种基本结构的综合应用373.4 3.4 循环结构循环结构v到目前为止,我们讨论的程序无论是简单语句还到目前为止,我们讨论的程序无论是简单语句还是条件语句都是按从上向下的顺序执行的。在解是条件语句都是按从上向下的顺序执行的。在解决实际问题中,有许多情况是要重复做某件事情,决实际问题中,有许多情况是要重复做某件事情,如果仅用前面介绍的方法编程,那是十分麻烦的,如果仅用前面介绍的方法编程,那是十分麻烦的,有时是不可能的。这类问题的解决需要用程序设有时是不可能的。这类问题的解决需要用程序设计中的循环结构。在计中的循环结构。在C C语言中,循环结构可以用语言中,循环结构可以用forfor、whilewhile、do-whiledo-while三种循环语句来完成。三种循环语句来完成。383.4.1 for3.4.1 for循环语句循环语句vforfor语句的特点是结构清晰,简洁有效。语句的特点是结构清晰,简洁有效。v1 1格式格式 for(for(表达式表达式1;1;表达式表达式2;2;表达式表达式3)3)语句组语句组;v2 2功能功能vforfor循环语句用于构成程序的循环结构。循环语句用于构成程序的循环结构。393.4.1 for3.4.1 for循环语句循环语句v3 3组成组成vfor:for:为语句关键字;为语句关键字;v表达式表达式1 1:通常为赋值语句,用于为循环控制变量:通常为赋值语句,用于为循环控制变量赋初值。循环控制变量是控制循环次数的变量。赋初值。循环控制变量是控制循环次数的变量。v表达式表达式2 2:通常为关系表达式或逻辑表达式语句,:通常为关系表达式或逻辑表达式语句,用于对循环条件进行判断;满足条件则继续循环,用于对循环条件进行判断;满足条件则继续循环,不满足条件则终止循环。所谓不满足条件则终止循环。所谓满足条件就是表达满足条件就是表达式式2 2的值为非的值为非0 0,否则就是不满足条件。,否则就是不满足条件。如果在如果在forfor循环语句中缺少循环语句中缺少“表达式表达式2”2”,则默认循环条,则默认循环条件为真,这时构成了件为真,这时构成了无限循环无限循环。例如:。例如:for(i=1;i+)for(i=1;i+)403.4.1 for3.4.1 for循环语句循环语句v表达式表达式3 3:通常为自增或自减表达式语句,有时为:通常为自增或自减表达式语句,有时为赋值语句,用于改变循环控制变量的值。(赋值语句,用于改变循环控制变量的值。(注意:注意:表达式表达式3 3后面无分号后面无分号)v语句组:语句组为循环体,是被循环的对象,它语句组:语句组为循环体,是被循环的对象,它可以是单个语句或多个语句,甚至是另一个循环可以是单个语句或多个语句,甚至是另一个循环语句,也就是循环的嵌套。当为复合语句时,必语句,也就是循环的嵌套。当为复合语句时,必须用花括号须用花括号“”和和“”括起来。括起来。v当语句组只有一句时,可省略花括号(或者说,当语句组只有一句时,可省略花括号(或者说,如果不加花括号,则循环体的范围只到如果不加花括号,则循环体的范围只到forfor后面第后面第一个分号处一个分号处)。)。413.4.1 for3.4.1 for循环语句循环语句v4 4执行过程执行过程v(1 1)计算)计算“表达式表达式1”1”,为循环变量赋初值。,为循环变量赋初值。“表达式表达式1”1”只是在刚进入循环语句时计算只是在刚进入循环语句时计算1 1次,以次,以后再不计算!后再不计算!v(2 2)计算)计算“表达式表达式2”2”,判断循环条件是否满足。,判断循环条件是否满足。若若“表达式表达式2”2”的值为真(非的值为真(非0 0),则顺序执行循),则顺序执行循环体中的语句,否则,环体中的语句,否则,forfor循环结束。循环结束。v(3 3)顺序执行循环体中的各语句,后进行下一步。)顺序执行循环体中的各语句,后进行下一步。v(4 4)计算)计算“表达式表达式3”3”,修改循环控制变量,然,修改循环控制变量,然后转到(后转到(2 2)。)。423.4.1 for3.4.1 for循环语句循环语句NY计算表达式计算表达式1 1循环体循环体计算表达式计算表达式3表达式表达式2为真为真?Y433.4.1 for3.4.1 for循环语句循环语句#includevoid main()int i,s=0;for(i=1;i=10;i+)s=s+i;printf(s=%dn,s);【例例3-11】编写计算编写计算s=1+2+3+10的程序的程序。443.4.1 for3.4.1 for循环语句循环语句#includevoid main()int i,n,s=1;printf(please input n:n);scanf(%d,&n);for(i=1;i=n;i+)/循环终止写成in+1也可以 s=s*i;printf(n!=%dn,s);【例例3-12】输入一个数输入一个数n(10),求求n!。453.4.1 for3.4.1 for循环语句循环语句#includevoid main()int i;int n;float s=1,p=0;printf(please input n:n);scanf(%d,&n);for(i=1;in+1;i+)s=s*i;p=p+(1/s);printf(%fn,p);【例例3-13】编写程序,输入编写程序,输入n,求求1+1/2!+1/n!463.4.2 while3.4.2 while循环语句循环语句vwhilewhile循环语句循环语句vwhilewhile循环语句可以用来实现循环语句可以用来实现“当型当型”循环结构。循环结构。v1 1格式格式 while(while(表达式表达式)语句组语句组;v2 2功能:功能:v构成首先判断循环条件的程序结构,构成首先判断循环条件的程序结构,其特点是先其特点是先判断表达式的值,而后执行语句。判断表达式的值,而后执行语句。473.4.2 while3.4.2 while循环语句循环语句v3 3组成组成vwhile:while:为语句关键字。为语句关键字。v表达式:表达式为决定是否继续进行循环的判断表达式:表达式为决定是否继续进行循环的判断条件。通常为关系表达式或逻辑表达式。条件。通常为关系表达式或逻辑表达式。当表达当表达式的值为非式的值为非0 0时,即满足循环条件;否则不满足。时,即满足循环条件;否则不满足。v语句组:语句组为循环体,可以是单一语句,也语句组:语句组为循环体,可以是单一语句,也可以是复合语句,或内嵌其他结构。可以是复合语句,或内嵌其他结构。v4 4执行过程:执行过程:v先计算表达式的值,这个值为非先计算表达式的值,这个值为非0 0,则执行循环体;,则执行循环体;否则,循环结束,执行否则,循环结束,执行whilewhile循环后面的语句。循环后面的语句。483.4.2 while3.4.2 while循环语句循环语句F FT T表达式表达式循环体循环体493.4.2 while3.4.2 while循环语句循环语句#includevoid main()int i=1,s=0;while(i=10)s+=i+;printf(s=%dn,s);【例例3-14】用用while循环语句编写计算循环语句编写计算s=1+2+3+10的程序。的程序。503.4.2 while3.4.2 while循环语句循环语句#includevoid main()int i=1;while(i=10)printf(%d*%d=%dn,i,i,i*i);i+;【例例3-15】编写一程序,求编写一程序,求110的平方。的平方。51 3.4.3 do-while3.4.3 do-while循环语句循环语句v do-whiledo-while循环语句循环语句v这种循环结构与这种循环结构与whilewhile循环语句的区别是循环语句的区别是do-whiledo-while是是先执行后判断,先执行后判断,whilewhile是先判断后执行。是先判断后执行。v1 1格式格式 dodo 语句组语句组;while(while(表达式表达式););v2 2用途用途构成后判断循环条件的程序结构,构成后判断循环条件的程序结构,循环体至少执行一次。循环体至少执行一次。523.4.3 do-while3.4.3 do-while循环语句循环语句v3 3组成组成dodo和和whilewhile:为循环语句的关键字。:为循环语句的关键字。表达式:决定是否继续循环的条件,表达式:决定是否继续循环的条件,与与whilewhile的同理的同理。语句组:语句组为循环体。语句组:语句组为循环体。v注意,此结构中,最后要以分号结束:注意,此结构中,最后要以分号结束:while(while(表达式表达式);v4 4执行过程执行过程先执行循环体,然后计算判断表达式的值,根据这个值先执行循环体,然后计算判断表达式的值,根据这个值来决定是否继续执行循环体。来决定是否继续执行循环体。如果表达式的值为非如果表达式的值为非0 0,则转去执行循环体;否则,循环结束。则转去执行循环体;否则,循环结束。循环体中的语句循环体中的语句至少执行一次。至少执行一次。533.4.3 do-while3.4.3 do-while循环语句循环语句FT循环体循环体表达式表达式543.4.3 do-while3.4.3 do-while循环语句循环语句#includevoid main()int i=1,s=0;do s+=i+;while(i=10);printf(s=%dn,s);【例例3-16】用用do-while循循环语句编写计算环语句编写计算s=1+2+3+10的程序。的程序。553.4.4 3.4.4 循环嵌套循环嵌套v一个循环体内又包含另一个完整的循环结构,就一个循环体内又包含另一个完整的循环结构,就称为循环的嵌套。称为循环的嵌套。内嵌的循环中还可以嵌套循环,内嵌的循环中还可以嵌套循环,这就是多层循环嵌套。三种循环可以互相嵌套,这就是多层循环嵌套。三种循环可以互相嵌套,嵌套的层数不限。嵌套的层数不限。v循环嵌套的执行流程是从外层循环开始执行,再循环嵌套的执行流程是从外层循环开始执行,再进入内层循环执行,内层循环执行完毕后,退到进入内层循环执行,内层循环执行完毕后,退到外层循环继续执行。外层循环继续执行。563.4.4 3.4.4 循环嵌套循环嵌套#includevoid main()int i=1,j=1;for(i=1;i=5;i+)for(j=1;j=i;j+)putchar(*);putchar(n);【例例3-17】编程编程输出如下图形:输出如下图形:*573.4.4 3.4.4 循环嵌套循环嵌套#includevoid main()int i,j;for(i=1;i10;i+)for(j=1;j=i;j+)printf(%d*%d=%dt,j,i,i*j);printf(n);【例例3-18】编写一编写一程序,输程序,输出九九表。出九九表。583.4.5 3.4.5 三种基本结构的综合应用三种基本结构的综合应用#define PI 3.14159#includevoid main()int r=1;float area;for(r=1;r=10;r+)area=PI*r*r;if(area100)printf(%fn,area);【例例3-19】输出半径从输出半径从1到到10的圆面积,直到面积大于的圆面积,直到面积大于100时停止时停止。593.4.5 3.4.5 三种基本结构的综合应用三种基本结构的综合应用#include#includevoid main()int x,i;int flag=1;printf(input x:n);scanf(%d,&x);if(x=2)flag=0;for(i=2;i=sqrt(x);i+)if(x%i=0)flag=0;if(flag=1)printf(yesn);else printf(non);【例例3-20】从键盘输入一个数,判断这个数是否是素数。从键盘输入一个数,判断这个数是否是素数。603.4.5 3.4.5 三种基本结构的综合应用三种基本结构的综合应用61 3.5 3.5 辅助控制语句辅助控制语句本节内容本节内容 3.5.2 跳出语句跳出语句 3.5.3 继续语句继续语句 3.5.1 无条件转向语句无条件转向语句623.5.1 3.5.1 无条件转向语句无条件转向语句v无条件转向语句无条件转向语句v无条件转向语句,即无条件转向语句,即gotogoto语句,在很多高级语言语句,在很多高级语言中都有这个语句。使用中都有这个语句。使用gotogoto语句时,有其灵活的语句时,有其灵活的一面,但是不利于结构化程序设计。因此,不提一面,但是不利于结构化程序设计。因此,不提倡过多使用此语句。倡过多使用此语句。v1 1格式格式v(1 1)语句格式:)语句格式:goto goto;v(2 2)标号的格式:)标号的格式::语句语句;633.5.2 3.5.2 跳出语句跳出语句v1 1格式格式 break;break;v2 2用途用途v跳出多路开关语句,或跳出本层的循环语句(循跳出多路开关语句,或跳出本层的循环语句(循环语句可以嵌套,构成多重循环结构,而一个环语句可以嵌套,构成多重循环结构,而一个breakbreak语句只能跳出其所在层)。语句只能跳出其所在层)。v3 3执行过程执行过程v在循环体或多路开关语句内执行到在循环体或多路开关语句内执行到breakbreak语句时,语句时,控制将跳出循环或多路开关语句。但是,控制将跳出循环或多路开关语句。但是,breakbreak语语句只能跳出一层循环,不像句只能跳出一层循环,不像gotogoto语句能一下跳出语句能一下跳出多层。多层。643.5.2 3.5.2 跳出语句跳出语句#define PI 3.14159#includevoid main()int r=1;float area;for(r=1;r100)break;printf(%fn,area);【例例3-22】输出半径从输出半径从1到到10的圆面积,直到面积大的圆面积,直到面积大于于100时停止时停止。653.5.3 3.5.3 继续语句继续语句v1 1格式格式 continuecontinue;v2 2用途用途vcontinuecontinue语句的作用是结束本次循环返回到本层语句的作用是结束本次循环返回到本层循环的条件测试部分,重新开始下次循环。循环的条件测试部分,重新开始下次循环。v3 3执行过程执行过程v在循环体执行到在循环体执行到continuecontinue语句时,控制将终止执语句时,控制将终止执行循环体的余下部分,回到循环的条件测试部分,行循环体的余下部分,回到循环的条件测试部分,开始下次循环。开始下次循环。663.5.3 3.5.3 继续语句继续语句#includevoid main()int i;for(i=1;i=10;i+)if(i%3=0)continue;printf(%d,i);【例例3-23】输出输出1到到10之间不能被之间不能被3整除的数。整除的数。

    注意事项

    本文(《c语言教学资料》3程序设计结构.ppt)为本站会员(wuy****n92)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开