2 min de lectura

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:

Mientras que en lenguaje C++ el anterior es válido, pero también es válido:

 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:

Mientras que en lenguaje C++ sería:

 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++.
¿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.

19 COMENTARIOS

  1. 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).

  2. 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

Deja tus comentarios

This site uses Akismet to reduce spam. Learn how your comment data is processed.