如何0基础学习C/C++?

       谈及C/C++,功能强大、应用普遍,一旦掌握了后,如果再自学其余语言就显得垂手可得了。那为何学C/C++的人少呢?不少人认为C/C++虽然博大精深,但也难学。其实就本人认为C/C++并不是是“difficult(困难)”的,只要你能理清思路,掌握它的精髓,配合一套教材。那么学C/C++是一件很是容易且又其乐无穷的事。今天本人就与你们一块儿谈谈如何学习C/C++或者说学习C/C++应从哪几方面着手。linux

 

先来讲说C语言。程序员

 

1、入门后多看代码算法

在有必定基础之后必定要多看别人的代码。注意代码中的算法和数据结构。毕竟学C以后的关口就是算法和数据结构。提到数据结构,指针是其中重要的一环,绝大多数的数据结构是创建在指针之上的,如链表、队列、树、图等等,因此只有学好指针才能真正学好C。别的方面也要关注一下,诸如变量的命名、库函数的用法等等。有些库函数是常常用到的。对于这些函数的用法就要紧紧记住。shell

 

2、要本身动手编程

编程序是个实干的活,光说不练不行。刚开始学的时候能够多练习书上的习题。对于本身不明白的地方,本身编个小程序实验一下是最好的方法,能给本身留下深入的印象。本身动手的过程当中要不断纠正本身很差的编程习惯和认识错误。有必定的基础之后能够尝试编一点小游戏,照着编做为练习。基础很扎实的时候,能够编一些关于数据结构方面的东西。以后.....学汇编、硬件知识。小程序

 

3、选择一个好的编译器windows

GCC或者VS都是一个好的选择数组

 

4、关于养成良好的编程习惯数据结构

(1) 在比较复杂的代码后面要有注释若是光溜溜一堆代码,别人就不可能看懂你的代码,并且也不利于查找错误。除非你一直编东西给本身看。能在代码里说明白的就必定要在代码里体现。好比变量名、函数名,在命名的时候尽可能说明是干什么用的。框架

 

(2)注意语句的嵌套不能过长通常来讲,一段代码里Tab要少于8个。简单说就是语句最多8个嵌套。对于新手来讲,这个标准还要降低。有一个好习惯是,把主函数尽可能写简短。常常看到别人的代码是主函数只有几行,几个函数调用,而定义全在主函数外部。这样一是减小了主函数内部的嵌套,二是比较精简,容易读懂。

 

(3)注意语句的选择。并非分支语句就用if循环就用while、for。在适当的状况下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语言不少人都是刚刚接触 彻底都不知道这是什么,那么就要先装个编译器,IED,或者gcc等均可以,只要能用。

 

C语言知识流程:

学数据类型,-进制转换-运算符-循环语句-开关分支语句-函数-数组-字符串-指针-结构体-内存管理-文件操做-函数指针-指针函数-多维数组-高级指针-结构图嵌套-高级内存管理-链表-排序算法-二树叉-APi函数-linux命令-linuxAPi函数-shell脚本-socket通讯-等。

 

初学者看得会有点乱,到了学API函数 的时候也就是开发项目的时候了,可是有一点注意,由于部分知识无法在书上表达出来,因此目前书上知识是不完善的。

 

一门语言开发出项目来才算是真正的开始,也就是说,你开发出来项目,才有可能去接触工做,C语言的工做岗位相对来讲是比较少的。

 

 

 

再来讲说C++:

 

C++ 知识不少,主要部分就是框架,QT,MFC这两种框架目前用的是比较多的,也有人会直接学C++,可是学起来会比直接学C还难,而学过C在学C++是容易不少,主要学的就是框架方面的知识了,C语言的知识和C++的差很少,区别不大,因此学C++的时候主要学的就是框架了。

 

C++知识流程:

 

编译环境配置-名字空间-函数重载-哑元函数-内联函数-引用-类型转换-面向对象-类的使用-构造函数-析构函数-拷贝构造-拷贝赋值-this指针-常对象-常函数-动态内存分配-静态成员-运算符重载-继承-多重继承-函数重写-多态-虚函数-抽类象-虚析构-动态绑定-文件i/o-异常处理-标准异常-泛型编程-十大容器-算法-迭代器-QT编程-QT三维图形-API函数编程-MFC框架编程。

 

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

 

C和C++的区别:

 

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

 

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

 

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

 

上面知识学完就该到项目开发,只有开发出项目,你才能去工做,开发软件等。

 

以上就是一个学习的流程,从零基础有顺序的学习,才能走得快一点,而不是盲目。

相关文章
相关标签/搜索