注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计JAVA及其相关C/C++/Java程序设计经典教程

C/C++/Java程序设计经典教程

C/C++/Java程序设计经典教程

定 价:¥99.00

作 者: (美)Harvey M.Deitel,(美)Paul J.Deitel著;贺军译
出版社: 清华大学出版社
丛编项: 世界著名计算机教材精选
标 签: 暂缺

购买这本书可以去


ISBN: 9787900643421 出版时间: 2002-09-01 包装: 胶版纸
开本: 24cm+光盘1片 页数: 1067页 字数:  

内容简介

  本书译自经典计算机教程《C How to Program》的最新版,在美国,数十万学生通过本书学习C语言。作者Deitel & Deitel父子俩从事编程和教学工作几十年,积累了丰富的经验,通过本书讲述了C语言、C++以及Java语言的基本概念及编程方法。本书重在强调程序的清晰性与实用性,书中给出大量的相关提示信息,可以引导读者养成良好的编程习惯,提高程序性能和可移植性。本书适用于只有很少甚至没有编程经验的大专院校学生,可以作为计算机编程方面的入门级教材,同时也可作为初中级程序员的参考用书。

作者简介

  作者:DEITELHarveyM.Deitel,世界一流的计算机科学教员和研计会演讲人;PaulJ.Deitel,国际知名的教育家HarveyM.Deitel博士是Deitel&Associates公司总裁,有着40余年计算机领域的工作经验,进行了大量深入的教学研究,是世界一流的计算机科学教员和研计会演讲人。HarveyM.Deitel持有麻省理工学院学士、硕士学位和波士顿大学博士学位。他曾经在IBM和MIT的虚拟内存操作系统项目中从事研究工作,开发出在很多系统中广泛实现的技术。他还有20多年大学教学经验,取得过“教育特别津贴”。也是全球知名的计算机教材作者。其作品已被翻译成日、俄、中文(繁简)、韩、法、西班牙等语言。PaulJ.Deitel是Deitel&Associates公司执行副总裁,是麻省理工学院Sloun管理学校的毕业生。主修信息技术,通过Deitel&Associates公司他已经为DigitalEquipmentCorporation......等多家公司的客户提供Java、C和C++课程的教学活动,并曾为计算机协会波士顿分会授Java和C++语言,还通过卫星直播Java课程。C++大学基础教程(第五版)>>更多作品

图书目录

