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
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++.
¿Te gustó este artículo?
Si te gustó este artículo, te ha servido o aprendiste algo nuevo; compártelo en tus redes sociales o invítame un cafe.
[…] Diferencia entre C y C++ […]
[…] Diferencias entre C y C++ […]
Unas observaciones a cada punto
1.- También se pueden guardar como .cc
2.- Hay un error de dedo en ambos ejemplos, falta un paréntesis de apertura
3.- El “using namespace std”, está en el código de C, debería ir en el de C++
Muchas gracias, ya quedó corregido.
Lo de la extensión “cc” lo agregaré mañana con tiempo para poner la explicación 😉
De igual manera, sólo intentando complementar lo comentado, existen varias extensiones más para el lenguaje C++, las cuales pueden no ser muy usadas, por una u otra razón, como lo son:
1.- C: “C” mayúscula. Creo evidente que esta tiene problemas en los sistemas Windows, donde “prueba.C” y “prueba.c” son el mismo archivo (en el sistemas de archivos NTFS no hay diferencia práctica entre mayúsculas y minúsculas), además de que puede ser confundida con la extensión de C.
2.- “c++”
3.- “cxx”
Además, he de reconocer y aplaudir el buen trabajo al no nombrar a las bibliotecas como “librerías” (error común al traducir por como suena la palabra, no por lo que significa o su contexto).
Como comentario correctivo (y espero no equivocarme), en la declaración de bibliotecas del ejemplo 3 me parece que están al revés: stdio.h es quien en realidad contiene printf y scanf, mientras que es iostream la que contiene a cin y cout.
;D
Muchas gracias por notarlo 😉
creo que otro error en ese ejemplo es el uso de namespaces en C, estos son de C++ para el uso de cin-cout
Gracias por notarlo y hacérnoslo saber, ya quedó corregido
Yahir Lopez liked this on Facebook.
Ivonne Macías liked this on Facebook.
Oscar Eduardo Maciel Castillo liked this on Facebook.
Alejandro Villa Reyes liked this on Facebook.
Jonathan Misael Velasco González liked this on Facebook.
Piper Blood liked this on Facebook.
Gabriel Delgadillo liked this on Facebook.
La diferencia son las ++, ¿que no?
David Salas Ramírez liked this on Facebook.
Celeste Judith liked this on Facebook.