第一章程序设计基础演示文稿_第1页
第一章程序设计基础演示文稿_第2页
第一章程序设计基础演示文稿_第3页
第一章程序设计基础演示文稿_第4页
第一章程序设计基础演示文稿_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章程序设计基础演示文稿现在是1页\一共有51页\编辑于星期日优选第一章程序设计基础现在是2页\一共有51页\编辑于星期日导言程序设计基础的学科地位程序设计基础是计算机专业基础课,它为以后的面向对象技术的学习以及C可视化软件的学习奠定了基础,同时C语言也是数据结构和操作系统等计算机专业主干课程的上机工具,要求学生充分重视。现在是3页\一共有51页\编辑于星期日导言如何学好程序设计基础(仅供参考)勤学——课内、课外;中文、英文……

多练——

实践是检验真知的唯一标准好问——不“知”下问善于思考——“学而不思则罔”现在是4页\一共有51页\编辑于星期日教学要求

通过课堂授课与上机实验相结合的方式,使学生能够深刻理解结构化程序设计的思想与方法掌握C语言的基础知识能够在计算机上熟练使用C语言的编辑环境来编写、调试、运行程序具有一定实践体会和相关的编程能力,能编写超过1000行的C语言应用程序。现在是5页\一共有51页\编辑于星期日主要参考书目谭浩强,C语言程序设计,清华大学出版社,1999.全国计算机等级考试二级C教材。C语言教学网站:集思广益现在是6页\一共有51页\编辑于星期日考核办法课程考核办法:最终成绩=平时成绩*30%+期末考试成绩*70%平时成绩=出勤*10%+作业*40%+实验*50%现在是7页\一共有51页\编辑于星期日计算机是20世纪40年代人类的伟大创造。当今计算机应用日益普及,它广泛应用于科学计算、过程控制、信息传递和数据处理,而且已渗透到办公、教育、家庭等许多领域。计算机系统能够按人的要求接收和存储信息,能对信息进行处理并提供所需结果,其结果(输出信息)取决于所接收的信息(输入信息)及相应的处理算法。计算机系统包括计算机硬件和计算机软件两大部分。计算机硬件是借助电、磁、光、机械等原理构成的各种物理部件的组合,是系统赖以工作的实体。计算机软件一般指计算机系统中的程序及其文档,用于指挥和管理整个系统按指定的要求进行工作。1.0

计算机简介现在是8页\一共有51页\编辑于星期日1.0

计算机简介计算机硬件组成主机输入设备:输入程序和数据,如键盘、鼠标输出设备:输出计算结果,如显示器、打印机现在是9页\一共有51页\编辑于星期日输入设备现在是10页\一共有51页\编辑于星期日输入设备现在是11页\一共有51页\编辑于星期日输出设备现在是12页\一共有51页\编辑于星期日外部存贮器(外存):储存各种数据,如硬盘、软盘、U盘存储设备:硬盘和软盘现在是13页\一共有51页\编辑于星期日存储设备:光盘和优盘现在是14页\一共有51页\编辑于星期日1.0

计算机简介一、计算机主机的组成1、中央处理器(CPU)

运算器控制器寄存器组对数据进行运算控制计算机各部分协调工作存放指令和数据等现在是15页\一共有51页\编辑于星期日1.0

计算机简介2、存储器(内存):存放程序代码及数据3、主板、声卡、显卡、数据线、电源等现在是16页\一共有51页\编辑于星期日现在是17页\一共有51页\编辑于星期日二、计算机基本结构外部设备中央处理器(CPU)存储器输入/输出接口电路数据总线控制总线地址总线1.0

计算机简介现在是18页\一共有51页\编辑于星期日高级语言编译系统操作系统(OperatingSystem):OS是各种软件的核心与基础功能:cpu管理、存储管理、文件管理、设备管理、作业管理常用的OS:

MS-DOS、Windows、Unix、Linux操作系统用户源程序裸机编译系统和高级语言环境用户源程序1.0

