C(c)和C++与实例语言(c++ with examples | programming languages)的区别

C和C++是两种不同的计算机程序设计语言。C最初由at&的丹尼斯•里奇开发;T Bell实验室在1969到1973之间。C++是另一种通用编程语言。它是从最初的C语言发展而来的。它是由Bjarne Stroustrup在贝尔实验室从1979开始开发的,C++最初是用C类命名的,因为它是基于C.的。它在1983被改名为C++。...
关键区别:C和C++是两种不同的计算机编程语言。C++是用C语言开发的;然而,它们在性质上是完全不同的。最明显的区别是C是面向过程的语言,而C++支持程序和面向对象的编程,因此它通常被称为混合语言。

 

C和C++是两种不同的计算机程序设计语言。C最初由at&的丹尼斯•里奇开发;T Bell实验室在1969到1973之间。C++是另一种通用编程语言。它是从最初的C语言发展而来的。它是由Bjarne Stroustrup在贝尔实验室从1979开始开发的,C++最初是用C类命名的,因为它是基于C.的。它在1983被改名为C++。

C(c)和C++与实例语言(c++ with examples | programming languages)的区别

C是目前使用最古老的编程语言之一,也是使用最广泛的编程语言之一。它一直在以前用汇编语言编写的应用程序中使用。这包括UNIX计算机操作系统。C还直接或间接地影响了许多后来的编程语言,如C#、D、Go、Java、JavaScript、Limbo、LPC、Perl、PHP、Python和Unix的C shell。尽管有这些新语言,C仍然是一种流行的编程语言。

C++最初是作为C语言的增强而开始的。它被设计成与C源和链接兼容。然而,它添加了类、虚拟函数、运算符重载、多重继承、模板、异常处理等。最终,它发展到足以被视为一种编程语言。它最初于1998年被批准为ISO/IEC 14882:1998认证的编程语言。现在,C++通常被用于硬件设计。

C是一种使用分号(;)的通用编程语言作为语句终止符,以及大括号({}),用于对语句块进行分组。它具有结构化编程的工具,其设计提供了能够有效映射到典型机器指令的结构。它还允许词法变量作用域和递归,并具有静态类型系统,可防止许多意外操作。

然而,与C++相比,C有很多局限性。因为C不是面向对象的,所以它不支持OOPS概念。C不支持函数和运算符重载。它不能在结构内部使用函数。它不支持虚拟函数和引用变量,也不支持异常处理。它也不支持引用变量。此外,C也不封装或数据安全。相比之下,C++支持所有这些特征。

此外,C不支持命名空间特征,而C++则支持。命名空间是一个确定的区域,它允许对标识符(类型、函数、变量等的名称)进行分组。然后可以使用名称空间将代码组织成逻辑组,并防止名称冲突。当代码库包含多个库时,这尤其有用,这在理想情况下会使代码容易发生名称冲突。

C(c)和C++与实例语言(c++ with examples | programming languages)的区别

这两种语言在地址存储功能、输入输出和GUI编程的方式上也有所不同。例如,C使用CalOrthe()、MalCube()和For()函数来分配和分配内存,而C++则使用新的和删除。C使用SCANF()和Primff()进行输入和输出,而C++使用CIN >和CUT< <运算符。C支持GUI工具,用于GUI编程,而C++支持Qt工具用于GUI编程。另一个区别是,C需要一个声明程序顶部的所有变量,而C++中,变量可以在程序中的任何地方声明。

此外,C++通常被认为更容易学习,因为它比C更友好。C++还有很多附加功能,使得编码更容易,尤其是对于C框架新手来说。然而,许多人声称这确实很重要。这两种语言差别很大,事实上它们可以是两种相互独立的语言。要记住的是C比C++更结构化,而C++被设计成比C更具表达性和抽象性。

C与C++的比较:

 

