网站大量收购独家精品文档,联系QQ:2885784924

C语言N03 算法与程序基本结构 4学时+2学时.ppt

C语言N03 算法与程序基本结构 4学时+2学时.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言N03 算法与程序基本结构 4学时+2学时.ppt

第三章 算法与程序基本结构 本章课程共6学时 其中:授课4学时,上机2学时 3.1 算法和算法的表示 程序的两个主要构件 算法的概念 算法的表示 3.2 三种基本结构 3.3 结构化程序设计 3.4 分支和循环结构的C语言程序实现 C语句:以“;”作分隔符, 编译后产生机器指令 表达式语句:表达式+分号构成 空语句: ; 程序控制语句(9种): 复合语句:用 {…}括起来的一组语句 关系运算符与关系表达式 包括符号: = == = != 逻辑运算符与逻辑表达式 包括符号: ! || 分支语句(1):if语句 分支语句(2):switch语句 循环语句(1):if和goto语句构成循环 循环语句(2):while语句构成循环 循环语句(3):do … while语句构成循环 循环语句(4):for语句构成循环 两种辅助控制语句:break continue 3.5 综合例题 * * (1) 对数据的描述:数据结构(data structure)。数据的类型和组织形式。 (2) 对操作的描述:算法(algorithm)。操作步骤。 程序 = 数据结构 + 算法 程序 = 算法 + 数据结构 + 程序设计方法 + 语言工具和环境 算法是为解决一个问题而采取的方法和步骤 (1) 自然语言描述 (2) 流程图描述 P16 例3.1(教材P19) 判定2000~2500年中的每一年是否闰年,将结果输出。已知闰年的条件是: (1)能被4整除,但不能被100整除的年份都是闰年; (2)能被100整除,又能被400整除的年份是闰年。 (3)不符合这两个条件的年份不是闰年。 自然语言描述 设y为被检测的年份,可采取以下步骤: S1:2000=y S2:若y不能被4整除,输出“y不是闰年”,转到S6 S3:若y能被4整除,不能被100整除,输出“y是闰年”,转到S6 S4:若y能被100整除,同时又能被400整除,输出y“是闰年”,转到S6 S5:输出“y不是闰年” S6:y+1=y S7:当y≤2500时,转S2继续执行,如y>2500,算法停止。 ANSI流程图描述 例3.1(教材P19) 判定2000~2500年中的每一年是否闰年,将结果输出。已知闰年的条件是: (1)能被4整除,但不能被100整除的年份都是闰年; (2)能被100整除,又能被400整除的年份是闰年。 (3)不符合这两个条件的年份不是闰年。 程序开始 程序结束 条件判断 输入输出 执行操作 流程线 N-S流程图描述 例3.1(教材P19) 判定2000~2500年中的每一年是否闰年,将结果输出。已知闰年的条件是: (1)能被4整除,但不能被100整除的年份都是闰年; (2)能被100整除,又能被400整除的年份是闰年。 (3)不符合这两个条件的年份不是闰年。 顺序结构 选择结构 循环结构 (1) 顺序型结构 (2) 选择型结构 P26 (3) 循环结构,它又称重复结构。 (a)当型(While型)循环结构 (b)直到型(Until型)循环结构 当型 直到型 任何算法都可以划分成上述三种基本结构 练习: 判断一个大于或等于3的正整数是否为素数。 素数:除了1和该数本身之外,不能被其他任何整数整除的数。 判断素数的方法:将n作为被除数,将2到(n-1)各个整数轮流作为除数,如果都不能被整除,则n为素数。 (1)自然语言描述 S1:输入n的值 S2:2=i (i作为除数) S3:n被i除,得余数r S4:如果r=0,表示n能被i整除,则打印n“不是素数”,算法结束;否则执行S5 S5:i+1=i S6:如果i≤n-1,返回S3;否则打印n“是素数”,然后结束。 (2)ANSI流程图 (3) N-S流程图 (1) 自顶向下, 逐步细化 (2) 模块化设计 (3) 结构化编码 P34 例 表达式语句 total=total+limit; a=3; func( ); printf(“Hello,world!\n”); 复合语句的说明: “}”后不加分号 语法上和单一语句相同 复合语句可嵌套 例 复合语句 {total=total+limit; a=3; func( ); } P57 例 ca+b //c(a+b) ab!=c //(ab)!=c a==bc //a==(bc) a=bc //a=(bc) 例:若a=0; b=0.5; x=0.3; 则 a=x=b的值为 例:若a=0; b=0.

文档评论(0)

gshbzl + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档