第1章  计算机、Internet和万维网入门    1
1.1  简介    1
1.2  计算机是什么    3
1.3  计算机的组织    3
1.4  操作系统的演变    4
1.5  个人计算、分布计算和客户/服务器
计算    5
1.6  机器语言、汇编语言和高级语言    5
1.7  C语言的历史    7
1.8  C语言的标准库    8
1.9  重要的软件发展趋势:面向对象的
技术    8
1.10  C++语言以及C++编程    10
1.11  Java语言以及Java编程    11
1.12  其他高级语言    11
1.13  结构化编程    12
1.14  C程序开发环境基础    12
1.15  硬件趋势    15
1.16  Internet的历史    15
1.17  万维网的历史    17
1.18  C语言及本书的注意事项    17
自测练习    18
练习    19
第2章  C程序设计入门    21
2.1  简介    21
2.2  一个简单的C程序:显示一行文本    21
2.3  另一个简单的C程序:两个整数相加    25
2.4  内存的概念    29
2.5  C的算术运算    30
2.6  判断:等式和关系运算符    34
自测练习    37
练习    41
第3章  C语言结构化程序开发    46
3.1  简介    46
3.2  算法    46
3.3  伪代码    47
3.4  控制结构    47
3.5  if 选择结构    49
3.6  if/else选择结构    51
3.7  while循环结构    55
3.8  表述算法:案例研究1(计数器控制
的循环)    56
3.9  使用自顶向下、逐步求精方法表述
算法:案例研究2(标记控制循环)    58
3.10  使用自顶向下、逐步求精方法表述
算法:案例研究3(嵌套控制结构)    64
3.11  赋值运算符    68
3.12  递增运算符和递减运算符    68
自测练习    71
练习    75
第4章  C程序控制    85
4.1  简介    85
4.2  循环的本质    85
4.3  计数器控制的循环    86
4.4  for循环结构    88
4.5  for结构:说明和观察    90
4.6  使用for结构的示例    91
4.7  switch多重选择结构    95
4.8  do/while循环结构    100
4.9  break和continue语句    102
4.10  逻辑运算符    103
4.11  相等运算符(==)和赋值运算符
(=)    106
4.12  结构化编程小结    108
自测练习    113
练习    116
第5章  C函数    123
5.1  简介    123
5.2  C语言的程序模块    123
5.3  数学库函数    124
5.4  函数    126
5.5  函数的定义    126
5.6  函数原型    130
5.7  头文件    133
5.8  调用函数:按值调用和按引用调用    134
5.9  随机数的生成    134
5.10  示例:运气游戏    139
5.11  存储类别    142
5.12  作用域的规则    144
5.13  递归    147
5.14  递归实例:斐波纳契数列    150
5.15  递归与迭代    154
自测练习    156
练习    161
第6章  C数组    171
6.1  简介    171
6.2  数组    171
6.3  声明数组    173
6.4  数组使用示例    173
6.5  数组传递给函数    185
6.6  排序数组    190
6.7  案例研究:用数组计算平均值、中值
和最频值    192
6.8  查找数组    196
6.9  多维数组    201
自测练习    207
练习    210
第7章  C指针    222
7.1  简介    222
7.2  指针变量声明和初始化    222
7.3  指针运算符    223
7.4  按引用调用函数    226
7.5  使用指针的const限定符    229
7.6  使用按引用调用的冒泡排序    235
7.7  指针表达式和指针算法    240
7.8  指针和数组的关系    243
7.9  指针数组    247
7.10  案例研究:洗牌和发牌模拟    248
7.11  函数指针    253
自测练习    257
练习    260
第8章  C字符和字符串    275
8.1  简介    275
8.2  字符串和字符的基本知识    275
8.3  字符处理库    277
8.4  字符串转换函数    282
8.5  标准输入/输出库函数    287
8.6  字符串处理库的字符串处理函数    291
8.7  字符处理库的比较函数    293
8.8  字符串处理库的查找函数    295
8.9  字符串处理库的内存函数    301
8.10  字符串处理库的其他函数    305
自测练习    306
练习    309
第9章  C格式化的输入/输出    316
9.1  简介    316
9.2  流    316
9.3  用printf格式化输出    316
9.4  打印整数    317
9.5  打印浮点数    318
9.6  打印字符串和字符    320
9.7  其他转换说明符    321
9.8  用字段宽度和精度打印    323
9.9  在printf格式控制字符串中使用标记    325
9.10  打印字面量和转义序列    328
9.11  用scanf格式化输入    329
自测练习    335
练习    337
第10章  C结构、联合、位操作和枚举    340
10.1  简介    340
10.2  结构定义    340
10.3  初始化结构    343
10.4  访问结构成员    343
10.5  在函数中使用结构    345
10.6  typedef    345
10.7  示例:高性能洗牌和发牌仿真程序    346
10.8  联合    349
10.9  位运算符    351
10.10  位字段    359
10.11  枚举常量    362
自测练习    363
练习    366
第11章  C文件处理    370
11.1  简介    370
11.2  数据层次结构    370
11.3  文件和流    372
11.4  创建顺序存取文件    373
11.5  从顺序存取文件中读取数据    377
11.6  随机存取文件    382
11.7  创建随机存取文件    383
11.8  随机向随机存取文件中写入数据    385
11.9  随机从随机存取文件中读取数据    387
11.10  案例研究:事务处理程序    389
自测练习    394
练习    396
第12章  C数据结构    401
12.1  简介    401
12.2  自引用结构    402
12.3  动态内存分配    402
12.4  链表    403
12.5  堆栈    412
12.6  队列    417
12.7  树    424
自测练习    429
练习    432
第13章  C预处理器    452
13.1  简介    452
13.2  #include预处理器伪指令    452
13.3  #define预处理器伪指令:符号常量    453
13.4  #define预处理器伪指令:宏    453
13.5  条件编译    455
13.6  #error和#pragma预处理器伪指令    456
13.7  #和##运算符    456
13.8  行号    457
13.9  预定义符号常量    457
13.10  断言    458
自测练习    458
练习    460
第14章  C语言高级技术    461
14.1  简介    461
14.2  在UNIX和DOS系统上重定向
输入/输出    461
14.3  变长参数列表    462
14.4  使用命令行参数    464
14.5  编译多个源文件程序的注释    465
14.6  使用exit和atexit终止程序    467
14.7  volatile类型限定符    469
14.8  整数和浮点常量的前缀    469
14.9  其他文件问题    469
14.10  信号处理    471
14.11  动态内存分配:函数calloc和
realloc    474
14.12  无条件分支:goto    474
自测练习    476
练习    476
 
