Page 29

1 Introducci´on a C

CC 2003, 2008 Andr´ es Marzal e Isabel Gracia

Secuencia

Valor

\a \b \f \n

(alerta): produce un aviso audible o visible. (backspace, espacio atr´as): el cursor retrocede un espacio a la izquierda. (form feed, alimentaci´on de p´agina): pasa a una nueva ((p´agina)). (newline, nueva l´ınea): el cursor pasa a la primera posici´on de la siguiente l´ınea. (carriage return, retorno de carro): el cursor pasa a la primera posici´on de la l´ınea actual. (tabulador): desplaza el cursor a la siguiente marca de tabulaci´on. muestra la barra invertida. muestra la comilla doble. muestra el car´acter cuyo c´odigo ASCII (o IsoLatin) es el n´ umero octal indicado. El n´ umero octal puede tener uno, dos o tres d´ıgitos octales. Por ejemplo "\60" equivale a "0", pues el valor ASCII del car´acter cero es 48, que en octal es 60. ´ıdem, pero el n´ umero est´a codificado en base 16 y puede tener uno o dos d´ıgitos hexadecimales. Por ejemplo, "\x30" tambi´en equivale a "0", pues 48 en decimal es 30 en hexadecimal. muestra el interrogante.

\r \t \\ \" \n´ umero octal

\xn´ umero hexadecimal

\?

Es pronto para aprender a utilizar variables de tipo cadena. Postergamos este asunto hasta el apartado 2.2.

1.7.

C tiene un rico juego de tipos escalares

En Python tenemos dos tipos num´ericos escalares: enteros y flotantes8 . En C hay una gran variedad de tipos escalares en funci´ on del n´ umero de cifras o de la precisi´on con la que deseamos trabajar, as´ı que nos permite tomar decisiones acerca del compromiso entre rango/precisi´on y ocupaci´on de memoria: a menor rango/precisi´on, menor ocupaci´on de memoria. No obstante, nosotros limitaremos nuestro estudio a cinco tipos de datos escalares: int, unsigned int, float, char y unsigned char. Puedes consultar el resto de tipos escalares en el ap´endice A. Encontrar´ as una variedad enorme: enteros con diferente n´ umero de bits, con y sin signo, flotantes de precisi´ on normal y grande, booleanos, etc. Esa enorme variedad es uno de los puntos fuertes de C, pues permite ajustar el consumo de memoria a las necesidades de cada programa. En aras de la simplicidad expositiva, no obstante, no la consideraremos en el texto.

1.7.1.

El tipo int

El tipo de datos int se usar normalmente para representar n´ umeros enteros. La especificaci´on de C no define el rango de valores que podemos representar con una variable de tipo int, es decir, no define el n´ umero de bits que ocupa una variable de tipo int. No obstante, lo m´as frecuente es que ocupe 32 bits. Nosotros asumiremos en este texto que el tama˜ no de un entero es de 32 bits, es decir, 4 bytes. Como los enteros se codifican en complemento a 2, el rango de valores que podemos representar es [−2147483648, 2147483647], es decir, [−231 , 231 − 1]. Este rango es suficiente para las aplicaciones que presentaremos. Si resulta insuficiente o excesivo para alguno de tus programas, consulta el cat´ alogo de tipos que presentamos en el ap´endice A. En C, tradicionalmente, los valores enteros se han utilizado para codificar valores booleanos. El valor 0 representa el valor l´ ogico ((falso)) y cualquier otro valor representa ((cierto)). En la u ´ltima revisi´ on de C se ha introducido un tipo booleano, aunque no lo usaremos en este texto porque, de momento, no es frecuente encontrar programas que lo usen.

1.7.2.

El tipo unsigned int

¿Para qu´e desperdiciar el bit m´ as significativo en una variable entera de 32 bits que nunca almacenar´ a valores negativos? C te permite definir variables de tipo ((entero sin signo)). El tipo 8 Bueno, esos son los que hemos estudiado. Python tiene, adem´ as, enteros largos. Otro tipo num´ erico no secuencial de Python es el complejo.

Introducci´ on a la Programaci´ on con C

23

Profile for esLibre.com

Introducción a la programación con c  

Introducción a la programación con c  

Advertisement