C 语言是面向过程的, 而 C++是面向对象的
C 和 C++ 的区别:
C 是一个结构化语言, 它的重点在于算法和数据结构 C 程序的设计首要考虑的是如何通过一个过程, 对输入 (或环境条件) 进行运算处理得到输出 (或实现过程(事务) 控制)
C++, 首要考虑的是如何构造一个对象模型, 让这个模型能够契合与之对应的问题域, 这样就可以通过获取对象的状态信息得到输出或实现过程 (事务) 控制 所以 C 与 C++ 的最大区别在于它们的用于解决问题的思想方法不一样之所以说 C++ 比 C 更先进, 是因为 设计这个概念已经被融入到 C++ 之中
C 与 C++ 的最大区别: 在于它们的用于解决问题的思想方法不一样之所以说 C++ 比 C 更先进, 是因为 设计这个概念已经被融入到 C++ 之中 , 而就语言本身而言, 在 C 中更多的是算法的概念那么是不是 C 就不重要了, 错! 算法是程序设计的基础, 好的设计如果没有好的算法, 一样不行而且, C 加上好的设计也能写出非常好的东西
谈及 C 语言, 我想 C 语言功能强大都应该知道应用广泛, 一旦掌握了后, 你就可以理直气壮地对他人说我是电脑高手!, 而且以后若是再自学其他语言就显得轻而易举了忧虑的是, C 语言般博大精深, 太难学了其实就笔者认为 C 语言并非是 difficult(困难)的, 只要你能理清思路, 掌握它的精髓, 配合一套教材那么学 C 语言是一件非常容易且又其乐无穷的事今天本人就与大家一起谈谈如何学习 C 语言或者说学习 C 语言应从哪几方面着手
如果你也是在学习 C 语言 / C++, 小编推荐一个学 C 语言 / C++ 的学习裙 二六三, 六八八, 二七六 , 无论你是大牛还是小白, 是想转行还是想入行都可以来了解一起进步一起学习! 裙内有开发工具, 很多干货和技术资料分享!
了解一些基本知识
一.C 语言的背景
就个人感触, 无论学习哪门语言首先应该了解一下自己所学语言的背景, 也可以说它的发展史
C 语言属于高级程序语言的一种, 它的前身是 ALGOL 其创始人是布朗. W. 卡尼汉和丹尼斯. M. 利奇 C 语言问世时是带有很大的局限性, 因为它只能用于 UNIX 系统上然而随着科学技术的进步, 计算机工业的发展, C 语言逐渐脱离 UNIX1987 年美国标准化协会制定了 C 语言的国际标准, 简称 ANSI C, 从此以后它便成为一种广泛使用的程序语言 C 语言的优点很多, 主要的有如下四点:
1.兼备高级语言与低级语言的优点, 属于一种中间语言
2.它是一种结构化程序设计语言, 非常适合结构化程序设计
3.有较丰富的数据类型运算符以及函数供以选用
4.直接与内存打交道, 使修改编辑其他程序与文档变得轻松, 简单
二.二大语系二种不同的学习方法
笔者学习过很多程序语言, 例如: C,C++(C 语言的扩展),QBASIC,VB(BASIC 的可视化),javascript,JSCRIPT ,VBSCRIPT,JAVA,ASP,FOXPRO,PERL 等等, 就本人实践所得, 其实高级程序语言分为两大语系一路是以 C 为主的程序语言, 例如: javascript,JAVA 等, 这类语言在函数的调用, 程序语句的书写, 循环的控制都极为相似另一路是以 BASIC 为首的程序语言, 例如: FOXPRO,VBSCRIPT 等, 此类语言同样具有相似的函数调用, 程序语句书写以及循环控制, 但与 C 语系是不同的因此若是您以前是从 QBASIC 起家的, 那么在学习 C 语言前最好是先洗洗脑, 千万不要把学习 BASIC 的方法以及思路用在 C 身上
讲到这里, 我想大家对 C 语言一定有了感性认识吧! 下面让我们再升华一下, 全方位亲密接触它学习 C 语言必须从以下四点入手, 也就是说, 只要你能掌握这四点的内容, 那么基本上就大功告成了
如果你也是在学习 C 语言 / C++, 小编推荐一个学 C 语言 / C++ 的学习裙 二六三, 六八八, 二七六 , 无论你是大牛还是小白, 是想转行还是想入行都可以来了解一起进步一起学习! 裙内有开发工具, 很多干货和技术资料分享!
1入门后多看代码
在有一定基础以后一定要多看别人的代码 注意代码中的算法和数据结构 毕竟学 C 之后的关口就是算法和数据结构提到数据结构, 指针是其中重要的一环, 绝大多数的数据结构是建立在指针之上的, 如链表队列树图等等, 所以只有学好指针才能真正学好 C 别的方面也要关注一下, 诸如变量的命名库函数的用法等等有些库函数是经常用到的对于这些函数的用法就要牢牢记住
2要自己动手
编程序是个实干的活, 光说不练不行刚开始学的时候可以多练习书上的习题 对于自己不明白的地方, 自己编个小程序实验一下是最好的方法, 能给自己留下深刻的印象 自己动手的过程中要不断纠正自己不好的编程习惯和认识错误有一定的基础以后可以尝试编一点小游戏, 照着编作为练习基础很扎实的时候, 可以编一些关于数据结构方面的东西之后..... 学汇编硬件知识
3选择一个好的编译器
GCC 或者 VS 都是一个号的选择
4关于养成良好的编程习惯
(1) 在比较复杂的代码后面要有注释 如果光溜溜一堆代码, 别人就不可能看懂你的代码, 而且也不利于查找错误除非你一直编东西给自己看能在代码里说明白的就一定要在代码里体现比如变量名函数名, 在命名的时候尽量说明是干什么用的
(2)注意语句的嵌套不能过长, 一般来说, 一段代码里 Tab 要少于 8 个 简单说就是语句最多 8 个嵌套 对于新手来说, 这个标准还要下降有一个好习惯是, 把主函数尽量写简短经常看到别人的代码是主函数只有几行, 几个函数调用, 而定义全在主函数外部这样一是减少了主函数内部的嵌套, 二是比较精简, 容易读懂
(3)注意语句的选择并不是分支语句就用 if 循环就用 whilefor 在适当的情况下 switch 和 do while 语句也是要用的在某些时候, switch 语句比 if 语句更加精练明了, 而 do while 比 while 少一个循环
很多人对学习 C 语言感到无从下手, 经常问我同一个问题: 究竟怎样学习 C 语言? 我是一个教师, 已经开发了很多年的程序, 和很多刚刚起步的人一样, 学习的第一个计算机语言就是 C 语言经过这些年的开发, 我深深的体会到 C 语言对于一个程序设计人员多么的重要, 如果不懂 C 语言, 你想写底层程序这几乎听起来很可笑, 不懂 C 语言, 你想写出优秀高效的程序, 这简直就是天方夜谭为什么 C 语言如此重要呢?
第一: C 语言语法结构很简洁精妙, 写出的程序也很高效, 很便于描述算法, 大多数的程序员愿意使用 C 语言去描述算法本身, 所以, 如果你想在程序设计方面有所建树, 就必须去学它
第二: C 语言能够让你深入系统底层, 你知道的操作系统, 哪一个不是 C 语言写的? 所有的 windows,Unix,Linux,Mac,os/2, 没有一个里外的, 如果你不懂 C 语言, 怎么可能深入到这些操作系统当中去呢? 更不要说你去写它们的内核程序了
第三: 很多新型的语言都是衍生自 C 语言, C++,Java,C#,J#,perl... 哪个不是呢? 掌握了 C 语言, 可以说你就掌握了很多门语言, 经过简单的学习, 你就可以用这些新型的语言去开发了, 这个再一次验证了 C 语言是程序设计的重要基础还有啊, 多说一点: 即使现在招聘程序员, 很多考试都是考 C 语言, 你想加入 it 行业, 那么就一定要掌握好 C 语言
这些是 C/C++ 能做的
服务器开发工程师人工智能云计算工程师信息安全 (黑客反黑客) 大数据 数据平台嵌入式工程师流媒体服务器数据控解图像处理音频视频开发工程师游戏服务器分布式系统游戏辅助等
来源: http://www.jianshu.com/p/a81ceb6e5cc9