当前位置:首页 » 编程语言 » c语言编程现状
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言编程现状

发布时间: 2023-04-06 09:51:41

⑴ C++可以做什么

17.1 C++语言
在决定是否使用C++语言之前,最好是搞清楚这种语言的实质,让我们看一下C++的历史和现状。
17.1.1 C++简史
刚开始形成的是c语言,那些想建立更快更有效的代码的程序员非常欣赏C语言,有一位名叫Bjarne Stroustrup的人却不满足于仅仅是生产快速代码,他想创建面向对象的C语言编程。他开始对C语言的内核进行必要的修改,使其能满足面向对象模型的要求。C++从此产生。
Bjarne Stroustrup是C++的最初设计者和实现者。它自诞生以来,经过开发和扩充已成一种完全成熟的编程语言。现在C++已由ANSI、BSI、DIN、其他几个国家标准机构和ISO定为标准。ISO标准于1997年11月4日经投票正式通过。
C++标准演变了许多年。C++模板是近几年来对此语言的一种扩展,模板是根据类型参数来产生函数和类的机制,有时也称模板为“参数化的类型”。使用模板,可以设计一个对许多类型的数据进行操作的类,而不需要为每个类型的数据建立一个单独的类。标准模板库(Standard Tempalte Library,STL )和微软的活动模板库(Active Tempalte Library,备唤ATL )都基于这个C++语言扩展。
C++标准可分为两部分, C++语言本身和C++标准库。C++标准库对于Visual C++是相当新的,实际上微软只是在发布Visual C++ 5.0时去除了罩滚耐一些“bug”。标准库提供了标准的输入/输出、字符串、容器(如矢量、列表和映射等)、非数值运算(如排序、搜索和合并等)和对数值计算的支持。应该说, C/C++包含了相对少的关键字,而且很多最有用的函数都来源于库,C++标准库实现容器和算法的部分就是STL。
STL是数据结构和算法的一个框架,数据结构包括矢量、列表和映射等,算法包括这些数据结构的查找、拷贝和排序等。1994年7月,ANSI/ISO C++标准委员会投票决定接受STL为C++标准库的一部分,这个建议是根据Alex Stepanov、Meng Lee和David Musser这三人的编程和软件库研究提出的。STL的产生是为了满足通用性的设计目标,而不是为了提高性能。
那么微软对C++标准的态度怎什么样?微软运行VC++与Plum-Hall C++,想比较得到的分数在92%和93%之间。为什么不是100%的一个原因是跟踪这个标准并同时建立一个编译器比较困难,微软也考虑了对现有编码兼容的重要性,有时他们不得不偏离标准以保持这个兼容性。
17.1.2 使用C++的原因
应该有充分的理由使用C++创建服务器组件,而不只是为了给上司一个好印象才使用C++。如果以前没用过C++,你必须要尽力学习。
1. 性能
性能有个两方面,算法速度和机器代码效率。一个算法可以定义为数据通过系统的概念化的路径,它描述一些点,在这些点上,数据能够被操作并物春可转换产生某个结果。例如,一个算法定义为获取一个字符串,计算字符串中的字符个数,并作为结果返回的过程。算法与
语言是独立的,所以在编程之前必须设计算法,编写一个快速程序的第一个步骤是设计良好的算法,能以最少的操作步骤得出问题的答案。第二个步是选择语言,这也影响程序的速度。
从性能的角度考虑,用汇编语言编写程序是最佳的选择,它是计算机能理解的自然语言。但是,几乎没有人用汇编语言编写完整的程序,因为这样做极其乏味。另一个最佳的选择是C语言。然而,由VC++提供的所有工具都产生C++,而不是C。使用VC++的向导可以生成大量的使用代码,而不必人工地编写代码。从编写程序的难易程度和程序的性能综合考虑, C++是最佳的选择C++性能良好,因为它被编译为机器代码。对于VBScript和Java等语言,代码在运行时由程序解释,而且每次运行程序时都要将代码转换为机器码,这样做效率比较低,不仅仅是已编译过的C++程序运行得较快,而且微软C++编译器已存在多年。这意味着微软的编译器程序员已经把许多优点集中到编译器上,以致于它能产生非常高效的机器码。因为C++是编译语言,而且非常自然,比VB更接近机器代码,所以由C++编译器产生的代码一定比VB的编译代码效率更高。
2. 错误处理
一个好的程序与一个伟大的程序的区别就是其是否具有良好的错误处理支持。实际上,如果在实现中首先进行错误处理,而不是在最后才进行,那么整个程序的开发和测试过程会更加完美。但是,错误处理只能与语言所支持的内容相一致。
VBScript具有基本的错误处理支持功能。在默认情况下,不能捕获VBScript中的错误。每次怀疑产生错误时,要调用On Error Resume Next功能,并检查Error对象。
而C++中的错误处理比较好,这是因为有“异常处理”,本章的后面部分将详细介绍。
3. 最小的依赖性
正如上面所说,C++是一种编译语言,即C++代码在执行之前已转换为机器码。只要此代码不依赖于外部的动态链接库(DLL),C++就可以在不需要安装额外程序的情况下移动到运行同样操作系统的其他机器和微处理器上,而移动Java程序时需要先安装Java运行期库。
4. 利用现有的代码
由于C和C++已经存在许多年了,现在有许多可利用的代码,你的服务器组件可以使用现有的C/C++代码或库。例如统计库和到老系统的C接口。
5. 最大化COM特征
COM与C++很接近,实际上, Don Box(COM的权威)在他的《Essential COM》一书的第一章写道:“COM就是更好的C++”。他说明了COM规范是如何从C++语言规律中产生出来的。通过理解C++,会对COM有更深的理解。
某些语言不能利用所有的COM特征,而在C++中,几乎可以使用所有的COM特征。
17.1.3 不使用C++的原因
知道什么时候使用C++是重要的,同样,知道什么时候不使用C++也是重要的。想象一下那些长期维护代码的人,如果他们中没有一些C++程序员支持C++,那么开发者们不得不把眼光转向另外一些他们熟悉的语言。
改变C++组件时,为了看到这些改变的结果,必须重新编译该组件代码,这会花费很长的开发时间。C++不能像ASP页面代码那样,只使用记事本,改变代码的一行,重新装载而得到结果。因此,如果某些工作需要经常变化(如原型),不要用C++。
在C++中,对一些致命的错误不能获得更多的保护,写一个使组件崩溃的代码是很容易的。这是为了提供快速代码而付出的代价, C++不会停下来去检查代码是否按设计运行能否使程序不崩溃依赖于开发者的技巧。如果在这方面花的时间较少或刚刚学习C++,最好不要使用C++。等到已经意识到C++中所有容易犯的错误,而且在检测组件之前花了许多时间,才可以使用C++,如果想很快、很容易地建立一个组件,而且也不考虑该组件的执行速度,那么使用VB吧!
17.1.4 把ASP技巧转到C++上
学习新东西的最好方法就是利用现有的技巧。对于ASP开发者来说,已经学习了C++所要求的许多技巧,特别是,JScript语法和ActiveX或COM的面向对象编程的概念。
1. JScript
大部分ASP开发者都用JScript在浏览器上使用DHTML。JScript的语法与C非常相似,所以,如果懂得JScript,那么就懂得基本的C语法。当然,只是C++语法的子集。C++有许多额外的语法来支持面向对象编程,这就是我们下一步要做的。
2. 面向对象编程
如果你在VB中使用过类(class),则对任何COM对象和文档对象模型(Document ObjectModel,DOM )都应熟悉,因为已经有了面向对象编程(OOP)的概念。在前面已经说过, C和C++的区别是C++支持面向对象编程。