C C++
成立 由美国电话电报公司的丹尼斯·里奇开发;1969年至1973年间,T贝尔实验室。 1979年由贝尔实验室的比亚恩·斯特劳斯特鲁普开发。
源代码 自由格式程序源代码 最初是由C语言开发的
语言 面向过程语言 支持过程和面向对象编程范式;因此,它通常被称为混合语言。
接近 遵循自上而下的方法。 遵循自下而上的方法。
关系 C是C++的子集。它不能运行C++代码。 C++是C的超集。C++可以运行大部分C代码,而C不能运行C++代码。
驱动器 函数驱动语言 对象驱动语言
福库斯 专注于方法或过程而不是数据。 关注数据而不是方法或过程。
积木 功能 物体
关键词 包含32个关键字 包含52个关键字
面向对象的概念 由于C语言是面向过程的语言,它不支持面向对象的概念,如类、对象、继承、多态性、数据隐藏等。 C++作为一种面向对象语言,支持类、对象、数据隐藏、多态、继承、抽象等。
功能 不支持函数和运算符重载。无法在结构内使用函数不支持虚拟函数和引用变量不支持异常处理不支持引用变量不具有命名空间功能可以通过其他函数调用main()函数 支持函数和运算符重载。可以使用结构中的函数支持虚拟函数;引用变量。支持使用try和catch块处理异常。异常用于使代码不正确的“硬”错误。支持引用变量使用命名空间功能以避免名称冲突。不能通过其他函数调用main()函数。
记忆功能 使用calloc()、malloc()和free()函数来分配和取消分配内存。 将运算符new和delete用于相同的目的。
封装 不支持。数据和函数是独立的自由实体。 支持封装。数据和函数以对象的形式封装在一起。对象类提供对象结构的蓝图。
信息隐藏 C不支持信息隐藏。在这里,数据是自由实体,可以被外部代码操纵。 封装隐藏数据以确保数据结构和运算符按预期使用。
数据 支持内置和基本数据类型。由于非面向对象,数据不受保护 支持内置和用户定义的数据类型。数据在C++中被保护(隐藏)
水平 低级语言 中级语言
输入输出 “C”语言使用scanf()和printf()进行输入和输出。 “C++”语言使用CIN & GT;燃气轮机;和cout&lt&书信电报;输入和输出运算符。
变量声明 C需要在程序顶部声明所有变量。 在C++中,变量可以在使用之前在程序中的任何地方声明。
多重声明 允许多个全局变量声明。 不允许多次声明全局变量。
映射 数据和函数之间的映射既困难又复杂。 数据和函数之间的映射可以使用“对象”
GUI编程 C支持用于GUI编程的GTK工具 C++支持Qt工具的GUI编程
继承 继承在C中是不可能的 C++中继承是可能的
文件扩展名 文件扩展名为.c 文件扩展名为.cpp
默认头文件 C语言中使用的默认头文件是stdio.h C++中使用的默认头文件是IOSTAUTH。

 

C和C++之间的一些差异示例:

示例 C C++
变量声明 仅在顶部:int i;对于(i=10;我&lt;10; i++) 程序中的任意位置:for(int i=10;我&lt;10; i++)
内存分配 Malloc:int*x=Malloc(sizeof(int));int*x_array=malloc(sizeof(int)*10); 新:int*x=新int;int*x_数组=新int[10];
释放内存 自由:自由(x);free(x_数组); 删除:删除x;删除[]x_数组;

 

  • 发表于 2021-07-13 05:40
  • 阅读 ( 197 )
  • 分类:通用

你可能感兴趣的文章

翻译(translator)和程序设计语言中的解释器(interpreter in programming language)的区别

...、编程   什么是程序设计语言中的翻译器(a translator in programming language)? 翻译人员将程序从一种语言转换成另一种语言。有各种类型的翻译器,如编译器、解释器和汇编程序。编译器将整个高级语言源代码转换为机器代码。如...

  • 发布于 2021-06-30 18:15
  • 阅读 ( 355 )

