Post on 13-Jan-2016
description
Pontificia Universidad Catlica del Per 1
Lenguaje de Programacin
Pontificia Universidad Catlica del Per
2012 - 1
Lenguaje de Programacin
Captulo 2: Tipos de dato en C:
variables, constantes, operadores y
expresiones
Contenido
Identificadores en C: reglas de formacin y ejemplos
Tipos de dato
Caracter: char
Entero: int
Real o de coma flotante: float
Void: sin valor
Variables
Declaracin y asignacin
Alcance: locales, globales y parmetros de funciones
Constantes: uso de const y constante de barra invertida
Contenido Operadores
Operadores Aritmticos
Operadores Incrementales
Operadores Relacionales
Operadores Lgicos
Lectura y escritura de variables
getche y putchar
puts
printf y scanf
Usos y ejemplos
Bibliografa
Identificadores
Los elementos que se utilizan en un programa debern estar identificados a travs de un nombre.
Esto se aplica para: Variables
Constantes
Funciones
Libreras usadas
Reglas de formacin de
identificadores
Longitud: letras y nmeros en un mximo de 32
caracteres
Primer caracter: letra o subrayado ( _ )
Resto de caracteres: letras, dgitos o el smbolo de subrayado ( _ )
Prohibiciones: uso de palabras reservadas
C es case sensitive: Diferencia las maysculas de las minsculas
Ejemplos de identificadores
Case Sensitive
cuenta
Cuenta
CUENTA
Correctos Incorrectos
cont 1cont
prueba23 hola!
balance_total a
Tipos de datos en C
char: caracter
int: entero [-32768, 32767]
float: reales
double: reales en un rango mayor
void: no contiene valores, no representa un tipo especfico
Tipos de datos en C
803.4E-4932 a 1.1E4932long double
641.7E-308 a 1.7E308double
323.4E-38 a 3.4E38float
320 a 4294967295unsigned long
32-2147483648 a 2147483647 long
16-32768 a 32767short int
160 a 65535unsigned int
16-32768 a 32767int
16-32768 a 32767enum
80 a 255unsigned char
8-128 a 127char
0Sin valorvoid
#de bits que ocupa
RangoTipo
803.4E-4932 a 1.1E4932long double
641.7E- -308 a 1.7E308double
323.4E- -38 a 3.4E38float
320 a 4294967295unsigned long
32-2147483648 a
2147483647
long
16-32768 a 32767short int
160 a 65535unsigned int
16-32768 a 32767int
16-32768 a 32767enum
80 a 255unsigned char
8-128 a 127char
0Sin valorvoid
#de bits que ocupa
RangoTipo
Tipo de dato char: caracteres
Similar al tipo char de Pascal
Caracteres de la tabla ASCII del 0 al 255
Los caracteres se almacenan en realidad como nmeros del 0 al 255
Compatibilidad como nmeros enteros en este rango
Para almacenar un dato en una variable char tenemos dos posibilidades: letra = 'A';
letra = 65; /*equivalentes*/
Recuerde que el cdigo ASCII de A es 65
Tipo de dato int: enteros
Se aplica a los nmeros enteros.
El rango de valores que admite es -32768 a 32767.
Para almacenar estos valores, C emplea 16 bits (2 bytes) de la memoria:
216 = 65536
Ejemplos: int numero;
int x, y;
int valor = 123;
Tipo de dato int: enteros
Para manejar otros rangos se tiene: unsigned int con posibles valores de 0 a
65536 long int para enteros largos
Tipo de dato float: coma flotante
Tipo usado para nmeros reales (de coma flotante)
El rango de posibles valores es
3,4x10-38 a 3,4x10+38.
Para su manipulacin, C emplea 4 bytes.
Otro tipo de variable para nmeros reales es double
Su rango es el correspondiente a 8 bytes por lo que es de mayor precisin
Tipo de dato void: sin valor
Usos:
Declarar funciones que no devuelven valor alguno
Recuerde procedimientos en VBA
Declarar que una funcin no tiene parmetros
int func(void);
Creacin de punteros
Variables
Nombres de variable corresponden a posiciones en la memoria de la computadora
Cada variable dispone de un nombre, un tipo, un tamao y un valor
Cuando un nuevo valor es puesto en una variable (a travs de scanf, por ejemplo), reemplaza (destruye) el valor anterior
Declaracin de variables de un tipo
determinado
SintaxisTipo_de_dato lista de variables;
Ejemplos: char c;
int i, j;
long int potencia;
double radio, longitud;
Existen tres sitios donde se pueden declarar variables en un programa: Dentro de las funciones: variables locales
Como parmetros de las funciones
Fuera de todas las funciones: variables globales
Asignacin de valores a las
variables
Respetar el tipo de dato Existe compatibilidad de tipos:
char-int
float-int
Se usa el smbolo de asignacin: =
Ejemplos: int x; float y;
x=10;
y= x/4.5; /* Usando operadores */
Declaradas dentro de las funciones de un programa
Ejemplovoid func1 (void)
{ int x;
x = 1;
}
void func2 (void)
{int x = 145;}
Variables locales
Variable local de la funcin func1
Variable local func2: sin relacin con
func1
Son los argumentos de las funciones, sean funciones secundarias o el main
Se comportan como variables locales de cualquier funcin
Ejemplo:int Cent_a_Farh(int C)
{
.
}
Parmetros formales de funciones
Variable local a la funcin. Ya no es necesario redeclararla dentro del
cuerpo de la misma
Variables globales
Acceso a lo largo de todo el programa
Utilizables en la funcin main y en cualquier otra funcin adicional
Los cambios realizados en una funcin se vern reflejados en adelante.
Recomendable declararlas al inicio del programa
Constantes (1)
Como en todo lenguaje de programacin, las constantes son identificadores cuyo valor no cambia a lo largo del programa
Dos formas
Uso de la palabra reservada const
Uso de la seccin de declaraciones #define
Constantes (2)
Usando const
Sintaxis:
const tipo_de_dato identificador = valor;
Ejemplo:
const int cuenta=100;
Constantes (3)
Usando #define: Se coloca al comienzo del programa (global):
#define PI 3.14159
#define MAXIMO 999 #define ULTIMALETRA 'Z' #define MENSAJE Introduzca su edad:
Constantes de barra invertida
Los llamados caracteres de barra invertida, son constantes de tipo char que representan caracteres especiales
Caracter Significado
\n Imprime un salto de lnea
\r Imprime un retorno de carro
\t
Imprime una tabulacin (uso
de la tecla TAB)
\" Imprime una comilla doble
\' Imprime una comilla simple
\\ Imprime un back slash
\0 Caracter nulo
Operadores
Introduccin a los operadores
Es uno o varios caracteres que le indican al compilador que realice determinadas operaciones aritmticas o lgicas
Se analizarn
Operadores Aritmticos
Operadores Incrementales
Operadores Relacionales
Operadores Lgicos
Otros
Operadores aritmticos
Puede aplicarse los operadores comunes a todos los lenguajes de programacin
Operador Accin
+ Suma
- Resta, nmero negativo
Divisin
%
Mdulo o resto de la divisin
entera
-- Decremento en 1
++ Incremento en 1
Operadores aritmticos:
Divisin /
Particularidades del operador /
Su uso es permitido entre variables enteras, arrojando como resultado el cociente de la divisin entera
(\ de VBA)
Ejemplo 1:
int a=10, b= 3;
c = a / b; /*El valor de c es 3*/
Operadores aritmticos:
Divisin
Su uso es permitido entre variables reales, tenindose dos alternativas:
Ejemplo 2:
float f;
f = 10/ 3; /*El valor de f es 3*/
Ejemplo 3:
float f;
f = 10.0 / 3.0; /*Recin aqu el valor es 3.33*/
Operadores aritmticos: Mdulo %
Este operador proporciona el residuo de la divisin entera entre dos nmeros enteros
Igual que en VBA, no debe ser usado con nmeros de tipo float
Ejemplo:
int a=10, b=3, c;
c = a%b; /* c tendr el valor de 1*/
Operador de incremento
Incremento ++
Incrementa en 1 el valor de una variable
Sea int x= 10;
Las siguientes instrucciones son equivalentes:
x = x + 1;
x++;
++x;
Uso indistinto para enteros y float
Operador de decremento
Decremento --
Decrementa en 1 el valor de una variable
Sea int x= 10;
Las siguientes instrucciones son equivalentes:
x = x - 1;
x--;
--x;
Uso indistinto para enteros y float
Operadores relacionales (1)
Establece relaciones entre valores de identificadores
Recuerde diferencias con VBA: = y para igual y
diferente
Operador Significado
>= Mayor o igual
> Mayor
Operadores relacionales (2)
Cuando se comparan dos valores, el resultado no es ni verdadero ni falso porque estos conceptos no existen en C Verdadero es cualquier valor (positivo o no)
diferente de 0
Falso es 0
Todo resultado del uso de operadores relacionales en expresiones (numricas) devuelve 0 o diferente de 0 segn sea el caso.
No existe el tipo de dato lgico o boolean en C
Operadores lgicos
Se manejarn tres operadores lgicos:
&& que representa a la conjuncin y
|| que representa a la disyuncin o
! que representa a la negacin no
Resptese las tablas de verdad de cada uno de ellos, haciendo el reemplazo de verdadero y falso por sus respectivos valores de 1 y 0, para C.
Se utiliza en condiciones
Lectura y escritura de variables (1)
Funcin int getche()
Se encuentra en la librera conio.h
Lee un caracter por teclado
Espera hasta que se pulse una tecla y devuelve ese valor.
Ejemplo:
char c;
c = getche(); /*lee y asigna un caracter a c*/
Lectura y escritura de variables (2)
Funcin int putchar(int c)
Se encuentra en la librera conio.h
Imprime un caracter en pantalla
Devuelve el caracter pasado como parmetro.
Ejemplo:
char c = A;
putchar(c) ; /*Imprime en pantalla la letra A*/
Lectura y escritura de variables (3)
Funcin puts
Se encuentra en la librera string.h
Imprime una cadena de caracteres en pantalla
Ejemplo:
puts(Hola a todos \n);
Lectura y escritura de variables (3)
Funcin int printf(parmetros) Imprime el contenido de
variables e identificadores con formato
Indicador de formato: determinan la forma en que se van a mostrar los datos ingresados (parmetros posteriores)
Coincidir cantidad de indicadores con la cantidad de variables.
Se puede especificar longitudes y formatos de presentacin
TAREA
Cdigo de formato
Permite
imprimir
%c Un caracter
%d Un entero
%f Un float
%s Una cadena
Lectura y escritura de variables (4)
int scanf(lista de parmetros)
Permite leer por teclado el contenido de variables Recuerde read-readln de
Pascal
Hay que especificar el tipo de dato durante la lectura con el especificador de formato
Indicar la direccin de memoria de la variable que est siendo leda (operador &)
Cdigo de
formato Significado
%c Leer un caracter
%d Leer un entero
%f Leer un float
%s Leer una cadena
Bibliografa
B. Kernighan; D. Ritchie El lenguaje de programacin C. Prentice-Hall Hispanoamericana, Mxico (1988)
H. Schildt Turbo C/C++ Manual de referencia. McGraw-Hill Interamericana, Espaa (1992)