工程C语言,软件工程c语言

dfnjsfkhak 46 0

大家好,今天小编关注到一个比较意思的话题,就是关于工程C语言问题,于是小编就整理了3个相关介绍工程C语言的解答,让我们一起看看吧。

  1. C语言是用什么编出的?
  2. C语言能干什么?
  3. Java语言和C语言是同一个级别的吗?

C语言是用什么编出的?

用C语言写的代码通过C语言的编译器编译成EXE,最早版本的C语言的编译器是通过汇编语言写的编译器编译出来的,最早版本的汇编语言编译器是由机器语言写的编译器编译出来的。旧版本的C语言编译器可以用来编译出新版本的编译器程序

C语言标准文档pdf 格式的,你可以在这里下载 ***://open-std.org/JTC1/SC22/WG14/***/docs/n1570.pdf 至于是什么编写的,因为很多文档编辑器都可以导出 pdf,这个还真不好猜测。。。

工程C语言,软件工程c语言-第1张图片-芜湖力博教育咨询公司
图片来源网络,侵删)

如果你说的是 C 语言编译器是什么编写的,当今三大主流 C 语言编译器都是使用 c++ 语言编写的。

1. 首先是windows平台的 cl(全称叫 Microsoft (R) C/C++ 优化编译器)。该编译器是闭源的,但是从它的可执行文件导入符号可以看出它是用 C++ 语言编写的,并极有可能就是用自身编译的。

2. 然后是在linux平台广泛使用的 gcc。gcc 编译器(平台)最初是用 C 语言编写的,但是在 2012 年 8 月,gcc 宣布全面迁移至 C++ 语言,所以现在都是使用 C++ 语言编写了。

工程C语言,软件工程c语言-第2张图片-芜湖力博教育咨询公司
(图片来源网络,侵删)

3. 最后是在BSD系(包括苹果系统)使用的 clang 编译器,它属于 LLVM 编译器平台,从诞生第一天起就是使用 C++ 语言编写的。

其他还有很多小众编译器,多数是使用 C 或 C++ 语言编写(C 语言居多),由于数量众多这里就不列举了。

C语言,是一门高级计算机语言,熟知的unix、Linux都是C语言编写。但最早的语言并非如此的易学好用,多数伟大的创造都源自于一群调皮的人。

工程C语言,软件工程c语言-第3张图片-芜湖力博教育咨询公司
(图片来源网络,侵删)

最早的高级计算机语言是,ALGOL 58、后来进化为ALGOL 60。分别被创造于1958年和1960年,这门语言暂且被称为A语言,尽管当时的人不这么叫,现在的人还是习惯了。

1963年,由剑桥和伦敦大学合作改进的CPL语言出现,当时并没有把它命名为C语言、也不是B语言。鉴于是对A语言的改进,暂且叫做A+语言吧。这门语言更接近硬件一些,但是使用不那么容易,很多事情还是难以实现

1967年,这时候B语言(BCPL)来了,这也是第一个有了小括弧,大括号的语言。由剑桥大学的马丁·理察德简化CPL语言而来。

19世纪60年代末的时候,正在上班的Ken Thompson,想自己着手开发一个电子游戏,苦于没有操作系统,于是在1***0年Ken用B语言写了一个造作系统叫做UNIX。1***1年,贝尔实验室的D.M.Ritchie加入Ken的兴趣团队,一块完善了UNIX。

1***2年,闲来无事的D.M.Ritchie觉得很无聊,在一个闲情雅致的下午,D.M.Ritchie决定对B语言进行改造。于是产生了C语言。C语言并不是为了和A、B语言排队而命名,而是取自BCPL语言的第二个字母。C语言一诞生,便迫不及待的用C语言重写了UNIX系统。并且,在设计期间,考虑将UNIX兼容到各种机器上,也奠定C语言成为第一个可移植的语言。

首先,C语言不是由什么语言写的。好比问:中文用什么语言写的?用什么语言讲的?C语言是int a=6;而不是mov ax,bx(汇编语言)。C语言可以用计算机写,也可以用手写,写在纸上。

你要问的应该是C编译器用什么写的。***若我猜对了,以下回答是你需要的。***若我猜错了,也看一看吧。C编译器用来把int a=6机器代码,当然还有链接器,把机器代码链接成可执行文件。

C编译器说到底也是一个EXE文件,或者再加上其他的dll啊之类的。***设这里有一个C编译器A.exe。

可以A.exe写一个A出来。写好C源码,用A.exe编译出另外一个A.EXE,功能可以做得一样。这种行为看起来很无聊,这里我们不探究这种行为有无意义,但这样做是可行的。还可以用A.EXE写出A2.0.exe,或A3.0.exe,A3.11exe,A3.1.1.exe,写出进化版的C编译器。还可以用java写A.EXE,用C++写A.EXE。甚至用汇编写A.EXE。

第一个A.EXE怎么来?当然是用汇编语言写的。第一个汇编器哪里来?用机器代码写。

