C 语言是面向过程的, 而 C++是面向对象的
C 和 C++ 的区别:
C 是一个结构化语言, 它的重点在于算法和数据结构 C 程序的设计首要考虑的是如何通过一个过程, 对输入 (或环境条件) 进行运算处理得到输出 (或实现过程(事务) 控制)
C++, 首要考虑的是如何构造一个对象模型, 让这个模型能够契合与之对应的问题域, 这样就可以通过获取对象的状态信息得到输出或实现过程 (事务) 控制 所以 C 与 C++ 的最大区别在于它们的用于解决问题的思想方法不一样之所以说 C++ 比 C 更先进, 是因为 设计这个概念已经被融入到 C++ 之中
C 与 C++ 的最大区别: 在于它们的用于解决问题的思想方法不一样之所以说 C++ 比 C 更先进, 是因为 设计这个概念已经被融入到 C++ 之中 , 而就语言本身而言, 在 C 中更多的是算法的概念那么是不是 C 就不重要了, 错! 算法是程序设计的基础, 好的设计如果没有好的算法, 一样不行而且, C 加上好的设计也能写出非常好的东西
接下来会陆续介绍各自编程语言和各个领域的学习建议, 本文先讲 C 语言
1C 语言适合当第一门编程语言学习
C 语言语法相对简单, 但又比较完整和严谨, 包含该有的各种元素学完 C 语言语法, 要学习其它编程语言就很容易了
C 语言接近底层, 可以了解内存和计算机的基本原理
许多基础课程比如算法与数据结构教材都是以 C 语言为例子的, 特别是中国版的书籍
如果你是大一刚开始学习编程, 建议选择 C 语言做入门
2C 语言学习的步骤
学习语法和基础算法 ---> 了解 C 语言应用领域 ---> 确定是否从事 C 语言相关工作 ---> 深入学习基础课程 ---> 学习领域相关的课程
3C 语言语法学习
书籍推荐:
推荐 C 程序设计语言和 习题解答
小编推荐一个学 C 语言 / C++ 的学习裙 二六三, 六八八, 二七六 , 无论你是大牛还是小白, 是想转行还是想入行都可以来了解一起进步一起学习! 裙内有开发工具, 很多干货和技术资料分享!
学习建议
视频结合书籍, 把书籍上的代码都一个个自己敲出来运行, 做到每段小程序都熟悉记忆
不要一直在那边背语法, 多写代码, 多演化代码, 验证语法
建议以 Linux 为学习环境, 掌握 Linux 下的相关工具, 比如 GCC
验证结果
C 程序设计语言: 习题解答里面的题目不用看书可以自己敲打实现出来就差不多了
可以用计算机等级考试二级 (C 语言) 的历年试题验证学习结果也可以自己报名考看看, 以 95 分做目标
进阶学习
可以先跳过这个, 看看是否从事 C 语言相关工作, 如果是的话, 再来看这个
语法进阶书籍推荐:
逻辑思维进阶
南开大学 C 语言 100 题, 自己实现代码并验证继续进阶, 可以刷 OJ
小编推荐一个学 C 语言 / C++ 的学习裙 二六三, 六八八, 二七六 , 无论你是大牛还是小白, 是想转行还是想入行都可以来了解一起进步一起学习! 裙内有开发工具, 很多干货和技术资料分享!
4C 语言应用领域
是不是有些同学学完 C 语法后都不知道做什么项目因为单纯学会 C 语法开发不了什么项目, 你需要掌握 C 语言应用领域, 然后学习周边相关知识
相对于 PHPJava,C 语言的开发效率较低, 没有框架甚至没有库数据结构要自己写, 对操作系统底层要很熟悉, 代码很容易出现内存相关的错误
C 语言主要用于驱动开发操作系统内核开发, 嵌入式 (单片机) 交换机路由器等网络设备的开发
如果你想要会用 C 语言开发项目, 就需要掌握相关领域知识
5 方向选择
学完语法和了解 C 语言应用领域后, 就要面临着选择三个方向: 选择从事 C 语言相关的工作; 选择继续学习 C++,C++ 主要应用领域游戏服务端开发图形图像 C/S 客户端界面开发中间件; 选择其它方向的学习, 比如 Java
6 深入学习基础课程
选择从事 C 语言相关的工作, 就需要深入学习基础课程因为从事 C 语言相关工作, 往往对性能有要求, 需要理解操作系统和计算机组成原理
以下课程在从事 C 语言相关工作是应该要掌握的:
算法与数据结构
计算机组织与体系结构
编译原理
操作系统原理
有能力的可以学习 Linux 内核结构
具体每个基础课程的学习就不展开了, 以后谈学习书籍建议, 可以参考清华北大计算机系相关课程指定的教程, 返回上一级, 搜索数字 0001 查看北京大学和清华大学 计算机专业本科完整课程表
7 学习领域相关的课程
这个就比较广泛, 根据希望从事的领域有选择性学习比如, 你想从事嵌入式开发, 那你就要学习 嵌入式操作系统等
小编推荐一个学 C 语言 / C++ 的学习裙 二六三, 六八八, 二七六 , 无论你是大牛还是小白, 是想转行还是想入行都可以来了解一起进步一起学习! 裙内有开发工具, 很多干货和技术资料分享!
8 项目实践
学完理论, 找项目尝试练习
哪里找项目呢?
找培训教程, 别人培训班的实践题目或者看网上培训教程的实践题目
找高年级或老师帮忙布置实践题目
通过 GoogleGitHub 等程序猿社区, 去找找实践题目
找到题目后, 看看自己一个人或者组织几个人能不能搞定如果搞不定, 再根据所缺的知识去补充知识
来源: http://www.jianshu.com/p/f11654d82cbc