Respuestas
Hay una infinidad de diferencias pero las principales son que C es un lenguaje de bajo nivel que te permite manipular la memoria del sistema, C++ incorpora el paradigma de lenguaje orientado a objetos, o sea, C++ tiene clases y C no.
C++ tiene operadores relacionales al estilo de Python, || es lo mismo que or y && es lo mismo que and.
Las librerías estandar que se utilizan también cambian un poco.
Los programas escritos en C solían ser retrocompatibles con C++ pero los de C++ no lo son ni lo eran con C. A día de hoy ya no lo son pero si una gran mayoría del contenido.
Entender la diferencia entre C y C++, a pesar de parecer para muchos un tema sencillo, es una pregunta muy común entre estudiantes y personas que apenas comienzan a aprender del mundo de la programación. El gran conflicto surge cuando no se les ha hecho notar la diferencia entre C y C++
Diferencia 1: La extensión del archivo
Los archivos de C se guardan con extensión c, ejemplo practica.c mientras que los archivos de C++ se guardan con extensión cpp (c plus plus), ejemplo practica.cpp.
Diferencia 2: Operadores lógicos
Los conocidos operadores lógicos AND, OR y NOT pueden ser utilizados como palabras en el lenguaje C++ o como operadores, mientras que en C deben utilizarse únicamente los operadores &&, || y ! En lenguaje C sería:
1
2
3
4
if ( ( a == b ) || ( a == c) )
{
...
}
Mientras que en lenguaje C++ el anterior es válido, pero también es válido:
1
2
3
4
if ( ( a == b ) or ( a == c) )
{
...
}
Diferencia 3: Los flujos de entrada y salida
En C se utilizan las funciones printf y scanf para los flujos IO (input/output), mientras que en C++ se utiliza cout y cin En lenguaje C sería:
1
2
3
4
5
6
7
8
9
#include <stdio.h>
int main()
{
int numero;
scanf("%i",&numero);
printf("El numero es %i \n",numero);
return 0;
}
Mientras que en lenguaje C++ sería:
1
2
3
4
5
6
7
8
9
#include <iostream>
using namespace std;
int main()
{
int numero;
cin >> numero;
cout << "El numero es " << numero << endl;
return 0;
}
Diferencia 4: Uso de clases
En el paradigma de programación orientada a objetos, se hace uso de Clases, y el lenguaje C no tiene soporte para ello, pero C++ si lo tiene you dont have class
Diferencia 5: Las bibliotecas
Las bibliotecas en C terminan con h (son headers). Esas mismas bibliotecas sirven para C++ pero por convención, se elimina la terminación ‘.h’ y mejor se agrega ‘c’ al principio.
En C En C++
math.h cmath
time.h ctime
Como puedes ver la diferencia entre C y C++ es variada, y existen muchas mas diferencias entre estos dos lenguajes de programación. Considero que estos son los mas importantes si estas aprendiendo ambos lenguajes, o si estas migrando de C hacia C++.