C语言/C++编程入门新手学习方法和书籍推荐

综合编程 2018-02-17 阅读原文

C语言是面向过程的,而C++是面向对象的

C和C++的区别:

C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。

C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。

C与C++的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。

接下来会陆续介绍各自编程语言和各个领域的学习建议,本文先讲C语言。

1、C语言适合当第一门编程语言学习

①、C语言语法相对简单,但又比较完整和严谨,包含该有的各种元素。学完C语言语法,要学习其它编程语言就很容易了。

②、C语言接近底层,可以了解内存和计算机的基本原理。

③、许多基础课程比如算法与数据结构教材都是以C语言为例子的,特别是中国版的书籍。

如果你是大一刚开始学习编程,建议选择C语言做入门。

2、C语言学习的步骤

学习语法和基础算法 ---> 了解C语言应用领域 ---> 确定是否从事C语言相关工作 ---> 深入学习基础课程 ---> 学习领域相关的课程

3、C语言语法学习

①、书籍推荐:

推荐《C程序设计语言》和 习题解答

小编推荐一个学C语言/C++的学习裙【 二六三,六八八,二七六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

②、学习建议

视频结合书籍,把书籍上的代码都一个个自己敲出来运行,做到每段小程序都熟悉记忆。

不要一直在那边背语法,多写代码,多演化代码,验证语法。

建议以Linux为学习环境,掌握Linux下的相关工具,比如GCC

③、验证结果

《C程序设计语言:习题解答》里面的题目不用看书可以自己敲打实现出来就差不多了。

可以用计算机等级考试二级(C语言)的历年试题验证学习结果。也可以自己报名考看看,以95分做目标。

④、进阶学习

可以先跳过这个,看看是否从事C语言相关工作,如果是的话,再来看这个。

语法进阶书籍推荐:

逻辑思维进阶

南开大学C语言100题,自己实现代码并验证。继续进阶,可以刷OJ

小编推荐一个学C语言/C++的学习裙【 二六三,六八八,二七六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

4、C语言应用领域

是不是有些同学学完C语法后都不知道做什么项目。因为单纯学会C语法开发不了什么项目,你需要掌握C语言应用领域,然后学习周边相关知识。

相对于PHP、Java,C语言的开发效率较低,没有框架甚至没有库。数据结构要自己写,对操作系统底层要很熟悉,代码很容易出现内存相关的错误。

C语言主要用于驱动开发、操作系统、内核开发,嵌入式(单片机)、交换机、路由器等网络设备的开发。

如果你想要会用C语言开发项目,就需要掌握相关领域知识。

5、方向选择

学完语法和了解C语言应用领域后,就要面临着选择。三个方向: ①、选择从事C语言相关的工作; ②、选择继续学习C++,C++主要应用领域游戏服务端开发、图形图像、C/S客户端界面开发、中间件;③、选择其它方向的学习,比如Java

6、深入学习基础课程

选择从事C语言相关的工作,就需要深入学习基础课程。因为从事C语言相关工作,往往对性能有要求,需要理解操作系统和计算机组成原理。

以下课程在从事C语言相关工作是应该要掌握的:

《算法与数据结构》

《计算机组织与体系结构》

《编译原理》

《操作系统原理》

有能力的可以学习《Linux内核结构》

具体每个基础课程的学习就不展开了,以后谈。学习书籍建议,可以参考清华北大计算机系相关课程指定的教程,返回上一级,搜索数字 0001 查看北京大学和清华大学 计算机专业本科完整课程表。

7、学习领域相关的课程

这个就比较广泛,根据希望从事的领域有选择性学习。比如,你想从事嵌入式开发,那你就要学习 嵌入式操作系统等

小编推荐一个学C语言/C++的学习裙【 二六三,六八八,二七六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

8、项目实践

学完理论,找项目尝试练习。

哪里找项目呢?

①、找培训教程,别人培训班的实践题目或者看网上培训教程的实践题目

②、找高年级或老师帮忙布置实践题目

③、通过Google、GitHub等程序猿社区,去找找实践题目

找到题目后,看看自己一个人或者组织几个人能不能搞定。如果搞不定,再根据所缺的知识去补充知识。

请养成良好的阅读习惯,看完如果觉得喜欢的话请关注转发评论收藏一下 感谢!

简书

责编内容by:简书阅读原文】。感谢您的支持!

您可能感兴趣的

More Functional ViewModels In Xamarin.Forms With C... Xamarin.Forms is designed around MVVM, a two-way binding between a View and View...
Distributed processing: CTA equivalent o... I'm developing a mission-critical solution where data integrity is paramount and...
C++ Scripting: Part 30 – Overloaded Types and Deci... C# allows for overloading not just function names, but also type names. This is...
【剑指offer】04替换空格,C++实现 本文是原创文章,转载请注明出处! 0.前言 # 替换空格为字符串部分的题目,剑指offer中字符串系列的文章地址,剑指offer全系列文章地址 ...
C语言/C++程序员大神,打造纯C语言编程的电子时钟(加图形库+源码)... C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的...