• 大四自学学习c语言和c++,以后能干什么?有一些方向性的问题,希望前辈们指导一下!谢谢了。

    2016/08/31 evil丶 45 评论  , 

前辈们好,我是一名大学生,开学大四,学校只是一个特普通的本二。

自小喜欢计算机,刚开始小学接触电脑是因为游戏,后来对游戏的兴趣没有了,就开始对一些计算机的技术感兴趣。在大学被录取的时候,被调剂到了物理学专业,本来打算上了大学在转专业的,没想到却不能转。可我对物理真的一点兴趣都没有,混了一年多,然后就想自学计算机方面的东西。

后来我就自己查计算机方面的资料,越查越迷茫,因为计算机的东西真的太多了,就编程语言就一大堆。因为没有人指导,身边也没有学习这个的人,所以我不知道要学什么,学了能干什么。

后来我决定先自学一两个编程语言,经过仔细斟酌,我买了一本C primer puls 和一本c++ primer puls,就开始自学C语言和c++。现在掌握了一些c语言的基础,打算在掌握掌握,在开始学习c++。但是我自己学,始终不知道自己的方向在哪里,也不知道自己的程度到底怎么样了?

所以想请前辈们指导一下,学习c语言和c++,以后能干什么? 学习到什么程度才能找到工作? 还有,我有必要跨专业考计算机专业的研究生吗?学历对于程序猿来说重要吗?

请前辈们赐教,不胜感激!

3 3 收藏


