C语言程序设计 第三章-基本结构程序设计.ppt

C语言程序设计 第三章-基本结构程序设计.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 基本结构程序设计 要求: 理解程序和算法。 理解程序的三种基本结构。 掌握表达式语句、输入输出格式以及宏定义的规则和用法。 熟练掌握选择结构,if语句、switch语句的规则和用法。 熟练掌握循环结构,for、while、do while语句的规则和用法 3.1.1 算法 1.算法:是解决问题的一系列操作步骤的集合。 2.算法举例 3. 算法的特性 3.1.2 算法的表示 头文件包含符号“”与 双引号表示先在程序源文件所在目录查找,如果未找到则去系统默认目录查找,通常用于包含程序作者编写的头文件; 尖括号表示只在系统默认目录,通常用于包含系统中自带的头文件; 尖括号: 在包含文件目录中去查找(包含目录是由用户在设置环境时设置的),而不在源文件目录去查找; 双引号: 首先在当前的源文件目录中查找,若未找到才到包含目录中去查找。 2. printf函数(格式输出函数) 4.scanf函数 (格式输入函数) 例 scanf(%d:%d:%d,h,m,s); 输入 12:30:45? 则12 ?h, 30 ?m, 45 ?s 例 scanf(%d,%d,a,b) 输入 3,4 ? 则3?a, 4 ?b 例 scanf(%d%d%d,a,b,c); 输入 12 24 36 ? 输入分隔符的指定 ◆格式串中两个格式符有间隔字符 ◆格式串两个格式符无间隔字符,以空格、TAB或回车键作为分隔 注意: 1. scanf函数顺用地址量接受数据。 2. 输入数据的间隔为↙,Tab. 空格. 3. 允许在格式符中插入附加字符(l,h,场宽, *)。 4. 指定数据长度时,系统自动截取。 则当输入123456时, scanf( %2d%2d , a, b); a?12, b?34 * 主要内容:C语言的基本语句、程序的基本结构。 3.1 基本程序结构和结构化程序设计 科学家沃思(Nikiklaus Wirth)提出一个公式: 数据结构+算法=程序 数据结构:指对数据(操作对象)的描述。 算法:指对操作步骤的描述。 编写程序的本质: 对哪些数据进行什么样的一系列加工就可以达到目标。 程序 ?例3.1 求解一元二次方程ax2+bx+c=0(a≠0)的两个根。 s1:输入数据a,b,c s2:求根x1,x2 s3:输出结果 可以将求解算法(s2)进行细化设计如下: s2_1:求判别式d的值,d=b*b-4*a*c s2_2:判断:如果d=0,则按实根求法计算: x1=(-b+sqrt(d))/(2*a) x2=(-b-sqrt(d))/(2*a) 否则,按复根求法计算: 实部 r=-b/(2*a) 虚部 p=±sqrt(-d)/(2*a) 例3.2 依次读入30个学生成绩,输出平均成绩及最高成绩 算法:s1:i=0, sum=0, max=0; s2:读入一个学生成绩存入score; s3:i=i+1; s4;sum=sum+score;或者sum+=score; s5:如果score大于max,则 max=score; s6:如果i小于30,转移至s2 s7:average=sum/30; s8:打印average,max s2,s3,s4,s5,s6这些步骤会被重复执行30次, 变量i用于统计已处理的学生人数 当i值小于30时,流程转至s2读下一个学生成绩 当i值等于30时,所有学生成绩处理完毕,按顺序到s7计算平均成绩,再到s8输出结果。 算法是解决问题逻辑思路的表述,同一问题有不同的解题方法和步骤,设计出不同的算法。 正确的算法应该具备以下特性。 有穷性:包含有限的操作步骤,不能无限制地执行下去。 确定性:算法中所描述的每个步骤都应该是明确的 有0 — n个输入数据: 输入是指在算法执行过程中需要用户输入的信息。 有1 — n个输出数据: 一般地,算法都有一个或多个输出数据,因为设计算法的目的就是进行数值运算或进行某种数据处理,给用户输出处理结果是必然的要求。 有效性: 在一个算法中,要求每个步骤都能被有效地执行 算法可用自然语言将其表述,但自然语言不严格,容易出现“二义性”。当算法包含多个分支和循环时,自然语言表述就更为困难。可采用更规范化的方法表示,常用的有:流程图、N-S图、伪代码、PAD图等。流程图

文档评论(0)

飞扬的岁月 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档