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.