Você está na página 1de 2

Computacin para ingenieros

M.I. Jaime Alfonso Reyes Corts

Diferencias entre los lenguajes C y C++


La primera diferencia fundamental es la extensin 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.
En la tabla 1 se muestran los dos tipos de archivo que se usan para los lenguajes C y C++,
respectivamente.
Archivo

Descripcin
La extensin .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.c

programa.cpp

La extensin .cpp hace referencia a los archivos que se


encuentran en lenguaje C++.
El compilador se torna ms flexible y permite que se usen
instrucciones tanto en lenguaje C como en C++.
Si no especificas una extensin en tu archivo cuando lo
guardes el compilador tomar por default la extensin .cpp.

Tabla 1. Archivos empleados en los lenguajes C y C++.

Es muy comn usar en expresiones lgicas los operadores and, or o not en lugar de &&, || y !. Los
primeros corresponden a C++ y los segundos a C.
Por ejemplo, el cdigo en C++:
if((cx==0) and (dx!=0))
opc=1;

debera escribirse en C como:


if((cx==0) && (dx!=0))
opc=1;

Tambin es comn utilizar las funciones de C++ para mostrar en pantalla y para leer datos por va
teclado.
Por ejemplo, en C++:
int a;
cin >> a;
cout << El valor de a es << a << endl;

en C debera escribirse como:

Computacin para ingenieros

M.I. Jaime Alfonso Reyes Corts

int a;
scanf(%i, &a);
printf(El valor de a es %i\n,a);
Tambin suele ser errneo el querer sustituir endl, que es de C++ por '\n', que es de C.

En C++ se pueden declarar variables y asignarles valores iniciales haciendo invocacin a funciones o
asignndoles una expresin compuesta, en cambio en C no es posible hacerlo.
Por ejemplo, en C++ se tiene el cdigo:
int x = -2345;
int y = abs(x); //Se invoca a la funcin desde la declaracin de la
//variable y su resultdado se le asigna a la variable y

y en C debera ser:
int x = -2345, y; /*Primero se declaran las variables y luego se invocan
las funciones que se vayan a utilizar*/
y = abs(x);

Un error que ocurre frecuentemente es confundir entre los comentarios de C++ y de C y hacer uso de
ellos. Los comentarios de C++ son solamente por lnea y se le debe anteponer // antes de escribir el
comentario en esa lnea y a cada una de las lneas que lleven comentario. En cambio los comentarios en
C son por bloque y se agrupan entre los smbolos /* y */; pueden contener uno o varios renglones,
como se observa en el cdigo anterior.