小结。C语言是int=2;这些东西,而用来写C代码的东西叫开发环境,例如VC6,命令界面的gcc等。int=2是人为制订的规则,可以用笔写在纸上。而开发环境就需要用C或者另一种语言写出来。

首先C语言是一门计算机编程语法规则规范,可以将C语言比做英语语言,我们在学习英语的时候都是先学语法 单词之类的英语规则,在学会了语法以后我们就可以用英语写出自己的文章,同样的道理C语言也是如此,我们可以用C语言写出自己的程序。

其次计算机并不认识什么C语言,计算机只认识数字0和1(硬件上是使用开关来表示,用数字0来代表低电平,数字1代表高电平),那怎么用0和1来描述十进制整数答案二进制

再次我们的编写的程序要能在计算[_a***_]实现,首先要做的就是翻译工作,将C语言编写的程序(文本格式)翻译成二进制数字文本格式,

最后就是翻译好的二进制文件,如何让计算机帮我们运行呢?答案就是通过一种工具将我们编译好的二进制文件存储到存储器中,存储器是啥呢?存储器可以比作是一个有很多抽屉的柜子,比如二进制文件开头处是数字001,那么我们的工具就会在第三个抽屉放东西,前两个抽屉为空,来代表001。

至此 我们的C语言程序就能够在计算机上运行起来!

C语言能干什么?

本菜鸟从事C/C++工作也有好多年了,可以很明确的说C语言啥都能干!

1、C语言可以做嵌入式开发。51单片机、ARM等....

2、C语言可以写漂亮的界面。以windows开发为例,你可以学习《windows程序设计(第五版)》,学完就可以写出界面来。还有一些开源库界面库,例如soui也是用C写出来的。

3、C语言可以做服务器开发,现在的游戏服务器端大多都是C/C++开发的。《windows核心编程》里面的例子就是用C写的。

4、C语言可以写游戏。cocos2d-x就是C/C++写的。DirectX也是。

5、C语言可以写驱动程序。windows下各种硬件驱动都是C/C++写的。腾讯游戏保护软件(TP)也是驱动程序。

6、C语言可以写***。想学写***的童鞋们可以看看郁金香的***编程视频教程

7、C语言可以做***图片流媒体处理。有兴趣的朋友可以学习一下ffmpeg、live555、sdl等开源库。

8、C语言可以做网页爬虫相关的编程。想了解的同学可以去看gsoap、libcur等相关开源库。

9、C语言可以进行黑客编程。配合汇编获取随机地址、调shellcode等。

我做了六年c,感觉这方面的需求还是很大,

第一,嵌入式设备:几乎所有的硬件设备都离不开c,手机,android设备是linux内核,是纯c,硬件都是要驱动的,全是c,单片机,数据机床。

第二,网络设备:大到各种网络设备,光纤设备,交换机,防火墙,小到家里用的路由器,tcp/ip协议都是用c写的,网络还有多大发展空间,c就有多大需求。

第三,服务器:服务器端程序大部分都是c,精通nginx和squid可以把公司做上市,比如网宿科技。云服务也离不开c。看看业界最强的云,亚马逊,靠买书是做不到这么大的。还有比较热门的大数据,ipv6等等,涉及的业务非常广。很多的工具都是c写的,比如php,python.........

但是c不是这么简单,不是会语法就行,比如linux驱动,你要熟悉内核构架,还有有点硬件知识。c有很多的开源代码可以去看看。欢迎大家补充

我们团队一直主要用c/++c开发,当然用途也很多,一般对性能要求很高的库必然都是c/c++开发的。

主要用途:

1,图像算法

2,底层软件

3,高性能后台服务

4,系统底层开发

5,嵌入式系统

6,单片机系统

7,一些基础库,比如库,Python库等

其实很多人都会有这个疑惑:大家都说C语言很好,是编程语言的基础,用途非常广泛。可是具体到实际问题上,却又很难准确说出C语言可以用在哪些方面。

其实这个问题就像1+1一样,都知道1+1是所有算术运算的基础,可是在正规的教材上(除了幼儿园的教材),基本上不会出现1+1这样的题目,可是我们都知道,所有的算数运算都是起源于1+1的。

c语言是计算机技术的基础,是信息技术的基础,是自动化技术的基础,是很多电子设备能够运行的基础。

学习C语言可以让你了解编程,锻炼编程的逻辑思维,所以C语言也是比较重要的,能够为你学习好其它编程语言打下基础。各种语言之间虽说语法不同,但是编程的思维是相通的。

Windows大部分源代码都是用C语言写的,Linux也一样。连操作系统都是C语言写的,其他软件之类的更不在话下。C语言可以干几乎和计算机相关的任何事,编写任何系统或软件,实现任何功能。

像C语言、C++、Python等都是通用性的编程语言,它们不针对某一个特定的方向,能做的事情很多。C语言主要用于底层开发,Windows、Linux、Unix 等操作系统的内核90%以上都使用C语言开发,开发硬件驱动,让硬件和操作系统连接起来,这样用户才能使用硬件、程序员才能控制硬件。

