好多0基础的学员想入门编程,都在纠结是先学C还是先学C++呢?我们先了解一下C和C++的一些区别吧。
一、C语言是面向过程语言,而C++是面向对象语言
我们都知道C语言是面向过程语言,而C++是面向对象语言,说C和C++的区别,也就是在比较面向过程和面向对象的区别。
(1)面向过程和面向对象的区别
面向过程:面向过程编程就是分析出解决问题的步骤,然后把这些步骤一步一步的实现,使用的时候一个一个的依次调用就可以了。
面向对象:面向对象编程就是把问题分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在整个解决问题的步骤中的行为。
(2)面向过程和面向对象的优缺点
面向过程语言
优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、 Linux/Unix等一般采用面向过程开发,性能是最重要的因素。
缺点:没有面向对象易维护、易复用、易扩展
面向对象语言
优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出的耦合的系统,使系统更加灵活、更加易于维护
缺点:性能比面向过程低。
二、具体语言上的区别
1、关键字的不同
C语言有32个关键字;
C++有63个关键字;
2、后缀名不同
C源文件后缀.c,C++源文件后缀.cpp,在VS中,如果在创建源文件时什么都不给,默认是.cpp。
3、返回值
C语言中,如果一个函数没有指定返回值类型,默认返回int类型;C++中,如果一个函数没有返回值则必须指定为void。
4、参数列表
在C语言中,函数没有指定参数列表时,默认可以接收任意多个参数;但在C++中,因为严格的参数类型检测,没有参数列表的函数,默认为 void,不接收任何参数。
5、缺省参数

本文探讨了是否需要先学习C语言再学习C++的问题,指出C是面向过程语言,而C++是面向对象语言。虽然理论上可以直接学C++,但有C语言基础会更有利于理解和掌握面向过程编程。两者在关键字、后缀名、返回值、参数列表和缺省参数等方面存在区别。建议学习者了解这些差异并考虑从C语言开始。
最低0.47元/天 解锁文章
2549