⑵ C语言有什么发展前景

C语言工程师的发展前景
行业倍受青睐

据不完全统计,全世界的C语言开发者已超过1000万人,人数远超其他编程语言开发者,位居全球首位

市场人才紧缺

不只是“北上广深”,大多数二线城市如南京、武汉,合肥等地,C语言开发者也是市场缺口巨大

发展潜力大

自2002年起,C语言常年位居世界编程语言排行榜榜首

⑶ C语言难学吗,学来做什么的

你对他感兴趣就不难。
C语言可以被移植到大、中、小及微型机上悄裤,它可以作为工作拍运滚系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不袭余依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。
总而言之,c语言是一种很强大的语言。

⑷ 为什么C语言依然如此流行

为什么C语言依然如此流行?由于种种原因,业界选择了C,其中最主要的原因就在于它的效率。优秀C程序的效率几乎和汇编语言程序一样高,但C程序明显比汇编语言程序更易于开发。和许多其他语言相比,C给予程序员更多的控制权,如控制数据的存储位置和初始化过程等。C缺乏“安全网”特性,这虽有助于提高它的效率,但也增加了出错的可能性。如,C对数组下标引用和指针访问并不进行有效性检查,这可以节省时间,但在使用这些特性时就必须特别小心。如果你在使用C语言时能够严格遵守相关规定,就可以避免这些潜在的问题。C提供了丰富的操作符集合,它们可以让程序员有效地执行一些底层的计算如移位和屏蔽等,而不必求助汇编语言。C的这个特点使很多人把C称为“高层”的汇编语言。但是,当需要的时候,C程序可以很方便地提供汇编语言的接口。这些特性使C成为实现操作系统和嵌入性控制器软件的良好选择。C流行的另一个原因是由于它的普遍存在。C 编译器在许多机器上实现。另外,ANSI标准提高了C程序在不同机器之间的可移植性。最后,C是C++的基础。C++提供了一种和C不同的程序设计和实现的观点。然而,如果你对C的知识和技巧,如指针和标准库等成竹在胸,将非常有助于你成为一名优秀的C++程序员。

