新書推薦:
《
战胜人格障碍
》
售價:HK$
66.7
《
逃不开的科技创新战争
》
售價:HK$
103.3
《
漫画三国一百年
》
售價:HK$
55.2
《
希腊文明3000年(古希腊的科学精神,成就了现代科学之源)
》
售價:HK$
82.8
《
粤行丛录(岭南史料笔记丛刊)
》
售價:HK$
80.2
《
岁月待人归:徐悲鸿自述人生艺术
》
售價:HK$
61.4
《
女人的中国医疗史:汉唐之间的健康照顾与性别
》
售價:HK$
103.8
《
资治通鉴熊逸版:第四辑
》
售價:HK$
470.8
編輯推薦:
《C面向对象程序设计:基于Visual C 2017》采用C 11新标准介绍C语言,以面向对象技术为核心,兼顾模板和泛型编程。为强化基本概念的掌握,利用调试跟踪工具剖析关键知识点,化抽象为直观。为提升编程能力,尽量在程序中讲编程。全书有160个例程,可供初学者学习和模仿。
內容簡介:
《C面向对象程序设计:基于Visual C 2017》以面向对象技术为核心,重点介绍了新标准C 11的语法规则和编程技术。为便于深入理解C的基本概念与实现技术,书中利用程序调试工具深入浅出地剖析了重要的语法现象和程序运行机理,使初学者能知其然,更知其所以然。书中用两章的篇幅介绍了CCLI和WinForm窗体应用程序的设计方法,以便拓展学习者用C开发应用项目的能力。全书通过丰富的例程、案例和练习培养并锻炼读者的编程能力,使读者能尽快掌握面向对象编程思想和提高编程技能。 《C面向对象程序设计:基于Visual C 2017》既注意对基本概念、基础知识的讲解与剖析,更注重实际编程能力的培养,适合作为普通高等院校应用型本科相关专业的C程序设计课程的教材,也适合作为编程开发人员的培训或自学用书。
關於作者:
吴克力,南京理工大学教授,硕士生导师,博士。曾获得江苏省高校青蓝工程优秀青年骨干教师培养对象,市十百千人才第二层次培养对象,学校我最喜爱的老师和第六届校教学标兵等荣誉。主讲了《C程序设计》、《数据结构》等计算机专业课程,主编本科教材2部,均评为江苏省高等学校重点教材。发表专业学术论文三十余篇,获江苏省教学成果二等奖一项,国防科工委国防科学技术奖二等奖一项,省高校优秀教材奖一项。
目錄 :
第1章 绪论 1
1.1 计算机程序设计语言 1
1.1.1 程序设计语言 1
1.1.2 程序设计范型 2
1.1.3 面向对象程序设计 4
1.2 C程序设计语言概述 5
1.2.1 C语言发展简史 5
1.2.2 C语言的特点 6
1.3 Visual C 2017编程工具简介 7
1.3.1 C程序生成过程 7
1.3.2 .NET 框架与
Visual C 2017 8
1.3.3 Visual C 2017集成开发
环境简介 9
1.3.4 创建控制台应用程序项目 10
1.3.5 创建Windows窗体应用
程序项目 12
1.3.6 调试与跟踪程序 13
1.4 本章小结 14
1.5 习题 15
第2章 数据类型与基本运算 16
2.1 数据类型 16
2.1.1 基本数据类型 17
2.1.2 构造数据类型 19
2.2 变量与常量 20
2.2.1 词法及其规则 20
2.2.2 变量 21
2.2.3 常量 23
2.2.4 auto类型说明符 26
2.2.5 decltype类型指示符 27
2.3 运算与表达式 27
2.3.1 运算类型和表达式 28
2.3.2 算术运算及算术表达式 29
2.3.3 赋值运算及赋值表达式 30
2.3.4 关系运算及关系表达式 32
2.3.5 逻辑运算及逻辑表达式 32
2.3.6 位运算及位表达式 33
2.3.7 其他运算及其表达式 35
2.4 数组 37
2.4.1 一维数组 37
2.4.2 多维数组 39
2.4.3 字符数组 41
2.5 指针与引用 43
2.5.1 指针 43
2.5.2 多级指针 45
2.5.3 指针运算 46
2.5.4 指针与数组 48
2.5.5 引用 51
2.6 枚举 54
2.6.1 无作用域限定枚举 54
2.6.2 强类型枚举 55
2.7 标准库类型string 56
2.8 标准库类型vector 57
2.9 标准库类型map 58
2.10 结构体与联合 59
2.10.1 结构体 60
2.10.2 联合 61
2.11 案例实训 63
2.12 本章小结 64
2.13 习题 65
第3章 基本控制结构与语句 67
3.1 算法与基本控制结构 67
3.1.1 算法与流程图 67
3.1.2 三种基本控制结构 69
3.1.3 语句 69
3.2 选择型结构 70
3.2.1 ifelse语句 70
3.2.2 switch语句 72
3.3 循环型结构 74
3.3.1 传统for语句 74
3.3.2 范围for语句 76
3.3.3 while语句 77
3.3.4 dowhile语句 79
3.3.5 跳转语句 81
3.4 异常处理 85
3.4.1 throw语句 85
3.4.2 try语句 86
3.5 输入与输出 88
3.5.1 控制台输入输出 88
3.5.2 文件输入输出 89
3.6 案例实训 92
3.7 本章小结 93
3.8 习题 94
第4章 函数 97
4.1 函数定义与调用 97
4.2 函数参数传递 100
4.2.1 按值传递 100
4.2.2 地址传递 101
4.2.3 引用传递 102
4.2.4 const形参 103
4.2.5 数组形参 105
4.3 函数返回类型与函数重载 106
4.3.1 返回类型与return语句 106
4.3.2 尾随返回类型 109
4.3.3 返回数组指针 110
4.3.4 函数重载 111
4.4 内联函数与常量表达式函数 113
4.4.1 inline函数 113
4.4.2 constexpr函数 114
4.5 递归函数 115
4.6 函数指针 118
4.7 Lambda函数 124
4.8 内存模型、作用域和生存期 125
4.8.1 C程序内存模型 126
4.8.2 全局变量和局部变量 126
4.8.3 作用域和可见性 127
4.8.4 存储类型和生存期 128
4.9 案例实训 130
4.10 本章小结 131
4.11 习题 131
第5章 类与对象 136
5.1 面向对象编程:封装 136
5.2 类与对象 137
5.2.1 类的定义 137
5.2.2 对象的创建 139
5.2.3 this指针与对象 141
5.3 构造函数与析构函数 143
5.3.1 构造函数 143
5.3.2 委托构造函数 146
5.3.3 析构函数 147
5.4 类中成员对象 149
5.4.1 成员对象的构造与析构 149
5.4.2 组合应用示例 152
5.5 类中静态成员 155
5.5.1 静态数据成员 155
5.5.2 静态成员函数 158
5.6 类的友元 160
5.6.1 友元函数 160
5.6.2 友元类 162
5.7 运算符重载函数 164
5.7.1 运算符重载成员函数 165
5.7.2 运算符重载友元函数 168
5.7.3 特殊运算符的重载 171
5.7.4 流插入与提取运算符重载 178
5.8 多文件结构与编译预处理 180
5.8.1 多文件结构 180
5.8.2 编译预处理 181
5.9 案例实训 185
5.10 本章小结 187
5.11 习题 188
第6章 动态内存 192
6.1 动态内存的分配与释放 192
6.1.1 new和delete运算符 192
6.1.2 深复制与浅复制 196
6.2 智能指针 198
6.2.1 unique_ptr 199
6.2.2 shared_ptr和weak_ptr 200
6.3 移动构造与移动赋值 202
6.3.1 移动语义 202
6.3.2 std::move函数 204
6.3.3 移动构造函数 204
6.3.4 移动赋值运算符 206
6.4 合成的成员函数 207
6.4.1 用=default显式合成 208
6.4.2 用=delete阻止拷贝 208
6.5 动态内存应用示例 209
6.5.1 Array类的设计 209
6.5.2 String类的设计 212
6.6 案例实训 216
6.7 本章小结 217
6.8 习题 217
第7章 类的继承 219
7.1 面向对象编程:继承 219
7.2 派生类 220
7.2.1 派生类的定义 221
7.2.2 继承方式与访问控制 223
7.2.3 成员函数的同名覆盖与
隐藏 225
7.2.4 派生类与基类的赋值兼容 227
7.3 派生类的构造与析构 230
7.4 多重继承与虚基类 234
7.4.1 多重继承 234
7.4.2 虚基类 236
7.5 案例实训 240
7.6 本章小结 241
7.7 习题 242
第8章 多态性 245
8.1 面向对象编程:多态 245
8.2 虚函数与动态绑定 246
8.2.1 虚函数的定义与用法 246
8.2.2 override和final修饰符 249
8.2.3 动态绑定的实现方法 250
8.2.4 虚析构函数 252
8.3 纯虚函数与抽象类 254
8.4 案例实训 261
8.5 本章小结 262
8.6 习题 262
第9章 模板与泛型编程 266
9.1 函数模板 266
9.1.1 函数模板的定义与实例化 266
9.1.2 函数模板与重载 269
9.1.3 完美转发 270
9.2 类模板 272
9.2.1 类模板的定义与实例化 272
9.2.2 类模板与继承 277
9.2.3 类模板与友元 279
9.2.4 别名模板 280
9.2.5 变量模板 281
9.2.6 嵌套类模板 282
9.2.7 模板特例化 283
9.3 可变参数模板 284
9.3.1 可变参数函数模板 284
9.3.2 可变参数类模板 286
9.4 案例实训 287
9.5 本章小结 288
9.6 习题 288
第10章 标准模板库 291
10.1 STL组件概述 291
10.2 容器 293
10.2.1 顺序容器 293
10.2.2 关联容器 295
10.2.3 无序容器 297
10.3 迭代器 298
10.3.1 迭代器分类 299
10.3.2 迭代器适配器 302
10.4 算法与函数对象 304
10.4.1 泛型算法 304
10.4.2 函数对象 309
10.5 案例实训 312
10.6 本章小结 313
10.7 习题 314
第11章 输入输出流与文件 315
11.1 流概述 315
11.2 流的格式控制 317
11.2.1 流格式状态字 317
11.2.2 流格式操纵符 320
11.2.3 流格式控制成员函数 322
11.3 输入流与输出流 323
11.3.1 输入流 323
11.3.2 输出流 325
11.3.3 流与对象的输入输出 326
11.4 流的错误状态 328
11.5 文件的输入与输出 329
11.5.1 文件的基本操作 330
11.5.2 文本文件的输入与输出 333
11.5.3 二进制文件的输入与输出 335
11.6 字符串流 339
11.7 案例实训 340
11.8 本章小结 341
11.9 习题 341
第12章 异常与命名空间 344
12.1 异常处理 344
12.1.1 异常概述 344
12.1.2 抛出异常与堆栈展开 345
12.1.3 构造函数、析构函数和
异常 347
12.1.4 noexcept说明符 351
12.1.5 标准库中异常类 352
12.2 命名空间 357
12.2.1 命名空间的定义 357
12.2.2 命名空间与作用域 359
12.3 案例实训 360
12.4 本章小结 360
12.5 习题 361
第13章 CCLI程序设计基础 364
13.1 概述 364
13.2 CCLI的基本数据类型 366
13.3 CCLI的句柄、装箱与拆箱 368
13.4 CCLI的字符串与数组 371
13.4.1 CCLI中的String类 371
13.4.2 CCLI中的数组 373
13.5 CCLI中的类与属性 376
13.6 CCLI中的多态与接口 378
13.7 CCLI中的模板与泛型 382
13.8 CCLI中的异常 384
13.9 CCLI中的枚举 386
13.10 .NET中的委托与事件 387
13.10.1 委托 387
13.10.2 事件 390
13.11 案例实训 392
13.12 本章小结 392
13.13 习题 393
第14章 WinForm应用程序设计 395
14.1 鼠标坐标的显示 395
14.2 倒计时器 396
14.3 简易计算器 399
14.4 循环队列原理演示 405
14.5 随机运动的小球 410
14.6 案例实训 413
14.7 本章小结 414
14.8 习题 415
第15章 项目实践 416
15.1 系统概述 416
15.2 功能设计 416
15.3 系统设计 417
15.3.1 数据表设计 417
15.3.2 界面设计 417
15.4 模块设计与代码实现 418
15.4.1 实体类的实现代码 418
15.4.2 数据类的实现代码 418
15.4.3 菜单类的实现代码 418
15.4.4 应用程序类的实现代码 419
15.5 本章小结 419
15.6 习题 419
附录A ASCII码字符表 420
附录B IEEE浮点数表示 422
內容試閱 :
1998年C标准委员会发布了第一个C标准C 98;2003年发布了C标准第2版C 03,它是C 98的修订版。随着软件技术的进步,2011年发布了C 11新标准,这是一次最剧烈的修订,核心语言发生了巨大的变化,引入了大量的新特性。之后,于2014年和2017年又分别发布了修订版。
随着C 11新标准的颁布和编译器厂商对标准的支持,高等学校开设的C程序设计课程逐渐采用新标准进行教学。微软公司的Visual C 2017编译器全面支持C 11新标准,本书的所有例程均在该编译器上编译通过。
本书采用C 11新标准介绍C语言,以面向对象技术为核心,兼顾模板和泛型编程。为强化基本概念的掌握,利用调试跟踪工具剖析关键知识点,化抽象为直观。为提升编程能力,尽量在程序中讲编程。全书有160个例程,可供初学者学习和模仿。
本书共有15章,大致可分为5个部分:程序基础第1~4章、面向对象技术第5~8章、模板与标准库第9~12章、CCLI与窗体应用程序设计第13~14章、课程设计样例第15章。
各章节主要内容如下。
第1章:C语言的发展历程和特点,VC 2017编程工具的用法。
第?2?章:数据类型,变量与常量,运算与表达式,数组,指针,枚举,结构体与联合,常用标准库类型string、vector和map。
第?3?章:算法与流程图,程序基本控制结构与语句,异常处理基础,控制强输入与输出。
第?4?章:函数基础,3种参数传递方式,函数返回类型,函数重载,内联函数,constexpr函数,递归函数,函数指针,Lambda函数,C内存模型,全局与局部变量,作用域与可见性,存储类型和生存期。
第?5?章:类与对象,构造函数,析构函数,this指针,类中静态成员,类的友元,运算符重载函数,多文件结构与编译预处理。
第?6?章:动态内存的分配与释放,智能指针,移动构造函数,移动赋值,合成的成员函数。
第?7?章:派生类,继承方式与访问控制,同名覆盖与隐藏,派生类与基类的赋值兼容,派生类的构造与析构,多重继承,虚基类。
第?8?章:多态性,虚函数,动态绑定,override与final修饰符,虚析构函数,纯虚函数,抽象类。
第?9?章:函数模板,完美转发,类模板,别名模板,变量模板,嵌套类模板,模板特列化,可变参数模板。
第?10?章:顺序容器,关联容器,无序容器,迭代器,迭代器适配器,泛型算法,函数对象。
第?11?章:流的格式控制,输入流,输出流,文件操作,字符串流。
第?12章:异常处理,noexcept说明,异常类,命名空间。
第?13?章:CCLI的基本数据类型,CCLI的句柄、装箱与拆箱,CCLI的字符串与数组,CCLI的类与属性,CCLI的多态与接口,CCLI的模板与泛型,CCLI的异常与枚举,委托与事件。
第?14?章:鼠标坐标的显示窗体程序,倒计时器窗体程序,计算器窗体程序,循环队列演示窗体程序,随机运动的小球窗体程序。
第15章:课程设计参考例程:通讯录管理系统的设计与实现。
由于作者水平有限,书中不足之处在所难免,敬请读者不吝批评指正。
编 者