学c++,c语言将来能找那些工作啊?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学c++,c语言将来能找那些工作啊?相关的知识,希望对你有一定的参考价值。

相信很多人接触编程都是源于大学期间的那堂C++语言程序编程,但是这门课却只告诉了你编程语言是什么,却没告诉你要怎么去熟练掌握编程。所以,不可避免的是许多人在毕业前夕才发现虽然学会了C++,但是好像却不知道能干什么,能找什么样的工作,能去什么样的公司。所以呢本文就从C++的角度出发,谈谈我对C++这门语言的理解。

咱这回不去谈什么复杂的应用场景,也不去聊语言底层的优化特性,就说说在大学里学了C++出来到底能干啥。当然了,由于C语言跟C++亲密的关系,咱就混淆一并讲了,道理是差不多的。

1 实验室开发

不敢说C++是世界上最好的语言,但C++基本是工科生中的大语言。暂且不说计算机专业,很多工科专业,比如电信、电气、通信等专业,基本上正常的学习中都会使用到C++。

都说C++兼具面向过程以及面向对象的特性,既拥有比较优秀的运行速度,又有良好的大型项目开发能力,那简直可以制霸高校实验室了。当然我们知道,另外一门同样在高校实验室里与C++不相上下的语言,就是Matlab了。

像我研究生期间就是左手Matlab试探,右手C++优化。论文专利什么的就靠这两种语言双管齐下。还记得在实验室里,基本所有的算法都是用C/C++写的。

最开始就学C++的基本都是老理工男了。就算指针再怎么难理解,虚函数表再怎么无情,也磨不灭我们这些工科生对编程的热情。

2 后端开发

不过等到真正要找工作的时候,就不是那么回事了。听说现在由于算法岗已经是诸神黄昏了,导致一大批人冲向了后端开发。

而主流的后端开发语言就那么几种,以Java、C++领衔,Python和Go紧跟其后。作为写了这么多年的老C++ coder了,哪能不去凑个热闹。

所以呀,学了C++之后,第一选择当然就是去面试后台开发的岗位啦。只不过我们都常说一句话,语言都不是最重要的。那对于学了C++想找后端开发的同学而言,什么最重要呢?

其实软件开发工程需要掌握的技能不外乎那么几点,各种经验分享和面经都已经说烂了。但是那些只是大的方向,具体涉及到的概念和技术点非常多,在这里也没办法全部罗列。总的来说,想通过C++找一份合适的后端开发工作,我建议可以从以下几个方面来提升自己:

一是、扎实的编程基础。

这个基础扎实首先意味着你比较熟悉C++这门语言了,知道不同版本的语言特性(比如C++11以及新出的C++20的区别),对常见的语言机制(比如多态、虚函数表、模板等)的底层有自己理解。

虽然说不看重你用什么语言,但是最起码你得比较熟练的使用一门语言吧。怎么才算熟练呢,大概C++底层机制、多线程编程、跨平台编程这些你都需要有所了解吧。

除此之外,编程能力的素养还体现在算法思想和数据结构的理解上。毕竟程序的基础就是算法和数据结构嘛。所以一些基本的数据结构,比如链表、数组、二叉树、队列之类的,还有一些基本的算法思想,比如贪心、分治、动态规划等都最好需要好好掌握一下。二是、系统的理论知识。

这个就是科班与非科班比较明显的差距所在了。很多非科班的同学其实编程能力很强,但是由于没有接受过系统的理论学习,所以在理论学习上会比较吃亏。而后端开发涉及的东西比较多,从网络到性能再到架构,都需要系统的计算机理论来支撑的。

所以如果连计算机网络、操作系统、计算机组成原理、编译原理这些书都没见过的同学,需要赶紧买几本回来压压惊了。

三是、后端基础。

想去做后端开发,起码得知道后端是什么吧。这就意味着你得知道一些基本的软件工程、软件架构、设计模式等知识。同时,搞个后端哪能不懂数据库呢,那你不得再学些诸如mysql、Redis等数据库的基本操作吗?

当然到这,可能也就算是个入门水平。真正上手后端开发的时候,像微服务、中间件(Kafka/Zookeeper/Hadoop等)等相关概念与技术的学习不也得提上日程了嘛。

当然对于校招生来说,由于的确是缺少大型的上线项目经验,所以对后端基础的要求不会太高,更多的是看编程能力和计算机理论基础。不过倘若是已经工作想转行的同学来说,后端基础还是会比较看重的。

这三点是在我看来目前互联网公司比较看重的地方,大家可以对照着反思自己是否具备这样的能力了。如果还没有,可以抓紧时间好好准备准备。

3 客户端开发

毕竟C++已经是一个很成熟的语言了,所以除了后端开发其实它还有很多其它的开发岗位可以选择。自然而然的,就是客户端开发了。

相信大多数学C++的同学都用过C++写桌面软件吧。那时候估计还是用MFC,照着代码书上敲一遍就能写一个比较简单的界面了。所以如果不想做后端,完全可以靠C++找一份客户端开发的工作。

只不过,客户端也并不容易呀。做客户端同样也需要扎实的编程基础和计算机理论基础,同时可能还要熟悉Windows/C++编译链接机制、QT客户端开发技术体系、Windows消息机制等技术。

所以,假如你学的是C++,同时也不在乎业内莫名其名的岗位歧视链的话,找一个客户端开发的工作也是非常不错的。只不过相较于后端开发,你可能需要重新审视客户端这个角色。

参考技术A 我是一名c++程序员,(初级的)c++目前的应用领域在以下几个方面:
1,游戏开发:效率,建模能力!
2.科学计算:先进的算法库!
3.网络:分布式和云计算:ace框架!
4.操作系统和驱动:c++对c的兼容。
5.移动应用领域嵌入式:教育科研,行业应用等。对性能要求较高的话,首先c++,来开发啊的!
参考技术B C/C++语言应用是非常广泛的,那么学习C/C++能用来干什么呢?
1. 实验室开发
不敢说C++是世界bai上最好的语言,但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++编个24点游戏,用户输入答案只能输入字符串呀,然后怎么让计算机判断其值呢?要重点考虑有括号情况,高手帮我一下,具体点,不胜感激
括号的问题怎么解决啊?输入的字符串长度都不一样!

1、C语言有atoi、atol、atof等库函数,可分别把ASCII编码的字符串转化为int、long、float类型的数字。
头文件:stdlib.h
函数原型:int atoi(const char* nptr);

2、举个例子:
char *str="123";
int num=atoi(str);
执行后,num的值被初始化为123
参考技术A 由于是教育类,只能输入100个字符,下次这种问题最好归入编程类,可输入1000字符。有个思路。如没括号的式子:5+3*1-6/3就是分两次遍历,第一次遇到*、/直接运算为数值,第二次加减运算。括号可用函数写。又满了无语本回答被提问者采纳 参考技术B 数据结构的书上是这么说的:首先为每个符号设定优先级,然后弄两个栈,一个是数字的,一个是括号和运算符的。 参考技术C 可以利用逆波兰表达式http://zhidao.baidu.com/question/8121037.html 参考技术D 可用中缀表达式转后缀计算阿

以上是关于学c++,c语言将来能找那些工作啊?的主要内容,如果未能解决你的问题,请参考以下文章

我是学java的,现在却找了一份做php的工作,公司是新成立的,人也不多,过去之后要从头学php

如何学习C++编程

学python能找些啥工作

Python主要要学那些课程啊?

如何学好java语言啊?

学完python出来可以做那些方面的工作?