初学C语言编程,很多人都会好奇
C语言和C++区别在哪里呢?
为什么会多了两个加号呢?
今天就来为大家科普一下,解决一直以来的疑惑
01
C语言是一个结构化语言,C程序的设计首要考虑的是如何通过一个过程,对输入进行运算处理得到输出。C++是一个开放标准,旨在实现速度、性能和关键性等目标的高性能系统。
C与C++的最大区别:在于它们用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。
02
C语言是面向过程语言,而C++是面向对象语言。
面向过程编程就是分析出解决问题的步骤,然后把这些步骤一步一步实现,使用的时候一个一个地一次调用。
面向对象编程就是把问题分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在整个解决问题的步骤中的行为。
用玩五子棋来举例:
面向过程:开始游戏,百子先走,绘制画面,判断输赢,轮到黑子, 绘制画面,判断输赢,重复过程,输出最终结果。
面向对象:黑白双方,棋盘系统,规定系统,输出系统。
03
C语言和C++有不同的关键字。我们常用的C语言是C89标准,有32个关键字。C++是C++99标准的,有63个关键字。一些关键字也有细微的区别。比如struct,在C语言中struct定义的变量中不能有函数,而在C++中可以有函数。
04
文件后缀名不同。C源文件后缀.c,而C++源文件后缀.cpp,在VS中,如果在创建源文件时什么都不给,则默认是.cpp。
05
返回值不同。在C中,如果一个函数没有指定返回值类型,则默认为int型。而在C++中,如果一个函数没有返回值则必须指定为void。
06
参数列表不同。在C中,如果一个函数没有指定参数列表,则默认可以接收任意多个参数。而在C++中,因为严格的参数类型检测,没有参数列表的函数,默认为void,不接收任何参数。
07
函数重载。函数重载是函数的一种特殊情况,指在同一作用域中,声明几个功能类似的同名函数,这些同名函数的形参列表必须不同,常用来处理实现功能类似数据类型不同的问题。C语言没有函数重载而C++支持函数重载。
08
C和C++中都有结构的概念,但是在C语言中结构只有成员变量,而没成员方法,而在C++的结构中,它可以有自己的成员变量和成员函数。
总的来说,C++是基于C语言发展而来,起初,语言并不支持面向对象,后来引入了面向对象的概念,即成了C++,C++是编译型语言,编译器将代码编译成机器码,一般用于追求高效的、底层的开发,例如单片机。
怎么样,看了上面的八点区别后,小可爱你明白了C语言和C++的区别了吗?
想了解更多有关C语言和C++的知识,欢迎关注微信公众号:C语言学习基地!