c语言与c++ c#的区别

近期在学习c#编程基础,而之前有了解过c语言,这不禁让我疑惑:c语言与c++、c#有什么区别呢?

经过查询资料,我总结出他们之间的不同:

C/C++/C#准确的说,是三种语言。

C语言既具有高级语言的特点,又具有汇编语言的特点。C面向过程,开发非托管程序,编译成exe是二进制可执行文件,不可跨平台。C语言的源代码基本上可以非常容易地对应到汇编代码,而且可以不需要什么运行时环境的支持。C的特点,简单容易编译,灵活贴近底层。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统开发。

C++它是一种使用非常广泛的计算机编程语言。C++面向对象,开发托管和非托管程序,编译成exe是二进制可执行文件,不可跨平台。C++是一种静态数据类型检查的,支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、制作图标等等泛型程序设计等多种程序设计风格。

C#是微软公司发布的一种面向对象的、运行于.NETFramework之上的高级程序设计语言。C#面向对象,开发托管程序,编译成exe是中间语言,需要在。C#的特点就是:抽象层次高且基本只有一种(面向对象的),运行时支持丰富(垃圾回收等),类库丰富。所以它就是好学,易用,同时兼顾运行效率,尽量优化。说起这个,并不是说越高级的语言就越慢,运行时性能跟很多东西有关。NET平台上进行二次动态编译,之后才能执行,可跨平台。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NETwindows网络框架的主角。

原文地址:https://www.cnblogs.com/zms-cyh/p/9280722.html

时间: 2024-10-12 09:18:35

c语言与c++ c#的区别的相关文章

C语言各种存储模式的区别?最常用的存储模式有哪些?

DOS用一种段地址结构来编址计算机的内存,每一个物理内存位置都有一个可通过段地址一偏移量的方式来访问的相关地址.为了支持这种段地址结构,大多数C编译程序都允许你用以下6种存储模式来创建程序: -----------------------------------------------------------------------   存储模式              限制                    所用指针 -----------------------------------

动态样式语言Sass&Less介绍与区别

一. Sass/Scss&Less是什么? Sass (Syntactically Awesome Stylesheets)是一种动态样式语言,语法跟css一样(但多了些功能),比css好写,而且更容易阅读.Sass语法类似与Haml,属于缩排语法(makeup),用意就是为了快速写Html和Css. Less一种动态样式语言. 将CSS赋予了动态语言的特性,如变量,继承,运算, 函数. LESS 既可以在客户端上运行 (支持IE 6+, Webkit, Firefox),也可一在服务端运行 (

opencv的C语言接口和C++接口区别(入门篇)

opencv是一个开源的图像处理库,最经典的1.0版本提供的接口都是C语言接口.后来的opencv2.x版本保留了C语言接口,但是提供了C++接口,其中的C语言接口只是为了向后兼容,而C++接口才是大势所趋.那么这两者有什么区别呢?今天介绍一下配置过程中的区别. 以opencv2.3.0和vs2008为例,配置时,先要配置包含文件和库文件,然后在系统变量path中添加dll文件,最后再项目属性中添加附加依赖库.我平时用的功能不多,一般添加这几项opencv_core230.lib,opencv_

C语言 a和&a的区别

节选自<C语言深度剖析> 首先看个例子 main() { int a[5]={1,2,3,4,5}; int *ptr=(int *)(&a+1); printf("%d,%d",*(a+1),*(ptr-1)); // 2 5 } &a: 取数组a的首地址,&a之后+1,是加一个数组的长度,此处是+1*5*sizeof(int),即指向下一个数组首地址 . a: 数组首元素的首地址,即a[0]的首地址,a+1是加一个元素的长度即 sizeof(in

C语言堆和栈的区别

一.预备知识—程序的内存分配    一个由C/C++编译的程序占用的内存分为以下几个部分    1.栈区(stack)—   由编译器自动分配释放   ,存放函数的参数值,局部变量的值等.其    操作方式类似于数据结构中的栈.    2.堆区(heap)   —   一般由程序员分配释放,   若程序员不释放,程序结束时可能由OS回    收   .注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵.    3.全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的

(C语言)数组与指针的区别

以前常常听过这种说法,说数组和指针这两者比较像,但是不能混淆,可是一直没能理解.刚刚在李云的<专业嵌入式软件开发>中,看了讲述数组与指针区别的一章,似乎有所领悟.本着知乎上看到的这张图,我试着将自己的理解写一些. 首先需要了解数组和指针的工作模式. 数组: char name[] = {'T', 'o', 'n', 'y', '\0'}; 此时,这个数组的地址是这样的.其中name指向数组的开头: 指针: char name[] = {'T', 'o', 'n', 'y', '\0'}; ch

C语言——strlen()和sizeof的区别

strlen()和sizeof()的区别: strlen()——>C字符串库函数,返回字符串的真实长度.它是从内存某位置开始扫描,直到碰到结束符'\0'停止,返回计数器值. sizeof()——>操作符,返回的是变量声明后“占用”的内存大小,可能不是实际大小. int num; sizeof(num);  返回num占用内存大小.也可写作sizeof num (当后面是变量名时,可不加括号.) sizeof(int);  返回int型数据占用内存大小.(当后面是类型名时,一定要加括号.) 下面

php和其他语言语法上的一些区别

1.php语言标记 在php.ini文件中将short_open_tag设置为on,php将会识别<?     ?>语言标记 2.php语言注释 // # /* */   多行注释 3.可变变量 <?php $var="php"; $php="php100.com"; echo $var;   //输出结果为php echo $$var;  //输出结果为php100.com ?> 4.字符串 <?php $title='php100'

php语言结构与函数的区别

相信大家经常看到对比一些PHP应用中,说用isset() 替换 strlen(),isset比strlen执行速度快等. 例子: if ( isset($username[5]) ) { // The username is at least six characters long. } 原因是isset是语言结构,而strlen是一个函数.那什么是语言结构呢?它和函数有什么不同吗? 1. 什么是语言结构和函数 语言结构:就是PHP语言的关键词,语言语法的一部分:它不可以被用户定义或者添加到语言