C语言程序设计
书 号:9787113211622
丛 书 名:
作 者:肖捷 侯家利
译 者:
开 本:16开
装 帧:平装
正文语种:
出 版 社:中国铁道出版社有限公司
定 价:47元
-
内容简介
本书是为将C语言作为入门语言的程序设计课程而编写的教材,以培养学生程序设计基本能力为目标。本书包含程序设计和语言知识两条线索,其中程序设计为主线,基于“阶梯递进”模式(案例分析→模仿改写→独立编程3个环节),以编程应用为驱动,通过案例和问题引入内容,重点讲解程序设计的思想和方法;同时结合语言知识辅线,穿插讲解相关的语言知识。为了配合本书的学习,作者还编写了与本书配套的《C语言程序设计实训教程与水平考试指导》,可供读者学习时参考使用。通过本书的学习,学生能较全面地掌握C语言的语言知识以及C程序设计的基本方法和技巧。
本书适合作为高等院校程序设计课程的教学用书,也可作为从事计算机应用的科技人员的参考书及培训教材。 -
前言
程序设计是高等院校重要的计算机基础课程,它以编程语言为平台,介绍程序设计的思
想和方法。学生通过该课程的学习,不仅要掌握程序设计语言的知识,更重要的是在实践中
逐步掌握程序设计的思想和方法,培养求解问题和应用程序语言的能力。因此,这是一门以
培养学生程序设计基本方法和技能为目标的程序设计基础课程。目前,C 语言已被许多高等
院校列为程序设计课程的首选语言。
C 语言程序设计是一门实践性很强的课程,学生必须通过大量的编程训练,在实践中掌
握程序设计语言,培养程序设计的基本能力,并逐步理解和掌握程序设计的思想和方法。因
此,培养学生的实际编程能力是课程教学的重点,教材的组织必须满足课程教学的要求。
目前,介绍C 语言的教材很多,但在多年的教学实践中我们发现,比较适合程序设计
入门课程教学的教材并不多。现有的许多教材一般围绕语言本身的体系展开内容,以讲解语
言知识特别是语法知识为主线,辅以一些编程技巧的介绍,不利于培养学生的程序设计能力
和语言应用能力。当然,C 语言的案例教材也不少,但在案例分析时,问题分析和算法设计
描述不够,主要突出程序代码和代码解析两个方面,因此,也不利于培养学生分析问题的逻
辑思维能力。
本书较好地解决了传统教材的不足,在组织结构上包含程序设计和语言知识两条线索,
以程序设计为主线,基于“阶梯递进”模式(案例分析→模仿改写→独立编程3 个环节),
以编程应用为驱动,通过案例和问题引入内容,重点讲解程序设计的思想和方法,并结合语
言知识辅线,穿插讲解相关的语言知识。“案例分析”基于问题求解的基本过程,即问题分
析、算法设计、编写程序和调试运行4 个过程,以前3 个过程为重点,通过经典案例,着重
讲解程序设计的思想、方法和编程风格。“模仿改写”是针对本节中的相关概念和“案例分
析”,在每节的模仿改写练习中给出一些难度较低的相关问题,学生可以模仿案例完成,以
加深理解,提高兴趣。“独立编程”是“阶梯递进”模式的最后环节,在每章习题中给出一
些难度稍大的编程问题,学生可以在前两个环节的基础上独立完成并上机调试通过。因此,
本书比较适合作为程序设计入门课程教学的教材,有利于培养学生的程序设计能力和语言应
用能力。
在教材的结构设计上,本书注重编程实践,让学生从第1 周起就练习编程,使程序设计
主线贯穿始终。前两章简单介绍一些背景知识和利用计算机求解问题的过程,然后从案例出
发,介绍顺序、分支和循环3 种控制结构的最简单使用形式及函数的简单使用,使学生对C
语言有一个总体的了解,并学习编写简单的程序,培养学习兴趣。第3 章介绍C 语言的基
本数据类型和表达式,为后续章节做准备。从第4 章开始,逐步深入地讲解程序设计的思想
和方法,并说明如何应用语言知识解决问题。
本书共有12 章内容和1 个附录,分成4 个部分。第1 部分:简单程序设计,学习编写
简单程序,培养学习兴趣,包括第1~3 章,第1 章介绍程序与程序设计语言的知识以及利
用计算机求解问题的过程;第2 章从实例出发,简单介绍顺序、分支和循环3 种控制结构的
FOREWORD
前 言
最简单使用形式及函数的简单使用,以及在实例程序中用到的语言知识,使学生对C 语言
有一个总体的了解;第3 章介绍数据类型和表达式等基本语言知识,为后续章节做准备。第
2 部分:控制结构程序设计,基于简单数据类型,学习编写3 种控制结构的程序,包括第4~
6 章,通过大量的案例分析,进一步介绍分支结构、循环结构以及函数结构的程序设计思想
和方法,侧重基本知识和基本编程能力。第3 部分:基于构造数据类型的程序设计,学习用
模块化方法实现有一定复杂度的编程问题和基本算法等内容,包括第7~12 章,第7 章介绍
数组类型的基本知识,并通过大量的案例分析,介绍模块化方法在一维数组、二维数组和字
符串中的编程应用;第8 章介绍指针类型的基本知识,并通过大量的案例分析,介绍模块化
方法在指针与数组相结合的编程应用;第9 章介绍结构类型的基本知识,并通过大量的案例
分析,介绍模块化方法在结构与数组、结构与指针类型中的编程应用;第10 章介绍链表的
基本知识,并通过案例分析,介绍链表结构的基本操作和模块化方法在链表结构中的编程应
用;第11 章介绍共用体与枚举类型的基本知识,并通过案例分析,简单介绍共用体与枚举
类型的编程应用;第12 章介绍文件的基本知识,并通过案例分析,介绍文件结构的基本操
作和模块化方法在文件结构中的编程应用。第 4 部分:附录,以备读者速查。附录 A 为常
用字符与ASCII 代码对照表;附录B 为C 库函数,分类列出ANSI C 的常用标准库函数。附
录 C 为常见错误分析,列出常见的编译错误、连接错误和运行错误,分析出错原因并给出
相应的解决方法。
为了配合本书的学习,作者还编写了与本书配套的《C 语言程序设计实训教程与水平考
试指导》,可供读者学习时参考使用。该书由5 部分组成,第1 部分~第4 部分为实验指导
部分,第5 部分为全国高等学校计算机水平考试的相关试题及参考答案。
本书由肖捷、侯家利任主编,王宁、冯能山、彭富春、陈雪芳、何文斌任副主编。全书
由肖捷统稿,编写分工为:第1、2、10、11 章由肖捷编写,第3 章由何文斌编写,第4、5
章由侯家利编写,第6、7 章由肖捷、王宁共同编写,第8、9 章由肖捷、彭富春共同编写,
第12 章由冯能山编写,附录由陈雪芳编写。东莞理工学院李勇教授和徐钦桂教授认真、仔
细地审阅了全书,并提出了许多宝贵意见,在此表示衷心感谢。另外,在本书编写、修订过
程中,许多老师和同学都提出了宝贵的意见和建议,在此一并表示感谢。
为了便于读者学习,本书还提供了大量的教学资源,读者可以登录东莞理工学院“C 语
言程序设计”课程教学网站http://172.27.2.1/cweb,共享课程教学资源。另外,读者也可以
通过电话(13549379596)或E-mail(398948928@qq.com)与作者联系,获取课程教学资源。
由于编者水平有限,加之时间仓促,疏漏和不足之处在所难免,敬请读者批评指正。
编 者
2015 年11 月 -
目录
第1 章 C 语言程序设计概述.......................................................................................... 1
本章要点................................................................................................................ 1
1.1 程序与程序语言.................................................................................................. 1
1.1.1 程序的基本概念............................................................................................ 1
1.1.2 程序设计语言................................................................................................ 2
1.2 算法及其描述...................................................................................................... 3
1.2.1 算法的概念.................................................................................................... 3
1.2.2 算法的描述方法............................................................................................ 3
1.3 C 语言的发展与特点........................................................................................... 6
1.3.1 C 语言的发展概况........................................................................................ 6
1.3.2 C 语言的特点................................................................................................ 6
1.4 简单C 语言程序................................................................................................. 7
1.4.1 由main()函数构成的简单程序..................................................................... 7
1.4.2 由main()函数调用另一个函数构成的简单程序......................................... 8
1.4.3 C 语言程序的基本结构................................................................................ 9
1.5 C 语言简介.......................................................................................................... 9
1.5.1 C 语言的功能................................................................................................ 9
1.5.2 C 语言字符集、标识符与关键字............................................................... 11
1.5.3 C 语言的主要语法单位.............................................................................. 11
1.5.4 C 语言程序的上机步骤.............................................................................. 14
1.6 实现问题求解的过程........................................................................................ 15
1.6.1 问题分析与算法设计.................................................................................. 15
1.6.2 编辑程序...................................................................................................... 15
1.6.3 编译连接...................................................................................................... 16
1.6.4 运行与调试.................................................................................................. 16
习题1 ......................................................................................................................... 16
第2 章 用C 语言编写程序........................................................................................... 19
本章要点.............................................................................................................. 19
2.1 在屏幕上显示信息............................................................................................ 19
2.1.1 案例分析...................................................................................................... 19
2.1.2 模仿改写练习.............................................................................................. 20
2.2 求三角形的面积................................................................................................ 20
2.2.1 案例分析...................................................................................................... 20
CONTENTS
目 录
C 语言程序设计
2
2.2.2 常量、变量和数据类型.............................................................................. 21
2.2.3 算术运算与赋值运算.................................................................................. 22
2.2.4 格式化输出函数printf()与格式化输入函数scanf() .................................. 23
2.2.5 模仿改写练习.............................................................................................. 24
2.3 计算分段函数.................................................................................................... 25
2.3.1 案例分析...................................................................................................... 25
2.3.2 关系运算...................................................................................................... 26
2.3.3 if-else 语句.................................................................................................. 26
2.3.4 常用数学库函数.......................................................................................... 28
2.3.5 模仿改写练习.............................................................................................. 29
2.4 输出华氏—摄氏温度转换表............................................................................. 30
2.4.1 案例分析...................................................................................................... 30
2.4.2 for 语句........................................................................................................ 31
2.4.3 指定次数的循环结构程序设计.................................................................. 32
2.4.4 模仿改写练习.............................................................................................. 35
2.5 简单“计算器”程序........................................................................................ 36
2.5.1 案例分析...................................................................................................... 36
2.5.2 模仿改写练习.............................................................................................. 39
习题2 ......................................................................................................................... 39
第3 章 C 语言的基本数据类型与表达式.................................................................... 43
本章要点.............................................................................................................. 43
3.1 C 语言的基本数据类型..................................................................................... 43
3.1.1 数据类型概述.............................................................................................. 43
3.1.2 整数类型...................................................................................................... 44
3.1.3 实数类型...................................................................................................... 44
3.1.4 字符类型...................................................................................................... 45
3.2 常量与变量........................................................................................................ 46
3.2.1 常量与符号常量.......................................................................................... 46
3.2.2 变量与变量定义.......................................................................................... 47
3.3 运算符与表达式................................................................................................ 48
3.3.1 算术运算符与算术表达式.......................................................................... 49
3.3.2 赋值运算符与赋值表达式.......................................................................... 50
3.3.3 逗号运算符与逗号表达式.......................................................................... 51
3.3.4 条件运算符与条件表达式.......................................................................... 51
3.3.5 其他运算符.................................................................................................. 52
3.4 类型转换........................................................................................................... 53
3.4.1 自动类型转换.............................................................................................. 53
目 录
3
3.4.2 赋值转换...................................................................................................... 54
3.4.3 强制类型转换.............................................................................................. 54
习题3 ......................................................................................................................... 55
第4 章 分支结构程序设计........................................................................................... 59
本章要点.............................................................................................................. 59
4.1 统计一批字符中各类字符的个数..................................................................... 59
4.1.1 程序解析...................................................................................................... 59
4.1.2 字符类型...................................................................................................... 60
4.1.3 字符型数据的输入与输出.......................................................................... 61
4.1.4 逻辑运算...................................................................................................... 63
4.1.5 多分支结构和else-if 语句......................................................................... 65
4.1.6 模仿改写练习.............................................................................................. 67
4.2 查询我国一线城市的行政区号......................................................................... 67
4.2.1 程序解析...................................................................................................... 67
4.2.2 switch 语句.................................................................................................. 69
4.2.3 嵌套的if-else 语句..................................................................................... 73
4.2.4 模仿改写练习.............................................................................................. 75
习题4 ......................................................................................................................... 76
第5 章 循环结构程序设计........................................................................................... 80
本章要点.............................................................................................................. 80
5.1 while 语句......................................................................................................... 80
5.1.1 引例.............................................................................................................. 80
5.1.2 用while 语句编程....................................................................................... 82
5.1.3 模仿改写练习.............................................................................................. 83
5.2 do-while 语句................................................................................................... 83
5.2.1 引例.............................................................................................................. 83
5.2.2 用do-while 语句编程................................................................................. 85
5.2.3 再析while 和do-while ............................................................................... 86
5.2.4 模仿改写练习.............................................................................................. 87
5.3 3 种循环语句的比较......................................................................................... 87
5.3.1 进一步讨论for 语句................................................................................... 87
5.3.2 循环语句的比较与选择.............................................................................. 90
5.4 break 语句、continue 语句和goto 语句......................................................... 91
5.4.1 break 语句.................................................................................................... 91
5.4.2 continue 语句............................................................................................... 93
5.4.3 goto 语句...................................................................................................... 95
C 语言程序设计
4
5.4.4 模仿改写练习.............................................................................................. 96
5.5 循环嵌套........................................................................................................... 96
5.5.1 求1!+2!+3!+…+100!的值........................................................................... 96
5.5.2 循环嵌套...................................................................................................... 97
5.5.3 模仿改写练习.............................................................................................. 98
5.6 循环结构程序设计............................................................................................ 99
5.6.1 程序举例...................................................................................................... 99
5.6.2 模仿改写练习............................................................................................ 104
习题5 ....................................................................................................................... 104
第6 章 函数与编译预处理......................................................................................... 111
本章要点............................................................................................................ 111
6.1 模块化程序设计与函数................................................................................... 111
6.1.1 模块化程序设计方法................................................................................ 111
6.1.2 案例:圆柱体体积的计算问题................................................................ 112
6.1.3 C 语言中的模块与函数............................................................................ 113
6.1.4 模仿改写练习............................................................................................ 114
6.2 函数的定义与调用.......................................................................................... 114
6.2.1 标准库函数................................................................................................ 114
6.2.2 用户自定义函数........................................................................................ 115
6.2.3 函数结构程序设计.................................................................................... 118
6.2.4 模仿改写练习............................................................................................ 126
6.3 递归函数......................................................................................................... 126
6.3.1 递归函数基本概念.................................................................................... 126
6.3.2 递归函数程序设计.................................................................................... 127
6.3.3 模仿改写练习............................................................................................ 132
6.4 变量作用域与存储方式................................................................................... 132
6.4.1 变量的作用域............................................................................................ 132
6.4.2 变量的存储方式........................................................................................ 136
6.4.3 模仿改写练习............................................................................................ 139
6.5 编译预处理...................................................................................................... 139
6.5.1 宏定义........................................................................................................ 139
6.5.2 文件包含.................................................................................................... 142
6.5.3 条件编译.................................................................................................... 143
6.5.4 模仿改写练习............................................................................................ 145
习题6 ....................................................................................................................... 145
目 录
5
第7 章 数组................................................................................................................. 152
本章要点............................................................................................................ 152
7.1 一维数组......................................................................................................... 152
7.1.1 引例............................................................................................................ 152
7.1.2 一维数组的定义与引用............................................................................ 153
7.1.3 一维数组的存储结构与初始化................................................................ 155
7.1.4 一维数组程序设计.................................................................................... 156
7.1.5 模仿改写练习............................................................................................ 160
7.2 二维数组......................................................................................................... 160
7.2.1 引例............................................................................................................ 160
7.2.2 二维数组的定义与引用............................................................................ 162
7.2.3 二维数组的存储结构与初始化................................................................ 163
7.2.4 二维数组程序设计.................................................................................... 165
7.2.5 模仿改写练习............................................................................................ 171
7.3 字符数组与字符串.......................................................................................... 172
7.3.1 引例............................................................................................................ 172
7.3.2 字符数组的定义与初始化........................................................................ 173
7.3.3 字符串的概念、存储与输入/输出........................................................... 173
7.3.4 字符数组程序设计.................................................................................... 176
7.3.5 模仿改写练习............................................................................................ 181
习题7 ....................................................................................................................... 181
第8 章 指针................................................................................................................. 186
本章要点............................................................................................................ 186
8.1 指针与指针变量.............................................................................................. 186
8.1.1 引例............................................................................................................ 186
8.1.2 地址与指针................................................................................................ 187
8.1.3 指针变量的定义与初始化........................................................................ 189
8.1.4 指针运算.................................................................................................... 189
8.1.5 模仿改写练习............................................................................................ 192
8.2 指针与函数...................................................................................................... 193
8.2.1 引例............................................................................................................ 193
8.2.2 指针作为函数参数.................................................................................... 194
8.2.3 指针作为函数返回值................................................................................ 197
8.2.4 指向函数的指针........................................................................................ 199
8.2.5 模仿改写练习............................................................................................ 202
8.3 指针与数组...................................................................................................... 202
C 语言程序设计
6
8.3.1 指向一维数组的指针................................................................................ 203
8.3.2 指向二维数组的指针................................................................................ 209
8.3.3 模仿改写练习............................................................................................ 215
8.4 指针与字符串.................................................................................................. 215
8.4.1 引例............................................................................................................ 215
8.4.2 字符串与字符指针.................................................................................... 217
8.4.3 字符串处理函数........................................................................................ 220
8.4.4 模仿改写练习............................................................................................ 225
8.5 指针数组与二级指针...................................................................................... 225
8.5.1 指针数组的概念........................................................................................ 225
8.5.2 指针数组的应用........................................................................................ 227
8.5.3 二级指针.................................................................................................... 229
8.5.4 模仿改写练习............................................................................................ 231
习题8 ....................................................................................................................... 231
第9 章 结构体............................................................................................................. 237
本章要点............................................................................................................ 237
9.1 结构体类型与结构体类型变量....................................................................... 237
9.1.1 引例............................................................................................................ 237
9.1.2 结构体的概念与定义................................................................................ 239
9.1.3 结构体变量................................................................................................ 240
9.1.4 模仿改写练习............................................................................................ 247
9.2 结构体数组...................................................................................................... 247
9.2.1 引例............................................................................................................ 247
9.2.2 结构体数组的操作.................................................................................... 250
9.2.3 模仿改写练习............................................................................................ 252
9.3 结构体指针...................................................................................................... 252
9.3.1 指向结构体变量的指针............................................................................ 252
9.3.2 指向结构体数组元素的指针.................................................................... 253
9.3.3 结构体指针作函数参数............................................................................ 255
9.3.4 模仿改写练习............................................................................................ 262
习题9 ....................................................................................................................... 262
第10 章 链表............................................................................................................... 267
本章要点............................................................................................................ 267
10.1 链表概述........................................................................................................ 267
10.2 静态链表........................................................................................................ 269
10.2.1 静态链表的建立与输出.......................................................................... 269
目 录
7
10.2.2 模仿改写练习.......................................................................................... 270
10.3 动态链表........................................................................................................ 270
10.3.1 动态存储分配函数.................................................................................. 270
10.3.2 动态链表的基本操作.............................................................................. 273
10.3.3 模仿改写练习.......................................................................................... 280
10.4 链表综合程序设计........................................................................................ 280
习题10 ..................................................................................................................... 286
第11 章 共用体与枚举类型........................................................................................ 289
本章要点............................................................................................................ 289
11.1 共用体........................................................................................................... 289
11.1.1 共用体类型的定义.................................................................................. 289
11.1.2 共用体变量的定义.................................................................................. 290
11.1.3 共用体变量的引用.................................................................................. 291
11.1.4 共用体应用举例...................................................................................... 292
11.1.5 模仿改写练习.......................................................................................... 294
11.2 枚举类型........................................................................................................ 295
11.2.1 枚举类型的定义...................................................................................... 295
11.2.2 枚举变量的定义...................................................................................... 296
11.2.3 枚举变量的引用...................................................................................... 296
11.2.4 枚举应用举例.......................................................................................... 298
11.2.5 模仿改写练习.......................................................................................... 299
习题11 ..................................................................................................................... 300
第12 章 文件............................................................................................................... 303
本章要点............................................................................................................ 303
12.1 文件概述........................................................................................................ 303
12.1.1 文件的基本概念...................................................................................... 303
12.1.2 数据文件的存储形式.............................................................................. 303
12.1.3 标准文件与非标准文件.......................................................................... 304
12.1.4 文件存取方式.......................................................................................... 305
12.2 标准文件操作................................................................................................ 305
12.2.1 文件结构与文件类型指针...................................................................... 305
12.2.2 文件的打开与关闭.................................................................................. 307
12.2.3 文件顺序读写操作.................................................................................. 309
12.2.4 文件随机读写操作.................................................................................. 315
12.2.5 其他相关函数.......................................................................................... 319
12.2.6 模仿改写练习.......................................................................................... 319
C 语言程序设计
8
12.3 非标准文件操作............................................................................................ 320
12.3.1 建立非标准文件...................................................................................... 320
12.3.2 非标准文件打开与关闭.......................................................................... 321
12.3.3 非标准文件读写操作.............................................................................. 322
12.3.4 模仿改写练习.......................................................................................... 325
12.4 文件综合应用................................................................................................ 325
12.4.1 家庭财务管理系统.................................................................................. 325
12.4.2 模仿改写练习.......................................................................................... 328
习题12 ..................................................................................................................... 329
附录................................................................................................................................. 335
附录A 常用字符与ASCII 码对照表.................................................................... 335
附录B C 库函数................................................................................................... 336
1.数学函数(math.h)....................................................................................... 336
2.字符函数与字符串函数(string.h) .............................................................. 336
3.输入/输出函数(stdio.h) .............................................................................. 337
4.字符判别函数(ctype.h) .............................................................................. 338
5.数值转换函数(stdlib.h) .............................................................................. 338
6.动态内存分配函数(stdlib.h) ...................................................................... 339
7.过程控制函数(process.h) ........................................................................... 339
附录C 常见错误分析............................................................................................ 339
参考文献.......................................................................................................................... 344 -
作者介绍
主要著译者顺序姓名学历职称学科专长通讯地址1 肖捷硕士 教授 计算机基础教学 工作单位 东莞理工学院邮政编码 电话13549379596 2 侯家利硕士 教授 网络安全 工作单位东莞理工学院 邮政编码 电话 3 工作单位 邮政编码 电话 审校者(主审者) 学历 工作单位 邮政编码 电话 职称 工作单位 邮政编码 电话 肖捷,男,东莞理工学院副教授,学习经历:1985.9—1989.7,东北大学读本科;2002.10—2004.12,华南理工大学读硕士。教学经历:1994.5—2000.5,广东韶关大学教学;2000.5—至今,广东东莞理工学院教学。科研成果:主持1项广东省教改项目和多项校级教研项目,参与多项广东省教改项目与科研项目。侯家利,男,东莞理工学院教授,硕士学历,专业特长为网络安全,执教程序设计课程多年,经验丰富。 -
编辑推荐
程序设计是高等院校重要的计算机基础课程,它以编程语言为平台,介绍程序设计的思
想和方法。学生通过该课程的学习,不仅要掌握程序设计语言的知识,更重要的是在实践中
逐步掌握程序设计的思想和方法,培养求解问题和应用程序语言的能力。因此,这是一门以
培养学生程序设计基本方法和技能为目标的程序设计基础课程。目前,C 语言已被许多高等
院校列为程序设计课程的首选语言。
C 语言程序设计是一门实践性很强的课程,学生必须通过大量的编程训练,在实践中掌
握程序设计语言,培养程序设计的基本能力,并逐步理解和掌握程序设计的思想和方法。因
此,培养学生的实际编程能力是课程教学的重点,教材的组织必须满足课程教学的要求。
目前,介绍C 语言的教材很多,但在多年的教学实践中我们发现,比较适合程序设计
入门课程教学的教材并不多。现有的许多教材一般围绕语言本身的体系展开内容,以讲解语
言知识特别是语法知识为主线,辅以一些编程技巧的介绍,不利于培养学生的程序设计能力
和语言应用能力。当然,C 语言的案例教材也不少,但在案例分析时,问题分析和算法设计
描述不够,主要突出程序代码和代码解析两个方面,因此,也不利于培养学生分析问题的逻
辑思维能力。
本书较好地解决了传统教材的不足,在组织结构上包含程序设计和语言知识两条线索,
以程序设计为主线,基于“阶梯递进”模式(案例分析→模仿改写→独立编程3 个环节),
以编程应用为驱动,通过案例和问题引入内容,重点讲解程序设计的思想和方法,并结合语
言知识辅线,穿插讲解相关的语言知识。“案例分析”基于问题求解的基本过程,即问题分
析、算法设计、编写程序和调试运行4 个过程,以前3 个过程为重点,通过经典案例,着重
讲解程序设计的思想、方法和编程风格。“模仿改写”是针对本节中的相关概念和“案例分
析”,在每节的模仿改写练习中给出一些难度较低的相关问题,学生可以模仿案例完成,以
加深理解,提高兴趣。“独立编程”是“阶梯递进”模式的最后环节,在每章习题中给出一
些难度稍大的编程问题,学生可以在前两个环节的基础上独立完成并上机调试通过。因此,
本书比较适合作为程序设计入门课程教学的教材,有利于培养学生的程序设计能力和语言应
用能力。
在教材的结构设计上,本书注重编程实践,让学生从第1 周起就练习编程,使程序设计
主线贯穿始终。前两章简单介绍一些背景知识和利用计算机求解问题的过程,然后从案例出
发,介绍顺序、分支和循环3 种控制结构的最简单使用形式及函数的简单使用,使学生对C
语言有一个总体的了解,并学习编写简单的程序,培养学习兴趣。第3 章介绍C 语言的基
本数据类型和表达式,为后续章节做准备。从第4 章开始,逐步深入地讲解程序设计的思想
和方法,并说明如何应用语言知识解决问题。
本书共有12 章内容和1 个附录,分成4 个部分。第1 部分:简单程序设计,学习编写
简单程序,培养学习兴趣,包括第1~3 章,第1 章介绍程序与程序设计语言的知识以及利
用计算机求解问题的过程;第2 章从实例出发,简单介绍顺序、分支和循环3 种控制结构的
FOREWORD
前 言
最简单使用形式及函数的简单使用,以及在实例程序中用到的语言知识,使学生对C 语言
有一个总体的了解;第3 章介绍数据类型和表达式等基本语言知识,为后续章节做准备。第
2 部分:控制结构程序设计,基于简单数据类型,学习编写3 种控制结构的程序,包括第4~
6 章,通过大量的案例分析,进一步介绍分支结构、循环结构以及函数结构的程序设计思想
和方法,侧重基本知识和基本编程能力。第3 部分:基于构造数据类型的程序设计,学习用
模块化方法实现有一定复杂度的编程问题和基本算法等内容,包括第7~12 章,第7 章介绍
数组类型的基本知识,并通过大量的案例分析,介绍模块化方法在一维数组、二维数组和字
符串中的编程应用;第8 章介绍指针类型的基本知识,并通过大量的案例分析,介绍模块化
方法在指针与数组相结合的编程应用;第9 章介绍结构类型的基本知识,并通过大量的案例
分析,介绍模块化方法在结构与数组、结构与指针类型中的编程应用;第10 章介绍链表的
基本知识,并通过案例分析,介绍链表结构的基本操作和模块化方法在链表结构中的编程应
用;第11 章介绍共用体与枚举类型的基本知识,并通过案例分析,简单介绍共用体与枚举
类型的编程应用;第12 章介绍文件的基本知识,并通过案例分析,介绍文件结构的基本操
作和模块化方法在文件结构中的编程应用。第 4 部分:附录,以备读者速查。附录 A 为常
用字符与ASCII 代码对照表;附录B 为C 库函数,分类列出ANSI C 的常用标准库函数。附
录 C 为常见错误分析,列出常见的编译错误、连接错误和运行错误,分析出错原因并给出
相应的解决方法。
为了配合本书的学习,作者还编写了与本书配套的《C 语言程序设计实训教程与水平考
试指导》,可供读者学习时参考使用。该书由5 部分组成,第1 部分~第4 部分为实验指导
部分,第5 部分为全国高等学校计算机水平考试的相关试题及参考答案。
本书由肖捷、侯家利任主编,王宁、冯能山、彭富春、陈雪芳、何文斌任副主编。全书
由肖捷统稿,编写分工为:第1、2、10、11 章由肖捷编写,第3 章由何文斌编写,第4、5
章由侯家利编写,第6、7 章由肖捷、王宁共同编写,第8、9 章由肖捷、彭富春共同编写,
第12 章由冯能山编写,附录由陈雪芳编写。东莞理工学院李勇教授和徐钦桂教授认真、仔
细地审阅了全书,并提出了许多宝贵意见,在此表示衷心感谢。另外,在本书编写、修订过
程中,许多老师和同学都提出了宝贵的意见和建议,在此一并表示感谢。
为了便于读者学习,本书还提供了大量的教学资源,读者可以登录东莞理工学院“C 语
言程序设计”课程教学网站http://172.27.2.1/cweb,共享课程教学资源。另外,读者也可以
通过电话(13549379596)或E-mail(398948928@qq.com)与作者联系,获取课程教学资源。
由于编者水平有限,加之时间仓促,疏漏和不足之处在所难免,敬请读者批评指正。
编 者
2015 年11 月 -
书评书荐
-
附件下载
图书推荐