计算机简介现在是19页\一共有51页\编辑于星期日1.1.1程序设计语言一、程序的概念二、计算机软件程序是计算任务的处理对象和处理规则的描述。计算机软件=程序+文档1.计算机处理的任务都是计算任务。2.处理对象是数据。3.处理规则是指处理的动作和步骤。三、软件语言软件语言是书写计算机软件的语言现在是20页\一共有51页\编辑于星期日1.1.1程序设计语言四、程序设计语言程序设计语言是用于书写计算机程序的语言。基本成分:1.数据成分:描述程序所涉及的数据2.运算成分:描述程序所包含的运算3.控制成分:表达程序的控制构造4.传输成分:表达程序的数据传输判断程序设计语言=软件语言现在是21页\一共有51页\编辑于星期日1.1.1程序设计语言五、程序设计语言的发展

机器语言

二进制代码表示的计算机能直接识别和执行的一种机器指令集合。执行速度快,但较难掌握,不同型号的计算机,其语言也不同。根据语言与硬件的关联程度,程序设计语言分为:低级语言和高级语言发展过程是从低级到高级现在是22页\一共有51页\编辑于星期日1.1.1程序设计语言2.汇编语言用助记符号描述的指令系统。如:ADDa,b汇编语言机器不能直接执行,必须翻译成机器语言,较难掌握。汇编语言机器语言编译不能直接执行较为简单,一一对应替换现在是23页\一共有51页\编辑于星期日1.1.2程序设计3.高级语言接近于自然语言的计算机程序设计语言。不能直接运行,需要转换为机器语言。通常有解释和编译两种。使用较普遍的高级语言:FORTRAIN,ALGOL,BASIC,PASCAL,C,C++,JAVA,Delphi等。高级语言机器语言解释编译类似于自然语言需要专门的编译器、解释器,过程较为复杂。现在是24页\一共有51页\编辑于星期日1.1.2程序设计三种语言的比较高级语言汇编语言机器语言现在是25页\一共有51页\编辑于星期日1.1.2程序设计六、程序设计的具体步骤:方案确定:建立问题的数学模型算法描述:描述处理规则数据描述:描述处理对象编写程序(编码):转换为程序语言程序测试:检测程序的正确性注:编写程序只是程序设计的一个步骤,不等于程序设计现在是26页\一共有51页\编辑于星期日1.1.3数据结构数据结构(DataStructure):计算机存储、组织数据的方式。数据结构一般包括三个方面的内容:数据之间的逻辑关系,也称数据的逻辑结构(LogicalStructure)数据元素及其关系在计算机存储器内的表示,称为数据的存储结构(StorageStructure)数据的运算,即对数据施加的操作。数据结构=逻辑结构+存储结构+运算现在是27页\一共有51页\编辑于星期日1.1.4算法概述一、算法的概念及特性1、算法的概念广义上讲,算法就是为解决一个问题而采取的方法和步骤。对同一个问题可能有不同的解决方法和步骤,即不同的算法为了快速有效的解决问题,在保证算法正确的基础上,还要考虑算法的质量,选择较优的算法。(方法简单,运算步骤少,运算快,内存开销小的算法)现在是28页\一共有51页\编辑于星期日数据结构+算法=程序对数据的描述对操作的描述2、计算机算法的分类:(1)数值运算算法----用于求数值解,如求解一个多元方程(2)非数值运算算法----多用于管理领域,如图书管理著名计算机科学家沃思提出的一个公式:1.1.4算法概述现在是29页\一共有51页\编辑于星期日有穷性:空间有穷:一个算法包含有限的操作步骤;时间有穷:算法可以在合理的时间内运行完。确切性:算法中的每一个步骤是确定的,含义是唯一的可行性:算法中每一个步骤是可行的。有零个或多个输入有一个或多个输出3、算法的五大特性1.1.4算法概述现在是30页\一共有51页\编辑于星期日例1-1:对于给定的有序数列{3,5,11,17,21,23,28,30,32,50},如何查找30这个数据元素。1.1.4算法概述算法一:将30按顺序与给定数列逐一比较直到找到为止。这种算法在最坏的情况可能需要比较整个序列。算法二:查找过程中采用跳跃式方式查找,即先以有序数列的中点位置为比较对象,如果要找的元素值小于该中点元素,则将待查序列缩小为左半部分,否则为右半部分。通过一次比较,将查找区间缩小一半。现在是31页\一共有51页\编辑于星期日递推法递归法穷举搜索法贪婪法分治法动态规划法迭代法4、算法设计与分析常用的方法1.1.4算法概述现在是32页\一共有51页\编辑于星期日一、

