cap 02 - conceptos fundamentales

Upload: max-jara-ortiz

Post on 13-Jan-2016

215 views

Category:

Documents


0 download

DESCRIPTION

BUENO

TRANSCRIPT

  • 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)