C语言程序设计(第三版)
书 号:9787113168513
丛 书 名:21世纪高等院校计算机专业规划教材
作 者:夏宽理 赵子正
译 者:
开 本:16开
装 帧:平装
正文语种:
出 版 社:中国铁道出版社有限公司
定 价:36元
-
内容简介
本书系统地讲解了C语言程序设计的基本概念和算法,主要内容包括基本数据类型、结构化程序设计、数组、函数、指针和引用、结构和链表及数据文件处理技术等;结合C语言基本内容讲解计算机程序设计的基本原理、程序设计技巧与方法以及几个常用的算法设计技术。本书的特点是以读者学习程序设计方法为主导,以算法为依据介绍程序的设计过程。 -
前言
本书是《C语言程序设计》(夏宽理、赵子正编著,中国铁道出版社出版)的第三版,在继续保持原版教材概念叙述准确、解题分析详细等特点的基础上,力求对程序设计的基本概念的叙述更容易阅读和理解;对书中的实例经过重新精心考虑,并做了必要的调整,使之更有启发性,更能反映程序设计教学的要求。考虑到C语言程序设计的上机环境一般都采用C++语言程序设计环境,增加了一些C++语言比C语言更便于表达的内容,另外,每章最后附有小结,总结本章应掌握的内容。
学习程序设计最基本的目标是学会编写程序,这是一件非常辛苦的事情,读者要有耐心和非常强的实践精神。学好程序设计的主要难点是要学习和熟练掌握一门程序设计语言,能用程序设计语言描述解题过程。由于程序设计是一门实践性非常强的课程,因此在学习程序设计基本技能的同时,要多进行上机实践,不断积累编写程序和调试程序的经验。
编写程序是将解决问题的算法用某种程序语言描述后告诉计算机。因为C语言具有功能丰富、表达能力强、使用灵活方便、可移植性好等优点,所以本书采用C语言作为计算机程序设计的描述语言。
本书特别注重讲解如何正确编写程序。通过实例,详细介绍从算法设计到程序编写的全过程。本书在介绍程序实例时,先给出解题思路,然后才给出程序。这充分体现读者学习程序设计的目标——学习程序设计方法。
本书共分9章,各章内容安排如下:
第1章程序设计基础,介绍计算机和程序设计基础知识,C语言的历史和特点,C程序基础知识,C语言的词汇、数据类型、常量和变量等。
第2章基本数据类型及其运算,介绍基本数据类型、数据输入/输出的基本方法,数据运算和表达式等。
第3章结构化程序设计,介绍基本语句、结构化控制结构和一些简单的程序设计实例。从本章起,读者已开始学习编写结构化程序的方法和技巧。读者要特别注重实例的解题思路和程序说明,这是编写程序的思考过程。了解、熟悉,直至能设计解题思路是独立编写程序的关键。
第4章数组,介绍在计算机内存中组织和处理元素类型相同的成组数据的技术,内容包括数组的基本概念、定义数组和使用数组的方法、字符串的存储方法,常用字符串处理库函数,字符串的基本处理技术。掌握这些内容,读者可具有在计算机内存中组织和处理成批数据,以及处理字符串所必需的知识和能力。
第5章函数,介绍函数的基本概念,函数的编写方法和使用方法,递归函数的基本知识,局部变量、外部变量、变量的作用域、存储类别等概念,并简单介绍了编译预处理命令。函数设计能力主要体现在能从复杂的计算中抽象出基本操作函数,能正确为函数设置形参和能用基本操作构建复杂操作等,本章列举了大量的实例说明函数的编写方法。至此,读者已具备将具有独立功能的程序段编写成函数的能力,为编写更复杂的程序打下基础。
第6章指针和引用,介绍指针的概念、指针变量的使用方法、指向数组元素的指针、指向二维数组一整行的指针、指针形参、数组形参、指针数组和多级指针、函数指针、返回指针的函数。对C语言中与指针有关的内容做了全面详细的讨论。指针的最大缺点是使用不当会引起意想不到的程序错误,其优点是用指针能编写精巧高效的程序。一个高水平的C语言程序设计员应具有熟练使用指针的能力。
第7章结构和链表,介绍结构类型和结构变量、结构数组、结构指针、结构形参、结构指针形参、返回结构函数等内容。本章还特别介绍了链表的基本处理技术与应用,链表是读者进一步学习数据结构的基础,对于要进一步学习数据结构的读者是必须掌握的内容。本章还介绍了联合、位域、枚举和类型定义方面的一些基本知识。结构用于描述复杂个体,数组用于描述同类成组数据,所以应用程序通常是处理结构数组。学会使用结构数组,可具有编写处理复杂数据结构的能力。
第8章介绍数据文件处理技术,内容包括文件指针变量、文件的使用方法和常用文件操作库函数的用法,以及基于文件的应用程序结构和程序实例。这方面的知识是编写数据文件处理程序所必需的。
第9章算法设计技术基础,介绍常用算法设计技术,如迭代法、递推法、回溯法、贪婪法和动态规划法,帮助读者了解计算机程序设计经常采用的算法设计技术。读者学习本章之后,对最经常使用的算法设计方法会有一定的了解。
本书主要是为读者学习程序设计而编写的,与其他介绍C语言程序设计的教材相比,主要有如下两个特色:
① 全书有大量的程序设计实例,并在程序设计实例中强调程序的开发过程;难点部分通过分析问题,先用逐步求精方法寻找问题的求解算法,然后给出问题的程序。这正是一般小程序或程序模块设计的完整过程。
② 介绍了算法设计的方法,这是因为程序设计与设计算法是紧密相连的。其目的是让读者对程序设计的有关内容有更全面的了解,使读者学习本书以后,不仅了解了程序语言,还能用程序语言编写程序,通过进一步上机实践,逐步达到独立编写应用程序的目的。
本书适合作为高等院校各类专业计算机程序设计课程的教材,也可作为“计算机软件专业技术资格和水平考试”及计算机培训班的教材和参考书。
本书由夏宽理、赵子正编著。在本书编写过程中,王春森、杭必政、金惠芳、陈海建、薛万奉等老师对本书的内容、实例的选择等做了很大的贡献;王春森老师还对本书再版的书稿做了仔细的审阅,提出了许多修改和改进建议;本书再版前得到多位使用本书的老师和读者的建议,在此深表谢意。
由于编者水平和经验有限,书中难免还有不足之处,恳请使用本书的老师和读者继续提出宝贵意见和建议,以供再版时参考。
编 者
2013年6月 -
目录
第1章 程序设计基础1
1.1 计算机和程序设计基础知识1
1.2 C语言的历史和特点8
1.3 几个简单的C程序10
1.4 C语言的词汇、数据类型、常量和变量13
1.5 程序开发环境基础知识15
小结15
习题16
第2章 基本数据类型及其运算17
2.1 基本数据类型17
2.1.1 整型数据17
2.1.2 浮点型数据19
2.1.3 字符型数据20
2.2 输入和输出基础22
2.2.1 单个字符输出和输入22
2.2.2 格式输出和输入23
2.3 数据运算28
2.3.1 赋值运算28
2.3.2 算术运算29
2.3.3 关系运算和逻辑运算30
2.3.4 条件运算32
2.3.5 其他运算33
2.4 表达式35
2.4.1 表达式分类36
2.4.2 表达式的类型转换36
小结38
习题39
第3章 结构化程序设计41
3.1 基本语句41
3.2 顺序结构43
3.3 选择结构43
3.3.1 两路条件选择结构44
3.3.2 多路按值选择结构48
3.4 循环结构50
3.4.1 while循环结构50
3.4.2 do…while循环结构52
3.4.3 for循环结构54
3.4.4 3种循环结构比较56
3.4.5 嵌套的循环结构57
3.5 简单程序设计实例59
小结63
习题64
第4章 数组66
4.1 数组的基本概念66
4.2 一维数组67
4.3 多维数组74
4.4 字符串处理技术基础79
小结88
习题88
第5章 函数90
5.1 函数的基本概念90
5.2 库函数的使用方法92
5.3 函数定义93
5.4 函数调用95
5.5 函数说明99
5.6 递归函数基础100
5.7 函数程序设计实例104
5.8 存储类别和作用域107
5.9 编译预处理命令简介110
小结117
习题118
第6章 指针和引用120
6.1 指针的基本概念120
6.2 指向数组元素的指针124
6.3 指针形参126
6.4 数组形参130
6.5 指向二维数组一整行的指针133
6.6 指针数组134
6.7 多级指针136
6.8 函数指针137
6.9 返回指针值的函数142
6.10 引用143
小结147
习题147
第7章 结构和链表150
7.1 结构类型和结构变量150
7.2 结构数组155
7.3 结构与函数157
7.4 链表160
7.5 联合176
7.6 位域178
7.7 枚举180
7.8 类型定义182
7.9 变量定义183
小结185
习题185
第8章 数据文件处理技术187
8.1 文件指针变量187
8.2 几个常用的数据文件库函数188
8.3 文件处理程序结构193
8.4 文件处理程序实例196
小结205
习题206
第9章 算法设计技术基础207
9.1 迭代法207
9.2 递推法209
9.3 回溯法211
9.4 贪婪法214
9.5 动态规划法217
小结220
习题221
附录A 运算符的优先级与结合性223
附录B ASCII字符集224
附录C Visual C++使用方法简介225
附录D C语言常用语法提要233
附录E 常用库函数237
参考文献240 -
作者介绍
主要著译者顺序姓名学历职称学科专长通讯地址1 夏宽理硕士 教授 计算机 工作单位复旦大学 邮政编码 电话 2赵子正 硕士 副教授计算机 工作单位复旦大学 邮政编码 电话 3 工作单位 邮政编码 电话 审校者(主审者) 学历 工作单位 邮政编码 电话 职称 工作单位 邮政编码 电话 -
编辑推荐
实例教学,计算机专业教材。 -
书评书荐
-
附件下载
图书推荐