⑸ C语言在编程语言发展历史中处于什么地位,对编程语言的发展产生了什么影响,对

编程语言的发展历程可以简单划分为以下几个阶段 :
机器语言——>汇编语言——>高级计算机语言
1、机器语言:最初的计算机所使用的是由“0”和“1”组成的二进制数,二进制是计算机的语言的基础。由于这种语言是直接对计算机硬件进行操作,所以在特定型号的计算机上面,运算效率也是很高的,机器语言的出
现对于未来的计算机语言发展起到了很好的推动作用,所以机器语言也是第一代计算机语言。
2、汇编语言:汇编语言是在机器语言的基础上诞生的一门语言,用一些简洁的英文字母、符号串来替代一个特定的指令的二进制串。汇编语言同样也是直接对硬件进行操作,对于计算机硬件的功能和特长的发挥已有了很大进步,它精炼而质量高,所以至今仍是一种常用的程序开发语言。
3、高级计算机语言:在与计算机的不断交流中,人们对计算机程序的移植性需求不断提高,此时急需要一种不依赖于特定型号的计算机的语言,用这种语言编写的程序能在在各种平台都正常运行。
C语言是一种高级计算机语言,它既有高级语言的特点,又具有汇编语言的特点。它可以用来编写系统软件,也可以用来编写应用软件。C语言语法中对操作符的大量灵活的使用,极大的影响了后来的一批高级程序语言,是其他高级语言的基础。
请采纳,谢谢

⑹ C语言有什么发展前景

C语言的发展前景主要在嵌入式和操作系统开发上。这两种底层的技术离不开C语言,也是C语言一直占据流行语言前三位置的主要原因。所以,学习编程,C语言是一门不错的选择,以后还可以拓展到其他编程语言。

⑺ FPGA开发用C语言编写当前的现状如何

有些工具号称能把C/C++高级语言的算法直接综合,好像xilinx新出的vivado也有这种功能,但理论上这样效率不高的,很难最大程度优化FPGA资源的使用。硬件工程师大多不接受用C语言去开发FPGA,因为FPGA本槐蚂身是硬件逻辑的实现,和用来指示CPU执行的C语言相差很森明指大。但随着FPGA资源越来越大,系统算法越来越复杂,此配综合器的效率提高到可接受的程度时,用高级语言(不一定是C)开发FPGA可能是一种趋势。
就像CPU的编程从汇编到高级语言,高级语言的效率肯定比汇编低,但当CPU性能足够强之后,就不在意这点效率了,在者就是程序的复杂度决定不能再直接使用汇编语言了。

⑻ c语言是什么

