普通高等学校计算机教育“十二五”规划教材

C及C++程序设计(第4版)

分享 推荐 0 收藏 4 阅读 1.5K
张富 , 王晓军 (编著) 978-7-115-32039-1

关于本书的内容有任何问题,请联系 武恩玉

本教材为经典教材,连续几年都为畅销教材,被很多院校使用。
¥49.80 ¥42.33 (8.5 折)
教学资源仅供教师教学使用,转载或另作他用版权方有权追究法律责任。

内容摘要

  本书以Turbo C++为依据,以C语言为起点,全面地介绍C++语言的程序设计基础和面向对象的程序设计方法。全书分为两大部分,第一部分介绍C语言基础,第二部分介绍面向对象程序设计的概念和方法。
  本书可作为高等学校“程序设计语言”课程的教材或参考书,也可供初学者自学参考。

目录

目 录

第 一篇 C语言基础

第 1章 对C语言的初步认识 2
1.1 程序与程序设计语言 2
1.1.1 程序、程序设计和程序设计语言 2
1.1.2 结构化程序设计方法 3
1.2 C语言及其源程序的基本结构 4
1.2.1 C语言 4
1.2.2 C语言源程序的基本结构 5
1.2.3 C语言的基本语句 6
1.3 C语言的基本词法 7
1.3.1 C语言的字符集 7
1.3.2 标识符 8
1.3.3 保留字 8
1.3.4 C语言的词类 8
1.4 源程序的编译和C语言的集成开发环境 8
1.4.1 C程序的开发过程 8
1.4.2 C语言的集成开发环境 9
小结 11
习题 11

第 2章 基本数据类型、操作符和表达式 12
2.1 数据类型 12
2.2 整型数据 13
2.2.1 整型常量 13
2.2.2 整型变量 13
2.3 实型数据 14
2.3.1 实型常量 14
2.3.2 实型变量 15
2.4 字符型数据与字符串 15
2.4.1 字符型常量 15
2.4.2 字符型变量 16
2.4.3 字符串常量 16
2.5 变量说明与初始化 17
2.5.1 变量说明(定义) 17
2.5.2 变量的初始化 17
2.6 运算符和表达式 17
2.6.1 运算符 17
2.6.2 表达式 18
2.6.3 表达式中数据类型的转换 20
小结 21
习题 22

第3章 顺序结构程序设计 23
3.1 算术运算符和赋值运算符 23
3.1.1 算术运算符与算术表达式 23
3.1.2 赋值运算符与赋值表达式 24
3.1.3 自反赋值运算符 25
3.2 赋值语句和注释语句 26
3.2.1 赋值语句 26
3.2.2 注释语句 26
3.3 输入输出语句 27
3.3.1 字符输出函数putchar() 27
3.3.2 字符输入函数getchar() 28
3.3.3 格式输出函数printf() 28
3.3.4 格式输入函数scanf() 30
3.4 顺序结构程序设计 32
小结 35
习题 35

第4章 选择结构程序设计 38
4.1 关系运算符及关系运算表达式 38
4.2 逻辑运算符及逻辑表达式 40
4.3 选择语句 41
4.3.1 单分支if选择语句 42
4.3.2 双分支if_else选择语句 43
4.3.3 多分支结构 44
4.3.4 多分支开关语句switch 47
4.4 选择结构程序设计 49
4.5 条件运算符 53
小结 55
习题 55

第5章 循环结构程序设计 57
5.1 逗号运算符和逗号表达式 57
5.2 goto语句 58
5.3 循环语句 59
5.3.1 for循环语句 59
5.3.2 while循环语句 63
5.3.3 do_while 循环语句 64
5.4 多重循环——循环的嵌套 65
5.5 break语句和continue语句 67
5.5.1 break语句 67
5.5.2 continue语句 68
5.6 循环程序设计 69
小结 74
习题 74

第6章 位运算 76
6.1 位运算符及位运算表达式 76
6.2 位逻辑运算 77
6.3 移位运算 78
6.4 位自反赋值运算 81
小结 81
习题 82

第7章 数组与字符串 83
7.1 一维数组 83
7.1.1 一维数组的定义 83
7.1.2 数组元素的引用 84
7.1.3 一维数组的初始化 85
7.1.4 一维数组程序设计 86
7.2 多维数组 89
7.2.1 多维数组的定义和引用 90
7.2.2 二维数组的初始化 91
7.2.3 二维数组程序设计 91
7.3 字符数组与字符串 94
7.3.1 字符数组的定义与初始化 94
7.3.2 字符串与字符数组 95
7.4 常用的字符串系统库函数 96
7.4.1 字符串输入函数gets() 97
7.4.2 字符串输出函数puts() 97
7.4.3 字符串复制函数strcpy() 97
7.4.4 字符串连接函数strcat() 98
7.4.5 字符串比较函数strcmp() 98
7.4.6 测试字符串长度函数strlen() 99
7.5 字符数组程序设计实例 99
小结 101
习题 101

