C语言程序设计教程(第2版)
书 号:9787113182090
丛 书 名:高等学校“十二五”规划教材
作 者:张磊
译 者:
开 本:16开
装 帧:平装
正文语种:
出 版 社:中国铁道出版社有限公司
定 价:40元
-
内容简介
本书以“学习基本理论、掌握基本方法、培养基本实践能力”为编写指导思想,以程序设计为主线,突出C语言程序设计的应用性、实践性特点,把握主干知识教学,注重逻辑思维能力和基本程序设计能力培养。全书以案例引领教学内容,符合认知规律,适合程序设计初学者学习。
全书共9章,分别为程序设计概述、简单程序设计、分支结构程序设计、循环结构程序设计、数组程序设计、函数程序设计、指针程序设计、结构体程序设计和文件程序设计。每章均设有实验指导,分为基础实验和综合实验两部分,与理论教学内容紧密衔接,相辅相成。书后附有简明习题解答,便于学习参考。本书适合作为大学本科及高职高专理工类(含计算机类)学生的程序设计基础教材,也可用作程序设计人员及程序设计爱好者的自学参考书。 -
前言
C语言凭借其良好的编程风格和优秀的构架一直是程序设计者的入门首选,目前C语言教材市场上已经很多了,其中不乏一些经典之作。然而编者虽然早些年就已经出版过C语言程序设计教材,但为了使C语言程序设计这门课程更加实用,更加接近人们的学习和生活,进而让更多的读者能真正做到“学以致用”,编者抛开第1版教材的体系,汇集近年来教学工作和教材建设经验,以程序设计为主线,重新组织成套教材,进行了较大幅度的改版。
全书共9章,分别为程序设计概述、简单程序设计、分支结构程序设计、循环结构程序设计、数组程序设计、函数程序设计、指针程序设计、结构体程序设计和文件程序设计。每章之后均设有实验指导,并在书后附有简明习题解答。书中带*号部分为选修。
本次改版对之前教材结构做了很大的调整,其内容主要有以下特点:
(1)主体实例系列化。本书实例以“学生数据管理”和“字符串处理”系列例题(系列例题简表见附录A和附录B)为主体,贯穿教学主要内容,知识脉络清晰,前后衔接紧密,讲述内容逐步扩展,运用比较教学法讲解,易教易学。
(2)以实例引领教学内容,符合认知规律。凡是适合以程序实例开始的新知识,均通过程序实例和程序说明予以引导,首先建立感性认识,然后展开,系统介绍相关知识。
(3)实例丰富,功能明确,讲解重点突出。本书设有大量针对性实例,以培养学生的程序设计能力和实践应用能力。多数实例按照“问题分析与算法设计、程序实现、程序说明及进一步讨论”这一过程进行系统讲解,重点加强算法设计、关键语句、关键程序段及程序讨论的分析说明,力求将重点难点讲解透彻。
(4)数据类型、运算符与表达式等语言知识穿插于相关章节之中,随用随讲,既突出了程序设计主线,又有利于提高教学效率和学生的学习兴趣。
(5)每章之后均设有实验指导,分为基础实验和综合实验两部分,实验内容与理论教学内容紧密衔接,相辅相成。基础实验内容紧密结合课程中的例题程序设置,以“理解→验证→完善→扩充→提高”为实验教学线索,重在巩固课堂教学知识,提高调试程序和完善程序的能力;综合实验以算法设计和程序实现为重点,训练运用所学知识解决实际问题的能力。
(6)教学资源配套实用。本书有配套的教学课件、例题程序源代码、习题程序参考代码及试题库等丰富的教学资源。
本书秉承“建设精品教材,培养优秀人才”的教育理念,广泛吸收借鉴其他教材的长处,在前期教材建设的基础上,融入多年的教学实践经验和教学研究成果,力求组织结构清晰,突出程序设计,重视方法教学,理论联系实际,便于教、便于学。
本书由张磊编著,对本书的编写提供帮助的有李竹健、刘海慧、张莹、张宗云、黄忠义、魏建国、张元国、王桂东、王金才、张文、高永存、王涛、薛莹、徐英娟、马明祥、滕秀荣、滕文杰、彭玉忠、潘振昌、徐思杰等,在此表示感谢!
本书编写过程中,中国铁道出版社组织相关专家对书稿进行了评审,并提出了许多宝贵建议,在此一并致谢!
由于编者水平有限,书中难免存在不足之处,敬请读者批评指正。编者联系邮箱:Mail16300@163.com。
编 者
2013年12月 -
目录
第1章 程序设计概述 1
1.1 程序设计语言 1
1.2 算法 2
1.2.1 算法概念与算法描述 2
1.2.2 算法的逻辑结构 4
1.2.3 算法的特性 6
1.2.4 算法评价 7
1.3 程序设计与实现 8
1.3.1 程序设计的基本过程 8
1.3.2 使用Visual C++ 6.0
实现C语言程序 8
1.3.3 程序设计示例 9
1.4 C语言程序的基本结构 13
1.4.1 程序的函数化结构 13
1.4.2 程序中的基本语句 15
1.4.3 标识符与保留字 15
1.4.4 程序风格 16
小结.. 16
习题1 17
实验1 编辑运行C语言程序 19
第2章 简单程序设计 22
2.1 用printf()函数输出数据 22
2.1.1 固定数值的加法程序 22
2.1.2 printf()函数 24
2.2 用scanf()函数输入数据 27
2.2.1 任意数值的加法程序 27
2.2.2 scanf()函数 28
2.3 输入/输出字符数据 31
2.4 数据、运算及宏命令 32
2.4.1 数据类型 33
2.4.2 常量 33
2.4.3 简单变量 34
2.4.4 算术运算 37
2.4.5 赋值运算 38
2.4.6 宏命令include和define 39
2.5 程序设计举例 43
2.5.1 计算三角形面积 44
2.5.2 字母转换 45
2.5.3 鸡兔同笼问题 46
2.6 表达式中数据类型的转换 47
*2.7 用typedef命名数据类型 48
小结.. 49
习题2 49
实验2 简单程序设计 53
第3章 分支结构程序设计 55
3.1 简单条件的分支程序 55
3.1.1 判断优等生程序 55
3.1.2 关系表达式 56
3.1.3 if语句 57
3.1.4 条件运算 64
3.2 复合条件的分支程序 65
3.2.1 复合条件的优等生
判断程序 65
3.2.2 逻辑表达式 66
3.3 用switch语句实现分支控制 68
3.4 goto语句 71
3.5 分支结构应用举例 72
3.5.1 闰年问题 72
3.5.2 判断等边三角形 73
3.5.3 求解一元二次方程 75
3.5.4 学生成绩分等显示 76
小结.. 78
习题3 78
实验3 分支结构程序设计 81
第4章 循环结构程序设计 86
4.1 while循环结构程序 86
4.1.1 while循环程序示例 86
4.1.2 while语句 87
4.1.3 自增、自减运算 88
4.2 do-while循环结构程序 90
4.2.1 do-while循环程序示例 90
4.2.2 do-while语句 91
4.3 for循环结构程序 91
4.3.1 for循环程序示例 91
4.3.2 for语句 92
4.3.3 逗号表达式 93
4.4 循环体中的控制命令 94
4.4.1 break命令 94
4.4.2 continue命令 95
4.5 多重循环程序 96
4.5.1 多重循环程序示例 96
4.5.2 多重循环的一般结构 97
4.6 循环结构程序设计举例 98
4.6.1 字符统计 98
4.6.2 比赛评分问题 99
4.6.3 学生成绩分等统计 101
4.6.4 最大公约数 103
4.6.5 Fibonacci数列 104
4.6.6 乘法表 105
4.6.7 搬砖问题 106
4.6.8 找素数 107
4.6.9 哥德巴赫猜想 108
小结.. 109
习题4 110
实验4 循环结构程序设计 114
第5章 数组程序设计 117
5.1 一维数组程序设计 117
5.1.1 逆序输出数据程序 117
5.1.2 一维数组的定义 118
5.1.3 数值型一维数组的输入和输出 119
5.1.4 数值型一维数组的
初始化 120
5.1.5 字符型一维数组的
初始化 122
5.1.6 一维数组的存储 122
5.2 字符串操作 123
5.2.1 字符串的输入/输出 123
5.2.2 多字符串操作函数 127
5.3 二维数组程序设计 129
5.3.1 矩阵求和程序 129
5.3.2 二维数组的定义 130
5.3.3 二维数组的输入和输出 131
5.3.4 二维数组的初始化 132
5.3.5 二维数组的存储 133
5.4 数组应用 134
5.4.1 排序 134
5.4.2 查找 136
5.4.3 单词统计 138
5.4.4 矩阵运算 139
5.4.5 使用数组管理学生成绩 144
5.4.6 杨辉三角形 147
小结.. 148
习题5 149
实验5 数组程序设计 153
第6章 函数程序设计 155
6.1 函数概述 155
6.2 自定义函数示例 156
6.3 函数定义及调用 157
6.3.1 函数定义 157
6.3.2 函数值和return命令 159
6.3.3 函数调用 160
6.4 函数嵌套和递归函数 164
6.4.1 函数嵌套 165
6.4.2 递归函数 166
6.5 关于数组的函数设计 170
6.5.1 数组元素作函数参数 170
6.5.2 一维数组名作函数参数 171
6.5.3 关于二维数组的
函数设计 174
6.6 函数应用举例 176
6.6.1 “学生成绩分等统计”
函数化 176
6.6.2 求解Fibonacci数列 177
6.6.3 使用判断素数函数求解哥德巴赫猜想式 179
6.6.4 排序函数的设计与应用 180
6.6.5 生成数字字符串 181
6.7 变量的作用域和存储类型 184
6.7.1 变量的作用域 184
6.7.2 变量的存储类型 186
*6.8 编译连接多个源文件
的C程序 187
小结.. 188
习题6 189
实验6 使用自定义函数的
程序设计 193
第7章 指针程序设计 195
7.1 指针概述 195
7.2 指针变量的定义和使用 196
7.2.1 指针变量程序示例 196
7.2.2 定义指针变量 196
7.2.3 使用指针变量 197
7.3 指针与数组 199
7.3.1 用指针访问一维数组 199
7.3.2 用指针访问二维数组 202
7.3.3 用指针处理字符串 205
7.3.4 指针数组 206
7.4 指针作函数参数 207
7.4.1 简单变量指针作函数
参数 207
7.4.2 指向数组的指针作
函数参数 208
7.4.3 字符串指针作函数参数 210
7.4.4 指针数组作函数参数 212
*7.4.5 使用带参数的
main()函数 214
7.5 指针函数和指向函数的指针
变量 215
7.5.1 指针函数 215
*7.5.2 指向函数的指针变量 217
7.6 指针应用举例 218
7.6.1 “学生成绩分等统计”进一步函数化 218
7.6.2 指针作参数的排序函数 219
7.6.3 三色球问题 221
7.6.4 字符串查找 222
小结.. 224
习题7 224
实验7 指针程序设计 230
第8章 结构体程序设计 234
8.1 结构体数据概述 234
8.2 结构体类型和结构体变量 235
8.2.1 使用结构体变量存储学生数据 235
8.2.2 定义结构体数据类型 236
8.2.3 结构体变量的定义
及使用 237
8.3 结构体数组 240
8.3.1 结构体数组的定义及元素引用 240
8.3.2 结构体数组的初始化 241
8.3.3 使用结构体数组存储学生数据 241
8.4 结构体指针变量 242
8.4.1 结构体指针变量的定义及使用 242
8.4.2 结构体指针作函数
的参数 244
8.5 使用链表存储数据 245
8.5.1 使用链表存储学生数据 245
8.5.2 链表的特点 246
8.5.3 动态内存管理函数 246
8.5.4 定义链表结构 247
8.6 链表的基本操作 248
8.6.1 链表结点的插入 249
8.6.2 链表结点的删除 252
8.6.3 链表结点的查找 253
8.7 结构体应用举例 256
8.7.1 字符串加密 256
8.7.2 学生数据综合处理 258
8.7.3 Josephus问题 262
小结.. 264
习题8 264
实验8 结构体程序设计 270
第9章 文件程序设计 273
9.1 文件概述 273
9.1.1 文件的概念 273
9.1.2 文件的分类 274
9.1.3 文件的一般操作过程 274
9.1.4 文件的指针 275
9.2 文件的基本操作 276
9.2.1 打开和关闭文件 276
9.2.2 最基本的文件读/写
函数 277
9.3 文件的数据块读/写 280
9.3.1 数据块读/写函数 280
9.3.2 用文件管理学生数据 281
9.4 文件的其他操作 283
9.4.1 文件位置指针定位 283
9.4.2 文件的格式化读/写 286
9.4.3 文件的字符串操作 288
9.5 文件应用举例 288
9.5.1 文件复制 289
9.5.2 存储在文件中的学生数据排序 289
小结.. 291
习题9 291
实验9 文件程序设计 294
附录A “学生数据管理”
系列例题简表 297
附录B “字符串处理”
系列例题简表 299
附录C C语言的经典保留字 300
附录D 常用的C语言库函数 302
附录E 常用ASCII码字符对照表 305
附录F 习题(选择题)参考答案 306
附录G 习题(编程题)参考程序 307
参考文献 326
-
作者介绍
主要著译者顺序姓名学历职称学科专长通讯地址1 张磊 硕士教授 计算机 工作单位潍坊学院 邮政编码261061 电话05368785100 2 工作单位 邮政编码 电话 3 工作单位 邮政编码 电话 审校者(主审者) 学历 工作单位 邮政编码 电话 职称 工作单位 邮政编码 电话 张磊,男,教授,潍坊学院计算机与通信工程学院院长,山东省精品课程建设主持人,山东省高教学会计算机专业教学委员会常务理事。主要研究方向为网络和数据库应用技术。主讲了C语言程序设计、数据库技术、网页设计技术等多门课程,教学效果优秀。主持和承担了多媒体开发平台软件系统、省际物流平台系统开发、网络环境下电子文件、电子档案管理的研究与开发、国家级特色专业计算机科学与技术专业建设、高工专计算机专业教育体系研究、C语言课程综合性建设等科研教研项目,主编高校教材13部,其中国家级规划教材1部。 -
编辑推荐
-
书评书荐
-
附件下载
图书推荐