已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章 程序设计及C语言概述,1.1 程序程序设计语言的发展 1.2 算法及其表示 1.3 结构化程序设计方法 1.4 C语言发展简史和特点 1.5 C程序的基本结构 1.6 Visual C+ 6.0集成环境,1.1 C语言发展历史 程序设计语言的发展,CPU指令系统,由0、1序列构成的指令码组成 如:10000000 加 10010000 减,用助记符号描述的指令系统 如 ADD A, B,面向机器的语言,程序设计是数据被加工的过程,客观世界可以分类,对象是类的实例 对象是数据和方法的封装 对象间通过发送和接受消息发生联系,程序设计关键是定义类,并由类派生对象,程序是控制计算机完成特定功能的一组有序指令的集合。,1.2 算法及其表示,1.2.1 算法的概念 1.2.2 算法的表示 1.2.3 算法的特点,1.2.1 算法,1、算法 :为解决一个问题而采取的方法和步骤。 数据结构 + 算法 = 程序 沃思(Nikiklaus Wirth) 2、算法可分为两大类: (1)数值算法 :数值算法是为了解决求数值解的问题,例如求方程的根,求方程组的解和求定积分等,数值算法的研究将在数值计算方法(或称计算方法)这门课中解决 。 (2)非数值算法 :能解决的问题非常广泛,最常见的是用于事务管理领域,如财务管理、人事管理、行车调度管理等,1.2.2 算法的表示,常用的描述算法的方法有:自然语言、传统流程图、N-S结构流程图、伪代码、PAD图等,这里主要介绍前面三种。,1、用自然语言表示算法,自然语言就是人们日常使用的语言,可以是汉语、英语或其他语言。用自然语言描述算法具有通俗易懂的优点,但缺点也比较多: (1)比较繁琐。 (2)容易出现“歧义性”。 (3)用自然语言容易描述顺序执行的步骤。,例1.1 将两个变量x和y的值互换 用自然语言描述如下: 步骤1 将x值存入中间变量z中:xz 步骤2 将y值存入变量x中:yx 步骤3 将中间变量z的值存入y中:zy,2.用传统流程图表示算法,传统流程图是用一些图框表示各种操作。用图形表示算法,直观形象,易于理解。美国国家标准化协会ANSI(American National Standard Institute)规定了一些常用的流程图符号 :,起止框,输入输出框,判断框,处理框,流程线,连接点,注释框,图1-2 常用流程图符号,3.三种基本结构,Bohra和Jacopini提出了组成结构化程序的三种基本结构单元,它们是:顺序结构、选择结构和循环结构。,顺序结构 选择结构,循环结构,例1.2 判断一个数是否是素数的算法用流程图,4.用N-S流程图表示三种基本结构,I.Nassi和B.Shneiderman提出了一种新的流程图形式。在这种流程图中,完全去掉了带箭头的流程线 -N-S流程图,顺序结构,选择结构,循环结构,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.3.2结构化程序设计方法,结构化程序设计强调程序设计风格和程序结构的规范化,提倡清晰的结构。怎样才能得到一个结构化的程序呢?具体说,采取以下方法可以保证得到结构化的程序: (1)自顶向下 (2)逐步细化 (3)模块化设计 (4)结构化编码,1.3.3 程序设计的步骤,一般来说,程序设计的过程可以分为以下几个步骤: (1)分析问题:即分析任务的要求、要给出什么结果、提供什么资源、有无解决的可能。 (2)建立数学模型:即用数学语言描述它。 (3)选择计算方法:即选择用计算机求解该数学模型的近似方法。 (4)算法设计:即制定出计算机运算的全部步骤。 (5)编写程序:即选择一种计算机语言,根据前一步的算法编写程序。 (6)运行、调试程序:即上机运行程序,用各种不同的数据测试在不同的情况下能否得到正确结果。 (7)整理文档:即写出一份技术报告或程序说明书,其中应包括题目、任务要求、原始数据、数据结构、算法、程序清单、运行结果、所用计算机系统配置、使用的编程方法及工具、操作说明等,以便作为资料交流或保存。,1.4 C语言发展简史和特点,C语言发展过程 产生背景 汇编语言程序依赖于计算机硬件,可读性和可移植性都差 一般的高级语言又难以实现对计算机硬件的直接操作 产生过程(BCPL B C) 时间:19721973 地点:美国贝尔实验室 目的:UNIX操作系统 设计人: Ken.Thompson和Dennis.M.Ritchie C标准 标准C: K&R合著The C Programming Language 83 ANSI C: 1983年ANSI公布C语言标准草案 87 ANSI标准 C: 1987年 1990年国际标准的ANSI C,2 C语言特点 语言简洁、紧凑、灵活 运算符和数据类型丰富 程序设计结构化、模块化 生成目标代码质量高 可移植性好,1.5 C程序的基本结构,main() printf(“世界,您好!n“); main是主函数的函数名,表示这是一个主函数。 每一个C源程序都必须有,且只能有一个主函数(main函数)。 函数调用语句,printf函数的功能是把要输出的内容送到显示器去显示。 printf函数是一个由系统定义的标准函数,可在程序中直接调用。,1.C程序实例1,【例1.1】输出一行信息:Thise is a C program. 程序名为l1_1.cpp。 #include “stdio.h“ /*文件包含*/ main() /*主函数*/ printf(“This is a C program.n“); /*输出信息*/ 程序输出结果: This is a C program.,例1.1程序演示,返回例题,返回本节目录,2.C程序实例2,【例1.2】输入两个整数,输出它们的和。 程序名为l1_2.cpp。 #include “stdio.h“ /*文件包含*/ main() /*主函数*/ int a,b,c; /*声明定义变量a,b和c*/ scanf(“%d%d“, /*输出变量c的值*/ 运行程序输入: 90 7 程序结果: C=97,返回例题,3.C程序实例3,【例1.3】输入两个整数,通过调用函数计算它们的和,然后输出和值。 程序名为l1_3.cpp。 #include “stdio.h“ /*文件包含*/ int sum(int x,int y) /*定义sum函数*/ int z; /*声明定义变量z*/ z=x+y; /*计算z等于x与y的和值*/ return (z); /*将z的值返回,通过sum带回调用处*/ main() /*主函数*/ int a,b,c; /*声明定义变量a,b和c*/ scanf(“%d%d“, /*输出变量c的值*/ 运行程序输入: 90 7 程序结果: C=97,C程序的开发过程,1.编辑 2.编译,(1)编辑指编辑创建源程序是将编写好的C语言源程序代码录入到计算机中,形成源程序文件。 (2)本书用Visual C+ 6.0环境提供的全屏幕编辑器。在附录3中介绍Turbo C 2.0的环境情况。 (3)在VC 6.0环境中的源程序文件,其扩展名为.cpp,而在Turbo C 2.0环境中的源程序文件的扩展名为.c。,(1)编译源程序就是由C系统提供的编译器将源程序文件的源代码转换成目标代码的过程。 (2)编译过程主要进行词法分析和语法分析,在分析过程中如果发现错误,将错误信息显示在屏幕上通知用户。经过编译后的目标文件的扩展名为.obj。,3.连接 4.运行,(1)连接过程是将编译过程中生成的目标代码进行连接处理,生成可执行程序文件的过程。 (2)在连接过程中,时常还要加入一些系统提供的库文件代码。经过连接后生成的可执行文件的扩展名为.exe。,运行可执行文件的方法很多,可在C系统下执行“运行”命令。也可以在操作系统下直接执行可执行文件。 可执行的程序文件运行后,将在屏幕上显示程序执行的结果。,1.6 Visual C+ 6.0集成环境,1.启动Visual C+ 6.0环境,2. 编辑源程序文件,3. 编译和连接,4. 执行,利用Visual C+ 6.0集成环境开发C程序的过程如下:,1.启动Visual C+ 6.0环境,方法:单击 “开始”-“程序”-“Microsoft Visual studio 6.0”-“Microsoft Visual C+ 6.0”命令,启动Visual C+,VC6主窗口如下:,2. 编辑源程序文件,(1)建立新工程项目 单击“文件”-“新建”,弹出 “新建”对话框。,单击“工程”选项卡;单击 “Win32 Console Application” 选项;“工程”文件框中输入项 目名,如“gc1”和“位置”框输入 或选择新项目所在位置,单击 “确定”按钮。 弹出“Win32 Console Application Step 1of 1”对话框。,单击“一个空的工程”按钮和“完 成”按钮。系统显示“新建工程信息”对 话框。单击“确定”按钮。,2. 编辑源程序文件,(2)建立新项目中的文件 单击“文件”-“新建”,弹 出“新建”对话框。, 选择“文件”选项卡。单击 “C+ Source File”选项,在 “文件”文件框中输入文件名, 单击“确定”按钮。系统自动 返回VC6主窗口。,显示文件编辑区窗口,在文件编辑 区窗口输入源程序文件。,3. 编译和连接,方法一:选择主窗口菜单栏中“编译”菜单项;系统弹出下拉菜单,选择“构件”菜单命令。,方法二:单击主窗口编译工具栏上的 “Build”按钮进行编译和连接。,(1)系统对程序文件进行编译和连接,生成以项目名称命名的可执行目标代码文件.exe。 (2)编译连接过程中,系统如发现程序有语法错误,则在输出区窗口中显示错误信息,给出错误的性质、出现位置和错误的原因等。如果双击某条错误,编
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 沈阳音乐学院《政府经济学》2025-2026学年期末试卷
- 上海南湖职业技术学院《风景旅游》2025-2026学年期末试卷
- 通辽职业学院《课程与教学论》2025-2026学年期末试卷
- 上海欧华职业技术学院《环境与自然资源经济学》2025-2026学年期末试卷
- 唐山海运职业学院《刑诉法》2025-2026学年期末试卷
- 内蒙古体育职业学院《房屋建筑学》2025-2026学年期末试卷
- 上海民远职业技术学院《中国古代文学批评史》2025-2026学年期末试卷
- 上海工程技术大学《安全学原理》2025-2026学年期末试卷
- 沈阳工业大学《社会研究方法》2025-2026学年期末试卷
- 兴安职业技术大学《康复功能评定》2025-2026学年期末试卷
- 办理证件合同协议书
- 《动物营养学》全套教学课件
- 设计变更时的协调与应对措施
- 布展设计合同协议
- 早产儿特点及护理要点
- 《人工智能安全导论》 课件 第五章 人工智能技术在网络入侵检测领域
- 耳穴疗法完整版本
- 开展课外读物负面清单管理的具体实施举措方案
- 武汉科技大学《机械工程控制基础A》2023-2024学年第一学期期末试卷
- 秘书情绪管理
- 《痛经妇产科学》课件
评论
0/150
提交评论