直接登录
最新评论
  • sheldon shen Java开发 2016/08/31

    学习c语言和c++,以后能干什么? 学习到什么程度才能找到工作? ”,对于这个问题,到招聘网站去查询下岗位,就能解答你的困惑,传智播客举办过一期c/c++培训班,讲师是尹成,网上有他们的培训视频下载,非常全面,考研,学历这个不加评论,

    • evil丶 新手 2016/08/31

      谢谢您,前辈。我如果把C在熟悉熟悉,然后接着学习JAVA,是不是找工作容易一点呢?

      • sheldon shen Java开发 2016/09/01

        ‘我如果把C在熟悉熟悉,然后接着学习JAVA,是不是找工作容易一点呢’,这个问题你到招聘网站对比两者的招聘岗位数就知道了。

      • 七十二寨寨主   2016/09/06

        没整明白怎么私信  你要是能看到  微博上私信我 七十二寨寨主   在C/CPP的路上能带带你

  • prudens 软件开发 2016/08/31

    你可以尝试利用<stdio.h>文件里列出的api, 实现文件管理系统,类似everything软件,比如我输入一个关键词你可以给我返回匹配的文件,以及文件位置等信息。然后持续优化,不断跟everything比较性能,看看最后能否接近甚至超越,那么你就牛逼了,国内一线IT企业随便你挑吧。

    • evil丶 新手 2016/08/31

      谢谢您,前辈。我学习C语言还比较浅薄,您说的这个管理系统是不是很难做?

    • PunCha 程序员 2016/09/05

      everything不是文件管理软件。
      everything绝对不是利用stdio.h的API能做出来的
      国内一线IT企业你开的?做出一个everything就能随你挑?

      • prudens 软件开发 2016/09/05

        你说的是,everything算是一个文件搜索工具。实现的话要用到操作系统相关的API,这点是我想当然了。应届生能把性能做到跟everything接近我认为是达到进入一线IT的门槛的,当然这话是主观臆测的。感谢你的批评指正。

  • Dawn ship java+.net+web 2016/08/31

    会C和C++如果能自编一些小东西的话,可以找个编程公司进去当实习生,比如游戏开发、、然后,在慢慢看,如果想转别的,以后随时都可以转,只要有了编程思想,语言都是没有什么区别的。

     

    • evil丶 新手 2016/08/31

      谢谢您,因为我是非计算机专业的,而且也不是重点大学,进编程公司做实习生,有人会要吗?还有我想问一下,我学了一些C知识之后总是不知道去哪里可以练习实践一下?在哪里可以做一些小东西?

      • Dawn ship java+.net+web 2016/08/31

        一般来说进一个公司实习并不是很难的,因为实习别人看并不会看看中你会多少东西,而是你肯学多少东西,毕竟用一个实习生的成本根本不算什么,只要你愿意学习,以后给公司带来的利益可想而知。

        其实你可以用C写伸展树,红黑树,avl树, B-,B+树。
        写个小游戏 例如扫雷,贪吃蛇了。。。么?然后再去面试。。祝你一路顺风

  • Umbrella123 技术支持 2016/08/31

    计算机和编程语言只是你手中的工具,在学习它们之前你得首先想清楚一些问题,这些问题的答案对你来说非常重要,比如:你最想做什么?你最喜欢做什么?你想成为什么样的人?如果这三个问题你都有答案了,那我相信你也应该知道自己要学些什么了

    • evil丶 新手 2016/08/31

      您好,前辈,这三个问题,我也已经想了很久了,也可以毫不犹豫的说,我想成为一名程序员,我最喜欢做的就是守在计算机前面。至于我想成为什么样的人,不好回答。不过,我只想做技术。        需要学些什么,我也查询过很久了,大概了解了。但是我因为是自学,所以不知道我能找什么工作? 容易找吗 ? 我应该先从哪些知识开始,然后才能比较容易去一家公司实习,到一个我能接触到程序员的地方,真正学习一些东西。

      • Umbrella123 技术支持 2016/08/31

        和IT有关的职业分二大类:硬件和软件;看自己喜欢搞硬件还是软件;如果是搞软件,那看自己是喜欢哪方面:游戏开发,网站开发,数据分析,桌面程序,服务端程序,网络安全,视音频处理;选定自己感兴趣的方向后,再看这个方向要用到哪些技术,再根据这些技术去选择自己所要学习的编程语言,这样可以让你少走很多弯路

        • evil丶 新手 2016/08/31

          谢谢您,我喜欢搞软件,我现在迷茫的就是方向问题,因为我不太了解这些方面具体都是干什么,游戏和网站我知道,桌面程序我也知道,数据分析和服务端程序是做什么??  大体上就这些分类是吗?  在查询资料的时候总是看见一些什么前端,后端,移动开发,数据处理的术语, 前端就是网站吗?后端具体是什么呢?

          不好意思啊,问题有点多。麻烦您了!

          • Umbrella123 技术支持 2016/08/31

            C , C++ ,Java,Python,PHP,JavaScript, Object-c, Swift ,把这几门编程语言好好在网上搜一下,看一下它们的介绍以及它们主要的使用场景和擅长的工作领域 ,这些语言应该是现在最主流和常见的了,只要你以后从事IT类的工作,基本上都会和这几门语言打交道;你现在感到迷茫,可能主要还是不知道自己将来可能会从事哪个方向,大多数人其实也是工作几年后才确定自己的方向的,你现在一时找不到方向也不用苦脑,我简单推荐一下: Java和Python任选其一作为你现在的主要学习编程语言,JavaScript和Swift任选其一作为你现在的辅助学习语言,C尽量去熟练;其它语言以后参加工作了,再去接触和学习

            • evil丶 新手 2016/08/31

              谢谢您的指点,感激不尽!

              • o((x-a)^n) 创业中 2016/09/05

                只简单的说下,前端负责和用户交互、展示,后端负责数据逻辑处理

                移动开发上的前端就分为

                1、安卓,使用java,常见运行环境:安卓手机、平板

                2、苹果,使用Object-c, Swift,常见运行环境:苹果手机、平板

                3、网页前端,使用Html/CSS/JS,常见运行环境:各种浏览器

                后端语言很多,只给你说下常用的:java、php、C/C++、C#以及各种脚本语言,每种语言有他的优势,要看具体使用环境,这个你就可以看看招聘网站上的一些职位说明就好了。sql做后台必须学,什么会员呀、充值呀、商品列表呀、游戏人物属性呀等等等,都要用到数据库,刚开始学就用mysql数据库吧

                学了语言还不算完,还需要学一些常用框架,最起码要会一种吧,前后端都会有些成熟的框架,这些框架主要是给你项目加速的,它里面很多的方法和文件结构都可以给你减少开发时间,比方说一些操作数据库的方法,最起码有增删改查。简单的那说这些框架就是让你不再从头开始造轮子

                要是想学游戏开发,就先选择一个平台(安卓?苹果?网页?桌面?),再学一个相应的游戏引擎,当然这里所说的也是属于前端,游戏中的一些联网数据信息交互还是得靠后端去完成。

                • evil丶 新手 2016/09/05

                  谢谢您,前辈,您说的很详细, 谢谢您的指点,我明白了,我大概已经确定我的学习方向了,我会努力的。

  • xxyh java猿 2016/08/31

    你说学了C/C++,估计你说的是一些语法吧,建议多研究数据结构和算法,这是内功。

    考研就要考好学校,而且要计算机牛的学校,基于这个前提,本科生和研究生起点不一样,差别还是很大的。

    • evil丶 新手 2016/08/31

      谢谢您,我没敢说学了,我还正在学,都是自己看书,然后做做书本上的题目。 数据结构和算法是在我学习C语言的同时,一起学习?还是等我熟练熟练在学习呢?

  • 数据结构,算法导论。然后把UNIX系统编程,TCP/IP协议三卷本,UNIX网络编程学了,就具备做点实际东西的理论基础,当基础打好后,可以学习Golang,未来后端将是完全虚拟化、分布式、自动化运维的时代,容器技术高速发展,碰巧这么多的容器技术都是基于该语言开发的,具备了理论基础和实际工具,就可以在一些平台上展露手脚了。

    • evil丶 新手 2016/09/01

      谢谢您,   虽然您说的这些我现在还不太懂,不过我会去学的。谢谢您的指点! 数据结构和算法导论在什么时候学好呢,?是有一定的语言基础之后还是同时学习呢?

  • 奇迹 码农 2016/09/03

    C语言主要用在底层,像是驱动层或者操作系统层。。。C++主要用在框架上,目前较多的是游戏方面。。。可以考虑下游戏公司啊,比方说腾讯、网易之类的

  • 我是巧先生 研发工程师 2016/09/03

    去招聘网站看看一些职位的要求,然后尝试去问下相关人员,最好能去实习。

    按照要求去学习,然后慢慢就入门,最关键的一点,要学会自学的能力,学会使用搜索引擎。quora,知乎这类经验分享太多了, 看看就行,至于能不能做到,看自己的毅力。

  • realJason   2016/09/05

    直接学python啦

  • 龙雀 野生程序员 2016/09/05

    c++又不是不能写东西。

    像什么space war、黑白棋、坦克大战、计算器、k-v数据库、爬虫都是我大一到大二写过的东西。。

  • 爱可乐爱可乐 程序员 2016/09/05

    非科班确实是一大问题,首先那些动不动就抛出几本厚厚的书的,我觉得根本不适合非科班,学计算机的你怎么不去学医学?医学难?除非你是万中无一的绝世高手,我的建议是找到一个兴趣点,比如你喜欢写pc端程序,就买本windows编程的书直接跟着做,差不多就做一个能用的程序(视频那些效率很低),比如一个游戏、软件啊。

    开始你可能迷信某门技术、或者某门语言,这不是坏事,要学深一些,最好不要出现那种“没学过,不想搞这方面的”,你要实现后台功能就得学php之类的,移动端就得学安卓iOS,前台js得学,数据库sql server、oracle哪个都可以,项目用到就学,不要担心时间成本,做出能用的东西才是最重要的。但是如果你想成为c++界的大神,那我这套不适合

  • ylguo 嵌入式linux、python 2016/09/05

    c语言作为一个非常底层的语言,还是很建议好好学1学的,万变不离其宗,c语言就好比这个宗,c语言相比其它高级语言,更接近某个技术的实现原理,因此学好了c语言再学其它语言(基本大多数语言都是类c语言)都会轻松很多。

    如果说c语言能做什么的话,那就多了;刚才提到了c语言是个很底层的语言,它可以直接跟跟硬件打交道,可以充分发挥硬件性能,因此距离硬件越近,c语言越能发挥其作用和优势。比如游戏行业对c/c++语言会有需求,因为很多地方需要优化,这个时候c语言(甚至汇编)就派上用场了,游戏行业了解不多,不过多评论到此为止。

    之外,像是一些电子产品的研发,基本都是使用c语言完成的,像操作系统的内核、驱动基本都是使用c语言编写。近几年智能家居行业比较热门,这个领域使用的编程语言基本上也是c语言,比如语音识别、图像识别还有什么指纹识别等等等等。

    当然,如果感觉有难度,可以先学习其它高级语言,比如python,语法极简,入门容易,推荐。不说了。。

  • dawter 程序 2016/09/19

    好多计算机大牛原本都是搞物理的

  • 可以学JS..可以做网页..做服务..做APP..做跨平台应用..

  • 波☆罗 互联网技术 2016/09/25

    兄弟,记住一句话,找工作先找行业,再说公司,最后才是技能。

  • ice_shou 客户端程序员 2016/09/25

    如果学Java的话,就直接学咯   不敢你时间会不够了

  • ▰˘◡˘▰_mz 全干工程师 2016/09/25

    我也是才工作一年的猿,因为是在一个小公司,所以看我标签全干工程师不是全栈工程师,目前所用到有js、php、c++从前端到后端到终端我都有涉及,我来说说我的想法吧。

    我的情况和你差不多,我从大三开始自学C++的,目前在一家公司做Qt的开发,说实话,我在上班之前都不知道C++有个Qt的GUI界面库。

    数据结构和基本算法(重中之重!!!!!)这些虽然实际中可能用不到,但是面试要用到(面试官不知道你会什么,所以只能考大家都知道的东西 ps: 我也面试过别人,不知道怎么面试也是上网学的),要能知其然还要知其所以然(推荐《算法导论》)。
    既然学的是C++,可以从C++11入手,虚表、虚函数、继承等在内存中的布局要了解(推荐《深度探索C++对象模型》)。
    常用的STL库中的如queue, vector, 这些能自己动手做个出来。(如C++11中有个shared_ptr要知道它是怎么一回事,自己能写一个基本的出来)。
    C语言基础要打好,现在的语言可分为c-like语言和非c-like语言(这不是废话)学好了C你基本上可以从事C++、java、C#、javascript、python等等c-like语言的工作了。
    最后一点,是我自己总结的不知道对不对,编程思维很重要!拿到一个问题,怎么去把它抽象化,应该用什么样的数据结构,什么样的算法,什么样的逻辑,这个很难,搞的好你可以成为架构师,不会搞你就只是个码农。(既然选择了C++那都是要压榨计算机性能的,我见过的写android的都是把能运行就行,我们可不行)
    不要相信跳下悬崖就能练成九阳神功这种逆天功夫,还是从扎马步开始!

  • 我觉得还是java好点,好就业,c++可以做游戏,