本文目录一览:
- 1、C语言学精通了能干什么,只学了C语言的人,请高级程序员回答?
- 2、精通C语言和C++能找到哪方面工作
- 3、C语言有什么作用,能做什么,学到什么程度才算精通
- 4、如果精通C语言,能从事哪方面的工作?
C语言学精通了能干什么,只学了C语言的人,请高级程序员回答?
这个问题有点像,学习英文有什么用?回答是,英文没有任何用途,但是用英文写的书籍、资料确实相当的有用,甚至是不可缺少的。 同样,仅仅孤立的学习c,除了能通过考试,也没有任何用,但是问题就是目前大多数的公司的项目,以及开源项目,都是用c来描述的,他们很有用。
c无所不能,仅仅懂得语法却是一无是处。
如果你精通了windows下的api,那么你可以用c开发任何的windows应用程序,当然也可以不用c,用任何一门你喜欢的语言,只要你有相应的编译器。
如果你想开发其他os的应用程序,也只要学习相应os平台的api即可。
如果你想开发一个驱动程序,你应该学习你所对应操作系统的驱动框架以及硬件的知识,最后再用c来实现,最后的实现也许用的最多的就是赋值语句,例如向地址为0x7F000000地方写一个数0x1234,至于为什么是这个地址以及为什么要写这个数,你可能研究了一周的datasheet才得出结论。
如果你的强项是算法,假如你能把一张8G的dvd能压缩成8M并且画质还可被大众接受,那么你只需要把论文发表,论文上用数学的原理把这个事情解释清楚就可以了,到时候会有无数的小弟帮你编程实现。如果你没有达到这个高度,你想要看看其他人的算法,这个算法的实现虽然说和具体语言没有任何关系,可大部分的还是c描述的,所以学了c也不吃亏。
说多了,其实还有个问题想说,就是为什么要从c开始
如果说这个行业是一个江湖,那么各门语言好比兵器,既然使宝剑人的多,以及大多数的武林秘籍都是剑谱,那肯定有他的道理,不要为了耍酷就选一个狼牙棒或者九耳大环刀之类的东西,因为你上来就选这么一个东西,不好和人组队啊,就不利于你的提高,反而踏踏实实练剑的人到了一定界别,无论什么兵器,拿过来熟悉熟悉就能用,所以那些争论那种兵器好的人有两种,一种是刚学武功的人,会了一招半式跟着瞎起哄的,他用什么就说什么兵器好;一种就是拿狼牙棒的高手,这种人比较阴暗,他怎么练到这个地步的他不说,只说他的狼牙棒有多好。
精通C语言和C++能找到哪方面工作
C/C++语言应用是非常广泛的,那么学习C/C++能用来干什么呢?
1. 实验室开发
不敢说C++是世界上最好的语言,但C++基本是工科生中的大语言。
都说C++兼具面向过程以及面向对象的特性,既拥有比较优秀的运行速度,又有良好的大型项目开发能力,那简直可以制霸高校实验室了。
2. 后端开发
主流的后端开发语言就那么几种,以Java、C++领衔,Python和Go紧跟其后。
3. 游戏开发
掌握了C++基本语法之后,开发游戏也依然是一个不错的选择,目前工业级别的3D游戏引擎仍然是用C或C++编写的。
虽然以个人能力无法去完成一个庞大的网络游戏,但是从简单开始,编写一些小游戏,然后逐渐深入,循序渐进并最终加入大型游戏开发团队还是非常好的一个选择。与之相应的就业岗位主要有游戏开发工程师、游戏引擎架构工程师等。
4. 客户端开发
毕竟C++已经是一个很成熟的语言了,所以除了后端开发其实它还有很多其它的开发岗位可以选择。自然而然的,就是客户端开发了。
相信大多数学C++的同学都用过C++写桌面软件吧。那时候估计还是用MFC,照着代码书上敲一遍就能写一个比较简单的界面了。所以如果不想做后端,完全可以靠C++找一份客户端开发的工作。做客户端同样也需要扎实的编程基础和计算机理论基础,同时可能还要熟悉Windows/C++编译链接机制、QT客户端开发技术体系、Windows消息机制等技术。
所以,假如你学的是C++,同时也不在乎业内莫名其名的岗位歧视链的话,找一个客户端开发的工作也是非常不错的。只不过相较于后端开发,你可能需要重新审视客户端这个角色。
5. 多媒体开发
目前多媒体技术同样渗入到人们的日常生活中,音视频已经成为人们获取信息的一个非常重要的手段。音视频在传输过程中都是经过压缩并且按照一定规则打包过的。视频的编码技术从最开始的H.261到如今的H.265,经历了30多年的发展,而且实现代码全部是由C或C++实现。
最新的HEVC编码标准就是由C++代码实现,对此感兴趣的话在学完C++语法后,可以去ITU(国际电信联盟)官网去下载源码查看。与之相应的就业岗位有图像算法工程师、视频编码研发工程师、音视频转码工程师等。
6. 嵌入式开发
上面几种岗位选择都是偏软件方方向的,而C/C++还有一类非常大的就业方向,就是去做嵌入式。嵌入式本身可能是偏硬件一点,但是现在做个什么事,都是软硬不分家的。
嵌入式的开发同样也会涉及到网络编程、并发编程等方面。通俗点解释可能就是,嵌入式代码是运行在别的小系统上,而不是传统意义的计算机上。这个方向除了需要编程能力,还需要基本的电路理论素养。
一般招聘嵌入式开发岗的公司大多是以硬件产品为主的互联网+公司,比如小米、华为等。进去公司很多都是在做物联网相关的工作,毕竟这是热点。当然也会有其它的业务方向,例如芯片、机器人等。
7. 人工智能
人工智能、机器学习等方向也少不了C或C++语言的身影。
需要强调的是虽然C++语言可以从事的方向非常广泛,但是仅仅掌握C++语法是远远不够的,上述的应用领域C++语言是基础,进入这些领域还需要进一步深入系统学习相关领域的知识以及去接触真实企业项目的内容。
C语言有什么作用,能做什么,学到什么程度才算精通
C语言是比较底层的程序语言,主要是用来编写一些底层的软件(比如操作系统)。理论上当然C语言可以做任何事情,但是只是理论上而已。比如,要去一个地方,可以走路,可以坐车,可以坐飞机。有些地方坐飞机或者汽车是去不了的,但是只要是陆地,基本上没有走路到不了的吧。C语言就基本上处在走路的位置了。
C语言本身很简单,很容易可以精通。但是,语言只是个工具。一把小刀在我手里可能只能削苹果,在小李手里,那是威力巨大呀。计算机系统/算法/协议等等才是真正意义的武功,C语言只是把刀。
如果精通C语言,能从事哪方面的工作?
众所周知PHP或java等编程语言是比较容易学习,是快速上手的编程语言,特别是PHP,有些人一周时间就可以开发博客系,而C语言是目前所有编程语言中公认难度最大的,需要学习技术,掌握知识比较广泛,需要你不断在练习磨炼,所以不像外面培训机构说的几个月就可以出去找工作的。
C语言学到什么程度可以出去找工作?
第一,熟练C语言基础编程,学会使用linxu系统,常用用法,设计基本的api,C语言在开发项目中如果你连基础都没有掌握,你是没有办法继续开发项目或看懂别人的基础编程代码。
第二,指针,学习C语言的程序员都知道,指针是C语言中最常用也是最基本的,很多程序的BUG都是与指针熟练程度有直接关联,所以老手平时喜欢说新手如果这个你都搞不懂,你就应该再去看看C语言的基础。
第三,记得写文档,还要看懂别人的写的文档。很多开源项目都是可以直接再次开发,自己开发的地方要记得写文档,当然在看法之前先看别人的文档,要不然你没有办法下手。
第四,查看BUG,调试BUG。C语言每次运行程序都是要编译过程,在编程过程是没有办法直接修改BUG,所以要懂得调试BUG。
第五,简单算法,新手开发项目中很少涉及大量算法,一般都是简答的算法。
第六,项目实战。项目实战是考察你是否真的掌握C语言的基本开发技能。所以至少可以自己独立完成简单的项目,比如,简单计算器,贪吃蛇游戏。