C语言程序设计aa.docx
《C语言程序设计aa.docx》由会员分享,可在线阅读,更多相关《C语言程序设计aa.docx(267页珍藏版)》请在文库网上搜索。
1、高等财经 专科学校 试用教材C语 言 程 序 设 计褚东升主编东北财经大学出版社图书在版编目 ( C I P ) 数据C 语言程序设计/ 褚东升主编 .-大连 : 东 北财经 大学 出 版社 , 1996 .12高等财经专科学校试用教材ISBN 7-81044-169-8 .CII .褚II I .C 语 言-程序 设计-高 等学校 : 专 业 学校-教材 .T P312 C中国版本图书馆 CIP 数据核字 (96) 第 18799 号高等财经专科学校试用教材C 语言程序设计C Yuyan Chen gxu Sheji1996 年 12 月第 1 版1996 年 12 月第 1 次印刷褚东升主
2、编责任编辑 : 郭洁 责任校对 : 孙萍出 版 者 : 东北财经大学出版社 地址 : 大连黑石礁 邮政编码 : 116025制版 : 大连斯达电脑开发公司 印刷 :开本 : 85011681/ 32印张 : 8 1/ 2字数 : 213 000印数 : 15 000ISBN 7-81044-169-8/ T30定价 : 12 .00 元前言为适应高等财经专科 学校 会计电 算化 专业教 学的 需要 , 根 据 财政部颁布的财政 ( 经 ) 普通专科会计电算 化专业教 学方案, 财 政部培训中心组织编写了会计电算化专业系列教材。本系列教材 包括 :计算机基础、微型机原理与汇编语言、应用软件与信息
3、 安全维护、C 语 言程 序设 计、F OXB ASE + 关系 数据 库 系统、管理信息系统、会计 电算 化应 用等七 本。该系 列教材 不仅 适 合于三年制大专会计电算化专业教学使用 , 也适合于 成人教育 及 从事会计电算化工作人员学习参考。C 语言程序设计由 山东 财政 学 院褚 东升 主编 , 并负 责对 全 书的修订、总纂和定稿。 全书写 作分 工如 下 : 第 一、七 章由 山东 财 政学院褚东升编写 , 第 二、三 章由 江苏 财政专 科学 校吴 丹国 编写 , 第四、六章由山东财政 学院曲 吉林 编写 , 第五、八 章由 河南 财税 高 等专科学校董汉丽编写。在编写本书过程中
4、 , 我 们得到 了财 政部 培训中 心 和兄 弟院 校 的大力支持 , 山东财政学院的聂培尧教授在 本书最初 的体系安 排 及大纲编写等方面做了大 量的 工作 , 曲吉 林副 教授在 本书 的校 稿 中也做了大量的工作 , 在此表示衷心感谢 !本书及配套的教学大纲 , 已由 财政 部教 材编审 委 员会 组织 的 专家评审通过。本书由中央财经大学潘省初教授主审。潘省初教授对全书提 出了不少有益建议 , 在此深表谢意 !编者1996 年 6 月内容 提要本书详细介绍了 C 语 言的 基本 概念 和 用 C 语言 进 行结 构 化 程序设计的方法 , 并配有大量的程序实例 , 说明了各种语法现象
5、的 特点及使用中应注意的事项。每章后均附有习题。本书的特点是从 介 绍 基 础知 识 入 手 , 采 用 深 入 浅 出、循 序 渐 进、逐步求精的程序开发技术介绍程序开发过程。本书体系合理 , 概念清晰 , 注重程序设计能力的训练。本书可作为大中专院校 程序设 计课 程的教 材和 教 学参 考书 , 也可作为计算机培训班的教材或参考书及计算机有关专业的程序 设计课程的自学用书。编审说明本书是全国 财 经 类通 用 教 材。经 审 阅 , 我 们 同意作为高等财经专科学校试用教材出版。书中 不足之处 , 请读者批评指正。财政部教材编审委员会1996 年 8 月 29 日目录3目录第一章C 语言
6、概述11.1C 语言的发展与特点11.2C 语言的基本符号41.3简单的数据输入输出61.4C 语言的程序结构141.5C 语言程序的上机步骤16第二章基本数据类型、运算符和表达式212.1C 语言的数据类型212.2常量和变量222.3整型数据252.4实型数据272.5字符型数据292.6变量的初始化322.7运算符与表达式33第三章程序控制语句493.1结构化程序设计概念及C 语句493.2顺序结构533.3分支结构563.4循环结构663.5辅助语句733.6程序举例76第四章数组844.1数组的基本概念844.2一维数组854.3字符数组894.4多维数组924.5程序举例97第五章
7、程序的构造及函数1025.1C 语言的组成1025.2C 语言的函数1065.3函数的参数1115.4函数的调用1225.5程序编译预处理134第六章结构与联合1426.1结构1426.2联合1566.3位字段1616.4枚举类型1636.5用 T ypedef定义类型167第七章指针1717.1指针的概念1717.2变量的指针与指针变量1727.3指针与数组1817.4指针与函数1967.5指针与结构207第八章文件及库函数的使用2228.1C 语言文件的概述2228.2标准输入输出函数2238.3标准设备文件及 I/ O 改向2278.4缓冲型文件输入输出系统2308.5非缓冲型文件输入输
8、出系统253参考资料261第一 章C 语 言概 述语言是一种通用性程 序设计 语言 , 它 既具 有高 级 语言 特点 , 又具有低级语言特点的特性。随着计算机的广 泛应用 , C 语 言在各个领域的应用也 越来越 广泛。 现在 , 几乎 在各 种型 号的 微 型机和大、中、小型计算机上都配有 C 语言编译系统。 C 语言已广 泛用于描述系统软件、数据处 理、科学 工程数 值计 算等 多个 领域 ,深受专业工作者和广大用户的欢迎。1 .1C 语 言的发展与 特点一、C 语言的发展早期的操作系统等系统 软件主 要是 用汇编 语言 编 写的 , 它 依 赖于计算机硬件 , 程序的可读性和可移植性都
9、很差。为此 , 人们努 力寻求一种程序语言 , 使它既具有高级语言的特性 , 能够编写可读 性高、便于移植的程序 , 改善 编写 程序 的环境 ; 又 具有 某些 必要 的 汇编语言特性 , 能描述对硬件的操作。例如能对内存地址的操作、 对位的操作、对字的移 位操作 及 对寄 存器 的操 作等。 C 语 言就 是 在人们寻找集高级语言和汇编语言优点于一身的高级语言过程中 产生的。C 语言的前身是英国剑桥大学的 Mar tin R ich ards 在 60 年 代 开发 的 BC PL 语 言 ( Basic Combined Progr amming La ngu age ) 。 1970
10、年 , 美国 贝 尔 实 验 室 的 Ken T hompson 以 BC PL 语 言 为 基 础 , 开发了简单的、接近硬件的 B 语言 ( 取 BC PL 的 第一 个字符 ) ,第一章C 语言概述9并用 B 语言编写了 U N IX 操作 系统 和 大量 的 实用 程 序。但 是 由 于 B 语言是一种无类型面向机 器字 的语言 , 所 以在 描述各 种数 据 结构时是很困难的。另外 , 由于 B 语言 最后产 生的 是解释 执行 代 码 , 运行速度 较慢 等 原因 而 未能 流 行。 此后 , 美 国 贝尔 实 验 室 的 De nnis M .Ritchie 对 B 语言作了进一
11、步的充实和完善 , 于 1972 年 推出了一种新型的程序设计语言 C 语言。随着 U N IX 操作系 统在国际上的广泛流行 , C 语言已被人们所接受 , 并在各种型号 的 微型机和大、中、小 型计 算机 上都 配有 C 语言 编译 系 统。目 前 , C 语言已风靡全球 , 成为世 界上 应用最 广泛 的计 算机程 序设 计语 言 之一。1978 年 , Brian Kernigh an 和 Denni s M .Ritchie 合 作 编 写 了 经典著作T he C P rogra mmi ng La nguag e, 它是目前所 有 C 语 言 版本的基础。1983 年 , 美国国
12、家标准 化协 会 ( A NSI ) 对 C 语言 的 各种版本作了扩充和完善 , 制定 了 C 语言 的标准 , 称 为 A NSI C 。 本书以 T urbo C 为线索介绍了 C 语言的 特点 和编 程技术 , T urbo C 完全是按照 ANSI 的 C 语 言标准 实施 的 , 它是一 种 快速 高效 的 编译程序。 T ur bo C 不仅提供 了一 个 集成 开发 环境 , 同时 还按 传 统方式提供了一个命令行编译程序版本 , 以满足不同用户的需要。在 C 语 言 的 基 础 上 , 1983 年 又 由 贝 尔 实 验 室 的 Bja rne Strous t rup 推
13、出了 C + + 。C + + 进一步扩充和完善了 C 语言 , 成 为一种面向对象的程序设计语言。 C + + 提出 了一 些更为 深入 的 概念 , 它所支持的这些面 向对 象的概 念容 易将 问题空 间直 接地 映 射到程序空间 , 为程序员 提供 了一种 与传 统结 构程序 设计 不同 的 思维方式和编程方法。因而 也增 加了 整个语 言的 复杂 性 , 掌握 起 来有一定的难度。但是 , C 语 言是 C + + 的 基础 , C + + 语 言 和 C 语言在很多方面是兼容的。因此 , 掌握了 C 语言 , 再进一步学习 C+ + 就能以一种熟悉的语 法来 学习面 向对 象的语 言
14、 , 从而 达到 事 半功倍的目的。本书以目前较为流行的 T urbo C 2 .0 为开 发环境 , 介 绍 C 语 言及其程序设计。二、C 语言的特点C 语言具有多方面的特点 , 其主要特点有以下几个方面 :( 一 ) C 语言不但具有高级语言 的特点 , 而且 还具有低 级语 言 的特征 , 它允许直接访问地址 , 能进行 位 ( Bit ) 运算 , 能实 现汇编 语 言大部分功能 , 可以直接对硬件进行操作。( 二 ) 语言简洁、紧凑 , 使用方便、灵活。用 C 语言编写的程 序 通常比用其它高级语言 编写的 程序 更简练 , 代 码行 少。语 言的 许 多成分都通过函数调用完 成
15、, 使 得编 译程 序小 而精。 C 语 言没 有 提供 I/ O 操作、并行操作、同步 或协 同程序 等复 杂控制 , 而 是提 供 了大量而有效的库函数来实现输入/ 输出、字符串处理及存贮分配 操作等功能。 C 语言运行 时所 要求 的 支持 少 , 所以 占 内存 空间 也 少。( 三 ) 丰富的运算能力。 C 语言的 运算符 包含的 范围很 广泛 , 共有 34 种运算符。除一 般高级 语言 使用 的 + 、- 、* 、/ 四 则运 算 及与 ( AND ) 、或 ( O R) 、非 ( NO T ) 等 逻辑运 算功能外 , 还可 以实 现 以二进制位 ( bit ) 为单 位的 位
16、与 ( & ) 、位 或 ( | ) 、位 非 ( ) 、位 异 或 () 以及移位 ( 、 ) 等位运算 , 并且 具有如 a + + 、b-等单 项 运算和 + = 、- = 、* = 、/ = 等复合运算功能。( 四 ) 丰富的数据 类型。 C 语 言 能在 字 符、整 数、浮 点数 等 基 本类型的基础上 , 按层次逐层构造各种构造类型 , 如数组、指针、结 构、联合等 , 能用来实现各 种复 杂 的数 据结 构。因 此 , C 语 言具 有 较强的数据处理能力。( 五 ) 结构化构造语言。 C 语言是 一种结 构化程 序设计 语言 , 即程序的逻辑结构 , 可 以用顺 序、分支 和循
17、环 三种 基本 结构 组成。 C 语 言 具 有 结 构 化 控 制 语 句 , 如 ifelse、 w hile、dow hile、 s witch、for 等 , 十分便于采用由顶向下、逐步求 精的结构 化程序 设计方法。因此 , 用 C 语 言 编制 的 程序 具 有 容易 理 解、便 于维 护 等 优点。( 六 ) 模块化的构 造语 言。 C 语言 程序 的 函 数结 构 十分 有 利 于把整体程序分割成若干 个相 对独立 的功 能模块 , 并 且在 程序 间 的相互调用、数 据 传递 和 数据 共 享方 面 提 供了 十 分 有 效 的手 段。 这一特点为把大型软件模 块化、对由 多
18、人 同时 进行集 体性 开发 的 软件工程提供了强有力的支持。( 七 ) 预处理能力。 C 语 言中 提 供了 # include 和 # defin e 等 编译预处理语句 , 能进行字符串或特定参数的宏定义 , 以及实现对 外部文本文件的读取和合并。同时还具有 # if、# else 等条件编 译 预处理语句。这些功能的使 用提 高了 软件开 发的 工作 效率 , 并 为 程序的组织和编译提供了便利。( 八 ) 可移植性 好。程序 的 可移 植性 是指 在一 个 环境 上运 行 的程序可以不加或稍加改 动后 在另一 个完 全不同 的环 境上 运行。 汇编语言是依赖于机器硬件的 , 用汇编语
19、言编写的程序不可移植。 而一些高级语言 , 它 们从 一种 机器 搬 到另 一种 机器 上 , 基 本上 都 要根据国际标准进 行重 新 编写。 而 C 语言 程 序 本身 并 不依 存 于 机器硬件系统 , 从而便于在硬件结构不同的 机种间和 各种操作 系 统实现程序的移植。1 .2C 语言 的基本符 号一、基本符号集C 语言的基本符号是 ASCI I 字符集。它包括 : ( 一 ) 数字 : 阿拉伯数字 10 个 (0 9) 。( 二 ) 字母 : 大写英文字母 26 个 ( AZ ) 。小写英文字母 26 个 ( az) 。内部处理 以小写字 母 为主。( 三 ) 特殊符号 : 主 要是
20、 指运 算符 和 操作 符 , 它通 常 是由 1 2个特殊符号组成。共有以下 39 个 :+-*/% =!=& &| |!&|=+-?: .- +=-=* =/=% =& = =| =,#sizeof二、标识符C 语言的标识符可分为以下三类 : ( 一 ) 保留关键字C 语言 每个关键 字在 C 程序 中都代表 着某一 固定含义 , 所 有 保留关键字都要用小写英 文字 母表示 , 且 这些 关键字 都不 允许 作 为用户标识符使用。 C 语言共有以下 32 个保留关键字 :au t o br ea k case cha r cons t con tinue default do doubl
21、e else enum ex tern float for got o if i nt long regis te r ret urnshort signe d s izeof s tatic s t ruct switch typed ef union un- s ign edviod volatile w hile ( 二 ) 预定义标识符C 语言提供了大量的 库函 数和 头 文件 , 这 些库 函 数名 和头 文件中定义的一些标识符都统称为预定义标识符。C 语 言允许用 户 把这类标识符作其它用途 , 但 这将使 这些 预定 义的标 识符 失去 原 有的作用。例如 : 一旦 用户 把 P
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 aa