新書推薦:
《
云中记
》
售價:NT$
347.0
《
中国古代妇女生活(中国古代生活丛书)
》
售價:NT$
214.0
《
你的认知正在阻碍你
》
售價:NT$
296.0
《
我们身边的小鸟朋友:手绘观鸟笔记
》
售價:NT$
356.0
《
拯救免疫失衡
》
售價:NT$
254.0
《
收尸人
》
售價:NT$
332.0
《
大模型应用开发:RAG入门与实战
》
售價:NT$
407.0
《
不挨饿快速瘦的减脂餐
》
售價:NT$
305.0
|
編輯推薦: |
有逻辑,更有游戏,你会不会更想说:C这样学,真香!
想要学习编程吗?想要用C来写出热门游戏、商业应用甚至航空航天应用软件吗?《轻松学会C》将是一个理想的起点。C14和免费的Microsoft VisualC社区版,可以帮助读者轻松进入C编程世界。
14岁就发表数学论文、毕业于藤校的作者布莱恩奥弗兰懂得怎么教大家轻松学会C,从简短的示例入手,帮助大家理解如何创建使用实用程序、写游戏和解谜题。通过简化知识点,耐心讲解以及直观的图表、示例和练习并举,本书可以帮助大家学会C,而且越学越聪明,越学越上瘾。
本书特色主题:
安装和使用免费的Microsoft Visual C社区版
深入讲解C14新标准中有价值的改进特性
以模块化方式呈现C14的改进,帮助读者更容易写出兼容性更强的程序
通过更多谜题、游戏和相关练习的方式来介绍C的知识点
讲解更多用法,帮助读者以更高效的方式来使用STL代码
包含适用于日常编程参考的9个附录
|
內容簡介: |
《轻松学会C++第3版》共18章9个附录,在兼顾C++关键主题的同时,注重编程思维的培养和练习,兼顾逻辑和游戏,以丰富的图表和其他结构化方式直观呈现出C++以及C++14的知识点和基础概念。作者通过深入浅出、通俗易懂的语言,丰富的范例,清楚的解释,大量的练习,全方位讨论了C++的关键主题,从一般的编程概念到技术到C++的具体特性。通过本书的阅读,读者可迅速掌握C++编程精髓。 《轻松学会C++第3版》破除了C++难学的迷思,适合读者自学,也是一本适合课堂教学的入门经典。
|
關於作者: |
作者简介
布莱恩奥弗兰(Brian Overland)
大型商业项目的专业开发人员,有丰富的写作经验和编程教学经验。在微软工作期间,从事过开发、文档和项目管理经验,获得过多项写作大奖。高科技公司的连续创业者,斜杠青年,不是在编程和写技术类书,就是在玩喜剧表演和写小说。
译者简介
周靖
硬件与软件专家,微软MVP,知名译者,涉猎广泛,具有深厚的技术功底和良好的文学素养。早期痴迷于硬件,《微型计算机》杂志特约作者。继而潜心钻研CC#程序设计,并在这方面积累了丰富经验。此后从事相关技术图书的翻译。其翻译风格严谨、准确、流畅,深受读者好评。代表译著有《C入门经典》系列版本、《Windows核心编程第5版》、《CLR via C#第4版》、《深入理解C#第2版》、《Visual C#从入门到精通》系列版本和《C#本质论》。
|
目錄:
|
目录
第1章 开始使用C 1
1.1 安装Microsoft Visual Studio
20152017 1
1.2 用Microsoft Visual Studio创建
项目 3
1.3 用Microsoft Visual Studio写程序 4
1.4 用Visual Studio运行程序 5
1.5 兼容性问题#1:stdafx.h或pch.h 5
1.6 兼容性问题#2:暂停屏幕 6
1.7 如果不用Visual Studio 7
1.8 跳到下个打印行 10
1.9 存储数据:C变量 13
1.10 数据类型简介 14
1.11 变量名和关键字的注意事项 21
小结 22
第2章 判断语句 25
2.1 准备功课:数据类型 25
2.2 在程序中判断 26
2.3 循环入门 33
2.4 C的真和假 39
2.5 递增操作符 39
2.6 语句和表达式 41
2.7 布尔短路逻辑入门 42
2.8 Math库入门 45
小结 51
第3章 判断语句进阶 53
3.1 do-while循环 53
3.2 随机数入门 56
3.3 switch-case语句 63
小结 67
第4章 全能又好用的for语句 69
4.1 计数循环 69
4.2 for循环入门 70
4.3 大量例子 71
4.4 局部循环变量 75
4.5 语言对比:Basic语言的
For语句 78
小结 79
第5章 被大量调用的函数 81
5.1 函数的概念 81
5.2 函数的使用 82
5.3 局部和全局变量 90
5.4 递归函数 92
5.5 继续游戏 107
小结 108
第6章 数组 111
6.1 C数组初探 111
6.2 初始化数组 112
6.3 基于零的索引 113
6.4 字节串和字符串数组 121
6.5 二维数组:进入矩阵 127
小结 128
第7章 指针 131
7.1 指针到底是什么? 131
7.2 指针概念 132
7.3 声明和使用指针 133
7.4 函数中的数据流 140
7.5 交换:另一个使用指针的函数 141
7.6 引用参数& 147
7.7 指针运算 147
7.8 指针和数组处理 149
小结 153
第8章 字符串:分析文本 155
8.1 计算机如何存储文本 155
8.2 单字符和字符串 169
8.3 C语言的string类 172
小结 179
第9章 文件:电子存储 183
9.1 文件流对象入门 183
9.2 对比文本文件和二进制文件 191
9.3 二进制运算基础 193
小结 200
第10章 类和对象 203
10.1 理解OOP 203
10.2 对象的含义 204
10.3 Point:一个简单的类 206
10.4 Fraction类基础 212
小结 229
第11章 构造函数 231
11.1 构造函数入门 231
11.2 引用变量和引用参数& 242
11.3 拷贝构造函数 243
11.4 将字符串转换为分数的构造
函数 245
小结 247
第12章 两个完整的OOP例子 249
12.1 动态对象创建 249
12.2 new和delete的其他用法 250
12.3 二叉树应用 251
12.4 汉诺塔问题:动画版 260
小结 267
第13章 用STL简化编程 269
13.1 列表模板 269
13.2 设计RPN计算器 277
13.3 正确解释尖括号 286
小结 287
第14章 面向对象的三门问题 289
14.1 逻辑推理 289
14.2 电视节目面向对象版 291
小结 307
第15章 面向对象的扑克牌游戏 309
15.1 赢在拉斯维加斯 309
15.2 怎样抽牌 310
15.3 vector模板 319
15.4 判断牌型 325
小结 333
第16章 多态版扑克牌游戏 335
16.1 多种牌墩 335
16.2 纯虚和其他抽象事项 345
16.3 抽象类和接口 346
16.4 面向对象和IO 347
小结 354
第17章 C14新功能 357
17.1 C14最新功能 357
17.2 C11引入的功能 362
小结 381
第18章 操作符函数:用类来完成 385
18.1 操作符函数入门 385
18.2 作为全局函数的操作符函数 387
18.3 通过引用提高效率 389
18.4 操作其他类型 399
18.5 类赋值函数= 399
18.6 相等性测试函数== 401
18.7 类的打印函数 402
18.8 结语关于操作符 406
小结 407
附录A 操作符 411
附录B 数据类型 419
附录C 语法总结 425
附录D 预处理指令 437
附录E ASCII代码 443
附录F 标准库函数 447
附录G IO流对象和类 455
附录H STL类和对象 461
附录I 术语表 469
|
內容試閱:
|
译者序
两年里利用业余时间断断续续完成了本书翻译感谢编辑大人的耐心与宽容。原因不是本书无趣,而是因为太有趣,而译者的时间又不够而已。真的是一本C入门的好书。语言精炼且前后呼应。你看到了一个不太理解的术语概念,没问题,后面肯定有对它的详尽解释而且是用你很容易明白的话。
原书基于Visual Studio 2015写作,后来Visual Studio 2017问世,所以译者在中文版中添加了对Visual Studio 2017的支持。不想用微软的IDE?没问题,译者在这里推荐一些IDE:CodeLite,Dev C,Eclipse,NetBeans实在太多了。具体链接可参考译者的主页:https:bookzhou.com。
除了最基本的C编程概念,一些新潮的东西都有所涉及,包括STL模板、C11和C14的新功能。至于指针,听起来很高大上,但读了本书之后,就会发现其实是小事一桩。关键在于,所有这些内容作者都用浅显的语言讲得明明白白。
本书之所以有趣,是因为里面讲述了太多实际问题的解决方案,例如汉诺塔、三门和扑克牌发牌、洗牌和判断一手牌的大小等。
逻辑和游戏,这是你通过本书来学习C的主要动机之一就不说就业必备技能了。
最后,本书几乎所有源代码的注释和输出内容都有中文。中文版代码可通过译者主页下载https:bookzhou.com。
前言
C可以说是当今世界最重要的编程语言。
该语言广泛运用于创建从操作系统到字处理软件的商业应用。曾有一段时间大型应用程序需用机器码来写,因计算机容量太小,其他都装不了。但今非昔比。比尔盖茨Bill Gates不得不将整个BASIC压缩成64K的时代一去不复返了!
作为C语言的继任者,C在保留了开发高效率程序这一目标的同时,还最大化提升了程序员的生产力。它生成的可执行文件在简洁性上一般仅次于机器码,但能干的事儿要多得多。C大多数时候都是专业人员的首选语言。
然而,名气虽大,C却不是最容易学的。这正是写作本书的目的。
我们是来找乐子的
任何值得学的都值得付出努力。但不是说这个过程就不能变得更有趣,本书的目的就是帮助大家轻松有趣地学会C。我从20世纪80年代开始C编程,从90年代开始C编程,创建过商业和系统级的应用程序。接触过各种陷阱,比如未初始化的指针和在if条件中该用两个等号==的时候用了一个=。我可以指导你避开多年前我要花上好几个小时来调试的错误。
我也喜欢逻辑和游戏。学习一门编程语言并不一定意味着枯燥。本书将探索汉诺塔和三门等有趣的问题。
图表能使学习编程的过程更有趣和容易。本书将大量运用表格和插图。
为什么选择C和C
不是说其他编程语言有什么问题。我是全世界首批写Visual Basic代码的人Microsoft主导的一个项目,而且我承认Python是高级脚本工具。
但只要稍微注意一下,就会发现C学起来同样容易。语法比Visual Basic和Python复杂一些,但C长久以来都被公认为是一种简洁、灵活和优雅的语言。这正是其前身C语言受这么多专家推崇的原因。
C语言一开始的思路就是为重复写的代码行提供快捷方式。例如,可用n使变量递增1,而不用写n = n 1。用C或C写的程序越多,就越离不开这些快捷方式,离不开它们的简洁和灵活。
C是怎样思考对象的
计算机科学家丹尼斯里奇Dennis Ritchie创建C来作为写操作系统的一种工具1983荣获图灵奖。他需要一种简洁和灵活的语言,可在必要时操纵像物理地址这样的低级东西。结果是C在其他领域也快速流行。
后来,比雅尼斯特劳斯特鲁普Bjarne Stroustrup创建了C,最开始只是一种有类的C。添加了面向对象功能,这是我以后要花很多笔墨讲述的主题从第10章起。面向对象是围绕智能数据类型构建程序的一种方式。本版的一个主要目标就是演示如何将面向对象作为一种高级的、更模块化的编程方式,以及如何思考对象。
C最终演化成远非仅仅一种有类的C。多年来添加了许多新功能,最引人注目的是标准模板库Standard Template Library,STL。STL不难学,本书将演示如何用它简化许多编程工作。假以时日,这个库会成为C程序员的工作中心。
第3版的目标
第3版的目标很简单,就是保持过去版本的优势并修正一些缺陷,尤其是这一版更有趣且更易使用。前两版的大多数特色都予以保留,但更着重C的实用性和娱乐性和面向对象,不在很少用到的功能上花太多笔墨。例如,我假定你不想写自己的string类,因为所有新的C编译器很早就在提供该功能了。
这一版还强调了C社区的正确语言规范。这些规范要么已成为标准,要么马上成为标准。
这一版正式使用Microsoft C编译器社区版。也可以用其他顺手的C编译器,因为大多数例子都是用标准C写成的。不过,第1章会指导你使用与Visual Studio配套提供的Microsoft编译器。
本书还包括其他特色。
* 涵盖C11和C14新功能:这一版会介绍自C11以来引入的许多新功能,并介绍C14的一些前沿功能。假定你的C编译器至少和Microsoft社区版一样新,所以这一版拿掉了一些过时的编程规范。
* 更多谜题、游戏、练习和插图:这些特色都是第2版大受欢迎的要素。第3版进一步发扬光大。
* 更着眼于面向对象的为什么和怎么做:C的类和对象功能一直都被寄予厚望。本版在修订时的一个主要目标就是强调类和对象的实用性以及如何思考对象。
* 更多STL的知识:标准模板库不难学,能简化编程并提高效率。这一版会更多地探索STL。
* 有用的参考:这一版在书末保留并扩展了快速参考附录。
怎么开始
这一版假定你对编程一无所知或只知道一点。会开电脑,会用菜单系统、键盘和鼠标就行。第1章将指导你安装和使用Microsoft C社区版。注意,该版本的C在Microsoft Windows上运行。使用其他系统比如Mac OS需下载不同的工具。但C常规的东西是共通的,本书大多数内容可以直接使用。
更多图标
前两版引入了许多有用的图标,这一版更多,作用是帮你快速定位自己需要的内容。请特别留意这些符号,它们强调了需要特别关注的部分。
剖析示例程序,逐行解释工作原理。不需要自己读长长的代码,我帮你做了!或者说,我们一起研究。
在每个完整的示例程序后面,都提供了至少一个练习通常几个。它们围绕例子展开,鼓励你修改并扩展刚才看到的程序代码。这是最好的学习方式。练习答案在作者的网站brianoverland.com提供。
围绕一个例子展开,分析如何改进、变得更短或更高效。
修改例子做其他事情。
提示新的语言关键字,清楚解释其用法。
和关键字相似,但提示的是不涉及关键字的C语法。
伪代码是用自然语言描述的程序或程序片断。作用是帮你弄明白程序需要做的事情。然后将其直接转换成C语句即可。
本书还穿插了一些有意思的花絮。不是特别关键,供闲暇时阅读。
列出重要事项,要么是需要注意的特殊事项,要么是一些陷阱,例如版本问题和需要最新编译器的一些语言功能。
表明当前主题只适合最新的C14语言规范。
不涉及哪些主题
生命中没什么是免费的,除了爱、落日、空气和小狗。实际上小狗都可能不是免费的。前不久我看了一些大丹犬,每只都要大概3000美元。但真的很可爱。
由于需要强调对于初级到中级程序员来说重要的主题,所以这一版稍微减少了对于一些不常用功能的讨论。例如,操作符重载前期一般都不会在类中编码这一功能被移到了最后一章。其他大多数主题包括相对高级的主题,比如位操作都只是稍微提了一下。重点还是基础。
C或许是目前规模最大的编程语言,就像英语拥有自然语言中最大的词库一样。一本面面俱到的入门书,这个出发点本身就是错的。但是,如果想学习C的高级主题,也有大量资源可以参考。
有两本书我特别推荐。一本是C语言创始人比雅尼斯特劳斯特鲁普Bjarne Stroustrup的《C编程语言》第4版,这是一本权威、全面和详尽的大部头参考书,建议在C上手之后学习。如一本易于使用的参考书,推荐我自己写的C for the Impatient,它覆盖了语言和标准模板库的几乎一切内容。
图形用户界面GUI编程对平台依赖较大,要选择专门的书来学习。本书介绍核心C语言及其库和模板,这些是独立于平台的。
再次提醒:找乐子
C没什么好怕的。偶有陷阱,但我会引领你绕开。在你不小心或者不知道自己在做什么的时候,C有时会显得稍难。但通过不停思考这些问题,情况会变得越来越好。
C并不抽象。希望你通过实例来解谜和游戏,并从中获得乐趣。虽然本书目的是教会你一门新知识,但也希望寓教于乐。
源代码、练习答案和勘误
从作者或译者主页下载本书源代码、练习答案和勘误。作者主页是http:brianoverland.combooks或https:github.comtransbotCPP-without-fear。译者主页是https:bookzhou.com。
致谢
这一版是编辑金姆Kim Boedigheimer和我在西雅图派克市场附近喝茶的时候确定下来的。这本书更像是她的孩子而不是我的。她带来了一个出色的编辑和生产团队,极大简化了我的工作。团队成员包括科瑟尔Kesel Wilson、黛博拉Deborah Thompson、克里斯Chris Zahn、苏珊Susan Brown Zahn和约翰John Fuller。
特别感谢莱奥尔Leor Zolman出色的技术审校。感谢微软前软件开发工程师约翰John R. Bennett提供许多有益的反馈。还要感谢网络作家大卫David Jack提供一些有用的插图。
|
|