第2部分  C++编程
 
第15章  C的增强版本C++    479
15.1  简介    479
15.2  C++    479
15.3  简单的程序:两个整数相加    480
15.4  C++标准库    483
15.5  头文件    483
15.6  嵌入函数    485
15.7  引用和引用参数    487
15.8  默认参数和空参数列表    491
15.9  一元作用域解析运算符    493
15.10  函数重载    495
15.11  函数模板    497
自测练习    499
练习    500
第16章  C++类和数据抽象    502
16.1  简介    502
16.2  用类实现时间抽象数据类型    503
16.3  类作用域和访问类成员    509
16.4  从实现中分离接口    511
16.5  控制访问成员    515
16.6  访问函数和实用函数    517
16.7  初始化类对象:构造函数    520
16.8  通过构造函数使用默认参数    521
16.9  使用析构函数    525
16.10  何时调用构造函数和析构函数    526
16.11  使用数据成员和成员函数    529
16.12  微妙的陷阱:返回private数据
成员的引用    534
16.13  使用默认的按成员复制来赋值    536
16.14  软件重用性    538
自测练习    538
练习    539
第17章  C++类:第二部分    542
17.1  简介    542
17.2  const(常量)对象和const成员函数    542
17.3  复合:作为类成员的对象    551
17.4  friend函数和friend类    556
17.5  使用this指针    560
17.6  使用运算符new和delete动态
分配内存    565
17.7  static类成员    566
17.8  数据抽象和信息隐藏    572
17.8.1  示例:数组抽象数据类型    573
17.8.2  示例:字符串抽象数据类型    574
17.8.3  示例:队列抽象数据类型    574
17.9  容器类和迭代器    575
自测练习    575
练习    576
第18章  C++运算符重载    578
18.1  简介    578
18.2  运算符重载的基础知识    579
18.3  运算符重载的限制    580
18.4  作为类成员和友元函数的运算符函数    581
18.5  重载流插入和流提取运算符    582
18.6  重载一元运算符    585
18.7  重载二元运算符    586
18.8  案例研究:数组类    587
18.9  类型转换    600
18.10  重载++和    601
自测练习    602
练习    603
第19章  C++继承    607
19.1  简介    607
19.2  继承:基类和派生类    608
19.3  Protected 成员    610
19.4  基类指针转换为派生类指针    611
19.5  使用成员函数    616
19.6  在派生类中覆盖基类成员    617
19.7  公共、受保护和私有继承    621
19.8  直接基类和间接基类    622
19.9  在派生类中使用构造函数和析构
函数    622
19.10  隐含派生类对象到基类对象的
转换    626
19.11  使用继承的软件工程    627
19.12  复合与继承    628
19.13  “使用一个”和“了解一个”
的关系    628
19.14  案例研究:点、圆和圆柱    629
自测练习    637
练习    637
第20章  C++虚拟函数和多态性    639
20.1  简介    639
20.2  类型字段和switch语句    639
20.3  虚拟函数    640
20.4  抽象基类和具体类    640
20.5  多态性    641
20.6  新类和动态绑定    643
20.7  虚拟析构函数    643
20.8  案例研究:继承接口和实现    644
20.9  多态性、虚拟函数和动态绑定内幕    652
自测练习    655
练习    655
第21章  C++流输入/输出    657
21.1  简介    657
21.2  流    658
21.2.1  iostream库头文件    658
21.2.2  流输出/输入类和对象    658
21.3  流输出    660
21.3.1  流插入运算符    660
21.3.2  级联流插入/提取运算符    662
21.3.3  char *变量的输出    663
21.3.4  用成员函数put输出字符:
级联多个put    664
21.4  流输入    664
21.4.1  流提取运算符    664
21.4.2  get和getline成员函数    667
21.4.3  istream成员函数peek、
putback和ignore    670
21.4.4  类型安全的输入/输出    670
21.5  用read、gcount和write的非格式
化输入/输出    670
21.6  流操纵符    671
21.6.1  整数流基数:dec、oct、hex
和setbase    672
21.6.2  浮点精度(precision,
setprecision)    673
21.6.3  字段宽度(setw, width)    674
21.6.4  用户定义操纵符    676
21.7  流格式状态    677
21.7.1  格式状态标记    677
21.7.2  尾部0和小数点
(ios::showpoint)    678
21.7.3  对齐(ios::left,ios::right,
ios::internal)    679
21.7.4  填充(fill, setfill)    681
21.7.5  整数流基数(ios::dec,ios::oct,
ios::hex,ios::showbase)    682
21.7.6  浮点数:科学记数法
(ios::scientific, ios::fixed)    683
21.7.7  大写/小写控制
(ios::uppercase)    684
21.7.8  设置和重新设置状态标记
(flags, setiosflags,
resetiosflags)    685
21.8  流错误状态    687
21.9  将输出流转移到输入流    689
自测练习    689
练习    694
第22章  C++模板    697
22.1  简介    697
22.2  类模板    697
22.3  类模板与非类型参数    703
22.4  模板与继承    704
22.5  模板与友元    704
22.6  模板与static成员    706
自测练习    706
练习    707
第23章  C++异常处理    708
23.1  简介    708
23.2  何时使用异常处理    710
23.3  其他错误处理技术    710
23.4  C++异常处理基础知识:
try、throw、catch    711
23.5  异常处理的简单例子:零除    712
23.6  引发异常    714
23.7  捕获异常    715
23.8  重新引发异常    718
23.9  异常规约    720
23.10  处理无法预料的异常    720
23.11  堆栈展开    721
23.12  构造函数、析构函数与异常处理    722
23.13  异常与继承    723
23.14  处理new错误    723
23.15  auto_ptr类与动态内存分配    727
23.16  标准库异常层次    729
自测练习    730
练习    731
 
