Lenguaje C
En este apunte se dará una introducción básica al lenguaje de programación C, asumiendo
un conocimiento previo de técnicas de programación en algún otro lenguaje.
1.
Características básicas del lenguaje
Se podría decir que el lenguaje de programación C es un lenguaje sencillo, fácil de cubrir
en poco tiempo, ya que tiene pocas palabras reservadas, y una bibliotecaestándar más acotada
que la de otros lenguajes.
Sin embargo, la especificación actual contiene 550 páginas 1 y es posible crear código extremadamento ofuscado 2 , de modo que no es realmente correcto decir que es sencillo.
C es un lenguaje de programación estructurado, de medio nivel, y muy portable. Esto se
debe a que el modelo de computadora que usa el lenguaje se puede ajustar a una gran variedadde equipos. A veces se lo considera como un lenguaje ensamblador de alto nivel, ya que
el programador suele tener que tener en cuenta detalles sobre cómo se representan los elementos del programa en la máquina, o manejar (pedir y liberar) los recursos del sistema desde el
código.
2.
Estándares del lenguaje
A lo largo de la historia se han desarrollado tres estándares principales.
K&R Elestándar publicado en la primera edición del libro ”El lenguaje de programación C”
de Kernighan y Ritchie.
C89 Publicado en la referencia estándar ANSI X3.159-1989 y luego en el estándar ISO/IEC
9899:1990, así como en la segunda edición del mismo libro.
C99 El último estándar ISO, publicado en 1999.
Si bien a esta altura la mayoría de los compiladores de C soportan prácticamente el estándarcompleto de C99 3 , una gran parte de código disponible utiliza todavía el estándar C89; es
por eso que en este apunte se hace especial distinción con aquellos detalles que pertencen al
estándar C99.
1
http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1256.pdf
http://www.ioccc.org/
3
http://gcc.gnu.org/c99status.html
2
1
3. Tipos básicos
3.
2
Tipos básicos
C cuenta conuna variedad de tipos numéricos. De estos, los tipos enteros pueden tomar los
modificadores signed o unsigned para indicar si son o no signados.
A continuación una tabla con los distintos tipos de C, ordenados según el espacio que ocupan en memoria.
bool Se agregó en C99. Puede contener los valores 0 y 1. Incluyendo la biblioteca
, se pueden utilizar los valores true y false (equivalentes a 1y 0 respectivamente).
char Tipo entero, por omisión unsigned, de tamaño de 1 byte.
short Tipo entero, por omisión signed, debe ocupar menos espacio o el mismo que int. En el
compilador gcc, arquitectura Intel 32 bits, mide 16 bits.
int Tipo entero, por omisión signed, es el tipo natural de la arquitectura. En el compilador
gcc, arquitectura Intel 32 bits, mide 32 bits.
long Tipo entero, poromisión signed, debe ocupar igual o más espacio que long. En el compilador gcc, arquitectura Intel 32 bits, mide 32 bits.
long long Tipo entero, por omisión signed, debe ocupar igual o más espacio que long. En el
compilador gcc, arquitectura Intel 32 bits, mide 64 bits.
float Tipo real, cumple con el estándar IEEE 754 de simple precisión (32 bits).
double Tipo real, cumple con el estándar IEEE754 de doble precisión (64 bits).
long double Tipo real, según la arquitectura y las opciones de compilación, puede cumplir con
el estándar IEEE 754 de doble precisión (64 bits) o de doble precisión extendida (más de
79 bits, 80 bits en arquitecturas Intel 32 bits).
complex Se agregó en C99, representa un número complejo. Ocupa dos doubles, y requiere
incluir
float complex Se agregó en C99,de menor tamaño que el complejo común. Ocupa dos floats,
también requiere .
long complex Se agregó en C99, ocupa dos long doubles, y también requiere .
void No se puede usar como un tipo de una variable, se usa para señalar que una función no
devuelve nada o no recibe nada.
Además, se puede utilizar el modificador de const para declarar una variable que puede
inicializarse pero una vez...
Regístrate para leer el documento completo.