您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
学C语言好,还是学C++好呢?这两个专业在哪些领域用得最多?
语言,编程语言,都是学C语言好,还是学C++好呢?这两个专业在哪些领域用得最多?
发布时间:2020-12-06加入收藏来源:互联网点击:
如果非要说出这两种编程语言的差异,初学者可以考虑从C语言入手这样入门简单些,然后再去切入C++的学习,稍微有点编程经验的程序员都会淡化编程语言本身,编程的本质不是掌握了多少编程语言而是编程思想是不是掌握彻底了,到了这种层面也不会在乎什么编程语言了,学习任何东西都要掌握问题的本质,不要只看表面的现象,只要自己认准的事情全力以赴的做就可以了。
不要在选择上花费太多的时间,选择了就全力去做,中间不要随便切换编程语言,这山看着那山高注定什么也学不会。
希望能帮到你。
回答于 2019-09-11 08:43:50
可以从另一个角度思考这个问题,一个人编程几年一定会接触不止一门语言,而这些语言或多或少都需要调用本地方法,即c/c++。而java、c#或其他脚本语言的本地调用,根据编译器的不同,大多数只支持c风格调用,当然并不是说不能调用c++的对象方法(比如java的jni),而是代价较高,即便同是c++编写的动态链接库(dll)相互间调用,也不是很方便,并且存在严重的跨平台问题(只要是涉及到调用本地c++对象方法,封装性和性能两者不可兼得),因此本地c调用才是最优解。因此我建议不用纠结是c还是c++,因为无论是哪一个,c都是不可能绕过去的,必须要掌握。另外,既然你已经决定要学c/c++,那么以后不可避免要涉及到编译器的相关知识,而只有掌握c,你才可能对其有更深入的理解(而面向对象的宗旨是封装和抽象,即让你更少的了解实现细节),而只有了解c,你才知道调用本地c++对象方法是多么复杂的一件事,这也从一个侧面说明了这两种语言有多大的不同。追求对c的兼容绝对是c++发展历史上最沉重的包袱
回答于 2019-09-11 08:43:50
现在很多情况下C/C++都是不分家的,计算对外招聘很多也是写的C/C++,这是因为两者之间的有很深的渊源。
C++ 读作“C加加”,是“C Plus Plus”的简称,C++ 是在C语言的基础上增加新特性,玩出了新花样,所以叫“C Plus Plus”,就像 iPhone 6 和 iPhone 6 plus的关系。
从语法上看
C语言是 C++ 的一部分,C语言代码几乎不用修改就能够以 C++ 的方式编译,这给很多初学者带来了不小的困惑,学习 C++ 之前到底要不要先学习C语言呢?我对这个问题保持中立,但是初学者直接学习 C++ 会非常吃力,Hold 不住,尤其是对计算机内存不太理解的情况下,C++ 是学不懂的。C++ 是一门灵活多变、特性丰富的语言,同时也意味着比较复杂,不易掌握。不过可以明确地说:学了C语言就相当于学了 C++ 的一半,从C语言转向 C++ 时,不需要再从头开始,接着C语言往下学就可以,所以我强烈建议先学C语言再学 C++。
C++和C语言的血缘关系
现在看来,C++ 和C语言虽然是两门独立的语言,但是它们却有着扯也扯不清的关系。早期并没有“C++”这个名字,而是叫做“带类的C”。“带类的C”是作为C语言的一个扩展和补充出现的,它增加了很多新的语法,目的是提高开发效率,如果你有 Java Web 开发经验,那么你可以将它们的关系与 Servlet 和 JSP 的关系类比。
这个时期的 C++ 非常粗糙,仅支持简单的面向对象编程,也没有自己的编译器,而是通过一个预处理程序(名字叫 cfront),先将 C++ 代码”翻译“为C语言代码,再通过C语言编译器合成最终的程序。
随着 C++ 的流行,它的语法也越来越强大,已经能够很完善的支持面向过程编程、面向对象编程(OOP)和泛型编程,几乎成了一门独立的语言,拥有了自己的编译方式。但并不能说 C++ 拥有独立的编译器,现在主流编译器,统称为 C/C++ 编译器。对于C语言代码,它们按照C语言的方式来编译;对于 C++ 代码,就按照 C++ 的方式编译。
建议
没有任何编程基础的,建议先从C语言学起。学习编程是一个循序渐进的过程,学习C语言,一是学习语法,为 C++ 打基础,同时培养编程兴趣,二是学习内存、编译和链接,弄清编程语言的内在机理。
等你熟悉了C语言,能编写出上百行的代码,就对编程有些概念了。这个时候再去了解 C++ 究竟在C语言基础上增加了什么,你就站在了一定的高度。从理论的角度来说,C++ 支持面向过程编程、面向对象编程和泛型编程,而C语言仅支持面向过程编程。就面向过程编程而言,C++ 和C几乎是一样的,所以学习了C语言,也就学习了 C++ 的一半,不需要从头再来。
C语言的主要应用领域
系统软件开发
操作系统:UNIX、Windows、Linux。驱动程序:比如主板驱动、显卡驱动、摄像头驱动。驱动一般是用C语言和汇编语言写的,C++ 在这方面稍弱。数据库:SQL Server、Oracle、MySQL、DB2。应用软件开发
办公软件:WPS。图形图像多媒体:Photoshop、Mediaplayer。嵌入式软件开发:嵌入式软件开发说得简单点就是芯片编程,比如我们以后学习在单片机和 ARM 上进行的开发都属于嵌入式软件开发。游戏开发:2D、3D 游戏。CS 整个游戏的引擎全部是用纯C写的。C++主要应用领域
1. 服务器端开发:很多游戏或者互联网公司的后台服务器程序都是基于C++开发的
2. 游戏:目前很多游戏客户端都是基于C++开发的,除了一些网页游戏可能不是,这个领域需要学习的东西就比较多,比如计算机图形、多媒体处理。
3. 虚拟现实:这个领域一直在发展,目前VR眼镜比较火,需要大量基于这些的C++开发。
4. 数字图像处理:比如像AutoCAD的系统开发,像OpenCV的视觉识别等等。
5.科学计算
在科学计算领域,FORTRAN是使用最多的语言之一。但是近年来,C++凭借先进的数值计算库、泛型编程等优势在这一领域也应用颇多。
6.网络软件
C++拥有很多成熟的用于网络通信的库,其中最具有代表性的是跨平台的、重量级的ACE库,该库可以说是C++语言最重要的成果之一,在许多重要的企业、部门甚至是军方都有应用。比如GOOGLE的chrome浏览器,就是使用C++开发。
上一篇:动车站过安检火机已经被没收了,为什么过了安检还有人吸烟?
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |