C++太难学,怎么破?这本书给你指点迷津

2021 年在线学习平台 Springboard 选出了最难学的编程语言 TOP5,C++ 排在其中之一。

C++ 难学的理由很多,比如它语法复杂,语法特性多,编程范式灵活标准库内容过于基础,还要具备 C 语言基础等等。

提起 C++,它是由 C 语言大幅扩展而成,且用途非常广泛,例如用于 Windows 等操作系统、文字处理和电子表格等应用软件,甚至很多商业游戏也是用 C++ 开发的。

这门语言曾经在代码的世界里称霸,如今因为它的“难”,很多程序员转去学习其他的编程语言。

但还是有数以百计的程序员在使用 C++,且 C++ 是绝对刚需不可替代的。它易于编写程序,有着易改进、易扩展,以及制作的软件可以高速运行等优点

在游戏和工具领域,操作系统、游戏引擎、嵌入式程序、加密与安全方向等领域,C++ 也都是不二选择。

如果想学好 C++,应该注意什么呢?

要注意以下 2 点:

■ C++ 基础知识

■ 编程基础知识

类比自然语言的学习,前者就相当于“基本的语法和单词”,后者则相当于“简单的语句书写和会话”。仅仅知晓语法和单词,是不可能编写出程序的。

另外,即使精通其他编程语言,如果不知晓 C++ 的语法和单词,当然也不可能编写出 C++ 程序。

那么如何把“基本的语法和单词”和“简单的语句书写和会话”结合起来呢?

这本书将会告诉你答案——

作者:[日]柴田望洋 译者:孙巍

这本《明解C++》由日本编程教育界泰斗、《明解C语言》作者柴田望洋所著。

作者结合多年编程教育经验打造了这本 C++ 入门佳作,从“C++ 基础”和“编程基础”两方面着手,让读者不仅能掌握 C++ 语法,更能掌握真正用 C++ 编程的能力

本书作者有多年编程教育经验,它结合它的经验,以通俗易懂的表达方式,详细讲解了初学者难以理解和容易误解的知识点。读者可以像听作者讲课一样,感受 C++ 的独特魅力!

对于一些难懂的概念和语法,本书还给出了 245 幅图表,帮助大家理解。

书中作为例题展示的代码清单多达 307 个。程序数量多,就好比学语言的教材中有大量的例句和会话。大家可以通过接触大量的程序来熟悉 C++ 编程。

作为一本 C++ 入门书,本书详细介绍了 C++ 和 C++ 编程的相关知识,各章的结构思维导图如下:

书中内页展示如下:

同系列书籍推荐

作者:[日]柴田望洋 译者:管杰,罗勇,杜晓静

豆瓣评分 9.1,原版畅销 28 万册

★ 被誉为“C 语言圣经”,比课本更易懂的 C 语言入门书

★ 205 段代码+ 220 幅图表

★ 荣获日本工学教育协会著作奖

作者:[日]柴田望洋 译者:丁灵

豆瓣评分 9.3,原版系列累计畅销超 100 万册

★ C 语言进阶不二之选

★ 111 段代码+ 152 幅图表

★ 荣获日本工学教育协会著作奖

C语言不会?那是你没选对。信息学奥赛指定教材考试推荐书建议

亚男网课成立初衷就是希望帮助更多人学习少儿编程,影响更多家庭学习编程,这才是一件有意义的事情。

我相信有很多家长想让孩子学习c语言但是不知道怎么购买,市面上各式各样的编程书一大半,但适合青少年的书呢寥寥无几,全网也很少人会告诉你(毕竟靠信息学奥赛报班收费很高)这篇文章希望对你有帮助。

看书学习是最高效的学习方法,上培训班的孩子更具备更多的编程书籍这样子才能让孩子成长。

↑↑↑↑↑↑↑↑

这三本书是针对信息学奥赛官方指定教材,购买这三本书的家长也不必担心孩子学不会,已经区分好入门、基础、提高分为三部分,有效帮助孩子学习c语言,如果想让孩子往信息学奥赛学习,少不上了这三本书,强烈推荐。(学会省下好几w)

↑↑↑↑↑↑↑↑

