**1.c和c++的头文件不同:**
c的头文件------#include<stdio.h>
c++的头文件---#include<iostream>(输入输出流文件)
**2.输入输出不同:**
输入:
int i = 10;
c:scanf("%d",&i)(需要注意输入的变量类型)
c++:cin>>i(不需要注意变量类型)
输出:
c:printf("%d ",i)(需要注意输出的变量类型)
c++:cout<<i<<endl(不需要注意输出类型)
**3.变量的声明定义不同:**
c语言:变量要放在语句之前定义,否则会报错
c++:变量随用随定义,方便灵巧
**4.命名空间:**
c语言:没有命名空间
c++:有命名空间:using namespace std(可以防止函数出现相同的情况)
**5.函数重载:**
c语言:不支持函数重载
c++:支持函数重载(条件:参数个数不同,或者参数类型不同)
**6.自定义类型:**
c语言:使用结构体,结构体不能为空(为空无意义),不可以定义class类
c++:使用class类定义对象,且class类可以为空,也可以定义结构体
**7.兼容性分析:**
c语言不兼容c++ c++兼容c语言
**8.c语言面向过程,主要是以函数为主;c++面向对象,主要是以类为主**