对于刚学编程语言的小白来说,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++的区别及联系,希望你也能凭自己的努力,成为一个优秀的程序员。关注我,带你遨游代码世界!