脚本语言(scripting language)和程序设计语言(programming language)的区别

...l、PHP、Python和Ruby就是一些例子。 什么是程序设计语言(a programming language)? 程序设计语言是一种正式的语言,可以用来创建计算机程序来指示计算机执行任务。编程语言可以是高级语言,也可以是低级语言。 高级语言更易于程...

  • 发布于 2021-07-01 02:49
  • 阅读 ( 258 )

标记语言(markup language)和程序设计语言(programming language)的区别

...XML解析器用于解析这些XHTML文档。 什么是程序设计语言(a programming language)? 编程语言是一种形式化语言,它包含一组用于创建软件程序的命令和语法。这些程序可以执行特定的任务。编程语言主要分为两部分。它们是高级语言...

  • 发布于 2021-07-01 02:50
  • 阅读 ( 632 )

打破(break)和在C++中继续(continue in c++)的区别

...件将传递到循环后的下一行。示例程序如下。 Figure 1: C++ program with break 根据上面的程序,for循环从1迭代到5,当“i”值变为4时,测试条件变为真。因此,执行break语句,循环终止。当“i”为4时循环终止,3之后的值将不会打印...

  • 发布于 2021-07-01 04:32
  • 阅读 ( 231 )

新的(new)和C++中删除运算符(delete operator in c++)的区别

... c++)? 新操作符分配内存。请参阅以下程序。 Figure 1: C++ program 1 with new operator 根据上述程序,ptr是整数型指针。在第7行中,ptr指向int类型内存。在第8行中,指向的值ptr变为10。打印*p将给出值10。 类似地,可以按如下方式使用ne...

  • 发布于 2021-07-01 04:35
  • 阅读 ( 179 )

C++(c++)和JAVA(java)的区别

...). So, Java is platform independent. Moreover, Java supports object orient programming. Therefore, it is easier to model real-world scenarios in computing. Java提供了一个垃圾收集器。它会自动销毁未使用的对象,以提高内存管理效率。通常,运行垃圾收集器是一...

  • 发布于 2021-07-01 07:51
  • 阅读 ( 332 )

指针(pointer)和参考(reference)的区别

...程序员可以访问值。下面是一个简单的例子。 Figure 1: C++ program with pointer 变量“x”保存值50。ptr是指向整数的指针。在第9行中,ptr被分配变量x的地址。现在ptr指向x。打印ptr所指的值得到x的值,即50。 什么是参考(reference)? 引...

  • 发布于 2021-07-01 08:03
  • 阅读 ( 375 )

结构(structure)和C++类(class in c++)的区别

...执行所需的任务。具有结构的程序示例如下。 Figure 1: C++ program with structure 如上图所示,有一个名为Book的结构。它包含三个属性:标题、作者和页面。在main方法中,有一个结构类型变量b。“strcpy”函数有助于将字符串复制到titl...

  • 发布于 2021-07-01 09:32
  • 阅读 ( 582 )

静止的(static)和C++中的常量函数(constant function in c++)的区别

...区别 定义 静态函数是一个成员函数,它允许在不使用类实例的情况下使用类访问函数。常量函数是在程序中声明为常量的成员函数。因此,这是C++中静态函数与常数函数的主要区别。 关键词 静态函数使用“static”关键字,而...

  • 发布于 2021-07-01 09:34
  • 阅读 ( 272 )

高密度脂蛋白(hdl)和软件语言(software language)的区别

...实体。通常,VHDL比Verilog复杂。 什么是软件语言(software language)? 软件语言有助于开发日常软件应用程序。软件语言有两种类型:高级语言和低级语言。高级语言遵循与英语相似的语法。程序员更容易阅读、理解和编写它们。java...

  • 发布于 2021-07-01 11:34
  • 阅读 ( 330 )
jl9dfj
jl9dfj

0 篇文章

相关推荐