第1章 程序设计及C语言概述_第1页
第1章 程序设计及C语言概述_第2页
第1章 程序设计及C语言概述_第3页
第1章 程序设计及C语言概述_第4页
第1章 程序设计及C语言概述_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

第1章程序设计及C语言概述1.1程序程序设计语言的发展1.2算法及其表示1.3结构化程序设计方法1.4C语言发展简史和特点1.5C程序的基本结构1.6VisualC++6.0集成环境1.1C语言发展历史程序设计语言的发展机器语言汇编语言高级语言面向过程面向对象CPU指令系统,由0、1序列构成的指令码组成如:10000000加

10010000减用助记符号描述的指令系统如ADDA,B面向机器的语言程序设计是数据被加工的过程客观世界可以分类,对象是类的实例对象是数据和方法的封装对象间通过发送和接受消息发生联系程序设计关键是定义类,并由类派生对象程序是控制计算机完成特定功能的一组有序指令的集合。1.2算法及其表示1.2.1算法的概念

1.2.2算法的表示1.2.3算法的特点1.2.1算法1、算法:为解决一个问题而采取的方法和步骤。数据结构+算法=程序——沃思(NikiklausWirth)2、算法可分为两大类:

(1)数值算法:数值算法是为了解决求数值解的问题,例如求方程的根,求方程组的解和求定积分等,数值算法的研究将在数值计算方法(或称计算方法)这门课中解决。

(2)非数值算法:能解决的问题非常广泛,最常见的是用于事务管理领域,如财务管理、人事管理、行车调度管理等1.2.2算法的表示常用的描述算法的方法有:自然语言、传统流程图、N-S结构流程图、伪代码、PAD图等,这里主要介绍前面三种。

1、用自然语言表示算法自然语言就是人们日常使用的语言,可以是汉语、英语或其他语言。用自然语言描述算法具有通俗易懂的优点,但缺点也比较多:(1)比较繁琐。(2)容易出现“歧义性”。(3)用自然语言容易描述顺序执行的步骤。例1.1将两个变量x和y的值互换用自然语言描述如下:步骤1将x值存入中间变量z中:x→z步骤2将y值存入变量x中:y→x步骤3将中间变量z的值存入y中:z→y2.用传统流程图表示算法传统流程图是用一些图框表示各种操作。用图形表示算法,直观形象,易于理解。美国国家标准化协会ANSI(AmericanNationalStandardInstitute)规定了一些常用的流程图符号:起止框输入输出框判断框处理框流程线连接点注释框图1-2常用流程图符号AB条件?AB成立不成立3.三种基本结构Bohra和Jacopini提出了组成结构化程序的三种基本结构单元,它们是:顺序结构、选择结构和循环结构。①顺序结构②选择结构

③循环结构

条件?A成立不成立A条件?成立不成立循环结构流程图例1.2判断一个数是否是素数的算法用流程图i>?输出“n是素数”结束开始输入n2→in%i→rr=0?i+1→iYN输出n“不是素数”N图1.6判断n是否是素数4.用N-S流程图表示三种基本结构AB成立PAB不成立I.Nassi和B.Shneiderman提出了一种新的流程图形式。在这种流程图中,完全去掉了带箭头的流程线--N-S流程图

①顺序结构②选择结构当P1成立A(a)直到P1不成立A(b)③循环结构1.2.3算法的特点一个算法应该具有以下特点:1.有穷性一个算法应包含有限的操作步骤,而不能是无限的。2.确定性算法中的每一个步骤都应当是确定的,而不应当是含糊的、模棱两可的。3.有零个或多个输入所谓输入是指在执行算法时需要从外界取得必要的信息。一个算法也可以没有输入。4.有一个或多个输出算法的目的是为了求解,“解”就是输出。没有输出的算法是没有意义的。5.有效性算法中的每一个步骤都应当能有效地执行,并得到确定的结果1.2.4算法的评价如何评价一个算法呢?对算法的要求有:必须是正确的,必须能高效率执行,即占用内存空间少,所需运行时间短。于是,对算法的评价可以从两个方面进行:(1)执行算法所需的时间长短;(2)执行算法所需的计算机内存容量大小。1.3程序设计的基本流程1.3.1程序设计的基本流程1.3.2结构化程序设计方法1.3.3程序设计的步骤1.3.1结构化程序设计基本流程

程序设计的基本过程一般分分析所求解的问题、构造数学模型、选择合适的算法、编写程序调试通、得到正确结果等步骤,如下图描述:有错实际问题分析问题构造算法编写程序调试程序是否有错?正式运行修改程序无错输出图1-9程序设计流程描述1.3.2结构化程序设计方法结构化程序设计强调程序设计风格和程序结构的规范化,提倡清晰的结构。怎样才能得到一个结构化的程序呢?具体说,采取以下方法可以保证得到结构化的程序:(1)自顶向下(2)逐步细化(3)模块化设计(4)结构化编码1.3.3程序设计的步骤一般来说,程序设计的过程可以分为以下几个步骤:(1)分析问题:即分析任务的要求、要给出什么结果、提供什么资源、有无解决的可能。(2)建立数学模型:即用数学语言描述它。(3)选择计算方法:即选择用计算机求解该数学模型的近似方法。(4)算法设计:即制定出计算机运算的全部步骤。(5)编写程序:即选择一种计算机语言,根据前一步的算法编写程序。(6)运行、调试程序:即上机运行程序,用各种不同的数据测试在不同的情况下能否得到正确结果。(7)整理文档:即写出一份技术报告或程序说明书,其中应包括题目、任务要求、原始数据、数据结构、算法、程序清单、运行结果、所用计算机系统配置、使用的编程方法及工具、操作说明等,以便作为资料交流或保存。1.4C语言发展简史和特点C语言发展过程产生背景汇编语言程序依赖于计算机硬件,可读性和可移植性都差一般的高级语言又难以实现对计算机硬件的直接操作产生过程(BCPL→B→C)时间:1972~1973地点:美国贝尔实验室目的:UNIX操作系统设计人:Ken.Thompson和Dennis.M.RitchieC标准标准C:K&R合著《TheCProgrammingLanguage》83ANSIC:1983年ANSI公布C语言标准草案87ANSI标准C:1987年1990年国际标准的ANSIC2C语言特点语言简洁、紧凑、灵活运算符和数据类型丰富程序设计结构化、模块化生成目标代码质量高可移植性好<>>>>>>中级语言>1.5C程序的基本结构

main(){printf("世界,您好!\n");}main是主函数的函数名,表示这是一个主函数。每一个C源程序都必须有,且只能有一个主函数(main函数)。函数调用语句,printf函数的功能是把要输出的内容送到显示器去显示。printf函数是一个由系统定义的标准函数,可在程序中直接调用。1.C程序实例1【例1.1】输出一行信息:ThiseisaCprogram.程序名为l1_1.cpp。#include"stdio.h" /*文件包含*/main() /*主函数*/{printf("ThisisaCprogram.\n"); /*输出信息*/}程序输出结果:ThisisaCprogram.[例1.1]程序演示单击运行输入源程序弹出运行结果窗口运行结果返回例题返回本节目录2.C程序实例2【例1.2】输入两个整数,输出它们的和。程序名为l1_2.cpp。#include"stdio.h" /*文件包含*/main() /*主函数*/{inta,b,c; /*声明定义变量a,b和c*/scanf("%d%d",&a,&b

温馨提示

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

评论

0/150

提交评论