FUNDAMENTOS DE PROGRAMACIÓN VARIABLES, CONSTANTES Y TIPOS DE DATOS EN C
Mgter. Crispina Ramos S.
¿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.
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
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
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.
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:
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
Tipos de datos (II) Tipo
Bytes
Desde
Hasta
unsigned int
2
0
65535
signed long
4
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
-2147483648 2147483647
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”
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
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> Estas variables void main(){ van a servir solo int numero,edad,cantidad; en la función float iva,total_pagar,descuento; main() unsigned long pvc,tcd; //instrucciones; ... }
¿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:
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)
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
Para declarar constantes:
//llamado a las cabeceras #define constante1 valor1; Estas #define constante2 valor2; constantes … sirven en //declaración de una función{ cualquier parte } del programa Ejemplo: #include<stdio.h> #define PI 3.141592 //constante double #define OCTAL 017 //constante octal #define FLOTANTE 14F //constante flotante Void main(){ … //instrucciones; ... }
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 Incremento en 1
++ --
Decremento en 1
a%b
a++ a--
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
Operadores L贸gicos en C Operador Nombre
Ejemplo
Devuelve cierto si:
&&
Y (and)
(exp1)&& ambas son verdaderas (exp2)
||
O (or)
(exp1)|| (exp2)
Una o ambas es verdadera
!
No (not)
!(exp1)
Cambia el valor de la expresi贸n
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)
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
Caracteres de conversión más usados de scanf(); y printf(); (II) Carácter %i %o %s
Significado El dato es entero decimal, octal o hexadecimal El dato es octal
%u
El dato es cadena de caracteres, seguido de espacio en blanco y del carácter fin de línea (\0) El dato es entero decimal sin signo
%x
El dato es entero hexadecimal
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);
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
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
\ooo
000
Número octal