C语言程序设计(第二版)
书 号:9787113207076
丛 书 名:教育部大学计算机课程改革规划教材
作 者:甘勇 李晔 卢冰
译 者:
开 本:16开
装 帧:平装
正文语种:
出 版 社:中国铁道出版社有限公司
定 价:43元
-
内容简介
本书以程序设计过程为主线,以问题和案例引入内容,围绕问题的解决来讲解C语言及程序设计。全书共分13章,主要内容包括:引言、简单C程序设计、分支结构、循环结构、函数、数组、字符数组与字符串、指针、结构、指针进阶、C预处理、文件及计算思维与常用算法。
本书内容全面,知识点详尽,适合作为高等学校各专业C语言程序设计课程的教材,也可作为从事计算机相关工作的人员的参考书。 -
前言
第二版前言
FOREWORD
C 语言程序设计是很多理工科专业,尤其是计算机专业学生必修的一门专业基础课。
C 语言从产生到现在,已经成为最重要和最流行的编程语言之一。学习、掌握 C 语言成
为了每个计算机技术人员的一项基本功,也是在计算机领域中进一步学习和工作的基础。
本书在第一版的基础上,汲取了教学实践中众多师生的反馈意见和建议,调整了部分
知识点的讲解顺序,改进了部分内容的叙述方式,并对部分同容进行了增删,修改了部分
例题的解题方法。
程序设计课程的核心是计算机解题的思维方式,而思维要借助工具(如 C 语言)来表
达。C 语言本身功能强大、内容复杂,以语法为中心的 C 语言书籍作为工具书是可行的,
但作为程序设计课程的教材是有缺憾的,“重语法轻思维”是舍本逐末的做法。本书最大
的特点是向“纵深”结构发展,旨在“程序设计”,重在培养学生在编程中解决问题的思
维能力和编码能力,并没有试图覆盖 C 语言的所有语法知识点,语法知识点的引入是为解
决问题服务的。带 * 号的章节为自学章节,也是为了提升学生编程能力而设计的,老师可
以不讲,但学生必须要看。
本书的亮点在于示例程序的选取,通过问题分析和代码实现向读者传递枚举、模拟、
递推、递归、空间换时间等计算思维方式,引导读者理解并践行这些思想,正确高效地使
用 C 语言编程。例如,在循环结构一章,通过阶乘计算、数列求和、斐波那契数列等例子
让读者深入掌握“递推”这一计算思维方法 , 从而充分利用中间结果,降低算法复杂度;
通过百钱买百鸡等例子让读者接触“枚举”这一计算思维方法;通过模拟投点法计算圆周
率近似值等例子让读者接触“模拟” “随机化”等计算思维方法。
本书由甘勇、李晔、卢冰编著,参编人员有王捷和苏虹。本书在编写过程中得到了贾
志娟、赵少林、金保华、朱付保、段赵磊和李灿林等很多老师以及郑州轻工业学院教务处
的帮助和支持,作者深表感谢。最后还要感谢所有第一版的读者,感谢你们对这本教材的
厚爱及提出的宝贵意见。
由于作者水平有限,书中难免存在疏漏之处,敬请读者批评指正。
编者
2015 年 6 月 -
目录
目录
CONTENTS
第 1 章 引言 / 1
1.1 计算机与程序设计语言 / 2
1.2 C 语言的发展简史 / 4
1.3 第一个 C 程序 / 6
1.4 剖析一个简单的程序 / 9
1.5 简单程序举例 / 12
习题 / 14
第 2 章 简单 C 程序设计 / 17
2.1 内存与变量 / 18
2.2 格式化输入 / 输出函数 / 22
2.3 浮点类型 / 26
2.4 基本运算符 / 30
2.5 计算两点间的距离 / 33
习题 / 35
第 3 章 分支结构 / 37
3.1 if 控制语句 / 38
3.2 逻辑运算 / 45
3.3 判断字母大小写 / 49
3.4 用嵌套的 if 语句实现多分支结构 / 51
3.5 用 switch 语句实现多分支结构 / 53
* 3.6 运算符与表达式 / 62
习题 / 63
第 4 章 循环结构 / 65
4.1 循环控制原理 / 66
4.2 while 循环语句 / 67
4.3 for 循环语句 / 68
4.4 求数列的和 / 76
4.5 输出阶乘表 / 80
4.6 标记控制的循环 / 85
4.7 循环中的 break 和 continue / 90
4.8 多重循环与 goto 语句 / 94
* 4.9 多实例测试 / 98
* 4.10 表达式的求值顺序与副效应 / 103
习题 / 104
第 5 章 函数 / 109
5.1 模块化程序设计 / 110
5.2 函数的基本概念 / 111
5.3 使用函数编写程序 / 118
5.4 变量的存储类型 / 121
5.5 局部变量和外部变量 / 123
5.6 函数的递归调用 / 126
习题 / 129
第 6 章 数组 / 131
6.1 一 维数组 / 132
6.2 数组作为函数参数 / 140
6.3 一维数组应用举例 / 144
6.4 二维数组 / 151
6.5 二维数组应用举例 / 156
习题 / 160
第 7 章 字符数组与字符串 / 163
7.1 字符型数据 / 164
7.2 字符数组与字符串 / 168
7.3 常用字符串函数 / 172
7.4 字符串应用举例 / 177
7.5 字符串数组 / 182
7.5.1 字符串排序 / 182
7.5.2 前缀判断 / 184
习题 / 186
第 8 章 指针 / 187
8.1 什么是指针 / 188
8.2 指针变量的声明和初始化 / 190
8.3 指针的基本运算 / 192
8.4 指针作为函数的参数 / 193
8.5 一维数组与指针 / 198
8.6 指针与 const 限定符 / 204
8.7 指针与字符串 / 207
8.8 用指针实现内存动态分配 / 213
习题 / 216
第 9 章 结构 / 219
9.1 结构定义 / 220
9.2 结构数组与指针 / 227
9.3 结构与函数 / 232
9.4 联合与枚举 / 237
* 9.5 单链表 / 243
习题 / 250
第 10 章 指针进阶 / 253
10.1 指针与二维数组 / 254
10.2 指针数组 / 257
10.3 带参数的 main() 函数 / 263
10.4 指向函数的指针 / 265
习题 / 270
第 11 章 C 预处理 / 271
11.1 预处理器的工作原理 / 272
11.2 预处理指令 / 273
11.3 #define 预处理指令 / 273
11.4 文件包含 / 277
11.5 条件编译 / 279
习题 / 281
第 12 章 文件 / 283
12.1 文件概述 / 284
12.2 文件的打开和关闭 / 287
12.3 文件的读 / 写操作 / 290
12.4 文件的其他操作 / 295
12.5 文件应用实例 / 297
习题 / 307
第 13 章 计算思维与常用算法 / 309
13.1 模拟 / 310
13.2 随机化算法 / 315
13.3 空间换时间 / 320
13.4 递归 / 327
13.5 贪心算法 / 330
13.6 动态规划算法 / 334
习题 / 338
附录 / 341
附录 A 常用字符与 ASCII 代码对照表 / 342
附录 B C 语言中的关键字 / 343
附录 C 运算符和结合性 / 344
附录 D C 库函数 / 345
附录 E C99 相对于 C89 的新特性(部分) / 350
参考文献 / 351 -
作者介绍
主要著译者顺序姓名学历职称学科专长通讯地址1 甘勇 博士教授 计算机 工作单位郑州轻工业学院 计算机与通信工程学院 邮政编码 电话 2 工作单位 邮政编码 电话 3 工作单位 邮政编码 电话 审校者(主审者) 学历 工作单位 邮政编码 电话 职称 工作单位 邮政编码 电话 甘勇,男,1965年5月出生,中共党员,教授,研究生,现任郑州轻工业学院计算机与通信工程学院院长。担任中国计算机学会微机专委常委 、河南省计算机学会理事、河南省高校计算机教育研究会副理事长、郑州市青联委员、河南省软件行业协会常务理事。荣获过河南省优秀专家、河南省管优秀青年科技专家、河南省跨世纪学术和技术带头人培养对象、河南省优秀教师等荣誉称号。 -
编辑推荐
-
书评书荐
-
附件下载
图书推荐