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

C语言程序设计(第二版)

书      号:9787113213084

丛  书 名:

作      者:孙辉 吴润秀

译      者:

开      本:16开

装      帧:平装

正文语种:

出  版 社:中国铁道出版社有限公司

定      价:42

  • 内容简介

    本书结合VisualC++6.0集成开发环境,本书详细介绍了C程序设计的基本概念、程序
    设计方法、集成开发环境中的调试工具和常用的调试技巧。同时,增加了Windows窗口
    程序(图形程序)设计的内容,并在附录中介绍了VisualC++6.0编译器的使用。书中全
    部程序均可在lcc3.3编译器或者MicrosoftVisualStudio2010编译下通过,前10章中
    的程序,除个别程序外,也能在gcc3.0及以上版本的C编译器下编译通过。
    全书的写作参照了建构主义的教学理论,简化了语法说明,突出了编程实践,同时
    注重调试技术,强调动手能力的培养。本书配有《C语言程序设计实验指导与习题集》
    一书。
    本书适合作为大学本科计算机相关专业“C语言程序设计”课程教材或教学参考
    书。如果去除Windows程序设计一章及部分较难的程序,也可供高职相关专业作为教
    材使用。
  • 前言

    本次改版,基本上保留了原有教材的特点,对已过时的内容进行了更新,补充了新的案
    例,尤其是C 语言调试方法的案例。附录A 中新增的调试案例,如果教师能仔细阅读,并
    帮助学生掌握相关内容,则不但对于学生掌握集成开发环境中的工具,而且对于掌握调试技
    巧乃至于更好地学习C 语言,均有帮助。为了保证教材内容的简洁与完整,与全国计算机
    等级考试相关的内容,放在配套的《C 语言程序设计实验指导与习题集》一书中。由于
    Microsoft Visual Studio 2010 一类新的集成开发环境过于庞大,使用复杂,不适用初学者,
    故第二版的C 程序,仍基于Visual C++ 6.0 集成开发工具中的C 编译器。
    全书由孙辉、吴润秀编著。吴润秀撰写了第5 章、第8 章、第9 章,孙辉撰写了其余章
    节,并在出版前对全书进行了统一的修改及最后的统稿。
    由于编者水平所限,书中不足之处在所难免,恳请读者批评指正。作者的电子信箱:
    Sun_hui2006@yahoo.com.cn。
  • 目录

    第1 章 绪论..................................................................................................................... 1
    1.1 C 语言简介......................................................................................1
    1.2 程序设计的基本概念..........................................................................1
    1.2.1 程序.................................................................................................................. 2
    1.2.2 程序设计.......................................................................................................... 2
    1.2.3 算法.................................................................................................................. 2
    1.2.4 数据结构.......................................................................................................... 2
    1.3 常用计算机高级语言简介....................................................................2
    1.4 C 语言程序的开发过程.......................................................................4
    1.5 对于C 语言学习的认识......................................................................6
    1.6 本教材对C 语言的处理......................................................................6
    第2 章 基本数据类型及顺序结构程序设计................................................................. 8
    2.1 几个简单的C 语言程序......................................................................8
    2.2 C 语言的字符集、关键字和标识符...................................................... 10
    2.2.1 字符集............................................................................................................ 10
    2.2.2 关键字............................................................................................................ 10
    2.2.3 标识符............................................................................................................ 10
    2.3 C 语言的数据类型........................................................................... 11
    2.3.1 数据及数据类型的概念................................................................................ 11
    2.3.2 基本类型........................................................................................................ 12
    2.3.3 构造类型........................................................................................................ 12
    2.4 常量............................................................................................. 12
    2.4.1 整型常量........................................................................................................ 13
    2.4.2 实型常量........................................................................................................ 13
    2.4.3 字符常量........................................................................................................ 13
    2.4.4 转义字符........................................................................................................ 13
    2.4.5 字符串常量.................................................................................................... 14
    2.4.6 符号常量........................................................................................................ 14
    2.5 变量............................................................................................. 15
    2.5.1 变量的概念.................................................................................................... 15
    2.5.2 变量的说明.................................................................................................... 16
    2.5.3 变量的类型.................................................................................................... 17
    2.5.4 变量的初始化................................................................................................ 17
    2.6 运算符和表达式.............................................................................. 18
    2.6.1 算术运算符和算术表达式............................................................................ 19
    2.6.2 赋值运算符和赋值表达式............................................................................ 20
    2.6.3 自增(++)、自减(--)运算符................................................................... 21
    2.6.4 逻辑量的概念................................................................................................ 22
    2.6.5 关系运算符和关系表达式............................................................................ 22
    2.6.6 逻辑运算符和逻辑表达式............................................................................ 23
    2.6.7 条件运算符.................................................................................................... 24
    2.6.8 位运算............................................................................................................ 25
    2.6.9 逗号运算符和逗号表达式............................................................................ 29
    2.6.10 sizeof运算符................................................................................................ 29
    2.7 运算符的优先级.............................................................................. 29
    2.8 混合运算中的类型转换问题............................................................... 30
    2.8.1 自动类型转换................................................................................................ 30
    2.8.2 强制类型转换................................................................................................ 31
    2.9 数据输出和输入.............................................................................. 32
    2.9.1 数据输出........................................................................................................ 32
    2.9.2 数据输入........................................................................................................ 36
    2.10 顺序结构程序设计举例................................................................... 41
    小结..................................................................................................... 43
    习题..................................................................................................... 44
    第3 章 分支结构........................................................................................................... 47
    3.1 if 语句........................................................................................... 47
    3.1.1 if…else语句................................................................................................... 47
    3.1.2 if语句的两种变形......................................................................................... 49
    3.1.3 if语句的嵌套................................................................................................. 53
    3.2 if 语句应用举例.............................................................................. 56
    3.3 switch 语句.................................................................................... 58
    3.4 无条件转移语句goto ....................................................................... 63
    小结..................................................................................................... 64
    习题..................................................................................................... 65
    第4 章 循环结构........................................................................................................... 67
    4.1 while 循环结构............................................................................... 67
    4.1.1 while循环的结构.......................................................................................... 67
    4.1.2 while循环的使用.......................................................................................... 68
    4.2 do…while 循环结构........................................................................ 72
    4.2.1 do…while循环的结构.................................................................................. 72
    4.2.2 do…while循环的使用.................................................................................. 72
    4.3 for 循环结构.................................................................................. 74
    4.3.1 for循环的结构............................................................................................... 74
    4.3.2 for循环的使用............................................................................................... 75
    4.4 循环结构的嵌套.............................................................................. 78
    4.5 循环中break 和continue 语句的使用................................................. 80
    4.6 循环语句的使用举例........................................................................ 81
    小结..................................................................................................... 84
    习题..................................................................................................... 85
    第5 章 函数................................................................................................... 87
    5.1 函数的定义与调用........................................................................... 87
    5.1.1 函数定义的一般形式.................................................................................... 89
    5.1.2 函数过程的调用............................................................................................ 90
    5.1.3 函数的返回值................................................................................................ 92
    5.1.4 函数的声明.................................................................................................... 92
    5.2 变量的存储类别.............................................................................. 94
    5.2.1 自动变量........................................................................................................ 95
    5.2.2 外部变量........................................................................................................ 95
    5.2.3 有多个源程序文件的程序中外部变量的引用............................................ 96
    5.2.4 静态变量........................................................................................................ 99
    5.2.5 register变量................................................................................................. 101
    5.3 变量的作用域................................................................................101
    5.3.1 局部变量...................................................................................................... 101
    5.3.2 全局变量...................................................................................................... 102
    5.4 内部函数和外部函数.......................................................................104
    5.4.1 内部函数...................................................................................................... 104
    5.4.2 外部函数...................................................................................................... 104
    5.5 函数的递归调用.............................................................................105
    5.5.1 递归算法的概念.......................................................................................... 105
    5.5.2 C函数的递归调用....................................................................................... 105
    小结....................................................................................................110
    习题....................................................................................................111
    第6 章 数组..................................................................................................113
    6.1 一维数组......................................................................................114
    6.1.1 一维数组的定义.......................................................................................... 114
    6.1.2 一维数组的引用.......................................................................................... 114
    6.2 一维字符数组与字符串....................................................................118
    6.3 字符串常用库函数..........................................................................122
    6.4 二维数组及多维数组.......................................................................126
    6.4.1 二维数组的定义.......................................................................................... 126
    6.4.2 二维数组的初始化...................................................................................... 127
    6.4.3 三维数组及讨论.......................................................................................... 128
    6.4.4 二维数组应用举例...................................................................................... 128
    6.5 数组综合应用举例..........................................................................134
    小结....................................................................................................138
    习题....................................................................................................138
    第7 章 指针................................................................................................. 141
    7.1 指针的概念...................................................................................141
    7.1.1 指针变量的说明.......................................................................................... 143
    7.1.2 指针运算符.................................................................................................. 144
    7.1.3 指针的赋值.................................................................................................. 145
    7.1.4 指针的算术运算.......................................................................................... 146
    7.1.5 指针运算符与单目运算符的优先级.......................................................... 147
    7.2 指针应用程序举例..........................................................................148
    7.3 动态内存分配................................................................................149
    7.3.1 动态内存分配函数...................................................................................... 149
    7.3.2 动态内存分配程序设计.............................................................................. 151
    7.4 参数指针的使用.............................................................................158
    7.5 多级指针......................................................................................158
    7.6 指针与数组...................................................................................159
    7.6.1 利用指针访问数组元素.............................................................................. 160
    7.6.2 数组指针...................................................................................................... 161
    7.6.3 指针数组...................................................................................................... 165
    7.7 函数指针......................................................................................166
    7.7.1 函数指针的定义.......................................................................................... 166
    7.7.2 函数指针的引用.......................................................................................... 166
    7.8 命令行参数的使用..........................................................................168
    小结....................................................................................................170
    习题....................................................................................................171
    第8 章 结构................................................................................................. 174
    8.1 结构的定义和变量说明....................................................................174
    8.1.1 结构的定义.................................................................................................. 174
    8.1.2 结构类型变量的定义.................................................................................. 175
    8.2 结构变量的初始化和引用.................................................................177
    8.2.1 结构变量的初始化...................................................................................... 177
    8.2.2 结构变量的引用.......................................................................................... 178
    8.3 结构数组......................................................................................179
    8.4 结构指针......................................................................................181
    8.5 结构变量作为函数的参数.................................................................182
    8.6 链表的概念及简单应用....................................................................186
    8.6.1 链表的概念.................................................................................................. 186
    8.6.2 链表中结点的数据定义方式...................................................................... 187
    8.6.3 链表的简单应用.......................................................................................... 187
    8.6.4 链表内结点的删除...................................................................................... 189
    8.6.5 链表内结点的插入...................................................................................... 193
    8.7 联合的概念及简单应用....................................................................195
    8.8 枚举类型......................................................................................197
    8.9 用typedef 定义类型.......................................................................198
    8.10 位域的概念及简单应用..................................................................200
    小结....................................................................................................203
    习题....................................................................................................203
    第9 章 文件................................................................................................. 206
    9.1 文件的概念...................................................................................206
    9.1.1 C语言文件概述........................................................................................... 206
    9.1.2 标准级(流式)输入输出.......................................................................... 206
    9.1.3 文件指针...................................................................................................... 206
    9.2 文件的打开与关闭..........................................................................207
    9.2.1 文件的打开.................................................................................................. 207
    9.2.2 文件的关闭.................................................................................................. 207
    9.3 常用文件读写函数..........................................................................209
    9.3.1 字节级.......................................................................................................... 209
    9.3.2 字符串级...................................................................................................... 211
    9.3.3 格式化读写函数.......................................................................................... 212
    9.3.4 块读写函数.................................................................................................. 215
    9.4 文件操作错误检测..........................................................................218
    9.5 文件定位与随机读写.......................................................................219
    小结....................................................................................................221
    习题....................................................................................................221
    第10 章 预处理命令..................................................................................... 223
    10.1 宏定义........................................................................................223
    10.1.1 无参数的宏定义........................................................................................ 223
    10.1.2 带参数的宏定义........................................................................................ 226
    10.2 文件包含 #include .......................................................................228
    10.3 条件编译.....................................................................................230
    10.3.1 第1种条件编译........................................................................................ 230
    10.3.2 第2种条件编译........................................................................................ 231
    10.3.3 第3种条件编译........................................................................................ 231
    小结....................................................................................................232
    习题....................................................................................................232
    第11 章 Windows 窗口程序设计................................................................... 233
    11.1 Windows 窗口程序设计的概念........................................................233
    11.1.1 Windows用户界面介绍............................................................................ 233
    11.1.2 初识Windows窗口程序........................................................................... 234
    11.1.3 Windows窗口程序最基本的结构............................................................ 235
    11.1.4 Windows 程序中的消息机制................................................................... 238
    11.1.5 Windows 程序基本结构的详细说明....................................................... 239
    11.2 Windows 窗口程序中的输出...........................................................241
    11.3 Windows 窗口程序中的常用数据类型..............................................244
    11.4 Windows 窗口程序中的资源文件.....................................................245
    11.4.1 菜单资源的使用........................................................................................ 246
    11.4.2 对话框资源的使用.................................................................................... 250
    11.5 Windows 窗口程序中的输入..........................................................256
    11.6 Windows 图形程序设计.................................................................263
    小结....................................................................................................266
    习题....................................................................................................267
    附录A Visual C++6.0 的使用........................................................................ 268
    A.1 Visual C++6.0 概述.......................................................................268
    A.2 Visual C++ 6.0 的工作环境.............................................................269
    A.2.1 Visual C++ 6.0开发环境总览.................................................................... 269
    A.2.2 File菜单...................................................................................................... 271
    A.2.3 Edit 菜单..................................................................................................... 272
    A.2.4 View菜单.................................................................................................... 273
    A.2.5 Insert菜单................................................................................................... 273
    A.2.6 Project菜单................................................................................................. 274
    A.2.7 Build菜单.................................................................................................... 274
    A.2.8 Tools菜单.................................................................................................... 275
    A.2.9 Windows菜单............................................................................................. 276
    A.2.10 Help菜单................................................................................................... 276
    A.3 Visual C++ 6.0 编译器简介.............................................................276
    A.3.1 编译参数的设置......................................................................................... 277
    A.3.2 连接参数的设置......................................................................................... 280
    A.3.3 其他编译参数的设置................................................................................. 281
    A.3.4 注意事项...................................................................................................... 281
    A.4 调试器的使用...............................................................................281
    A.4.1 常用调试工具............................................................................................. 281
    A.4.2 设置断点...................................................................................................... 283
    A.4.3 单步执行...................................................................................................... 283
    A.5 集成开发环境中程序调试实例..........................................................284
    A.5.1 使用调试(Debug)模式和发布(Release)模式.................................. 284
    A.5.2 多文件程序的编译..................................................................................... 285
    A.5.3 程序调试实例............................................................................................. 287
    A.6 Edit and Continue 简介.................................................................293
    A.6.1 Edit and Continue的使用........................................................................... 293
    A.6.2 Set Next Statement 命令的使用................................................................ 295
    A.6.3 在调试中增加函数或变量......................................................................... 296
    附录B 常用C 库函数................................................................................... 297
    B.1 数学函数......................................................................................297
    B.2 字符函数和字符串函数...................................................................298
    B.3 输入输出函数................................................................................299
    B.4 动态存储分配函数.........................................................................301
    附录C 常用字符与ASCII 代码对照表............................................................ 302
    参考文献..........................................................................................................................303
  • 作者介绍

    主要著译者顺序姓名学历职称学科专长通讯地址1 孙辉博士 教授 计算机基础教育 工作单位 南昌工程学院邮政编码 电话18970863593 2 工作单位 邮政编码 电话 3 工作单位 邮政编码 电话 审校者(主审者) 学历 工作单位 邮政编码 电话 职称 工作单位 邮政编码 电话 孙辉,男,工学博士,教授,硕士研究生导师。江西省政协委员,南昌工程学院信息工程学院院长。全国水利水电类专业教学指导委员会委员;中国人工智能学会粗糙集与软计算专业委员会委员;江西省高职高专IT专业教学专家组组长;江西省中青年学科带头人;南昌市“五一”劳动奖章获得者;水利部及江西省优秀教师;首届江西省普通高校教学名师奖获得者。
  • 编辑推荐

  • 书评书荐

  • 附件下载

图书推荐