- 1、本文档共36页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
C程序设计(慕课版);第1章程序设计概述
1.1程序设计与算法
1.2C语言的发展与特点
1.3C语言程序的基本结构
1.4C语言程序的运行;1.1程序设计与算法
1.1.1程序与程序设计
程序是用某种计算机能理解并执行的语言所描述的解决问题的方法和步骤。
一个计算机程序主要描述两部分内容:一是描述问题的每个对象和对象之间的关系,二是描述对这些对象作处理的处理规则。其中关于对象及对象之间的关系是数据结构(DataStructure)的内容,而处理规则是求解的算法(Algorithm)。;使用计算机解决实际问题,通常是先要对问题进行分析并建立数学模型,然后考虑数据的组织方式和算法,并用某一种程序设计语言编写程序,最后调试程序,使之运行后能产生预期的结果。这个过程称为程序设计(Programming)。
具体要经过以下4个基本步骤:
(1)分析问题,确定数学模型或方法。
(2)设计算法,画出流程图。
(3)选择编程工具,按算法编写程序。
(4)调试程序,分析输出结果。;1.1.2算法及其描述
著名的瑞士计算机科学家N.Wirth教授曾提出:
算法+数据结构=程序
算法是对数据运算的描述,而数据结构是指数据的组织存储方式,包括数据的逻辑结构和存储结构。程序设计的实质是对实际问题选择一种好的数据结构,并设计一个好的算法,而好的算法在很大程度上取决于描述实际问题的数据结构。;1.算法的概念
计算机解决问题的方法和步骤,就是计算机解题的算法。要编写解决问题的程序,首先应设计算法,任何一个程序都依赖于特定的算法,有了算法,再来编写程序是容易的事情。
下面举两个简单例子,以说明计算机解题的算法。;【例1-1】;【例1-2】输入10个数,要求找出其中最大的数。
(1)输入一个数,存放在max中。
(2)用i来统计比较的次数,其初值置1。
(3)若i≤9,执行第(4)步,否则执行第(8)步。
(4)输入一个数,放在x中。
(5)比较max和x中的数,若xmax,则将x的值送给max,否则,max值不变。
(6)i增加1。
(7)返回到第(3)步。
(8)输出max中的数,此时max中的数就是10个数中最大的数。;2.算法的特性
从上面的例子中,可以概括出算法的5个特性:
(1)有穷性。算法中执行的步骤总是有限次数的,不能无止境地执行下去。
(2)确定性。算法中的每一步操作必须具有确切的含义,不能有二义性。
(3)有效性。算法中的每一步操作必须是可执行的。
(4)要有数据输入。
(5)要有结果输出。;3.算法的描述
常用流程图、结构化流程图和伪代码等描述工具来描述算法。
(1)用流程图描述算法
流程图也称为框图,它是用一些几何框图、流程线和文字说明表示各种类型的操作。;【例1-3】用流程图来描述例1-1和例1-2的算法。;(2)用结构化流程图描述算法
①程序的3种基本结构
程序的3种基本结构:顺序结构、选择结构和循环结构。
顺序结构是最简单的一种基本结构,依次顺序执行不同的程序块,如图1-4所示。其中A块和B块分别代表某些操作,先执行A块然后再执行B块。;两种循环结构的区别在于:当型循环结构是先判断条件,后执行循环体,而直到型循环结构则是先执行循环体,后判断条件。直到型循环至少执行一次循环体,而当型循环有可能一次也不执行循环体。;3种基本程序结构具有如下共同特点:;②结构化流程图(N-S图);【例1-4】用N-S图来描述例1-1和例1-2的算法。;(3)用伪代码描述算法
伪代码是介于自然语言和高级程序设计语言之间的一种文字和符号描述工具,它是结合某种高级语言一行一行、自上而下描述算法,书写方便,格式紧凑。;【例1-5】计算2+4+6+…+100的和并输出,设计算法并用C伪代码描述。
0→sum
1→i
whilei≤100
{
ifi/2的余数为0则sum+i→sum
i+1→i
}
输出sum;
1.2C语言的发展与特点
1.2.1C语言的发展历史
C语言是在B语言的基础上发展起来的,它的根源可以追溯到ALGOL60。
1960年出现的ALGOL60是一种面向问题的高级语言,它离硬件比较远,不宜用来编写系统软件。
1963年英国剑桥大学推出了CPL(CombinedProgrammingLanguage)语言。
1967年英国剑桥大学的M.Richards对CPL语言作了简化,推出了BCPL(BasicCombinedProgrammingLanguage)语言。;1970年美国贝尔实验室的K.Thompson以BCPL语言为基础,又作了进一步简化,设计出了很简单而且很接近硬件的B语言(取BCPL的第一个字母),并用B语言编写第一个UNIX操作系统,在PDP-
您可能关注的文档
- 第1单元 认识图形(二).pdf
- 第1单元 数据收集和整理.pdf
- 第1单元 四则运算.pdf
- 第1单元 位置与方向(一).pdf
- 第1课时百分数的认识.pdf
- 第1课时比的意义.pdf
- 第1课时搭积木比赛.pdf
- 第1课时倒数的认识.pdf
- 第1课时分数除以整数.pdf
- 第1篇_第1章-计算机基础知识.pptx
- 2024-2025学年辽宁省锦州市渤海大学附属高级中心高一下学期期中考试历史试题.doc
- 2025届四川省凉山彝族自治州高三下学期第三次诊断性考试历史试题.doc
- 2025届北京市东城区高三下学期综合练习(二)历史试题.doc
- 2025届山西省太原市高三下学期5月模拟考试(三)历史试题.doc
- 2025至2030中国能源行业市场发展现状及前景趋势与行业项目调研及市场前景预测评估报告.docx
- 2025至2030中国药品行业发展分析及产业运行态势及投资规划深度研究报告.docx
- 2025至2030中国起停技术行业项目调研及市场前景预测评估报告.docx
- 2025至2030中国移民服务行业市场发展现状及前景趋势与行业项目调研及市场前景预测评估报告.docx
- 2025届山东省济南市高三上学期1月期末考试政治试卷(含答案).pdf
- 2025届江苏徐州高三下学期模拟预测物理试题(含答案).pdf
最近下载
- 2025年传染病防控技能竞赛笔试理论考试题库600题(含答案).docx VIP
- 广东省佛山市顺德区2023-2024学年部编版八年级下学期期末考试历史试卷.docx VIP
- 特种设备安全管理PPT.ppt VIP
- 课外阅读方法指导课教案设计.docx VIP
- RockwellAutomation罗克韦尔Minotaur MSR312P - Quick start guide - Troubleshooting用户手册说明书.pdf
- 2022-2023学年辽宁省葫芦岛市龙港区数学六年级第二学期期末教学质量检测模拟试题含解析.doc
- 《农产品检测》期末考试复习题库资料(含答案).pdf VIP
- 钣金加工项目运营管理方案(参考).docx VIP
- 小学中年级阅读方法指导教案.docx VIP
- 【七一建党】2025年庆祝中国共产党成立104周年七一.pptx VIP
文档评论(0)