第3部分  Java编程
 
第24章  Java应用程序与小程序入门    733
24.1  简介    733
24.2  典型的Java环境基础    734
24.3  Java和本书的总说明    737
24.4  简单的程序:打印文本行    738
24.5  另一个Java应用程序:整数相加    745
24.6  Java 2 SDK的小程序示例    751
24.6.1  TicTacToe小程序    751
24.6.2  DrawTest小程序    754
24.6.3  Java2D小程序    755
24.7  一个简单的Java小程序:绘制
字符串    756
24.8  另外两个示例:绘制字符串与线    762
24.9  另一个Java小程序:整数相加    764
自测练习题    771
练习    773
第25章  独特的Java运算符、
方法与数组    775
25.1  简介    775
25.2  基本数据类型与关键字    775
25.3  逻辑运算符    777
25.4  方法定义    782
25.5  Java API 包    787
25.6  随机数生成    791
25.7  示例:运气游戏    794
25.8  JApplet类的方法    802
25.9  数组的声明与分配    804
25.10  数组应用示例    804
25.11  引用和引用参数    815
25.12  多维数组    815
自测练习    819
练习    821
第26章  基于对象的Java编程    826
26.1  简介    826
26.2  用类实现时间抽象数据类型    827
26.3  类的作用域    834
26.4  创建包    835
26.5  类对象的初始化:构造函数    839
26.6  使用Set和Get方法    840
26.7  使用this引用    847
26.8  结束函数    850
26.9  静态类成员    850
自测练习    854
练习    855
第27章  面向对象的Java编程    859
27.1  简介    859
27.2  超类和子类    861
27.3  protected成员    863
27.4  超类对象和子类对象的关系    863
27.5  子类对象向超类对象的隐式转换    870
27.6  具有继承的软件工程    871
27.7  复合与继承的比较    872
27.8  多态简介    872
27.9  类型字段和switch语句    872
27.10  动态方法绑定    873
27.11  final方法和类    873
27.12  抽象超类和具体类    874
27.13  多态示例    875
27.14  新类和动态绑定    876
27.15  案例研究:继承接口和实现    877
27.16  案例研究:创建和使用接口    883
27.17  内部类定义    889
27.18  内部类定义的说明    900
27.19  基本类型的类型包装类    900
自测练习    901
练习    901
第28章  Java图形和Java2D    904
28.1  简介    904
28.2  图形环境和图形对象    906
28.3  颜色控制    907
28.4  字体控制    914
28.5  绘制直线、矩形和椭圆    920
28.6  绘制弧    923
28.7  绘制多边形和折线    926
28.8  Java2D API    929
28.9  Java2D形状    929
自测练习    937
练习    938
第29章  Java GUI组件    941
29.1  简介    941
29.2  Swing概述    942
29.3  JLabel    944
29.4  事件处理模型    948
29.5  JTextField和JPasswordField    950
29.6  JTextArea    956
29.7  JButton    959
29.8  JCheckBox    963
29.9  JComboBox    966
29.10  鼠标事件处理    969
29.11  布局管理器    974
29.11.1  FlowLayout    974
29.11.2  BorderLayout    977
29.11.3  GridLayout    980
29.12  面板    983
29.13  创建自包含的Jpanel子类    984
29.14  窗口    990
29.15  使用有边框的菜单    992
自测练习    999
练习    1001
第30章  Java多媒体:图像、
动画及音频    1004
30.1  简介    1004
30.2  加载、显示和缩放图像    1005
30.3  加载和播放音频剪辑    1008
30.4  使一系列图像动起来    1011
30.5  动画问题    1016
30.6  通过param HTML标记自定义
小程序    1017
30.7  图像映射    1022
30.8  Java插件    1025
30.9  Internet和万维网资源    1027
自测练习    1027
练习    1028
 
第4部分  附    录
 
附录A  Internet与Web资源    1031
A.1  C/C++资源    1031
A.2  C++教程    1033
A.3  C/C++ FAQ    1034
A.4  Visual C++    1034
A.5  comp.lang.c++    1035
A.6  C/C++编译程序    1037
A.7  C++开发工具    1039
A.8  Java资源    1039
A.9  Java产品    1041
A.10  Java FAQ    1042
A.11  Java教程    1042
A.12  Java期刊    1043
A.13  Java 小程序    1043
A.14  多媒体    1044
A.15  Java 新闻组    1045
附录B  C99 Internet与Web资源    1047
附录C  运算符优先级    1050
附录D  ASCII字符集    1055
附录E  数制系统    1056
E.1  简介    1056
E.2  将二进制数缩写为八进制和
十六进制数    1059
E.3  将八进制数和十六进制数
转换成二进制数    1060
E.4  从二进制、八进制、十六进制
转换成十进制    1060
E.5  从十进制转换为八进制、十六进制
或二进制    1061
E.6  负二进制数:补码记数法    1063
自测练习    1064
练习    1066

本目录推荐