这本书是由清华大学出版社对小朋友非常的友好,里面有100个趣味编程案例,从而培养孩子的兴趣和思维能力,在不同的案例中孩子会学会多种解决方法,有利于帮助孩子成长,如参加考级也推荐本套书籍,还配送光碟。

↑↑↑↑↑↑↑↑

这本书分为上册和下册,从名字就能看得出针对的年龄段,很好帮助孩子入门c语言,通过举例的方法让小朋友理解,是一件非常不容易的事情,这本书完全做到了这一点。如果想参加C语言考级也可以提供这本书进行学习。

注:温馨提示 请勿低价购买

以免买到盗版内容

推荐不易,希望得到大家的认可,点击下方四个按钮支持下亚男网课吧

让编程传递给更多有需要的人。

关注亚男网课公众号了解更多编程知识

点击下方跳转

↓↓↓↓↓↓↓↓↓↓↓↓

C语言入门书籍推荐

05年上大一的时候开始学C语言,当时用的教材是谭浩强版的《C语言程序设计》,[狗头],这本书真是应试教育的典范,填鸭式的内容,夹杂着各种错误,本该重点描述的地方浅尝辄止,各种吐槽点……

工作这么多年,到目前为止读了不少C相关的书籍。在走了很多弯路以后,个人认为一个正确的C语言的学习的路径应该为,

  • 在学习编程语言之前,建议先了解什么是计算机,可以观看《Crash Course Computer Science》;
  • 安装一个linux系统,现在已经越来越方便了,比如,可以在win11上安装wsl2和ubuntu,学习一些linux的基础命令;
  • 了解操作系统的基本原理,什么是进程、线程,编译、链接的基本原理,应用程序是如何运行的;
  • 学习gcc,gdb的基本使用命令(初期最好不要使用集成开发环境,例如visual studio,clion等强大的IDE去编写程序,建议直接命令行),结合预编译、编译、汇编、链接等指令去更深入的了解程序运行的原理,利用gdb去调试代码;
  • 学习一门基础语言,如果是第一门编程语言,那肯定是C,它应用广泛,操作系统(系统编程)、驱动、编译器开发、网络编程(socket)、音视频、游戏、GUI(部分组件)、嵌入式等等都是它的擅长领域,在编程语言中一直排名前3。它足够经典及精炼,执行效率高,占用内存少,可以“直接”和计算机硬件打交道,能更深一步的了解计算机的软硬件运行原理;
  • 学习cmake的基础语法及命令,因为目前大部分的开源C/C++代码都支持cmake编译;
  • 在掌握了一门基础语言后,学习对应的数据结构、算法、设计模式等。在这个阶段多去读一些开源的优秀源码,从小项目到大项目,学以致用,去学习优秀的大牛们是如何设计软件,如何利用简单的c语言去编写出优雅的代码;
  • 最后,在自己感兴趣的特定领域,例如网络编程,去学习一些已有的广泛使用的第三方库的使用。然后,去写一些现实中实际可以用的程序;

下面是我认为比较好的一些C语言书籍的推荐:

该书由计算机科学家Brian Kernighan和C语言之父Dennis Ritchie合著,是第一部介绍C语言编程方法的书籍。它因作者名字的缩写被简称为K&R;或是因封面颜色,也被称为白皮书。在C语言的发展和普及过程中起到了非常重要的作用,被视为是C语言的业界标准规范,而且至今仍然广泛使用。它被公认为计算机技术著作的典范,以清晰简洁的文字讲述而著称。书中用\”hello world\”为实例开始讲解程序设计,成为程序设计语言图书的传统。

相比于K&R,这本书更贴近于实际的应用,也更“现代”,适合进阶使用,所讲述的知识点都是干货,几乎没有废话。本书主要目的就是通过一种“现代方法”来介绍C语言,书中强调标准C,强调软件工程。第2版修订版中不仅有C99中的新特性,还与时俱进地增加了C11和C18中的内容。本书分为C语言的基础特性、C语言的高级特性、C语言标准库和参考资料4个部分。每章末尾的“问与答”部分给出一系列与该章内容相关的问题及答案,带着读者去思考,作者的水平真的是很高。

