Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa Última revisión Ambos lados, revisión siguiente | ||
curso-cpp:variables-valores-tipos [2017/02/06 21:44] santo [Expresiones con char] |
curso-cpp:variables-valores-tipos [2017/03/21 20:00] santo [Const] |
||
---|---|---|---|
Línea 20: | Línea 20: | ||
* ''int'': El tipo int es uno de los más comunes. Se utiliza para representar **números enteros**. Así, los textos como ''"Seminario"'' no pueden ser valores de tipo int. El tipo int representa números enteros, ya sean positivos, negativos, o cero, pero no se puede usar para números arbitrariamente grandes: Únicamente permite números desde -2147483648 (que es 2 a la 31 negativo) hasta 2147483647 (que es 2 a la 31 menos 1), inclusive. Si las cuentas intermedias que realicemos en nuestro programa generan números por fuera de este rango, se producirán resultados erróneos. A eso lo llamamos **overflow**, y es un peligro con el que siempre se tiene que tener cuidado cuando los números con los que trabajamos puedan volverse grandes. | * ''int'': El tipo int es uno de los más comunes. Se utiliza para representar **números enteros**. Así, los textos como ''"Seminario"'' no pueden ser valores de tipo int. El tipo int representa números enteros, ya sean positivos, negativos, o cero, pero no se puede usar para números arbitrariamente grandes: Únicamente permite números desde -2147483648 (que es 2 a la 31 negativo) hasta 2147483647 (que es 2 a la 31 menos 1), inclusive. Si las cuentas intermedias que realicemos en nuestro programa generan números por fuera de este rango, se producirán resultados erróneos. A eso lo llamamos **overflow**, y es un peligro con el que siempre se tiene que tener cuidado cuando los números con los que trabajamos puedan volverse grandes. | ||
- | * ''string'': El tipo string se utiliza para representar **cadenas de texto**. Como hemos explicado antes, no podremos entonces restar dos valores de tipo string. | + | * ''string'': El tipo string se utiliza para representar **cadenas de texto**. Como hemos explicado antes, no podremos entonces restar dos valores de tipo string. Para utilizar ''string'' hay que agregar la línea ''#include <string>'' al comienzo del programa. |
* ''char'': Este es un tipo de datos que nunca usamos antes. Un valor de tipo ''char'' representa un caracter, es decir, una letra particular de un texto. Así como anotamos los valores de tipo string entre comillas dobles ''"'', anotamos los valores de tipo char entre comillas simples. Por ejemplo, '''a' '', '''b' '', '''A' '', ''')' '', '''+' '', ''' ' '' son todos valores distintos de tipo char. Es decir, cada letra en particular de un valor de tipo string, será un valor de tipo char. | * ''char'': Este es un tipo de datos que nunca usamos antes. Un valor de tipo ''char'' representa un caracter, es decir, una letra particular de un texto. Así como anotamos los valores de tipo string entre comillas dobles ''"'', anotamos los valores de tipo char entre comillas simples. Por ejemplo, '''a' '', '''b' '', '''A' '', ''')' '', '''+' '', ''' ' '' son todos valores distintos de tipo char. Es decir, cada letra en particular de un valor de tipo string, será un valor de tipo char. | ||
Línea 65: | Línea 65: | ||
Similarmente, podemos obtener la distancia en el abecedario entre dos letras haciendo su resta: '' 'e' - 'a' '' dará por resultado un **int**, en este caso 4 (pues desde la a hay que avanzar 4 letras para llegar a la e). Notar que si mezclamos mayúsculas con minúsculas, en estos casos tendremos resultados incorrectos, pues en la tabla ASCII mencionada las mayúsculas y minúsculas tienen códigos diferentes (no son el mismo caracter). | Similarmente, podemos obtener la distancia en el abecedario entre dos letras haciendo su resta: '' 'e' - 'a' '' dará por resultado un **int**, en este caso 4 (pues desde la a hay que avanzar 4 letras para llegar a la e). Notar que si mezclamos mayúsculas con minúsculas, en estos casos tendremos resultados incorrectos, pues en la tabla ASCII mencionada las mayúsculas y minúsculas tienen códigos diferentes (no son el mismo caracter). | ||
- | Otra propiedad útil del ordenamiento ASCII es que los **dígitos** del '' '0' '' al '' '9' '' están en orden y todos juntos en el ordenamiento, por lo tanto si sabemos que la variable ''x'' contiene un ''char'' que corresponde a un dígito, con ''int valor = x - '0';'' podemos obtener el valor numérico del caracter, directamente en un entero. | + | Otra propiedad útil del ordenamiento ASCII es que los **dígitos** del '' '0' '' al '' '9' '' están en orden y todos juntos en el ordenamiento; y por lo tanto, si sabemos que ''x'' es un ''char'' que corresponde a un dígito, con la expresión ''x - '0' '' podemos obtener el valor numérico del caracter, directamente como un número entero. |
===== Variables ===== | ===== Variables ===== | ||
Línea 188: | Línea 188: | ||
Es una convención común (de muchas posibles) escribir las constantes en mayúsculas. | Es una convención común (de muchas posibles) escribir las constantes en mayúsculas. | ||
+ | |||
+ | ===== Ámbito de una variable ===== | ||
+ | |||
+ | No se puede utilizar una variable en cualquier lugar del programa, sino que cada variable tiene un **ámbito**, y solo puede utilizarse dentro del mismo. | ||
+ | |||
+ | El ámbito de una variable es el **bloque** (conjunto de instrucciones delimitadas con **llaves** ''{'' y ''}'') que contiene la declaración de la variable. Más adelante veremos instrucciones como ''if'', ''while'' y ''for'' que contienen bloques de instrucciones, y una variable declarada **dentro** de uno de estos bloques, no puede utilizarse **fuera** de los mismos. |