C, C++,C#的区别与联系

2016年10月23日 20:41:14                     杨晓慧-Hepburn                     阅读数 2447                                                                                                    

                                                版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接: https://blog.csdn.net/YYZZHC999/article/details/52904295                

开始学C#了,但一直很好奇C#,C++,还有C的关系,因为他们在名字上真的是很像的,所以他们之间一定有某种神秘的关系对不对?哈哈,我查了些资料,但是也是五花八门,仁者见仁智者见智,综合了一下,写了篇总结,分享给大家,如有错误欢迎大神斧正。

一、三者关系:继承关系是C>C++>C#

C++完全向C兼容,C程序几乎不用修改即可在C++的编译器上运行.C++也称为带类的C,在C的基础上增加了许多面向对象的概念.虽然是C的扩展,但并不意味着C功能不如C++,最牛的操作系统是用C写的(不是C++哦)~~ 
    C++是C语言的升级版,C是C++的子集,C是面向过程的,C++是面向对象的。 
    C#是微软弄的一个东东,继承了C和C++的许多东西,但和两者基本上已经完全不一样了.可以把它当作一种全新的语言来学. 
    C# 与 C++ 比较的话,最重要的特性就是 C# 是一种完全面向对象的语言,而 C++ 不是,另外 C# 是基于 IL 中间语言和 .NET Framework CLR 的,在可移植性,可维护性 和强壮性都比 C++ 有很大的改进 
    C# 的设计目标是用来开发快速稳定可扩展的应用程序,当然也可以通过 Interop 和 Pinvoke 完成一些底层操作,但是对于一些和底层系统相关很紧密的程序(譬如说驱动程序),还是建议用 C++ 来写 。

二、三者各自的特点:
     C语言是一种结构化编程语言,它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。它还可以直接访问内存的物理地址,进行位(bit)一级的操作。由于C语言实现了对硬件的编程操作,因此C语言集高级语言和低级语言的功能于一体。既可以用于系统软件的开发,也适合于应用软件的开发。此外,C语言还具有效率高,可移植性强等特点。因此广泛地移植到了各类各型计算机上,从而形成了多种版本的C语言。 
     C++是在C的基础上改进后的一种编程语言,主要是增添了许多新的功能,难度也比C大,和C一样侧重于计算机底层操作,也就是系统软件的开发。 VC++是一种编程软件,就相当于一个作业本,你学习了C++语言以后,就需要把这种编程语言写在一 个作业本上,也就是写在VC这种编程软件上,来实现你需要的效果。 
     C#是在C++的基础上再一次改进后的编程语言,C#语言是微软开发的完全面向对象的语言,C++并不是完全面向对象的。C#相比C++而言难度有所减小(微软是这么说的),侧重于网络和数据库编程。这3种都是编程语言,语法基本 上是一样的,不过具体的内容差别还是挺大的。

总结:
      学习编程语言是个循序渐进的过程,新的编程语言都是从旧的编程一步一步发展来的,类似于我们平常所说的巨人的肩膀上,如果我们不学旧的编程语言直接接触新的编程语言肯定比较难以理解,所以我们一定要把基础的东西学透彻了,理解基本概念了才能把握整体脉络,才能居高临下。


http://www.taodudu.cc/news/show-6718265.html

相关文章:

  • python全栈第21期_2019 Python最新基础入门(全栈21期)
  • SpringAop动态数据源实现
  • JAVA IO 包
  • 【Java基础】--05.java基本类型与包装类型
  • css/sass编码规范
  • 屏幕亮度理解
  • 如何防止低级问题导致的质量事故
  • PSCAD V4.6电路设计与仿真从入门到精通
  • PSCAD自动化库mhrc.automation安装及使用
  • 分布式电源(风电、光伏)对配电网保护的影响分析与仿真-电流速断保护-PSCAD、matlab
  • 【PSCAD学习笔记第一期】建立一个Bergeron Model
  • PSCAD通过python调用自动化库的实现
  • PSCAD中的单位系统
  • PSCAD安装后例程出现无法运行错误
  • 搜狐这个Firefox合法吗?
  • 给sohu到yahoo的那封邮件
  • 理解image.shape[:2]与image.shape[:3]
  • shape 和 size() 区别
  • python中shape[0]与shape[1]
  • numpy.shape的用法辨析shape[1:],shape[:-1]的区别
  • np.shape()的用法
  • Shape抽象类
  • python shape函数的用法
  • python的shape函数的用法
  • Python:shape函数用法
  • shape[0]、shape[1]、shape[2]代表了什么
  • Python中的shape[0]、shape[1]和shape[-1]含义
  • python中的shape[-1]与shape[0],shape[1]的含义,用法
  • 通用协议(五)两方安全计算
  • word 无法删除空白页

