Está en la página 1de 4

Ventajas de C - Enorme flexibilidad y adaptabilidad. - Compiladores pequeos y fciles de transportar. - Concisin en la sintaxis. - Hecho por y para programadores.

- xito de UNIX, distribucin gratuita en ambientes universitarios. - Eficiencia en la produccin de cdigo objeto. - Amplio juego de operadores. - Auge de los Pcs y compiladores para DOS y WINDOWS. Desventajas de C - No se comprueban los lmites de los vectores. - La precedendia de los operadores no es siempre intuitiva. - La sintaxis puede llegar a ser demasiado concisa. Caractersticas del Lenguaje C - Lenguaje de nivel medio. - Muy portable. - No es en lenguaje de tipos fuertes. - Tiene pocas palabras reservadas. - Es un lenguaje estructurado. - Es un lenguaje para programadores. - Ventajas con respecto a ensamblador: - Ensamblador es dificil para trabajar en desarrollo, mantenimiento y depuracin. - Ensamblador no es estructurado. - Ensambiador no es portable entre mquinas con unidades de procesamiento central(UPC) diferentes. - Portable. Hay compiladores para casi todas las mquinas. - Lenguaje eficiente. - Es un lenguaje COMPILADO. Diferencia entre lenguaje compilado e interpretado. La forma de ejecutar un programa no viene definida por el lenguaje en el que se haya escrito. Los intrpretes y compiladores son simplemente programas sofisticados que trabajan sobre el cdigo fuente del programa. Un intrprete lee el cdigo fuente del programa LINEA a LINEA, realiza las instrucciones especficas contenidas en esa lnea y, a continuacin, pasa a la siguiente lnea. Un compilador lee el programa entero y lo convierte en cdigo objeto, que es una traduccin del cdigo fuente del programa a un formato que puede ejecutar directamente la computadora. El cdigo objeto tambin se denomina cdigo binario y cdigo mquina. Una vez compilado un programa, una lnea de cdigo fuente deja de tener significado en la ejecucin del programa. Cuando se utiliza un intrprete, el cdigo fuente debera estar presente cada vez que se quiere ejecutar el programa. el intrprete de BASIC examina el programa lnea a lnea, para ver si es correcta, y a continuacin la ejecuta. Este lento proceso se realiza cada vez que se ejecuta el programa. Por contra, un compilador convierte un programa a cdigo objeto que puede ejecutar directamente la computadora. Debido a que el compilador traduce el programa una sola vez, lo nico que hay que hacer es ejecutarlo directamente, normalmente mediante el simple proceso de escribir su nombre. Por tanto, la compilacin slo se realiza una sola vez.

Tipos de datos Existen 5 tipos de datos: char, int, float, double y void. Void se puede usar en 3 casos: 1. Para declarar explcitamente el tipo de una funcin que no devuelve ningn valor. 2. Para declarar explcitamente una funcin que no tiene parmetros. 3. Para crear punteros genricos. Modificadores de tipo. A excepcin del tipo void, pueden aadirse distintos modificadores precediendo a los tipos de datos bsicos. Un modificador se utiliza para alterar el significado del tipo bsico para que se ajuste de manera ms precisa a las necesidades de cada situacin. Tales modificadores son: signed, unsigned, long y short. - Todos ellos se pueden aplicar a los tipos enteros base. - Se puede aplicar unsigned y signed a los caracteres. - Se puede aplicar long al tipo double. - La utilizacin de signed sobre enteros es redundante (pero permitida) debido a que la declaracin por omisin del entero asume un nmero con signo. Lo mismo ocurre cuando se aplica al tipo char. Operadores. Una caracterstica del lenguaje C es la cantidad de variedad de operadores que tiene, es decir, smbolos que operan sobre operandos (objetos) para producir los valores deseados. Cualquier combinacin vlida de operadores con los operandos necesarios constituye una expresin; una expresin completa que finaliza en un punto y coma es una sentencia y una serie de sentencias componen un programa. El menos unario(-), en realidad, multiplica su nico operando por -1. Esto es, cualquier nmero precedido por un signo menos cambia su signo. Cuando se aplica / a un entero o a un carcter, se trunca el resto de la divisin, es decir, se obtiene la divisin entera; por ejemplo, la divisin entera de 10/3 es igual a 3. Cuando se aplica / a un entero o a un carcter, se trunca el resto de la divisin, es decir, se obtiene la divisin entera; por ejemplo, la divisin entera de 10/3 es igual a 3. El operador mdulo de la divisin(%) tambin funciona en C de la forma en que lo hace en otros lenguajes: la operacin mdulo de la divisin calcula el resto de una divisin entera. Sin embargo, % no se puede utilizar sobre los tipos float o double. Operadores a nivel de bit & | ^ >> << Y O O exclusivo (XOR) Complemento a uno Desplazamiento a la derecha (divide por 2) Desplazamiento a la izquierda (multiplica por 2)

Estos son la comprobacin, configuracin o desplazamiento de los bits actuales de un byte o una palabra, que se corresponden con los tipos de datos char e int (NUNCA con los tipos float, double, long double y void). El operador en tiempo de compilacin sizeof. sizeof es un operador unario en tiempo de compilacin que devuelve la longitud en bytes, de la variable o el especificador de tipo encerrado entre parntesis al que precede. La utilidad principal de sizeof es ayudar a generar cdigo portable cuando dicho cdigo depende del tamao de los tipos de datos incluidos en C. Cadena de caracteres En C no existe el tipo cadena y por ello hay que declararla como un array de tipo char. Ocupando la ltima posicin del array el compilador del C (o el programador) coloca el carcter nulo \0 (cdigo ASCII = 0) para indicar el final de la cadena de caracteres. Por esta razn, para declarar arrays de caracteres es necesario que la longitud del array tenga un carcter ms que la cadena ms larga que pueda almacenar. La funcin strlen() nos informa de la longitud de una tira en caracteres, y si es un variable, deja de contar al llegar al carcter nulo, no importando si se ha declarado una longitud mayor. Por su parte, el operador sizeof nos facilitar la longitud del array, o sea, el valor indicado en su declaracin, o bien, en caso de definir una cadena (constante) en el encabezamiento, contar su longitud, incluyendo el carcter nulo. Conversin de tipo en asignaciones. El valor de la parte derecha (expresin) de la asignacin se convierte al tipo de la parte izquierda (variable destino). Especificadores de formato de printf().

Modificadores Se colocan entre el smbolo % y el carcter que define el tipo de conversin: