1. <form id='Nv6Fzy'></form>
        <bdo id='Nv6Fzy'><sup id='Nv6Fzy'><div id='Nv6Fzy'><bdo id='Nv6Fzy'></bdo></div></sup></bdo>

          • 当前位置:首页 >> IT/计算机 >>

            C语言程序设计(清华郑莉 安颍莲)chap3


            本文由jmdgm贡献
            ppt文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。
            C语言程序设计
            清华大学
            郑莉 安颖莲
            第三讲 C语言程序的 基本控制结构
            计算机程序设计基础》 参考书 《计算机程序设计基础》第三章 程序设计》第四章、 《C程序设计》第四章、第五章
            Page 1
            C语言程序设计
            清华大学
            郑莉 安颖莲
            本讲主要内容
            ? ? ? ? ? ? 结构化程序设计 if 语句 switch 语句 while 语句 dodo-while 语句 for 语句 break 和 continue 语句
            Page 2
            C语言程序设计
            清华大学
            郑莉 安颖莲
            结构化程序设计
            计算机程序=算法+数据结构 计算机程序=算法+ ? 计算机程序设计=算法+数据结构 计算机程序设计=算法+ +程序设计方法学
            Page 3
            C语言程序设计
            清华大学
            郑莉 安颖莲
            结构化程序设计
            —结构化算法(一) 结构化算法( 结构化算法
            算法就是解决问题的方法。 算法就是解决问题的方法。 例如:秦九韶在《九章算术》中记载的, 例如:秦九韶在《九章算术》中记载的,求最大公
            约数的辗转相除法: 约数的辗转相除法:
            第一步: 第一步:算法开始。 第二步: 第二步:输入原始数据:取得所给定的自然数 m 和 n。 第三步: 第三步:当 m≠n 时,顺序执行第四步;反之,转到第六步。 第四步: 第四步:若 m>n ,则 m←m-n ;否则 n←n-m。 第五步: 第五步:返回第三步。 第六步: 第六步:输出结果:所求最大公约数为 m。 第七步: 第七步:算法结束。
            Page 4
            C语言程序设计
            清华大学
            郑莉 安颖莲
            结构化程序设计
            算法的特征: 算法的特征: ? 有穷性
            —结构化算法(二) 结构化算法( 结构化算法
            如:Sin x=x/1-x3/3!+x5/5!-x7/7!+… 不是算法。 N!=1×2×3×…×N 是算法。
            确定性
            如:菜谱中说“加少许盐”不严格,不是算法。
            ? ?
            可执行性 0个或多个输入 1个或多个输出
            Page 5
            C语言程序设计
            结构化程序设计
            )
            算法类型: 算法类型:
            清华大学
            郑莉 安颖莲
            —结构化算法(三 结构化算法( 结构化算法
            –数值算法、非数值算法。
            基本结构: 基本结构:
            结构化算法必须只能由下列三种基本控制 结构所构成: –顺序结构 –分支结构 –循环结构
            Page 6
            C语言程序设计
            清华大学
            郑莉 安颖莲
            结构化程序设计
            —结构化算法(三) 结构化算法( 结构化算法
            结构化算法的本质属性: 结构化算法的本质属性: ? 有且仅有一个入口 ? 有且仅有一个出口 ? 无死块(即永远无法执行到的块) 无死块(即永远无法执行到的块) ? 无死循环块
            Page 7
            C语言程序设计
            清华大学
            郑莉 安颖莲
            结构化程序设计
            —结构化算法(四) 结构化算法( 结构化算法
            算法描述工具: 算法描述工具: ? 流程图 ? N -S 图 ? PDL 语言
            Page 8
            C语言程序设计
            清华大学
            郑莉 安颖莲
            结构化程序设计
            模块化结构设计方法
            —结构化程序设计技术与方法 结构化程序设计技术与方法
            在程序设计中,将一个复杂的算法(或程序)分解成若干 个相对独立、功能单一的模块,利用这些模块即可适当地 组合成所需要的全局算法(或)程序。
            自顶向下结构设计方法
            从总体出发,居高临下,逐层分解和逐步细化。
            逐步求精结构设计方法
            实质上也是一种自顶向下的设计方法。 首先抛开细节设计出抽象算法,然后把抽象数据和操作逐 步具体化,直到可以由计算机具体实现为止。
            Page 9
            C语言程序设计
            if 语句
            (表达式) (表达式) 表达式
            例:if
            清华大学
            郑莉 安颖莲
            ——三种形式 三种形式
            语句 语句1 语句1 语句2 else 语句2
            if if
            (x>y) printf("%d",x);
            (表达式) (表达式) 表达式
            例:if (x>y) printf("%d",x); else printf("%d",y);
            (表达式 表达式1) 语句1 if (表达式1) 语句1 (表达式 表达式2) 语句2 else if (表达式2) 语句2 (表达式 表达式2) 语句3 else if (表达式2) 语句3 … else 语句 n
            Page 10
            C语言程序设计
            清华大学
            郑莉 安颖莲
            if 语句
            一般形式
            if ( ) if ( else else if ( else ) 语句 3 语句 4 ) 语句 1 语句 2
            ——嵌套 嵌套
            注意
            –语句 1、2、3、4 可以是复合语句每层的 if 与 else 配对,或用 { } 来确定层次关系
            Page 11
            C语言程序设计
            清华大学
            郑莉 安颖莲
            条件运算符
            一般形式: 一般形式:
            表达式1?表达式2:表达式3
            执行顺序: 执行顺序:
            先求解表达式1,若值为非0,则求解表达式2,表达式2的值为最终结果; 若值为0,则求解表达式3,表达式3的值为最终结果。
            注意: 注意:
            – 条件运算符优级高于赋值运算符,低于关系运算符和算术运算符; – 结合方向为自右至左; – 只能取代简单的if语句:内嵌语句为赋值语句,且两个分支都给同一 个变量赋值; – 表达式1、2、3的类型可以不同,条件表达式的最终类型为 2 和 3 中 较高的类型。
            Page 12
            C语言程序设计
            清华大学
            郑莉 安颖莲
            switch 语句
            一般形式
            可以是整型、字符型、枚举型 switch (表达式) { case 常量表达式 1:语句1 case 常量表达式 2:语句2 每个常量表达式的值不能相 ┆ 同,次序不影响执行结果。 case 常量表达式 n:语句n default : 语句n+1 } 可以是多个语句,但不必用{ }。
            执行顺序
            以case中的常量表达式值为入口标号,由此开始顺序执行。 因此,每个case分支最后应该加break语句。
            Page 13
            C语言程序设计
            清华大学
            郑莉 安颖莲
            使用switch语句应注意的问题 使用switch语句应注意的问题 switch
            case分支可包含多个语句,且不用{ } case分支可包含多个语句,且不用{ 分支可包含多个语句 ? 表达式、判断值都是int型或char型 表达式、判断值都是int型或char型 int型或char ? 若干分支执行内容相同可共用一组语句
            Page 14
            C语言程序设计
            清华大学
            郑莉 安颖莲
            while 语句
            形式
            while (表达式) 语句
            可以是复合语句,其中必须含有 改变条件表达式值的语句。
            执行顺序
            先判断表达式的值,非 0 再执行语句。 —— 实现“当型”循环。
            Page 15
            C语言程序设计
            dodo-while 语句
            一般形式
            do 语句 while (表达式)
            清华大学
            郑莉 安颖莲
            可以是复合语句,其中必须含 有改变条件表达式值的语句。
            执行顺序
            先执行语句,后判断条件。 表达式非0时,继续执行循环体。
            while 语句与 do-while 语句的比较 do? 类似于直到型循环,但不同。 类似于直到型循环,但不同。 先判断表达式的值,非 0 再执行语句
            —— 实现“当型”循环 直到型循环是当条件表达式为“真”时,停止循环。 。
            Page 16
            While 语句执行顺序
            C语言程序设计
            清华大学
            郑莉 安颖莲
            for 语句
            形式
            for (表达式1;表达式2;表达式3) 语句
            循环前先求解 每次执行完循环体后求解 非0时执行循环体 0
            流程图
            P70 图5.6
            注意事项
            P70-71
            Page 17
            C语言程序设计
            清华大学
            郑莉 安颖莲
            break 和 continue 语句
            break语句 break语句
            使程序从循环体和switch语句内跳出,继续执 行逻辑上的下一条语句。不能用在别处。
            continue 语句
            结束本次循环,接着进行是否执行下一次循环 的判断。
            Page 18
            C语言程序设计
            清华大学
            郑莉 安颖莲

            《C 程序设计》 P64 程序设计》 ? 《C 程序设计》 P79 程序设计》

            4.54.5- 4.8 5.2 , 5.6 , 5.10 , 5.15
            复习:《C 程序设计》第四、五章 复习: 程序设计》第四、 《计算机程序设计基础》第三章 计算机程序设计基础》 ? 熟悉一种C语言编译环境的调试方法。 熟悉一种C语言编译环境的调试方法。
            Page 19

            1

            相关文章:
            C语言程序设计(清华郑莉 安颍莲)chap3_图文.ppt
            C语言程序设计(清华郑莉 安颍莲)chap3_IT/计算机_专业资料。C语言程序设计(清华郑莉 安颍莲) C语言程序设计 清华大学 郑莉 安颖莲 第三讲 C语言程序的 基本控制...
            C语言程序设计(清华郑莉 安颍莲)chap3.pdf
            C语言程序设计(清华郑莉 安颍莲)chap3 - 本文由rdlueksyho贡献
            C语言程序设计(清华郑莉 安颍莲)chap1_图文.ppt
            C语言程序设计(清华郑莉 安颍莲)chap1_IT/计算机_专业资料。C语言程序
            C语言程序设计(清华郑莉 安颍莲)chap4_图文.ppt
            C语言程序设计(清华郑莉 安颍莲)chap4_IT/计算机_专业资料。C语言程序
            C语言程序设计(清华郑莉 安颍莲)chap12.txt
            C语言程序设计(清华郑莉 安颍莲)chap12 - 本文由jmdgm贡献 ppt
            C语言程序设计(清华郑莉 安颍莲)chap12.pdf
            C语言程序设计(清华郑莉 安颍莲)chap12 - 本文由jmdgm贡献 ppt
            C语言程序设计(清华郑莉 安颍莲)chap5_图文.ppt
            C语言程序设计(清华郑莉 安颍莲)chap5_IT/计算机_专业资料。C语言程序
            C语言程序设计(清华郑莉 安颍莲)chap8.txt
            C语言程序设计(清华郑莉 安颍莲)chap8 - 本文由jmdgm贡献 ppt文
            C语言程序设计(清华郑莉 安颍莲)chap2_图文.ppt
            C语言程序设计(清华郑莉 安颍莲)chap2_IT/计算机_专业资料。C语言程序
            C语言程序设计(清华郑莉 安颍莲)chap9.txt
            C语言程序设计(清华郑莉 安颍莲)chap9 - 本文由jmdgm贡献 ppt文
            C语言程序设计(清华郑莉 安颍莲)chap12_图文.ppt
            C语言程序设计(清华郑莉 安颍莲)chap12_IT/计算机_专业资料。C语言程
            C语言程序设计(清华郑莉 安颍莲)chap7_图文.ppt
            C语言程序设计(清华郑莉 安颍莲)chap7_IT/计算机_专业资料。C语言程序
            C语言程序设计(清华郑莉 安颍莲)chap11.pdf
            C语言程序设计(清华郑莉 安颍莲)chap11 - 本文由jmdgm贡献 ppt
            C语言程序设计(清华郑莉 安颍莲)chap9_图文.ppt
            C语言程序设计(清华郑莉 安颍莲)chap9_IT/计算机_专业资料。C语言程序
            C语言程序设计(清华郑莉 安颍莲)chap8_图文.ppt
            C语言程序设计(清华郑莉 安颍莲)chap8_IT/计算机_专业资料。C语言程序设计(清华郑莉 安颍莲) C语言程序设计 清华大学 郑莉 安颖莲 第八讲 结构与联合 参考书:...
            C语言程序设计(清华郑莉 安颍莲)chap11_图文.ppt
            C语言程序设计(清华郑莉 安颍莲)chap11_IT/计算机_专业资料。C语言程序设计(清华郑莉 安颍莲) C语言程序设计 清华大学 郑莉 安颖莲 第十一讲 数据结构基础 (一...
            C语言程序设计(清华郑莉 安颍莲)chap10_图文.ppt
            C语言程序设计(清华郑莉 安颍莲)chap10_IT/计算机_专业资料。C语言程
            cover.ppt
            cover - 计算机软件技术基础 C语言程序设计 0、绪论 1、预备知识 2、C语言基础 作者:郑莉 安颍莲 9、位运算、枚举及类型定义 和编译预处理 10、文件 11、数据...
            更多相关标签: