0
收藏
微博
微信
复制链接

C语言和C++有什么不同?C语言和C++的区别和联系

2022-03-26 15:07
2965

对于刚学编程语言的小白来说,C语言是首选语言,再加上众多高校的计算机专业开设的第一节专业课是C语言,可以说没有C语言,就无法学好编程语言,谈到C语言,自然也绕不开C++,那么它们有什么不同?有什么区别和联系?

零基础学C语言?凡亿教育保驾护航

C语言完整体系课程实战

从C高级到征服C++

C语言历史悠久,是一门面向过程的、抽象画的通用程序设计语言,广泛应用在底层开发。C语言是由美国贝尔实验室的研究员在B语言基础上改造而成,后被移植到操作系统平台上,逐渐成为独立的程序设计语言。

C++是一种计算机高级程序设计语言,由C语言扩展升级而产生的,最早在1979年诞生。C++早期是在C语言的基础上改造而成的,是大于C语言的扩充和延伸,并对C语言提供后向兼容的能力。

C语言是面向过程的语言,C++是面向对象的编程语言。

面向过程:分析出解决问题的步骤,一步步实现这些步骤,使用时一个个地依次调用。优点是性能高(如Linux、Unix),缺点是维护难。

面向对象:将问题分解成各个对象,建立对象目的在于描述某个事物在整个解决问题的步骤中的行为。优点是易复用、易扩展、易维护,缺点是性能低。

C语言和C++的区别及联系

1、关键字

C语言有32个关键字;

C++有63个关键字;

2、后缀名

C语言源文件后缀名是.c;

C++源文件后缀名是.cpp;

3、返回值

C语言若没指定返回值类型,默认返回int类型;

C++若没指定返回值,返回值必须指定为void;

4、参数列表

C语言若没指定参数列表,默认可接收多个参数;

C++因严格的参数类型检测,没有参数列表的函数,默认为void,不接收任何参数。

5、缺省参数

C语言不支持缺省参数;

C++支持缺省参数;

6、函数重载

C语言产生函数符号的规则是根据名称产生,所以不存在函数重载的概念;

C++声称函数符号是考虑函数名、参数个数、参数类型,所以支持函数重载;

7、const

C语言中的const:被修饰后不能做左值,被const修饰的变量不是敞亮,叫常变量或只读变量,不可作为数组的下标,可通过指针修改;

C++中的const:真正的敞亮,定义时必须初始化,可用作数组的下标,也可通过指针修改,是C++对const的扩展。

8、作用域

C语言中的作用域只有两个,是局部和全局;

C++的作用域有三种,分别是局部作用域、类作用域、名字空间作用域;

9、指针和引用

C语言的函数传参是传值和传址;

C++新增“引用”函数传参方法。

10、命名空间

C++有大量的变量、函数和类等,这些存放在全局命名空间,为避免冲突,采用namespace关键字解决;

C语言没有命名空间。

11、输入与输出

C语言的输入输出是scanf和printf,在“stdio.h”头文件中定义;

C++的输入输出是cin和cout,在“iostream”头文件中定义。

以上是C语言和C++的区别及联系,希望你也能凭自己的努力,成为一个优秀的程序员。关注我,带你遨游代码世界!C语言和C++的区别及联系,希望你也能凭自己的努力,成为一个优秀的程序员。关注我,带你遨游代码世界!

登录后查看更多
0
评论 0
收藏
侵权举报
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表凡亿课堂立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。

热门评论0

相关文章

电路之家

专注电子、科技分享,对电子领域深入剖解

开班信息