- 1、本文档共36页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
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-
您可能关注的文档
最近下载
- 新兴矿_采区设计说明书.doc
- 投资学-贺显南-《投资学原理及应用》试题库.doc VIP
- 附录C全国各县光温(气候)生产潜力指数速查表.pdf
- 《10000以内数的认识》省公开课一等奖全国示范课微课金奖PPT课件.pptx
- 水果配送服务投标方案(完整技术标).docx
- 南宁师范大学2023-2024学年第1学期《高等数学(上)》期末考试试卷(A卷)附参考答案.pdf
- 纪委书记(纪检组长)在新任职领导干部任前集体廉政谈话会议上的讲话.doc VIP
- 2024年工会基础知识竞赛考试题库(含答案).pptx
- 2024发热门诊设置管理规范(全文) .pdf
- 2024-2025学年上学期大连初中化学九年级期末试卷.doc
文档评论(0)