C、C++、C#的区别与联系相关推荐

  1. RPC 笔记(01)— RPC概念、调用流程、RPC 与 Restful API 区别

    1. 基本概念 PRC 远程过程调用 Remote Procedure Call,其就是一个节点请求另外一个节点提供的服务.当两个物理分离的子系统需要建立逻辑上的关联时,RPC 是牵线搭桥的常见技术手 ...

  2. C++ 笔记(28)— C++ 中 NULL和 nullptr 的区别

    最近看公司代码的时候发现在判断指针是否为空的时候,有的时候用的是 NULL, 有的时候用的是 nullptr 感觉很奇怪,好奇心驱使我查了下两者的区别,发现还是有很多细节需要学习的. 1. NULL ...

  3. gcc 和 g++ 的联系和区别,使用 gcc 编译 c++

    GCC 编译器已经为我们提供了调用它的接口,对于 C 语言或者 C++ 程序,可以通过执行 gcc 或者 g++ 指令来调用 GCC 编译器. 实际使用中我们更习惯使用 gcc 指令编译 C 语言程序 ...

  4. Python2 与 Python3 区别

    Python2.x 与 Python3.x 区别 1. print 函数 Python2 中 print 是语句(statement),Python3 中 print 则变成了函数.在 Python3 ...

  5. Docker 入门系列(1)- 初识容器,镜像、容器、仓库的区别

    Docker 简介 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发 ...

  6. HTTP 协议入门 — (TCP/IP协议族、通信传输流、URI 与 URL 的区别、Cookie 状态管理、HTTP 支持的方法、状态码类别、HTTP 首部字段)

    TCP/IP协议族 在介绍 HTTP 协议之前,我们先对 TCP/IP 协议族有个大概的了解,TCP/IP 协议从上到下主要分为应用层.传输层.网络层和数据链路层,各层的主要功能如下表所示: 协议层 ...

  7. python二进制打开(rb)和文本格式打开(r)什么区别?

    使用 open() 函数以文本格式打开文件和以二进制格式打开文件,唯一的区别是对文件中换行符的处理不同. 在 Windows 系统中,文件中用 "\r\n" 作为行末标识符(即换行 ...

  8. python中__dict__与dir()区别

    前言 Python下一切皆对象,每个对象都有多个属性(attribute),Python对属性有一套统一的管理方案. __dict__与dir()的区别: dir()是一个函数,返回的是list: _ ...

  9. java和C#面向对象的区别

    问题:C#中的构造函数和java的构造函数一样吗? 答: .net的项目中,写实体Entity属性时,经常会为每一个属性写一对get和set方法,在用到这个实体或是一个类时,通过new实例化一个对象, ...

  10. 判别模型和生成模型的区别

    20210703 https://www.zhihu.com/question/20446337 机器学习"判定模型"和"生成模型"有什么区别? 重点 http ...

最新文章

  1. java 多级级联菜单回显_详解element-ui级联菜单(城市三级联动菜单)和回显问题...
  2. iOS7以下设备获取mac地址
  3. 使用命令启动IIS管理器
  4. 深入浅出理解有限状态机
  5. Linux设备驱动程式之读书笔记(二) [转]
  6. CRI陆宵吴:夯实底层,音视频技术未来不远
  7. Animator动画XML实现
  8. NET问答: 如何取消或中止 Task 执行 ?
  9. jquery-ajax的同步与异步
  10. qbytearray初始化全0_【小白学PyTorch】4.构建模型三要素与权重初始化
  11. TCP协议中三次握手
  12. linux domino启动和停止命令,在unix平台中通过脚本来启动和停止domino和domino控制器所用的参数_lotus notes...
  13. HDOJ 1863畅通工程(最小生成树kruskal算法并查集实现)
  14. Flex利用Datagrid来设置全选和单选
  15. 开关电源电路图及原理12v分析-详细版
  16. 数商云DMS渠道商城系统全渠道营销场景应用举例,赋能日化行业增强渠道掌控力
  17. 南京大学计算机考研难度分析,2020考研难度高的院校分析之【南京大学】
  18. Android Studio 4.0 Image Asset 图标不能透明(记录)
  19. 去除影像黑边-修改影像背景值-比Envi影像去除黑边-ArcGIS去除影像黑边-好用
  20. 2021较全 腾讯云服务器安装宝塔面板建网站全过程(图文教程)

热门文章

  1. Mysql 学习笔记(快速复习)
  2. 电动助力转向系统国内外研究现状
  3. 计算机网络应用基础试题6,职称计算机考试精选题库计算机网络应用基础模块6...
  4. 多媒体数字化展厅中的3d全息投影设备,全息展示柜,全息投影柜,360幻影成像展示系统的区别?
  5. Win11系统个别软件中文乱码怎么办?
  6. MYSQL数据库字段关联_MySQL数据库基础——操作关系表、连接查询
  7. win10浏览器加载很慢_win10打开网页慢是什么原因?win10打开网页慢解决方法
  8. 《低等道路计算机设计视频教程,纬地低等级道路设计入门..doc
  9. 【计算机视觉 skimage 基本用法】
  10. python运算符解释_Python的运算符 (下)