21世纪高等学校计算机规划教材——精品系列

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

分享 推荐 0 收藏 0 阅读 2.8K
张富 (编) 978-7-115-18571-6

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

本教材的一个鲜明的教学理念:通过阅读程序例子来掌握编程的思路和技巧,边学习、边设计、过上机学习。书中提供了大量的例题和习题供读者参考 。因此本教材以通俗、易懂,学生好学,老师好用的特点吸引了很多的读者。
本书以Turbo C++为依据,以C语言为起点,全面地介绍C++语言的程序设计基础和面向对象的程序设计方法。全书分为两大部分,第一部分介绍C语言基础,第二部分介绍面向对象程序设计的概念和方法。
本教材的一个鲜明的教学理念:通过阅读程序例子来掌握编程的思路和技巧,边学习、边设计、过上机学习。书中提供了大量的例题和习题供读者参考 。因此本教材以通俗、易懂,学生好学,老师好用的特点吸引了很多的读者。
本书可作为高等学校程序设计语言课程的教材或参考书,也可供初学者自学参考。
¥36.00 ¥30.60 (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 字符型变量 15
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
小结 22
习题 22

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

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

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

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

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

第8章 指针 106
8.1 指针的概念 106
8.1.1 指针和指针变量 106
8.1.2 指针变量的定义 108
8.2 指针运算符和指针变量的初始化 108
8.2.1 指针运算符 108
8.2.2 指针变量的初始化 110
8.2.3 指针运算与指针表达式 110
8.2.4 用指针处理简单变量 112
8.3 数组的指针 114
8.3.1 指向一维数组的指针 114
8.3.2 指向二维数组的指针 116
8.4 用指针处理字符串 121
8.5 指针数组 123
8.6 多级指针 125
小结 128
习题 128

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

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

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

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

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

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

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

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

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

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

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

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

附录1 实验指导书 333
附录2 常用Turbo C库函数 343
附录3 常用字符的ASCⅡ 345

参考资料 346

读者评论

赶紧抢沙发哦!

我要评论

同系列书

  • AutoCAD建筑制图教程(2010版)

    李银英 刘光洁 马永志 郑艺华 杨冬

      本书结合精选的典型建筑图例系统地介绍了AutoCAD绘图知识,从掌握建筑制图的方法及技巧入手,由浅入深、循...

    ¥44.00
  • 人工智能

    王万森

      本书是作者在多年人工智能教学实践和多本人工智能教材编写的基础上,结合国内外人工智能领域的最新进展和我国人工...

    ¥29.50
  • 数据库原理及应用(第2版)

    何玉洁 刘福刚 于绍娜 余阳 张荣梅

      本书由11章、2个附录组成,主要内容包括关系数据库基础、SQL语言、关系数据理论、数据库设计、事务与并发控...

    ¥35.00
  • SPSS 16实用教程

    宋志刚 谢蕾蕾 何旭宏

      SPSS是应用最广泛的统计软件之一,在很多领域深受用户的好评。本书以SPSS 16.0为基础,详细介绍了多...

    ¥32.00
  • JavaScript 程序设计基础教程(第2版)

    阮文江

      本书是学习JavaScript动态网页编程技术的基础教材,共分10章,主要内容包括:Web技术概述、HTM...

    ¥32.00

相关图书

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