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

分類: 图书,计算机/网络,程序设计,C C++ C# VC VC++,
作者: 张富 编
出 版 社: 人民邮电出版社
出版时间: 2008-10-1字数: 583000版次: 3页数: 346印刷时间: 2008/10-01开本: 16开印次: 1纸张: 胶版纸I S B N : 9787115185716包装: 平装编辑推荐
本教材的一个鲜明的教学理念:通过阅读程序例子来掌握编程的思路和技巧,边学习、边设计、过上机学习。书中提供了大量的例题和习题供读者参考 。因此本教材以通俗、易懂,学生好学,老师好用的特点吸引了很多的读者。
本书以Turbo C++为依据,以C语言为起点,全面地介绍C++语言的程序设计基础和面向对象的程序设计方法。全书分为两大部分,第一部分介绍C语言基础,第二部分介绍面向对象程序设计的概念和方法。
本教材的一个鲜明的教学理念:通过阅读程序例子来掌握编程的思路和技巧,边学习、边设计、过上机学习。书中提供了大量的例题和习题供读者参考 。因此本教材以通俗、易懂,学生好学,老师好用的特点吸引了很多的读者。
本书可作为高等学校程序设计语言课程的教材或参考书,也可供初学者自学参考。
内容简介
本书以Turbo C++为依据,以C语言为起点,全面地介绍C++语言的程序设计基础和面向对象的程序设计方法。全书分为两大部分,第一部分介绍C语言基础,第二部分介绍面向对象程序设计的概念和方法。
本书可作为高等学校程序设计语言课程的教材或参考书,也可供初学者自学参考。
目录
第一篇C语言基础
第1章对C语言的初步认识2
1.1程序与程序设计语言2
1.1.1程序、程序设计和程序设计语言2
1.1.2结构化程序设计方法3
1.2C语言及其源程序的基本结构4
1.2.1C语言4
1.2.2C语言源程序的基本结构5
1.2.3C语言的基本语句6
1.3C语言的基本词法7
1.3.1C语言的字符集7
1.3.2标识符8
1.3.3保留字8
1.3.4C语言的词类8
1.4源程序的编译和C语言的集成开发环境8
1.4.1C程序的开发过程8
1.4.2C语言的集成开发环境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多分支开关语句switch49
4.4选择结构程序设计50
4.5条件运算符54
小结56
习题56
第5章循环结构程序设计58
5.1逗号运算符和逗号表达式58
5.2goto语句59
5.3循环语句60
5.3.1for循环语句60
5.3.2while循环语句64
5.3.3do_while循环语句65
5.4多重循环——循环的嵌套67
5.5break语句和continue语句69
5.5.1break语句69
5.5.2continue语句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修饰符const161
小结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.1C语言文件的概念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.3C++对C语法的扩充229
14.3.1变量的定义229
14.3.2C++的函数原型230
14.3.3常数说明230
14.3.4C++的注释语句231
14.3.5C++的标准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.2this指针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.1C++的I/O系统概述308
19.1.1C++的I/O流的基本概念308
19.1.2输入/输出操作符的使用310
19.2用户自定义插入操作符和提取操作符310
19.2.1创建插入操作符“
19.2.2重载提取操作符“”313
19.3格式化I/O314
19.3.1用ios类的成员函数实现格式化I/O314
19.3.2使用控制器函数实现格式化I/O318
19.3.3建立自己的控制器函数319
19.4文件的I/O321
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