第8章 指针 103
8.1 指针的概念 103
8.1.1 指针和指针变量 103
8.1.2 指针变量的定义 105
8.2 指针运算符和指针变量的初始化 105
8.2.1 指针运算符 105
8.2.2 指针变量的初始化 107
8.2.3 指针运算与指针表达式 107
8.2.4 用指针处理简单变量 109
8.3 数组的指针 111
8.3.1 指向一维数组的指针 111
8.3.2 指向二维数组的指针 113
8.4 用指针处理字符串 118
8.5 指针数组 119
8.6 多级指针 121
小结 124
习题 124

第9章 函数 126
9.1 函数概述 126
9.2 函数的定义、调用和返回 127
9.2.1 函数的定义 127
9.2.2 函数的返回 128
9.2.3 函数的调用 129
9.2.4 函数原型的使用 130
9.2.5 指针类型函数 132
9.3 函数参数的传递方式 133
9.3.1 值传递方式 133
9.3.2 地址传递方式 134
9.3.3 数组作为函数参数 134
9.4 函数指针 135
9.5 函数的嵌套调用和递归调用 137
9.5.1 函数的嵌套调用 137
9.5.2 函数的递归调用 139
9.6 主函数main()的参数 140
9.6.1 主函数main()的参数 140
9.6.2 函数main()的返回值 143
小结 143
习题 144

第 10章 数据的存储类型 146
10.1 变量在内存中的存储 146
10.2 局部变量和全局变量 146
10.2.1 局部变量 147
10.2.2 全局变量 147
10.3 变量的存储类型 149
10.3.1 局部变量的存储定义 150
10.3.2 全局变量的存储定义 152
10.3.3 变量存储类型小结 154
10.4 内部函数和外部函数 154
10.4.1 内部函数与外部函数 154
10.4.2 在Turbo C++集成环境下编译多文件程序 155
10.5 动态存储单元 156
10.6 修饰符const 157
小结 158
习题 158

第 11章 用户定义数据类型 160
11.1 结构型(Structure) 160
11.1.1 结构型的定义 160
11.1.2 结构型变量的定义 161
11.1.3 结构型变量的初始化 162
11.1.4 结构型变量成员的引用 163
11.1.5 结构型变量作为函数的参数 165
11.2 结构型数组 167
11.2.1 结构型数组的定义和初始化 167
11.2.2 结构型数组元素成员的引用 168
11.3 指向结构型数据的指针 169
11.3.1 指向结构型变量指针的定义、初始化和引用 169
11.3.2 结构型变量指针的应用举例 170
11.3.3 指向结构型数组的指针 172
11.4 位域型(Bit_Fields) 174
11.4.1 位域型的定义 174
11.4.2 位域型变量的说明和初始化 174
11.4.3 位域型变量的引用 175
11.5 联合型(Unions) 176
11.5.1 联合型的定义 176
11.5.2 联合型变量的说明 176
11.5.3 联合型变量的引用 177
11.6 枚举型(Enumerations) 180
11.6.1 枚举型的定义 180
11.6.2 枚举型变量的定义 181
11.6.3 枚举型变量的引用 181
11.7 用户自定义数据类型名称 183
小结 185
习题 185

第 12章 C语言的预处理器 187
12.1 宏定义和宏替换 187
12.1.1 不带参数的宏定义和引用 187
12.1.2 带参数的宏定义和引用 190
12.1.3 取消宏定义 192
12.2 文件包含 192
12.3 条件编译 193
12.3.1 #if_#endif类型的条件编译命令 194
12.3.2 #ifdef和#ifndef类型的条件编译命令 195
小结 196
习题 196

第 13章 磁盘文件操作(I/O系统) 197
13.1 文件概述 197
13.1.1 C语言文件的概念 197
13.1.2 二进制文件和文本文件 197
13.1.3 顺序文件和随机文件 198
13.1.4 缓冲文件系统和非缓冲文件系统 198
13.1.5 文件型指针 198
13.2 打开文件和关闭文件 199
13.2.1 打开文件函数 199
13.2.2 关闭文件函数 201
13.2.3 标准设备文件 201
13.3 文件的读和写 202
13.3.1 字符文件读写函数 202
13.3.2 文件尾测试函数、错误测试函数和文件头定位函数 204
13.3.3 字符串文件读写函数 206
13.3.4 数据块文件读写函数 207
13.3.5 格式化读写文件函数 212
13.4 文件的定位与文件的随机存取 214
13.4.1 文件随机定位函数 214
13.4.2 随机读写文件举例 214
13.4.3 当前位置函数ftell() 217
小结 217
习题 218

