c#跟c语言有什么区别

 我来答
程序员数学分析
推荐于2018-08-14 · 资深java程序员分析机器学习中的数学原理
程序员数学分析
采纳数:46 获赞数:145

向TA提问 私信TA
展开全部
原理上的区别:
c#和java类似,c#是一门半编译型半解释型语言,意思是:
A.cs源代码文件被编译器编译(编译、链接)成A.exe(A.obj、A.exe)文件,而文件A.exe中存放的并不是某一款真实CPU(比如intel的x86处理器、AMD的处理器)的机器指令,而存放的是可以一种虚拟处理器(即虚拟机,类似于java虚拟机,这里指的不是像vmware那样的虚拟机)的机器指令。当双击A.exe时,实际上系统是,让该虚拟机来解释A.exe中的指令,虚拟机将A.exe中的指令解释为当前真实CPU上的指令,并将解释后的指令在真实cpu上运行,以让A.exe运行。
从A.cs转化成A.exe是编译的过程,而虚拟机解释A.exe并在真实CPU上执行指令是解释的过程。
而C语言是一门纯粹的编译型语言,A.c被编译器编译成A.exe,而A.exe直接在真实CPU上运行,没有解释的过程。

语法上的区别:
c#语法实际上类似于java,也就是说处处都是引用类型(其实就是c语言中的指针,但不需要写星号)。
C语言除了指针类型,还有结构体。结构体的存在,就导致传参数时对象复制了。而C#中传参数时不会复制对象。
当然了c#是面向对象的,c语言是面向过程的。
kelvingc
2013-09-11 · 超过49用户采纳过TA的回答
知道小有建树答主
回答量:208
采纳率:0%
帮助的人:147万
展开全部
区别很多,简单说下吧。都是高级编程语言,不过c是面向过程的语言,在结构模块化方面比较弱,可维护性和可扩展性相对较差;c#是面向对象语言,程序结构可实现模块化,便于维护和修改。其实两种语言应用都很广,不过c语言是基础,包括c#在内的大多数高级语言都是从c衍生的,只是在某些方面降低编程难度,但是c也有无可替代地位,特别是在无集成化开发环境下,如linux驱动级编程,基本上还是用c。c#存在于微软的集成化开发环境中,大多用于网络系统开发等应用层软件编程。所以,c是绕不过的基础,必须要学习。另外提点,c#其实为c++++,是微软在以c为基础的c++上进行改进的更进一步的编程语言
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ligangbin117
推荐于2017-09-29 · TA获得超过227个赞
知道小有建树答主
回答量:193
采纳率:50%
帮助的人:89.1万
展开全部
两种不同的语言。编程思想不同,c语言是面向过程 ,c#是面向对象。当然语法也不一样。c语言比较灵活,一般用于编写系统,驱动之类的。c#多用于企业应用。太多的不同了,c语言强大,但语法简单,入门容易,但熟练比较难。所以一般学校都从c语言开始教。C#容易上手。简单易用。
追问
太给力了,你的回答完美解决了我的问题!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
揭戈雅s2
2013-09-11 · TA获得超过514个赞
知道小有建树答主
回答量:8621
采纳率:0%
帮助的人:2324万
展开全部
c#面向对象 组件也多 c面向过程的 两者我都可以教你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式