算法的表示方法常用的算法表示方法:自然语言、流程图、N-S图、伪代码、程序语言等。1、自然语言表示法用自然语言描述的算法。例1-2:用自然语言表示求两个数的和(如2+3)1.2算法表示方法Step1:将输入的第一个数2存入xStep2:将输入的第二个数3存入yStep3:将x和y相加的结果存入zStep4:输出结果z通俗易懂,比较冗余,容易出现歧义现在是33页\一共有51页\编辑于星期日2、流程图表示法用图框表示各种操作,用箭头表示算法流程

1.2算法表示方法调用子程序双边矩形框循环尖头框流程的起点或终点圆弧边框判断菱形输入或输出平行四边形连接点圆形处理功能矩形流向或路径箭头含义名称符号现在是34页\一共有51页\编辑于星期日2、流程图表示法用图框表示各种操作,用箭头表示算法流程

用流程图表示求两个数的和1.2算法表示方法开始Zx+y结束输出z输入x输入y直观形象,易于理解流程线没有严格限制。现在是35页\一共有51页\编辑于星期日C语言是一种结构化程序设计语言,结构化程序设计主要采用自上而下、逐步细化的方法。结构化程序有三种基本结构:①顺序结构②选择结构③循环结构ABPAB成立不成立不成立AP成立AP成立不成立“当型”循环“直到型”循环1.2.2流程图表示法现在是36页\一共有51页\编辑于星期日传统的程序流程图例图结束输入a,b,ca>b?b>c?a>c?输出c输出b输出c输出a开始YNYYNN现在是37页\一共有51页\编辑于星期日即结构化程序设计流程图,提供了描述三种基本逻辑结构的图形工具,与传统的程序流程图对照描述如下:1、顺序结构A模块B模块A模块B模块1.2.3N-S图表示法(b)N-S图表示(a)流程图表示现在是38页\一共有51页\编辑于星期日2、选择结构(分支结构)A模块B模块判断条件成立吗?判断条件成立吗?成立不成立A模块B模块1.2.3N-S图表示法(b)N-S图表示(a)流程图表示现在是39页\一共有51页\编辑于星期日由分支结构派生出来的多分支结构A1块判断条件成立吗?A2块An块…1.2.3N-S图表示法(a)流程图表示(b)N-S图表示K=?K1K2…KnA1块A2块…An块现在是40页\一共有51页\编辑于星期日3、循环结构a.当型循环结构:先判断循环条件是否满足,当条件满足,执行一遍循环体,再判断循环条件,仍满足再执行一遍循环体……直到不满足条件,则退出循环,执行循环体后的下一语句。若第一次判断条件就不满足,则一次也不执行循环体。循环体循环条件满足吗?不满足满足1.2.3N-S图表示法(b)N-S图表示(a)流程图表示循环体循环条件满足吗?现在是41页\一共有51页\编辑于星期日(b)N-S图表示b.直到型循环结构:先执行一遍循环体,再判断循环条件是否满足,如不满足再执行一遍循环体……直到条件满足,则退出循环,执行循环体后的下一语句。这种循环结构至少要执行一遍循环体。不满足满足循环体循环条件满足吗?1.2.3N-S图表示法(a)流程图表示

直到循环条件满足为止循环体现在是42页\一共有51页\编辑于星期日2、N-S流程图表示法ABAB成立不成立P

A当P成立

直到P不成立

A①顺序结构②选择结构③循环结构“当型”循环“直到型”循环1.2.3N-S图表示法现在是43页\一共有51页\编辑于星期日例

描述求n!的值的算法1.2.3N-S图表示法F=1,i=1开始输入ni≤n?F=F*i输出F结束

i=i+1现在是44页\一共有51页\编辑于星期日例:输入10个数,找出其中最大的数,并输出。step6:

若i<=9,则返回step3,继续执行,否则输出max中的数,此时max中的数即为最大数。step1:输入一个数,存放在一个变量max中;step2:设置用来累计比较次数的计数器i(也是一个变量)1i;step3:输入一个数,存放在另一个变量x中;step5:i增加1,即i+1i;否则,max的值不变;step4:比较max和x中的数,若x>max,则将x的值送入max,现在是45页\一共有51页\编辑于星期日输入一个数max1i输入x

xmax?是否xmaxi+1i当i<=9输出max#include<stdio.h>voidmain(){intx,max,i;scanf(“%d”,&max);i=1;do{scanf(“%d”,&x);if(x>max)max=x;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论