欢迎来到中国铁道出版社有限公司官网!
$itImage.title$

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 月
  • 书评书荐

  • 附件下载

图书推荐