当你有一定的编程基础后,建议开始读《深入理解计算机系统》这本书,多读几遍,这本书“很硬”,每次读完的感受应该都不同。本书从程序员的视角详细阐述计算机系统的本质概念,并展示这些概念如何实实在在地影响应用程序的正确性、性能和实用性。全书共12章,主要内容包括信息的表示和处理、程序的机器级表示、处理器体系结构、优化程序性能、存储器层次结构、链接、异常控制流、虚拟存储器、系统级I/O、网络编程、并发编程等。书中提供大量的例子和练习,并给出部分答案,有助于读者加深对正文所述概念和知识的理解。

本书的最大优点是为程序员描述计算机系统的实现细节,帮助其在大脑中构造一个层次型的计算机系统,从最底层的数据在内存中的表示到流水线指令的构成,到虚拟存储器,到编译系统,到动态加载库,到最后的用户态应用。通过掌握程序是如何映射到系统上,以及程序是如何执行的,读者能够更好地理解程序的行为为什么是这样的,以及效率低下是如何造成的。

如下是kitware官网的介绍,cmake现在确实已经成为了c/c++软件系统的常用构建工具,

CMake: A Powerful Software Build System CMake is the de-facto standard for building C++ code, with over 2 million downloads a month. It’s a powerful, comprehensive solution for managing the software build process. Get everything you need to successfully leverage CMake by visiting our resources section.

cmake经过多年的发展,已经变得非常复杂。如果光读官网的文档,应该很少有人能读的下去。目前关于cmake的书籍很少,下面这本书是新出的,对cmake的方方面面都做了介绍,非常适合cmake的新人,如果你想深入了解cmake的构建系统,建议阅读本书,github有本书的翻译版本,地址为https://github.com/xiaoweiChen/Modern-CMake-for-Cpp,但是还是建议大家读英文原版。

当掌握了C语言本身后,如果你是从事linux/unix相关领域软件的开发,我建议你一定要读下面的两本书(应该是3本,因为第一本是上下两册),虽然都很厚,但是如果认真读完,融会贯通,收获会非常大。建议先读第一本《Linux/UNIX系统编程手册》,如果有精力可以再精读《UNIX环境高级编程》,两本书可以互补。

本书是介绍linux与unix编程接口的权威著作,主要讲解了高效读写文件,对信号、时钟和定时器的运用,创建进程、执行程序,编写安全的应用程序,运用posix线程技术编写多线程程序,创建和使用共享库,运用管道、消息队列、共享内存和信号量技术来进行进程间通信,以及运用套接字api编写网络应用等内容。 在汇聚大批 linux专有特性(epoll、inotify、/proc)的同时,还特意强化了对unix标准(posix、sus)的论述,彻底达到了“鱼与熊掌,二者得兼”的效果,这也堪称本书的最大亮点。

很多人都知道APUE这本书,在本书第1版出版后的十几年中,UNIX行业已经有了巨大的变化,特别是影响UNIX编程接口的有关标准变化很大。本书在保持了前一版风格的基础上,根据最新的标准对内容进行了修订和增补,反映了最新的技术发展。书中除了介绍UNIX文件和目录、标准I/O库、系统数据文件和信息、进程环境、进程控制、进程关系、信号、线程、线程控制、守护进程、各种I/O、进程间通信、网络IPC、伪终端等方面的内容,还在此基础上介绍了多个应用示例,包括如何创建数据库函数库以及如何与网络打印机通信等。

如果是从事网络编程的相关领域,建议先读《TCP/IP详解 卷1:协议》,

本书是一本完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不同操作系统中运行。作者W.Richard Stevens是大牛,书中对各层协议进行了详解,同时结合tcpdump的抓包结果对协议进行了深入的分析。

本书主要结合TCP/IP协议介绍unix socket 相关api,本书第1、2版由Richard Stevens编写,第3版,由世界著名网络专家Bill Fenner和Andrew M. Rudoff执笔,根据近几年网络技术的发展,对上一版进行全面修订,增添了IPv6的更新过的信息、SCTP协议和密钥管理套接口的内容,删除了X/Open传输接口的内容。

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。