Download - Variables, Constantes y Tipos de datos en C
FUNDAMENTOS DE
PROGRAMACIÓN VARIABLES, CONSTANTES Y TIPOS DE
DATOS EN C
www.miceminfo.net
Lic. Marvin Romero _:_:_ [email protected] _:_:_ UGB, San MIguel
¿Qué es una Variable?
• Es solo un nombre para identificar posiciones de memoria.
• Este nombre de la variable debe ser un identificador válido.
• En las variables (posiciones de memoria) se guardan los datos usados por el programa durante su ejecución.
• TODA variable debe ser DECLARADA antes de poder ser utilizada.
www.miceminfo.net
Lic. Marvin Romero _:_:_ [email protected] _:_:_ UGB, San MIguel
Un identificador es simplemente el nombre que le vamos a dar a la
variable, constante o función
Para que un identificador sea válido debe: •Iniciar con una letra del alfabeto inglés, o con el signo (_) •No debe contener caracteres especiales, tales como @, $, # •Después de la primera letra puede contener más letras del alfabeto inglés, números, o el carácter (_) •NO DEBE haber espacios en blanco en los identificadores •C diferencia mayúsculas de minúsculas, entonces no es lo mismo declarar la variable numero que Numero o NuMeRo •Existen palabras propias del lenguaje (palabras reservadas) que no pueden ser usadas como identificadores ej: if, do
www.miceminfo.net
Lic. Marvin Romero _:_:_ [email protected] _:_:_ UGB, San MIguel
Ejemplos de identificadores válidos y no
válidos
No Válidos Válidos
ñumero numero
@hola _hola
Peso neto Peso_neto
1radio radio1
if si
www.miceminfo.net
Lic. Marvin Romero _:_:_ [email protected] _:_:_ UGB, San MIguel
Tipos de variables
• Variables globales: son las que se declaran después del llamado a las cabeceras, pero antes de cualquier función, y son útiles para cualquier parte del programa.
• Variables locales: son las que se declaran dentro de una función, y solo sirven para ser usadas dentro de esa función.
www.miceminfo.net
Lic. Marvin Romero _:_:_ [email protected] _:_:_ UGB, San MIguel
Tipos de datos
• Los tipos de datos definen los métodos de
almacenamiento disponibles para representar
información, junto con la manera en que dicha
información ha de ser interpretada.
• Los tipos de datos son indispensables para la declaración
de variables.
• En C tenemos diferentes tipos de datos:
www.miceminfo.net
Lic. Marvin Romero _:_:_ [email protected] _:_:_ UGB, San MIguel
Tipos de datos (I)
Tipo Bytes Desde Hasta
void Es nulo (NULL) no retorna nada
signed char 1 -128 127
unsigned char 1 0 255
signed short 2 -32768 32767
unsigned short 2 0 65535
signed int 2 -32768 32767
www.miceminfo.net
Lic. Marvin Romero _:_:_ [email protected] _:_:_ UGB, San MIguel
Tipos de datos (II) Tipo Bytes Desde Hasta
unsigned int 2 0 65535
signed long 4 -2147483648 2147483647
unsigned long 4 0 4294967295
float 4 3,4x10-38 3,4x1038
double 8 1,7x10-308 1,7x10308
long double 10 3,4x10-4932 3,4x104932
www.miceminfo.net
Lic. Marvin Romero _:_:_ [email protected] _:_:_ UGB, San MIguel
Nota sobre los tipos de datos:
si omitimos las palabras “signed” o “unsigned” al declarar un tipo de
dato, el compilador automáticamente asume por default que es un tipo
“signed”; es decir que si al declarar el tipo de dato simplemente
colocamos, por ejemplo, “int”, entonces el compilador asumirá que
hemos declarado un “signed int”
www.miceminfo.net
Lic. Marvin Romero _:_:_ [email protected] _:_:_ UGB, San MIguel
Para declarar variables globales: //llamado a las cabeceras Tipo_dato1 variable1, variable2, … , variablen; Tipo_dato2 variable3, variable4, … , variablem; //declaración de funciones{…} Ejemplo: #include<stdio.h> char caracter; float iva,total_pagar,descuento; unsigned long pvc,tcd; void main(){ … //instrucciones; ... }
Estas variables van a servir en cualquier parte del programa
www.miceminfo.net
Lic. Marvin Romero _:_:_ [email protected] _:_:_ UGB, San MIguel
Para declarar variables locales: //llamado a las cabeceras //declaración de una función{ Tipo_dato1 variable1, variable2, … , variablen; Tipo_dato2 variable3, variable4, … , variablem; } Ejemplo: #include<stdio.h> void main(){ int numero,edad,cantidad; float iva,total_pagar,descuento; unsigned long pvc,tcd; //instrucciones; ... }
Estas variables van a servir solo
en la función main()
www.miceminfo.net
Lic. Marvin Romero _:_:_ [email protected] _:_:_ UGB, San MIguel
¿Qué son las constantes?
• Son aquellos valores que, una vez compilado el
programa, no pueden ser cambiados.
• Al definir las constantes, debemos tomar en cuenta las
siguientes REGLAS DE CONVERSIÓN DE TIPOS DE
DATOS:
www.miceminfo.net
Lic. Marvin Romero _:_:_ [email protected] _:_:_ UGB, San MIguel
Reglas de conversión de tipos de datos I
•Una constante entera (sin parte decimal) es tomada como tal, a menos que se la añadan las letras F ó L (mayúsculas ó minúsculas) ejemplos : 1 : tomada como entera (int) 12f : tomada como flotante (float) 456L : tomada como doble larga (long double)
•Una variable con parte decimal es tomada siempre como DOUBLE, salvo que se la siga de la letra F ó L 2.0 : tomada como doble (double) 3.56F : tomada como flotante (float) 1.007L : tomada como flotante larga (long float)
www.miceminfo.net
Lic. Marvin Romero _:_:_ [email protected] _:_:_ UGB, San MIguel
Reglas de conversión de tipos de datos II
•Si en cualquiera de los casos anteriores agregamos la letra U ó u la constante queda calificada como UNSIGNED: 86u : tomada como entera sin signo (unsigned int) 32.44632UL : tomada como doble larga sin signo (unsigned long double)
•Una variable numérica que comienza con "0" (cero) es tomado como OCTAL asi : 012 equivale a 10 unidades en numeración decimal
•Una variable numérica que comienza con "0x" ó "0X" (cero – equis) es tomada como HEXADECIMAL asi : 0x16 equivale a 22 unidades en numeración decimal
www.miceminfo.net
Lic. Marvin Romero _:_:_ [email protected] _:_:_ UGB, San MIguel
Para declarar constantes: //llamado a las cabeceras #define constante1 valor1; #define constante2 valor2; … //declaración de una función{ } Ejemplo: #include<stdio.h> #define PI 3.141592 //constante double #define OCTAL 017 //constante octal #define FLOTANTE 14F //constante flotante Void main(){ … //instrucciones; ... }
Estas constantes sirven en
cualquier parte del programa
www.miceminfo.net
Lic. Marvin Romero _:_:_ [email protected] _:_:_ UGB, San MIguel
Operadores Aritméticos en C
Operador Nombre Ejemplo
+ Suma a+b
- Resta a-b
* Multiplicación a*b
/ División a/b
% Residuo entero de la división
a%b
++ Incremento en 1 a++
-- Decremento en 1 a--
www.miceminfo.net
Lic. Marvin Romero _:_:_ [email protected] _:_:_ UGB, San MIguel
Operadores Relacionales en C
Operador Nombre Ejemplo
> Mayor que a>b
< Menor que a<b
>= Mayor o igual que a>=b
<= Menor o igual que a<=b
== Igual (Equivalente) a==b
!= Diferente (No es igual) a!=b
www.miceminfo.net
Lic. Marvin Romero _:_:_ [email protected] _:_:_ UGB, San MIguel
Operadores Lógicos en C
Operador Nombre Ejemplo Devuelve cierto si:
&& Y (and) (exp1)&&
(exp2)
ambas son verdaderas
|| O (or) (exp1)||
(exp2)
Una o ambas es verdadera
! No (not)
!(exp1) Cambia el valor de la expresión
www.miceminfo.net
Lic. Marvin Romero _:_:_ [email protected] _:_:_ UGB, San MIguel
Notas sobre los Operadores en C
• Los operadores aritméticos y relacionales pueden trabajar con variables o constantes de cualquier tipo numérico, como por ejemplo int, double, float, etc
• En los Operadores lógicos, exp1 y exp2 corresponden a EXPRESIONES LÓGICAS (Expresiones que pueden tomar los valores de verdadero o falso). Ejemplo: (7<2)||(4>3)
www.miceminfo.net
Lic. Marvin Romero _:_:_ [email protected] _:_:_ UGB, San MIguel
Caracteres de conversión más
usados de scanf(); y printf(); (I)
Carácter Significado
%c El dato es carácter
%d El dato es entero
%e El dato es valor en coma flotante
%f El dato es valor en coma flotante
%g El dato es valor en coma flotante
%h El dato es entero corto
www.miceminfo.net
Lic. Marvin Romero _:_:_ [email protected] _:_:_ UGB, San MIguel
Caracteres de conversión más
usados de scanf(); y printf(); (II)
Carácter Significado
%i El dato es entero decimal, octal o hexadecimal
%o El dato es octal
%s El dato es cadena de caracteres, seguido de espacio en blanco y del carácter fin de línea (\0)
%u El dato es entero decimal sin signo
%x El dato es entero hexadecimal
www.miceminfo.net
Lic. Marvin Romero _:_:_ [email protected] _:_:_ UGB, San MIguel
Caracteres de conversión más
usados de scanf(); y printf(); (III) Ejemplo:
int a,b;
char letra;
float area;
printf(“%c ,%i, %f, %i”,letra,a,area,b);
www.miceminfo.net
Lic. Marvin Romero _:_:_ [email protected] _:_:_ UGB, San MIguel
Secuencias de Escape (I)
Carácter Código Valor ASCII
Campana (alerta) \a 007
Retroceso (espacio atrás) \b 008
Tabulador horizontal \t 009
Nueva línea \n 010
Tabulador vertical \v 011
Nueva página \f 012
www.miceminfo.net
Lic. Marvin Romero _:_:_ [email protected] _:_:_ UGB, San MIguel
Secuencias de Escape (II)
Carácter Código Valor ASCII
Retorno de carro \r 013
Comillas (“) \” 034
Interrogación (?) \? 039
Barra invertida \ \ 063
Fin de línea \0 092
Número octal \ooo 000
www.miceminfo.net
Lic. Marvin Romero _:_:_ [email protected] _:_:_ UGB, San MIguel