C语言第1讲-C语言概述.ppt

C语言第1讲-C语言概述.ppt

ID:51643586

大小:1.75 MB

页数:27页

时间:2020-03-27

上传者:U-25935
C语言第1讲-C语言概述.ppt_第1页
C语言第1讲-C语言概述.ppt_第2页
C语言第1讲-C语言概述.ppt_第3页
C语言第1讲-C语言概述.ppt_第4页
C语言第1讲-C语言概述.ppt_第5页
资源描述:

《C语言第1讲-C语言概述.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

C语言程序设计----概述Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd. 课程教学说明精讲多练讲授40学时,上机20学时作业书面作业上机作业成绩:平时:20%(其中上机15%)考试:80%Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd. 引言计算机能做什么呢?如何利用计算机求解现实问题?Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd. 计算机可以做任何事情;只要能把实际问题抽象、制作成计算机可求解的程序。计算机求解问题的步骤:实际问题求解编制问题问题模型算法程序实现计算机能做什么?分析抽象模型求解命令编程调试程序Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd. 问题模型结构分析——线性方程组人口预报——微分方程优化问题——线性规划、非线性规划震动问题——矩阵分析;特征值、特征向量信息管理——二维数据表下棋——树型结构遍历交通管理——图型结构遍历Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd. 下棋问题Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd. “深蓝”与卡斯帕罗夫国际象棋棋盘有64格,每方有16个子。棋手在思考下一步棋时大约有35种合法选择。目前最好的国际象棋程序可以分析到七八个回合,若要求电脑能思考到第七个回合,即14步棋,则需要有3514种可能的结局。下棋程序靠的是基本的行棋知识和强大无比的检索演算能力。这种信息检索选择方式好比一棵树;共有35个枝干,每个枝干有35个树杈,…,最终到树叶,即可供选择的结果。越好的程序,所派生的树枝树杈就越多。一般来讲,电脑每下一步棋,仍需有500亿或600亿种选择。Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd. 算法基础如何设计程序?N.Wirth认为:程序=数据结构+算法数据结构:用于描述数据算法:用于描述操作的,即解决怎么做。算法就是解题的方法和步骤。理论上讲,人们可以通过笔和纸按照描述的操作在有穷步内完成相应的运算。Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd. 软件:刻画现实世界,解决现实世界中的问题语言:实现的工具算法:解的描述(例如魔方)数据结构:现实世界的数据模型程序=算法+数据结构程序=算法+数据结构Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd. 算法的特征五大特征:有穷性:描述的操作可以在有穷的时间内完成;确定性:描述的每一种操作都是确定的,没有任何歧义性有0个或多个输入至少有一个输出有效性:操作的每一步都是可行的,例如,不能有n/0(即一个数被零除)的问题。Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd. 举例计算5!=1*2*3*4*5可以描述如下:Step1:计算1*2=>2Step2:计算2*3=>6Step3:计算6*4=>24Step4:计算24*5=>120问题:对于任意正整数N,如何计算N!?(这需要有形式化的描述/由算法实现)Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd. 计算N!的算法Step1:输入正整数N;Step2:1=>M;Step3:1=>P;Step4:M*P=>M;Step5:P+1=>P;Step6:ifP<=NthengotoStep4;Step7:输出M的值,并结束。其中,Step1–Step3称为初始化。Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd. 算法的表示自然语言(自然语言描述算法通俗易懂,但它有着难以克服的缺陷)易产生歧义性语句繁琐冗长,很难清楚地表达算法的逻辑流程当今的计算机尚不能处理用自然语言表示的算法专用工具常用的有流程图PAD图N-S图伪代码:采用准程序设计语言作算法描述语言,例如类CEvaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd. 计算N!的算法流程图流程图是采用不同的几何图形来描述算法的逻辑结构,每个几何图形表示不同性质的操作Step1:输入正整数N;Step2:1=>M;Step3:1=>P;Step4:M*P=>M;Step5:P+1=>P;Step6:ifP<=NthengotoStep4;Step7:输出M的值,并结束。其中,Step1–Step3称为初始化。开始M=1,P=1M=M*PP=P+1P>N?输出M结束输入NNYEvaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd. 计算N!的算法的N-S图N-S图-用省去的带箭头流程线的框图表示算法。输出M直到P>NP=P+1M=M*PM=1,P=1输入N开始M=1,P=1M=M*PP=P+1P>N?输出M结束输入NNY图2-N-S图图1-流程图Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd. 用伪码表示算法所谓伪码,就是自然语言与程序设计语言的联合运用。写法不唯一,但意义是唯一的。用程序设计语言表示算法直接用程序表示直接用程序的一部分表示Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd. 结构化程序设计基本策略:自顶向下,逐步求精,模块化设计,程序的编码采取缩进的方式。结构化程序设计的思想起因,软件危机的结果。尽量避免使用Goto语句,使书写的程序清晰可读。Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd. 自顶向下与逐步求精基本思想:将一个大的问题划分成若干个较小的问题,将每个较小的问题再划分成更小的子问题,直至每个子问题都容易求解例子:对N名学生的成绩按从高到低的顺序排名成绩排名输入成绩排序输出结果Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd. 说明“纸上谈兵”学不出程序设计本领;只有大量上机、编程、调试,才能掌握。学好程序设计语言的唯一途径是上机。你的编程能力和你在机器上投入的时间成正比。Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd. 《C语言程序设计》要点1、熟悉基本概念、熟悉基本语句的使用格式和说明;2、各种语句的执行过程;3、会读程序、会分析程序的功能;4、掌握程序设计的基本算法和常用算法;5、能根据要求独立编程以及对所编程序上机调试;6、完善程序。Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd. C语言程序的结构----------以该程序只含有一个主函数为例main(){}函数体(由C语言语句组成。)Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd. 函数体内部结构:main(){inta,b,c;scanf(“%d,%d”,&a,&b);if(a>b)c=a;elsec=b;printf(" max=%d ",c);}定义所有变量的数据类型;为已知变量提供数据;算法编程或公式引用;输出待求变量的值;Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd. 1、一个C语言程序是由一个或多个函数构成,其中只能有且只有一个函数名为main的函数;2、函数体总是以“{”开始,以“}”结束;3、一行可写多个语句,反之一个语句也可分成多行写;4、每个语句之末必须有一个分号“;”;5、一般采用小写字母,特殊量可用大写字母:大小写不等价!6、程序中随处都可以用/*~*/加于注释说明。程序中的注释只是用来提高程序的可读性,并不代表任何计算机的运算和处理。特点Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd. C语言编程思路1、理解题意、提出问题;2、建立数学模型;3、寻找解决问题的有效算法或直接公式;4、根据C语言程序结构编程;5、上机调试。若结果正确,结束。否则返回第四步检查编程,再进行调试,依次类推,直到正确为止。Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd. 注:编译、链接及执行的每一步都可能发现程序的不同性质的错误。C程序的上机执行过程(5)运行:可执行程序,按程序的要求逐步执行,当执行到输入语句时就等待键入数据;当执行到输出语句时,则按要求输出(显示)结果!(1)手工编程:审题、分析、设计、画框图写算法、写程序清   单(源程序)。(2)编辑(上机调试的第一关):录入或修改源程序,以文件   形式存于盘中!(3)编译:将录入或修改好的源程序进行语法查错,并产生目   标程序。(4)链接:将已进行语法查错过是正确的目标程序,与系统中库函数(已编译过的目标模块)链接在一起,构成一个完    整、独立、可执行的程序(可执行文件)。产生*.C产生读*.OBJ*.EXE读装入内存结果产生产生语法结果模块Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd. 如何进行上机TC是美国Bland公司的产品,是一个将编辑、编译、链接及运行集成于一体的C语言集成开发软件。TurboC的上机过程:(2)编辑:录入程序;(3)编译、链接、执行:Ctrl+F9;(4)看结果:Alt+F5;(5)退出TurboC集成开发环境:Alt+X;或通过菜单。(1)启动、进入TurboC集成开发环境,进入TC编辑界面;Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd. TC编辑界面菜单简介File、Edit、Run、Compile、Project、Options、Debug/watch文件编辑工程项目选项设置环境工作环境运行F10编译F9查错逐步调试Evaluationonly.CreatedwithAspose.Slidesfor.NET3.5ClientProfile5.2.0.0.Copyright2004-2011AsposePtyLtd.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