已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 C语言程序设计 教材 教育部考试中心编 全国计算机等级考试二级教程 C语言程序设计 2008年版 高等教育出版社 2008年 授课对象 信息管理与信息系统专业2008级 2 第1章程序设计基本概念 3 第1章程序设计基本概念 1 1程序和程序设计一 程序和程序设计语言的发展程序程序是计算机可以识别和执行的一系列指令的集合 程序存储在计算机中 当执行程序时 计算机将自动按照一定的顺序逐条地调用指令来完成工作 程序设计语言程序设计语言是用户用来编写程序的语言 一般分为机器语言 汇编语言和高级语言三大类 4 第1章程序设计基本概念 一 程序和程序设计语言的发展程序设计语言的发展 低级语言 机器语言 高级语言 汇编语言 计算机程序直接用计算机能识别的由0和1的代码构成的二进制指令来书写 计算机可以直接执行 但难学 难记 难写 难修改 难维护 无通用性 用助记符号描述的指令系统 每条机器指令对应一个符号化的指令 需汇编才能运行 依赖于具体机器 可读性差 工作量大 无通用性 以接近人们表述习惯的自然语言和数学语言为表达形式 可读性好 可移植性好 通用性强 需编译才能运行 面向过程 面向对象 Web语言 FORTRAN BASIC PASCAL C C VisualBASIC Java HTML XML 5 第1章程序设计基本概念 二 程序的编译运行源程序用高级语言编写的程序称为源程序 用C语言编写的程序称为C源程序 C源程序的文件名的后缀 扩展名 是 C 目标程序计算机能直接识别和执行的用二进制代码表示的程序称为目标程序 目标程序的文件名的后缀 扩展名 是 obj 编译程序把源程序翻译成计算机能识别和执行的目标程序的软件称为编译程序 6 第1章程序设计基本概念 二 程序的编译运行C程序的编译运行步骤 源程序 c 编译 目标程序 obj 连接 库函数和其他目标函数 运行 可执行的目标程序 exe 结果 1 编辑 选择适当的编辑程序 将C语言源程序通过键盘输入到计算机中 并以文件 C 的形式存入到磁盘中 2 编译 将源程序翻译成机器语言程序的过程 编译出来的程序称为目标程序 OBJ 3 连接 编译后生成的目标文件经过连接后生成最终的可执行程序 EXE 4 运行 运行是将可执行的目标程序投入运行 以获取程序的运行结果 在操作系统中可以直接执行扩展名为 EXE 的文件 编辑 7 第1章程序设计基本概念 三 C语言简介C语言的诞生1960剑桥大学剑桥大学贝尔实验室1973贝尔实验室 ALGOL60 CPL BCPL B语言 C语言 更接近硬件 规模大 实现困难 对CPL语言的简化 对B语言的简化 语言精炼 接近硬件 但过于简单 无数据类型 保留BCPL语言精炼 接近硬件的优点 克服了BCPL无数据类型的缺点 用C语言改写了UNIX操作系统 8 第1章程序设计基本概念 三 C语言简介C语言的发展C语言是在研制UNIX操作系统过程中诞生 伴随着UNIX操作系统的发展而流行 1978年以后 C语言先后移植到大 中 小 微型计算机上 风靡全世界 成为世界上应用最广泛的程序设计高级语言 C语言的两个标准 ANSIC和ISOCANSIC 由美国国家标准化协会 ANSI 公布的C标准 有83ANSIC 87ANSIC和C89三个版本 ISOC 由国际标准化组织ANSI 公布的C标准 有C90 即ANSI的C89 C95 C99三个版本 C语言的编译系统及其版本TurboC BorlandInternational公司 运行于Dos系统 VC Microsoft公司 windows系统 VisualC 的简称 是一个集C源程序编辑 编译 调试和运行为一体的集成环境 C 语言是C语言的扩充和完善 是一种面向对象的程序设计语言 C 由两部分组成 过程性语言部分 遵守ANSIC标准 类和对象部分 是面向对象程序设计的主体 9 第1章程序设计基本概念 1 2算法一 算法的概念为解决一个问题而采取确定而且有限的方法和步骤 就称为算法 计算机算法的两大类别1 数值运算算法 求数值解 例如求方程的根 求函数的定积分等 2 非数值运算 包括的面十分广泛 最常见的是用于事务管理领域 例如图书检索 人事管理 行车调度管理等 10 二 算法举例 解 算法一步骤一 先求2 4 得到结果8 步骤二 将8 6 得48 步骤三 将48 8 得384 步骤四 将384 10 得3840 算法二S1 使p 2S2 使i 4S3 使p i 乘积仍然放在p中 可表示为p i p S4 使i的值加2 即i 2 iS5 若i 10 返回S3 否则结束 1 写出计算2 4 6 8 10的算法 10 算法有优劣之分 算法要力求正确 简洁 通用 灵活 11 第1章程序设计基本概念 三 算法的特性1 有穷性 包含有限的操作步骤 2 确定性 算法中的每一个步骤都应当是确定的 3 有效性 算法中的每一个步骤都应当能有效地执行 并得到确定的结果 4 有零个或多个输入 输入是指在执行算法时需要从外界取得必要的信息 5 有一个或多个输出 算法的目的是为了求解 解 就是输出 12 第1章程序设计基本概念 四 算法的描述工具可以用不同的方法表示算法 常用的有 自然语言 伪代码 人们日常使用的语言 可以是汉语或英语或其它语言 通俗易懂 繁琐 歧义性 描述包含分支和循环的算法时不是很直观清晰 缺点 优点 用介于自然语言与程序设计语言之间的符号和文字来描述算法 书写方便 格式紧凑 通俗易懂 很容易被转换为程序语言 优点 不如流程图直观 可能会出现逻辑上的错误 缺点 13 伪代码示例 1 用伪代码描述 打印x的绝对值 的算法 解 其算法用伪代码描述如下若x为正打印x否则打印 x 第1章程序设计基本概念 或IFx为正printxELSEprint x 14 第1章程序设计基本概念 二 算法的描述工具流程图 ANSI规定的常用流程图符号如下 N S 结构化 流程图1973美I Nassi B Shneiderman基于结构化程序的三种基本结构提出 算法的每一步都用一个矩形框来描述 把一个个矩形框按执行的次序连接起来就是一个完整的算法 借助一些具有特定含义的图形符号来表示算法 特点是灵活 自由 形象 直观 起止框 处理框 输入输出框 判断框 流程线 连接点 15 第1章程序设计基本概念 二 算法的描述工具示例 用流程图和N S流程图表示 打印x的绝对值 的算法 解 流程图为N S流程图为 开始 x 0 打印x 打印 x 结束 Y N 流程图优点 符号统一 画法简单 直观形象 结构清晰 逻辑性强 便于理解 流程图缺点 使用流程线的导向来引导程序流程 当程序流程较复杂时 框图中会常常有很多的流程线 导致逻辑杂乱无章 失去了流程图简洁清晰的优点 N S流程图优点 比文字描述直观 形象易于理解 比传统流程图紧凑易画 16 第1章程序设计基本概念 1 3结构化程序设计和模块化结构一 结构化程序结构化程序由顺序结构 选择结构和循环结构三种基本结构组成 由三种基本结构所构成的算法称为结构化算法 一 顺序结构 按语句在程序中的先后顺序依次执行 无分支 无转移 17 第1章程序设计基本概念 一 结构化程序 二 选择结构 也叫分支结构 选取结构 选择结构的程序里存在一些分支 程序通过对一些条件的判断选择执行的分支 当P条件为真时 执行A模块 否则执行B模块 b N S流程图 a 一般流程图 18 第1章程序设计基本概念 一 结构化程序 三 循环结构在循环结构中 是反复地执行一系列操作 直到某条件为假 或为真 时才终止循环 b N S流程图 a 一般流程图 当P条件成立时 反复执行A 直到P为假 1 当型 while型 循环结构 while循环结构中 先判断条件 条件成立就执行循环体 条件不成立就退出循环体到达流程出口处 19 第1章程序设计基本概念 一 结构化程序 三 循环结构 b N S流程图 a 一般流程图 先执行A操作 再判断P是否为假 若P为假 再执行A 直到P为真为止 2 直到型 Until型 循环结构 until型循环结构中 在循环结构入口处先执行循环体 然后再判断条件 20 第1章程序设计基本概念 一 结构化程序例1 1先后输入若干个整数 要求打印出其中最大的数 当输入的数小于0时结束 用流程图表示算法 解 S1 输入一个整数给x S2 令max x S3 判断是否x 0 S4 xmax S7 x max 令max x S8 转到S3 a 一般流程图 21 第1章程序设计基本概念 一 结构化程序例1 1先后输入若干个整数 要求打印出其中最大的数 当输入的数小于0时结束 用流程图表示算法 解 S1 输入一个整数给x S2 令max x S3 判断是否x 0 S4 xmax S7 x max 令max x S8 转到S3 a 一般流程图 22 第1章程序设计基本概念 1 3结构化程序设计和模块化结构二 模块化程序主要思想 是把程序分解为多个单一 独立的模块依次解决 模块化程序设计的方法 是把复杂的大任务分解为若干个子任务 每个子任务又分成很多个小子任务 每个小子任务只完成一项简单的功能 这些简单功能用一个个小模块来实现 由一个个功能模块构成的程序结构称为模块化结构 C语言是一种结构化程序设计语言 C语言提供了三种基本结构的语句 C语言用函数实现程序的模块
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025【电气设备外发加工合同书】 电气设备外发加工
- (2023)义务教育英语新课程标准考试测试题库及答案
- 中国科学部2025年度项目合作协议
- 2025年快速响应服务器维修合同
- 微服务云安全-洞察与解读
- 2025年房产中介合同协议(佣金支付)
- 2025年方便食品生产许可合同协议
- 食品微生物组鉴定技术-洞察与解读
- 投资管理面试题及答案
- 年轻群体乐器消费行为-洞察与解读
- 新能源汽车充电桩安全管理预案
- 基本不等式讲义-2025年暑期新高一数学苏教版
- 知道智慧树创新之术-TRIZ理论满分测试答案
- 传播学概论-孙庚-课件
- 共青团入团考试测试题库(含答案)
- 2025年广东省江门市普通高中物理高一下期末达标检测试题含解析
- 火焰辐射图像处理技术在炉膛三维温度场监测中的应用研究
- 西藏自治区遴选考试试题及答案
- 高一上册半期考数学试卷
- 设备操作维护培训
- 涉密项目监理管理制度
评论
0/150
提交评论