C语言介于汇编和高级语言之间,属于最底层的高级语言。因此现在被广泛用于嵌入式系统开发,各种底层软件、驱动程序,等等

各种网络设备,tcp/ip协议都是用C语言写的,

1、C语言是许多高级计算机语言的基础,学好C语言能更好的学习其他高级语言,为以后的学习打基础;往深学C语言的话那就是学到C在Linux里的应用,Linux十分强大,可以百度了解。

2、C语言是一种计算机程序设计语言。具有高级语言的特点,又具有汇编语言的特点。C语言可作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。

3、应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维二维图形动画。具体应用比如单片机以及嵌入式系统开发。

4、C语言是面向过程语言,C语言通过windows平台下编译的,是直接运行在windows平台下的,而Java始终是运行在他的虚拟机之上的;所以理论上C语言能做一些相对于比较底层的工作,像J***a就不能编写Windows病毒

5、如果要利用编程来做一些windows优化工作的话,建议还是利用C语言。C语言是目前世界上流行、使用最广泛的高级程序设计语言。

J***a语言和C语言是同一个级别的吗?

差远了,c是最接近机器语言的,可以直接翻译成汇编。j***a还要通过虚拟机运行,更像脚本语言。好处就是既然在虚拟机里,那可就自由了,什么垃圾回收都能实现,指针当然也不需要了,坏处就是效率肯定不如本地语言。

J***a是一个产品,一个公司推出的产品!c和c++是一个计算机编程规范,按照规范写的代码,根据不同厂商提供的编译器可以编译出适用与不同硬件的二进制代码,所以很难跨平台,而j***a的跨平台只是在不同平台上用c和C++编译好了虚拟机,虚拟机对于字节码有同样的解析,在不同类型机器中运行的二进制代码是不一样的!其实就是一个公司在不同平台上写了一套底层代码,叫做虚拟机,这个软件能够运行自己规定的代码,并且还可以通过这个软件用代码调用底层硬件,就像是一张照片,你既可以在windows上打开,也可以在Linux 上打开,他们具体打开的方式是不完全相同的,但是他们打开的材料是一样的!因此j***a是一个产品,既然是产品它就会有推出这个产品的公司不断升级发展,所以要把j***a用的溜溜的,你就得不断的学习,好比你是一个设计师,用的是ps,你需要不断的学习ps的新功能等!而c/c++只是一个计算机语言的规定,好比一个协议,这个协议是由全球的编程人员好多年组织一个会议,商量一下,编程规范怎么改等,把编程规范确定了,不同的厂商根据规范会写一个编译器,你按照规范写代码,编译器就认识啦!不同的编译器也不是完全一样的,厂商根据自己的具体情况会有不同,比如vc编译器和gcc的编译器也有不同,但是大部分的规范是一样的,语法大部分是一样的,只是有的支持新语法,有的不支持新语法等区别!所以学会了c/c++你在学习编程语言的精力就少,j***a相对多一些!但是j***a由于是公司推出的产品,必然会有很多的优势,例如,开发速度来,底层接触少,还有大量来源组织的支持等等,随着这家公司对虚拟机的优化,执行效率也提高不少!c/c++更多是用于要求执行效率高,嵌入式等[_a1***_],在做算法是大多数是用c/c++,在虚拟机中有许多算法,都是用c/c++,所以才上你j***a那么6,图像处理用c/c++的多,现在由于图像要处理算法复杂,都要用GPU加速,GPU编程语言就是c的扩展语言,可见c的威力强大,其实目前在计算机里发挥的不可以替代作用的还是c/c++,你要是说汇编,我也没得做,汇编不可能编写出现在如此复杂的系统,c/c++只是在幕后默默的计算!

很多人以为j***a能跨平台,而c不能,其实错了,c,c++都能跨平台(不是vc),c是j***a他爹那辈的,可以说j***a,python等都是直接或间接用c开发,所以说c最牛逼,但不是面向对象

如果你把C语言搞明白的话,再学C++,然后学J***a的话就比较容易学了。J***a是已经有了积木块,用积木块一块一块搭起来就是项目了。而C语言还得一步一步做积木块,在一步一步搭起来才是项目。

用相机来简单可能比较贴切的比喻是,J***a是傻瓜式,而C要比较复杂的设置才能出来比较好的相片。J***a是有很多的方法别人已经给你做好了,你拿来用就可以了。但C的话你得自己去写那些方法,然后再用。

如果C学好了,你能明白很多比较深入的计算机语言的原理,而J***a学好了,你就是在别人搭建好的平台上的应用专家。但C还是有很多很多应用的地方。

C++与J***a比较类似。

我发现国内对于j***a真的是盲目崇拜跟风,好多人爸j***a的地位提升到极高的档次,虽然各有优缺点,但j***a本身的环境jvm主要就是c写的好吧?虽然c和c++古老繁琐,但从历史和强大来讲,j***a只能算儿子辈

到此,以上就是小编对于工程C语言的问题就介绍到这了,希望介绍关于工程C语言的3点解答对大家有用

标签: 语言 可以 编译器