第 二篇 C++面向对象程序设计

第 14章 C++概述 220
14.1 面向对象的程序设计 220
14.1.1 传统的程序设计方法 220
14.1.2 面向对象的程序设计 221
14.2 面向对象方法的基本特征 221
14.2.1 对象 221
14.2.2 类 222
14.2.3 继承(inheritance) 222
14.2.4 多态性(polymorphism) 223
14.3 C++对C语法的扩充 223
14.3.1 变量的定义 223
14.3.2 C++的函数原型 224
14.3.3 常数说明 224
14.3.4 C++的注释语句 225
14.3.5 C++的标准I/O操作 225
14.3.6 作用域区分符 227
14.3.7 函数参数的缺省 227
14.3.8 引用型变量 228
14.3.9 内联函数 229
14.3.10 动态内存的分配 230
小结 232
习题 232

第 15章 类 233
15.1 类的结构 233
15.1.1 类的定义 233
15.1.2 类成员函数的定义 234
15.1.3 类的对象的定义与访问 235
15.2 类中的内联函数 238
15.2.1 用修饰符inline说明成员函数 238
15.2.2 隐式内联函数 239
15.3 类的友元成员 239
15.3.1 定义友元函数 240
15.3.2 定义友元成员函数 240
15.3.3 定义友元类 242
15.4 类的静态成员 243
15.4.1 静态数据成员 243
15.4.2 静态成员函数 245
15.5 对象作为函数的参数 246
15.5.1 值传递 246
15.5.2 引用传递 247
15.6 类的指针 248
15.6.1 对象指针 248
15.6.2 this指针 249
小结 251
习题 251

第 16章 类的工具 253
16.1 构造函数和析构函数 253
16.1.1 不带参数的构造函数 253
16.1.2 析构函数 254
16.1.3 带参数的构造函数 256
16.1.4 构造函数参数的缺省值 257
16.2 函数重载 258
16.2.1 一般函数的重载 258
16.2.2 构造函数重载 259
16.2.3 重载类成员函数 260
16.2.4 构造函数的动态初始化 262
16.3 运算符重载 263
16.3.1 用成员函数重载运算符 263
16.3.2 用友元函数重载运算符 266
16.4 对象的动态存储管理 268
小结 270
习题 271

第 17章 类的继承 273
17.1 继承 273
17.1.1 继承与派生类 273
17.1.2 公有派生 274
17.1.3 私有派生 276
17.2 继承机制中的初始化 277
17.2.1 不带参数的基类构造函数 277
17.2.2 带参数的基类构造函数 279
17.3 多重继承 282
17.3.1 多重继承的继承机制 282
17.3.2 指向派生类的指针 284
17.4 虚基类 286
17.4.1 多重继承中的二义性 286
17.4.2 虚基类 288
小结 290
习题 290

第 18章 虚函数与多态性 293
18.1 虚函数 293
18.1.1 虚函数的概念 293
18.1.2 虚函数的应用 295
18.2 纯虚函数和抽象基类 299
18.2.1 纯虚函数 299
18.2.2 抽象基类 301
18.3 编译连接与执行连接 301
小结 302
习题 302

第 19章 C++的I/O系统 304
19.1 C++的I/O系统概述 304
19.1.1 C++的I/O流的基本概念 304
19.1.2 输入/输出操作符的使用 305
19.2 用户自定义插入操作符和提取操作符 306
19.2.1 创建插入操作符“<<” 306
19.2.2 重载提取操作符“>>” 309
19.3 格式化I/O 310
19.3.1 用ios类的成员函数实现格式化I/O 310
19.3.2 使用控制器函数实现格式化I/O 314
19.3.3 建立自己的控制器函数 315
19.4 文件的I/O 317
19.4.1 打开和关闭文件 317
19.4.2 文件的读和写 319
19.4.3 二进制文件的读和写 324
19.4.4 文件的随机访问 325
小结 327
习题 328

附录1 实验指导书 330
附录2 常用Turbo C库函数 342
附录3 常用字符的ASCⅡ 344

读者评论

赶紧抢沙发哦!

我要评论

同系列书

相关图书

人邮微信
本地服务
教师服务
教师服务
读者服务
读者服务
返回顶部
返回顶部