C语言诞生于20世纪70年代,比我们大多数人都大。当然,C语言并非没有缺轿嫌启点,毕竟,是“70后的老人”,时代有点落后,开发效率低。接下来给大家讲讲C语言是什么,希望对你们有帮助。

对于大多数程序员来说,C语言是学习编程的第一门语言,很少有不懂C语言的程序员。

C语言编程,除了让你知道相关的概念,把你带入编程的大门,还可以让你了解这个项目运行的原理,例如,计算机的各个部分是如何交互的,程序在内存中是一种什么样的状态,操作系统和用户程序之间有着什么样的“爱与恨”,这些基础知识决定了你的高度,也决定着你的职业生涯。

C语言概念少、词汇少,并且包含基本的编程元素。许多后来的语言(C++、Java等)都参考了C语言。毫不夸张地说,C语言是现代编程语言的祖先,它改变了编程世界。

这是因为C语言简单,对于初学者来说,学习成本小,时间短,结合教程,可以快速掌握编程技巧。

C语言还获得过2017年“年度编程语言”的称号,成为2017年全球增长最快的编程语言。

C语言诞生于20世纪70年代,比我们大多数人都大。当然,C语言并非没有缺点,毕竟,是“70后的老人”,时代有点落后,开发效率低,后来人们在C语言的基础上增加了面向对象机制,形成一种新的语言,称为C++。

C语言是至今为止最为重要的编程语言:要进入编程行业高手级别必学C语言,要挣大钱必学C语者凯言,要做黑客、红客必学C语言,要面试名企、外企、高薪职位必学C语言。

C语言难不难?闭如与Java、C++、Python、C#、JavaScript等高级编程语言相比,C语言涉及的编程概念较少,标准库小,所以整体比较简洁,容易学习,非常适合初学者。

⑼ C语言现在还有用吗

c语言还有用吗?这个问题有很多人在问,c语言真的没用吗?答案是有用的,用处还很大呢。

这门语言虽然是很早以前发明的,新兴语言如c#、vb……功能十分强大,但每一个能代替C语言,原因:C语言结构简单,所占空间小,而且能直接对存储设备进行操作,所以适合底层程序设计,比如嵌入式设计,你用的遥控器、玩具赛车里面的芯片就是将C语言设计出的程序嵌入到硬件上而制作出来的;还有,像lunix这样很牛逼的操作系统也是用C语言做的,因为运行起来相当快!

还有还有啊,现在一名合格的黑客基本都会C语言,他们都是用这种语言编写突破网络的程序、破解密码的程序和病毒的……

你说的c++和c#等都是高级语言,不能进行底层操作,空间大,对硬件的要求太高,只适合编写一下很大的程序,一些功能实用、轻便快捷的程序还是要C语言这样的语言编写。

所以C语言无可替代!

⑽ C语言有什么发展前景

C语言的应用领域大致的分两大块:系统软件开发和应用软件开发。

一、服务器端开发:很多游戏或者互联网公司的后台服务器程序都是基于C++开发的,而且大部分是linux操作系统,所以说,你需要熟悉linux操作系统及其在上面的开发,熟悉数据库开发,精通网络编程。

二、对性能要求严格的领域。一般对性能有严格要求的地方都是用C语言编写的,比如网络程序的底层和网络服务器端底层、地图查询等。

三、系统软件和图形处理。C语言具有很强的绘图能力和可移植性,并且具备很强的数据处理能力,可以用来编写系统软件、制作动画、绘制二维图形和三维图形等。

例如虚拟现实,这个领域一直在发展,目前VR眼镜比较火,需要大量基于这些的C++开发。

四、嵌入式设备开发。手机、PDA等时尚消费类电子产品相信大家都不陌生,其内部的应用软件、游戏等很多都是采用C语言进行嵌入式开发的。

五、游戏软件开发。游戏大家更不陌生,很多人就是由玩游戏而熟悉了计算机。利用C语言可以开发很多游戏,比如推箱子、贪吃蛇等。

六、数字计算。相对于其他编程语言,C语言是数字计算能力超强的高级语言。

除了上面这些以外,还有就是电子设备,就是什么手机软件,网络方面什么的,都是运用了C语言开发。