Entre los lenguajes C y C++ parecería lógico decir que no son muchas las diferencias ya que uno esta basado en el otro, pero la verdad no es así, hay algunas cuantas que por lo menos es fácil distinguirlas a simple vista.
La primera diferencia fundamental es la extensión con la que se guardan los archivos ya que los compiladores se ayudan de estas extensiones para identificar el lenguaje con el que se está trabajando, ejemplo:
programa.c : La extensión .c hace referencia a los archivos que se encuentran en lenguaje C. Restringe al compilador para que emplee solamente el lenguaje C y no permita instrucciones en lenguaje C++.
programa.cpp : La extensión .cpp hace referencia a los archivos que se encuentran en lenguaje C++. El compilador se torna más flexible y permite que se usen instrucciones tanto en lenguaje C como en C++. Si no especificas una extensión en tu archivo cuando lo guardes el compilador tomará por default la extensión .cpp.
Es muy común usar en expresiones lógicas los operadores and, or o not en lugar de &&, || y !. Los primeros corresponden a C++ y los segundos a C.
Otra diferencia muy notable es los flujos de entrada y de salida:
Por ejemplo, en C++:
int a;
cin>>a;
cout<<“el valor de a es”<<a<<endl;
en C debería escribirse como
int a;
scanf(“%i”, &a);
printf(“El valor de a es %i\n”,a);
El uso de diferentes bibliotecas y sobre todo la diferencia entre la terminación en las mismas es otra característica diferente en las 2 por ejemplo:
En C se utiliza math.h y time.h mientras que en C++ se utilizan cmath y ctime respectivamente.
También suele ser erróneo el querer sustituir endl, que es de C++ por ‘\n’, que es de C.
Y por ultimo la principal diferencia entre esos 2 lenguajes es que C++ esta orientado a objetos y se hace uso de clases, en cambio C es un lenguaje totalmente secuencial.
Estas son solo algunas de las muchas posibles diferencias que pueden existir entre estos 2 lenguajes, no obstante aun teniendo diferencias son aun mas las similitudes que posee uno del otro ya que C++ se deriva de C; a gran escala estas son las diferencias que como principiante en programacion debes conocer.