Diferencias entre los lenguajes C y C++

Anuncio
Computación para ingenieros
M.I. Jaime Alfonso Reyes Cortés
Diferencias entre los lenguajes C y C++
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.
En la tabla 1 se muestran los dos tipos de archivo que se usan para los lenguajes C y C++,
respectivamente.
Archivo
Descripción
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.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.
Tabla 1. Archivos empleados en los lenguajes C y C++.
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.
Por ejemplo, el código en C++:
if((cx==0) and (dx!=0))
opc=1;
debería escribirse en C como:
if((cx==0) && (dx!=0))
opc=1;
También es común utilizar las funciones de C++ para mostrar en pantalla y para leer datos por vía
teclado.
Por ejemplo, en C++:
int a;
cin >> a;
cout << “El valor de a es “ << a << endl;
en C debería escribirse como:
Computación para ingenieros
M.I. Jaime Alfonso Reyes Cortés
int a;
scanf(“%i”, &a);
printf(“El valor de a es %i\n”,a);
También suele ser erróneo 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 invocación a funciones o
asignándoles una expresión compuesta, en cambio en C no es posible hacerlo.
Por ejemplo, en C++ se tiene el código:
int x = -2345;
int y = abs(x); //Se invoca a la función desde la declaración de la
//variable y su resultdado se le asigna a la variable y
y en C debería 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 línea y se le debe anteponer // antes de escribir el
comentario en esa línea y a cada una de las líneas que lleven comentario. En cambio los comentarios en
C son por bloque y se agrupan entre los símbolos /* y */; pueden contener uno o varios renglones,
como se observa en el código anterior.
Descargar