SlideShare ist ein Scribd-Unternehmen logo
1 von 44
Downloaden Sie, um offline zu lesen
Programación
      (L109)
     Sesión: 2 y 3
Elementos del Lenguaje C
    Ing. José C. Benítez P.
Sesión 2. Temas


        Elementos del Lenguaje C
          Tipos de datos.
          Constantes.
          Operaciones aritméticas.
          Variables
          Asignación de variables.
          La función printf() y scanf().
          Operaciones lógicas.
          Relaciones de comparación.


                   Programación - Prof. Ing. Jose C. Benitez P.   2
Sesión 2. Temas


        Elementos del Lenguaje C
          Tipos de datos.
          Constantes.
          Operaciones aritméticas.
          Variables
          Asignación de variables.
          La función printf() y scanf().
          Operaciones lógicas.
          Relaciones de comparación.


                   Programación - Prof. Ing. Jose C. Benitez P.   3
Tipos de datos
    En C existen básicamente 4/5 tipos de datos, aunque como
    se verá después, podremos definir nuestros propios tipos
    de datos a partir de estos cuatro.
    A continuación se detalla su nombre, el tamaño que ocupa
    en memoria y el rango de sus posibles valores.
          TIPO     Tamaño                      Rango de valores
          char     1 byte (8bits)              -128 a 127
          int      2 bytes                     -32768 a 32767
          float    4 bytes                     3'4 E-38 a 3'4 E+38
          double   8 bytes                     1'7 E-308 a 1'7 E+308
          void

  Nota: La función: sizeof(<tipo datos>)
                     Programación - Prof. Ing. Jose C. Benitez P.      4
Tipos de datos. Calificadores

    Los calificadores de tipo tienen la misión de modificar el
    rango de valores de un determinado tipo de variable.
    Estos calificadores son cuatro:
    Signed. Le indica a la variable que va a llevar signo. Es el
    utilizado por defecto.
                         Tamaño         Rango de valores
          signed char 1 byte            -128 a 127
          signed int     2 bytes        -32768 a 32767
    Unsigned. Le indica a la variable que no va a llevar signo
    (valor absoluto).
                         Tamaño         Rango de valores
          unsigned char 1 byte          0 a 255
          unsigned int 2 bytes          0 a 65535
                     Programación - Prof. Ing. Jose C. Benitez P.   5
Tipos de datos. Calificadores
 Short. Rango de valores en formato corto (limitado). Es el utilizado
        por defecto.
                        tamaño           rango de valores
       short char       1 byte           -128 a 127
       short int        2 bytes          -32768 a 32767
 Long. Rango de valores en formato largo (ampliado).
                       tamaño       rango de valores
       long int        4 bytes      -2.147.483.648 a 2.147.483.647
       long double 10 bytes -3'36 E-4932 a 1'18 E+4932
 También es posible combinar calificadores entre sí:
       signed long int = long int = long
       unsigned long int = unsigned long          4 bytes
         0 a 4.294.967.295      (El mayor entero permitido en C)

                      Programación - Prof. Ing. Jose C. Benitez P.   6
Sesión 2. Temas


        Elementos del Lenguaje C
          Tipos de datos.
          Constantes.
          Operaciones aritméticas.
          Variables
          Asignación de variables.
          La función printf() y scanf().
          Operaciones lógicas.
          Relaciones de comparación.


                   Programación - Prof. Ing. Jose C. Benitez P.   7
Constantes
   Al contrario que las variables, las constantes mantienen su
   valor a lo largo de todo el programa.
   Para indicar al compilador que se trata de una constante,
   usaremos la directiva #define:
        #define <identificador> <valor>

 NOTA: Observe que no se indica el punto y coma (;) de final de
         sentencia ni tampoco el tipo de dato.
 La directiva #define no sólo nos permite sustituir un nombre por
 un valor numérico, si no también por una cadena de caracteres.
 NOTA: El valor de una constante no puede ser modificado de
         ninguna manera.

                      Programación - Prof. Ing. Jose C. Benitez P.   8
Constantes
   Ejemplo:
         Archivo: constan1.c
         /* Uso de las constantes */

         #include <stdio.h>
         #define pi 3.1416
         #define escribe printf
         main() /* Calcula el perímetro */
         {
            int r;
            escribe("Introduce el radio: ");
            scanf("%d",&r);
            escribe("El perímetro es: %f",2*pi*r);
         }



                    Programación - Prof. Ing. Jose C. Benitez P.   9
Sesión 2. Temas


        Elementos del Lenguaje C
          Tipos de datos.
          Constantes.
          Operaciones aritméticas.
          Variables
          Asignación de variables.
          La función printf() y scanf().
          Operaciones lógicas.
          Relaciones de comparación.


                   Programación - Prof. Ing. Jose C. Benitez P.   10
Operaciones aritméticas
    Existen dos tipos de operadores aritméticos:
    Binarios:      + Suma                - Resta
                   * Multiplicación      / División
                   % Módulo (resto)
    Unarios:       ++ Incremento (suma 1)
                   - - Decremento (resta 1)
                   - Cambio de signo
    Sintaxis:
    Binarios:
    <variable1><operador><variable2> Ejemplo: b + c
    Unarios:
    <variable><operador>                 Ejemplo: x--
    y al revés: <operador><variable>     Ejemplo: ++x
                   Programación - Prof. Ing. Jose C. Benitez P.   11
Operaciones aritméticas
    Ejemplo:

               Ejemplo Archivo: operad1.c
               /* Uso de los operadores aritméticos */

               #include <stdio.h>
               main() /* Realiza varias operaciones */
               {
                   int a=1, b=2, c=3, r;
                   r=a+b;
                   printf ("%d + %d = %dn",a,b,r);
                   r=c-a;
                   printf ("%d - %d = %dn",c,a,r);
                   b++;
                   printf ("b + 1 = %d",b);
               }




                 Programación - Prof. Ing. Jose C. Benitez P.   12
Jerarquía de operadores
 Es importante la precedencia de los operadores a la hora de
 trabajar con ellos:
         ()      Mayor precedencia
         ++, - -
         *, /, %
         +, -    Menor precedencia
 Las operaciones con mayor precedencia se realizan antes que
 las de menor precedencia.
 Si en una operación encontramos signos del mismo nivel de
 precedencia, dicha operación se realiza de izquierda a derecha.
 Ejemplo :       a*b+c/d-e    1. a*b resultado = x
                              2. c/d resultado = y
                              3. x+y resultado = z
                              4. z-e
                      Programación - Prof. Ing. Jose C. Benitez P.   13
Jerarquía de operadores
 La multiplicación se resuelve antes que la división ya que está
 situada más a la izquierda en la operación. Lo mismo ocurre con
 la suma y la resta.
              Ejemplo Archivo: operad3.c
              /* Jerarquía de los operadores */
              #include <stdio.h>
              main() /* Realiza una operación */
              {
                  int a=6,b=5,c=4,d=2,e=1,x,y,z,r;
                  x=a*b;
                  printf("%d * %d = %dn",a,b,x);
                  y=c/d;
                  printf("%d / %d = %dn",c,d,y);
                  z=x+y;
                  printf("%d + %d = %dn",x,y,z);
                  r=z-e;
                  printf("%d = %d",r,a*b+c/d-e);
              }


                      Programación - Prof. Ing. Jose C. Benitez P.   14
Sesión 2. Temas


        Elementos del Lenguaje C
          Tipos de datos.
          Constantes.
          Operaciones aritméticas.
          Variables
          Asignación de variables.
          La función printf() y scanf().
          Operaciones lógicas.
          Relaciones de comparación.


                   Programación - Prof. Ing. Jose C. Benitez P.   15
Las variables

      Una variable es un tipo de dato, referenciado mediante
      un identificador (que es el nombre de la variable).
      El contenido de una variable podrá ser modificado a lo
      largo del programa.
      Una variable sólo puede pertenecer a un tipo de dato.
      Para poder utilizar una variable, primero tiene que ser
      declarada:
                   [calificador] <tipo> <nombre> ;




                    Programación - Prof. Ing. Jose C. Benitez P.   16
Las variables
 Ejemplo:
            Ejemplo Archivo: variab1.c
            /* Uso de las variables */

            #include <stdio.h>
            main() /* Suma dos valores */
            {
                     int num1; /* Declaración de la variable num1 */
                     int num2; /* Declaración de la variable num2 */
                     int num3; /* Declaración de la variable num3 */
                     num1=4; /* Asignación de la variable num1 */
                     num3=6; /* Asignación de la variable num2 */
               printf ("El valor de num1 es %d",num1);
               printf ("nEl valor de num3 es %d",num3);
               num2=num1+num3;
               printf ("nnum1 + num3 = %d",num2);
            }




                         Programación - Prof. Ing. Jose C. Benitez P.   17
Las variables
    Es posible declarar más de una variable del mismo tipo en
    la misma sentencia:
       Ejemplo:
 Ejemplo Archivo: variab1.c
 /* Uso de las variables */

 #include <stdio.h>
 main() /* Suma dos valores */
 {
          int num1, num2, num3; /* Declaración de las variables num1, num2 y
 num3 */
          num1=4; /* Asignación de la variable num1 */
          num3=6; /* Asignación de la variable num2 */
    printf ("El valor de num1 es %d",num1);
    printf ("nEl valor de num3 es %d",num3);
    num2=num1+num3;
    printf ("nnum1 + num3 = %d",num2);
 }

                         Programación - Prof. Ing. Jose C. Benitez P.    18
Las variables
   Las variables pueden ser de dos tipos según el lugar en que
   las declaremos: globales o locales.
   La variable global:
      Se declara antes de la main( ).
      Puede ser utilizada en cualquier parte del programa y
      Se destruye al finalizar este programa.
   La variable local:
   • Se declara después de la main( ), o en la función en que
      vaya a ser utilizada.
   • Sólo existe dentro de la función en que se declara y
   • Se destruye al finalizar dicha función.

                     Programación - Prof. Ing. Jose C. Benitez P.   19
Las variables
   Ejemplo:


              Ejemplo Archivo: variab2.c
              /* Declaración de variables */

              #include <stdio.h>
              int a; /* variable global */
              main() /* Muestra dos valores */
              {
                 int b=4; /* variable local /
                 printf("b es local y vale %d",b);
                 a=5;
                 printf("na es global y vale %d",a);
              }




                      Programación - Prof. Ing. Jose C. Benitez P.   20
Sesión 2. Temas


        Elementos del Lenguaje C
          Tipos de datos.
          Constantes.
          Operaciones aritméticas.
          Variables
          Asignación de variables.
          La función printf() y scanf().
          Operaciones lógicas.
          Relaciones de comparación.


                   Programación - Prof. Ing. Jose C. Benitez P.   21
Asignación de variables
  Para poder utilizar una variable, primero tiene que ser
  declarada: [calificador] <tipo> <nombre> ;
  Luego se le puede asignar una expresión numérica o un
  valor mediante el signo “=“.
 <variable>= <expresión> ;
                     Ejemplo Archivo: variab1.c
                     /* Uso de las variables */

                     #include <stdio.h>
                     main() /* Suma dos valores */
                     {
                              int num1, num2, num3;
                              num1=4; /* Asignación de la variable num1 */
                              num3=6; /* Asignación de la variable num2 */
                        printf ("El valor de num1 es %d",num1);
                        printf ("nEl valor de num3 es %d",num3);
                        num2=num1+num3;
                        printf ("nnum1 + num3 = %d",num2);
                     }
                      Programación - Prof. Ing. Jose C. Benitez P.    22
Asignación de variables
    Es posible inicializar y declarar más de una variable del
    mismo tipo en la misma sentencia:
[calificador] <tipo> <nombre1>,<nombre2>=<valor>,<nombre3>=<valor>,<nombre4> ;


              Ejemplo Archivo: variab1.c
              /* Uso de las variables */

              #include <stdio.h>
              main() /* Suma dos valores */
              {
                       int num1=4, num2, num3=6;
                       printf ("El valor de num1 es %d",num1);
                       printf ("nEl valor de num3 es %d",num3);
                       num2=num1+num3;
                       printf ("nnum1 + num3 = %d",num2);
              }



                           Programación - Prof. Ing. Jose C. Benitez P.   23
Operadores de asignación de variables
La mayoría de los operadores aritméticos binarios explicados
anteriormente tienen su correspondiente operador de asignación:
   = Asignación simple
   += Suma
   -= Resta
   *= Multiplicación
   /= División
   %= Módulo (resto)
Con estos operadores se pueden escribir, de forma más breve,
expresiones del tipo:
   n=n+3 se puede escribir n+=3
   k=k*(x-2) lo podemos sustituir por k*=x-2 o k*=(x-2)?


                      Programación - Prof. Ing. Jose C. Benitez P.   24
Operadores de asignación de variables


             Ejemplo Archivo: operad2.c
             /* Uso de los operadores de asignación */

             #include <stdio.h>
             main() /* Realiza varias operaciones */
             {
                 int a=1,b=2,c=3,r;
                 a+=5;
                 printf ("a + 5 = %dn",a);
                 c-=1;
                 printf ("c - 1 = %dn",c); b*=3;
                 printf ("b * 3 = %d",b);
             }




                  Programación - Prof. Ing. Jose C. Benitez P.   25
Sesión 2. Temas


        Elementos del Lenguaje C
          Tipos de datos.
          Constantes.
          Operaciones aritméticas.
          Variables
          Asignación de variables.
          La función printf() y scanf().
          Operaciones lógicas.
          Relaciones de comparación.


                   Programación - Prof. Ing. Jose C. Benitez P.   26
Secuencias de escape
  Ciertos caracteres no representados gráficamente se pueden
  representar mediante lo que se conoce como secuencia de
  escape. Las más significativas son:
      n salto de línea
      b retroceso
      t tabulación horizontal
      v tabulación vertical
       contrabarra
      f salto de página
      ' apóstrofe
      " comillas dobles
      0 fin de una cadena de caracteres
      o representación octal
      x representación hexadecimal
                    Programación - Prof. Ing. Jose C. Benitez P.   27
Secuencias de escape
  Ejemplo:

             Ejemplo Archivo: secuen1.c
             /* Uso de las secuencias de escape */

             #include <stdio.h>
             main() /* Escribe diversas sec. de escape */
             {
                printf("Me llamo "Nemo" el grande");
                printf("nDirección: C Mayor 25");
                printf("nHa salido la letra 'L'");
                printf("nRetrocesob");
                printf("ntEsto ha sido todo");
             }




                      Programación - Prof. Ing. Jose C. Benitez P.   28
La función printf()
  La rutina printf permite la aparición de valores numéricos,
  caracteres y cadenas de texto por pantalla.
  Prototipo: printf (control, arg1, arg2...) ;
  En la cadena de control indicamos la forma en que se
  mostrarán los argumentos posteriores. También podemos
  introducir una cadena de texto ( sin necesidad de
  argumentos ), o combinar ambas posibilidades, así como
  secuencias de escape.        Ejemplo Archivo: printf.c
                                     /* Uso de la sentencia printf() 1. */

                                     #include <stdio.h>
                                     main() /* Saca por pantalla una suma */
                                     {
                                         int a=20, b=10;
                                         printf ("El valor de a es %dn",a);
                                         printf ("El valor de b es %dn",b);
                                         printf ("Por tanto %d+%d=%d",a,b,a+b);
                                     }
                     Programación - Prof. Ing. Jose C. Benitez P.            29
La función printf()
     En el caso de que utilicemos argumentos deberemos
     indicar en la cadena de control tantos modificadores como
     argumentos vayamos a presentar.
     El modificador está compuesto por el caracter % seguido
     por un caracter de conversión, que indica de que tipo de
     dato se trata.
     Los modificadores más utilizados son:
         %c Un único caracter.
         %d Un entero con signo, en base decimal.
         %u Un entero sin signo, en base decimal.
         %o Un entero en base octal.
         %x Un entero en base hexadecimal.
         %e Un número real en coma flotante, con exponente.
         %f Un número real en coma flotante, sin exponente.
         %s Una cadena de caracteres.
         %p Un puntero o dirección de memoria.
                     Programación - Prof. Ing. Jose C. Benitez P.   30
La función printf()

               Ejemplo Archivo: printf2.c
               /* Uso de la sentencia printf() 2. */

               #include <stdio.h>
               main() /* Modificadores 1 */
               {
                   char cad[]="El valor de";
                   int a=-15;
                   unsigned int b=3;
                   float c=932.5;
                   printf("%s a es %dn",cad,a);
                   printf("%s b es %un",cad,b);
                   printf("%s c es %e o %f",cad,c,c);
               }




                   Programación - Prof. Ing. Jose C. Benitez P.   31
La función printf()
  El formato completo de los modificadores es el siguiente:
       % [signo] [longitud] [.precisión] [l/L] conversión

  Signo: indicamos si el valor se ajustará a la izquierda, en cuyo
  caso utilizaremos el signo menos, o a la derecha ( por defecto ).
  Longitud: especifica la longitud máxima del valor que aparece
  por pantalla. Si la longitud es menor que el número de dígitos
  del valor, éste aparecerá ajustado a la izquierda.
  Precisión: indicamos el número máximo de decimales que
  tendrá el valor.
  l/L: utilizamos l cuando se trata de una variable de tipo long y L
  cuando es de tipo double.

                       Programación - Prof. Ing. Jose C. Benitez P.   32
La función printf()

              Ejemplo Archivo: printf3.c
              /* Uso de la sentencia printf() 3. */

              #include <stdio.h>
              main() /* Modificadores 2 */
              {
                  char cad[ ]="El valor de";
                  int a=25986;
                  long int b=1976524;
                  float c=9.57645;
                  printf("%s a es %9dn",cad,a);
                  printf("%s b es %ldn",cad,b);
                  printf("%s c es %.3f",cad,c);
              }




                   Programación - Prof. Ing. Jose C. Benitez P.   33
La función scanf()

    La funcion scanf permite entrar datos en la memoria del
    computador a través del teclado.
    Prototipo: scanf (control, arg1, arg2...);
    En la cadena de control indicaremos, por regla general, los
    modificadores que harán referencia al tipo de dato de los
    argumentos.
    Al igual que en la sentencia printf los modificadores estarán
    formados por el caracter % seguido de un caracter de
    conversión. Los argumentos indicados serán, nuevamente,
    las variables.


                     Programación - Prof. Ing. Jose C. Benitez P.   34
La función scanf()
 La principal característica de la   Ejemplo Archivo: scanf.c
 sentencia scanf es que necesita
                                     /* Uso de la sentencia scanf(). */
 saber la posición de la memoria del
 ordenador en que se encuentra la #include <stdio.h> dos datos */
                                     main() /* Solicita
 variable para poder almacenar la { char nombre[10];
 información obtenida.                   int edad;
                                         printf("Introduce tu nombre: ");
 Para indicarle esta posición            scanf("%s",nombre);
                                         printf("Introduce tu edad: ");
 utilizaremos el símbolo ampersand       scanf("%d",&edad);
 ( & ), que colocaremos delante del }
 nombre de cada variable. ( Esto no
 será necesario en los arrays ).



                       Programación - Prof. Ing. Jose C. Benitez P.   35
Sesión 2. Temas


        Elementos del Lenguaje C
          Tipos de datos.
          Constantes.
          Operaciones aritméticas.
          Variables
          Asignación de variables.
          La función printf() y scanf().
          Operaciones lógicas.
          Relaciones de comparación.


                   Programación - Prof. Ing. Jose C. Benitez P.   36
Operaciones lógicas
  Los operadores lógicos básicos son tres:
       &&     AND
       ||     OR
       !      NOT (El valor contrario)
  Estos operadores actúan sobre expresiones lógicas.
  Permiten unir expresiones lógicas simples formando
  otras más complejas.
       V = Verdadero F = Falso




                    Programación - Prof. Ing. Jose C. Benitez P.   37
Operaciones lógicas

        Ejemplo Archivo: switch.c
        /* Uso de los op. lógicos AND, OR, NOT. */

        #include <stdio.h>
        main() /* Compara un número introducido */
        {
           int numero;
           printf("Introduce un número: ");
           scanf("%d",&numero);
           if(!(numero>=0))
                 printf("El número es negativo");
           else if((numero<=100)&&(numero>=25))
                 printf("El número está entre 25 y 100");
           else if((numero<25)||(numero>100))
                 printf("El número no está entre 25 y 100");
        }




                     Programación - Prof. Ing. Jose C. Benitez P.   38
Sesión 2. Temas


        Elementos del Lenguaje C
          Tipos de datos.
          Constantes.
          Operaciones aritméticas.
          Variables
          Asignación de variables.
          La función printf() y scanf().
          Operaciones lógicas.
          Relaciones de comparación.


                   Programación - Prof. Ing. Jose C. Benitez P.   39
Relaciones de comparación
   Los operadores relacionales se utilizan para comparar el
   contenido de dos variables.
   En C existen seis operadores relacionales básicos:
        > Mayor que
        < Menor que
        >= Mayor o igual que
        <= Menor o igual que
        == Igual que (Menor precedencia)
        != Distinto que
   El resultado que devuelven estos operadores es 1 para
   Verdadero y 0 para Falso.
   Si hay más de un operador se evalúan de izquierda a derecha.
   Además los operadores == y != están por debajo del resto en
   cuanto al orden de precedencia.
                     Programación - Prof. Ing. Jose C. Benitez P.   40
Relaciones de comparación

          Ejemplo Archivo: operrel.c
          /* Uso de los operadores relacionales. */

          #include <stdio.h>
          main() /* Compara dos números entre ellos */
          {
             int a,b;
             printf("Introduce el valor de A: ");
             scanf("%d",&a);
             printf("Introduce el valor de B: ");
             scanf("%d",&b);
             if(a>b) printf("A es mayor que B");
             else if(a<b) printf("B es mayor que A");
             else printf("A y B son iguales");
          }




                  Programación - Prof. Ing. Jose C. Benitez P.   41
Tarea (T2)
  Hacer un programa en C para los siguientes enunciados:
  1. IpT un numero x. Hallar y=|x3+x+3+|.
  2. IpT un numero x. Hallar f(x)= 3x3+2x2+1.
  3. IpT un monto en soles. Convertir soles a dólares y a euros.
  4. IpT una temperatura en Celsius. Convertir grados Celsius a Fahrenheit.
  5. IpT dos números, hallar el mínimo común múltiplo (mcm) y el máximo
      común divisor (MCD) de dos numero enteros.
  6. IpT un número en decimal. Convertir el decimal a octal y hexadecimal.
  7. IpT un número. Mostrar la tabla del 1 al 12 de ese número.
  8. IpT un número. Mostrar la tabla del 1 al 12 de 0 hasta ese número.
  9. Solicitar notas por teclado hasta el Examen Final. Hacer una Boleta de
      Notas. Indicar si va o no al sustitutorio. Considerar el reglamento UTP.

  IpT= Ingresar por teclado


                          Programación - Prof. Ing. Jose C. Benitez P.      42
Presentación

   Todas las fuentes y tareas deben presentarse en su
   carpeta personal del Dropbox, dentro de una carpeta
   que lleve sus Apellidos, guion bajo y luego el número
   de la tarea. Ejemplo:
                BenitezP_T2
   Si para el desarrollo de las tareas utilizó otras fuentes,
   agregarlas en el Dropbox. La fuente debe conservar
   el nombre original y añadir al final _T2.


                Las Tareas que no cumplan las
                    indicaciones no serán
                considerados por el profesor.


                  Programación - Prof. Ing. Jose C. Benitez P.   43
Sesión 2 y 3. Elementos del lenguaje C

               Programación




         http://utpprogc.blogspot.com
               Programación - Prof. Ing. Jose C. Benitez P.   44

Weitere ähnliche Inhalte

Was ist angesagt?

Estructura de Lenguaje C++
Estructura de Lenguaje C++Estructura de Lenguaje C++
Estructura de Lenguaje C++Nana Garces
 
Operadores y expresiones
Operadores y expresionesOperadores y expresiones
Operadores y expresionesJorge Ñauñay
 
Republica bolivariana de venezuela
Republica bolivariana de venezuelaRepublica bolivariana de venezuela
Republica bolivariana de venezuelaroyimar
 
TIPOS DE DATOS PARA C++
TIPOS DE DATOS PARA C++TIPOS DE DATOS PARA C++
TIPOS DE DATOS PARA C++Idalia Tristan
 
Curso lenguaje c_segundo_modulo_
Curso lenguaje c_segundo_modulo_Curso lenguaje c_segundo_modulo_
Curso lenguaje c_segundo_modulo_Jennybeatriz1
 
Lenguaje c (expresiones logicas)
Lenguaje c (expresiones logicas)Lenguaje c (expresiones logicas)
Lenguaje c (expresiones logicas)Eloy Rodriguez
 
Programación en c (iii parte)
Programación en c (iii parte)Programación en c (iii parte)
Programación en c (iii parte)MarielaCuriel
 
Apuntes1 elementos del lenguaje c
Apuntes1 elementos del lenguaje cApuntes1 elementos del lenguaje c
Apuntes1 elementos del lenguaje cZalimanunezc
 
Tipos de datos ok
Tipos de datos okTipos de datos ok
Tipos de datos okTensor
 
ESTRUCTURA BÁSICA PARA C++
ESTRUCTURA BÁSICA PARA C++ESTRUCTURA BÁSICA PARA C++
ESTRUCTURA BÁSICA PARA C++GabrielFVilla15
 
Librerias en-lenguaje-c
Librerias en-lenguaje-cLibrerias en-lenguaje-c
Librerias en-lenguaje-cKevin2811
 

Was ist angesagt? (20)

Estructura de Lenguaje C++
Estructura de Lenguaje C++Estructura de Lenguaje C++
Estructura de Lenguaje C++
 
Operadores y expresiones
Operadores y expresionesOperadores y expresiones
Operadores y expresiones
 
Clase1 c
Clase1 cClase1 c
Clase1 c
 
Clase 5
Clase 5Clase 5
Clase 5
 
Republica bolivariana de venezuela
Republica bolivariana de venezuelaRepublica bolivariana de venezuela
Republica bolivariana de venezuela
 
Funciones en Lenguaje C
Funciones en Lenguaje CFunciones en Lenguaje C
Funciones en Lenguaje C
 
TIPOS DE DATOS PARA C++
TIPOS DE DATOS PARA C++TIPOS DE DATOS PARA C++
TIPOS DE DATOS PARA C++
 
Elementos basicos c
Elementos basicos cElementos basicos c
Elementos basicos c
 
Programacion en java
Programacion en javaProgramacion en java
Programacion en java
 
Curso lenguaje c_segundo_modulo_
Curso lenguaje c_segundo_modulo_Curso lenguaje c_segundo_modulo_
Curso lenguaje c_segundo_modulo_
 
Funciones de entrada y salida
Funciones de entrada y salidaFunciones de entrada y salida
Funciones de entrada y salida
 
Lenguaje c (expresiones logicas)
Lenguaje c (expresiones logicas)Lenguaje c (expresiones logicas)
Lenguaje c (expresiones logicas)
 
Programación en c (iii parte)
Programación en c (iii parte)Programación en c (iii parte)
Programación en c (iii parte)
 
Apuntes1 elementos del lenguaje c
Apuntes1 elementos del lenguaje cApuntes1 elementos del lenguaje c
Apuntes1 elementos del lenguaje c
 
Tipos de datos ok
Tipos de datos okTipos de datos ok
Tipos de datos ok
 
Lenguaje C (pdf)
Lenguaje C (pdf)Lenguaje C (pdf)
Lenguaje C (pdf)
 
ESTRUCTURA BÁSICA PARA C++
ESTRUCTURA BÁSICA PARA C++ESTRUCTURA BÁSICA PARA C++
ESTRUCTURA BÁSICA PARA C++
 
03 - Entrada y salida en lenguaje C
03 - Entrada y salida en lenguaje C03 - Entrada y salida en lenguaje C
03 - Entrada y salida en lenguaje C
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Librerias en-lenguaje-c
Librerias en-lenguaje-cLibrerias en-lenguaje-c
Librerias en-lenguaje-c
 

Andere mochten auch

Utp sirn_sl7 conjuntos difusos i 2012-2
 Utp sirn_sl7 conjuntos difusos i 2012-2 Utp sirn_sl7 conjuntos difusos i 2012-2
Utp sirn_sl7 conjuntos difusos i 2012-2jcbenitezp
 
Utp lpi_s5_arreglos 2012-2
 Utp lpi_s5_arreglos 2012-2 Utp lpi_s5_arreglos 2012-2
Utp lpi_s5_arreglos 2012-2jcbenitezp
 
Utp ia_sl4 la rna perceptron
 Utp ia_sl4 la rna perceptron Utp ia_sl4 la rna perceptron
Utp ia_sl4 la rna perceptronjcbenitezp
 
Utp i_ay_se_sistemas difusos i 2013-3
 Utp i_ay_se_sistemas difusos i 2013-3 Utp i_ay_se_sistemas difusos i 2013-3
Utp i_ay_se_sistemas difusos i 2013-3jcbenitezp
 
Utp lpi_s4_instrucciones de control 2012-2
 Utp lpi_s4_instrucciones de control 2012-2 Utp lpi_s4_instrucciones de control 2012-2
Utp lpi_s4_instrucciones de control 2012-2jcbenitezp
 
Uni fiee ci sesion 09 cdma
Uni fiee ci sesion 09 cdmaUni fiee ci sesion 09 cdma
Uni fiee ci sesion 09 cdmajcbenitezp
 
Utp sirn_sl3 salidas de rna 2012-2
 Utp sirn_sl3 salidas de rna 2012-2 Utp sirn_sl3 salidas de rna 2012-2
Utp sirn_sl3 salidas de rna 2012-2jcbenitezp
 
Utp lpi_s1_introduccion al lenguaje c
 Utp lpi_s1_introduccion al lenguaje c Utp lpi_s1_introduccion al lenguaje c
Utp lpi_s1_introduccion al lenguaje cjcbenitezp
 

Andere mochten auch (8)

Utp sirn_sl7 conjuntos difusos i 2012-2
 Utp sirn_sl7 conjuntos difusos i 2012-2 Utp sirn_sl7 conjuntos difusos i 2012-2
Utp sirn_sl7 conjuntos difusos i 2012-2
 
Utp lpi_s5_arreglos 2012-2
 Utp lpi_s5_arreglos 2012-2 Utp lpi_s5_arreglos 2012-2
Utp lpi_s5_arreglos 2012-2
 
Utp ia_sl4 la rna perceptron
 Utp ia_sl4 la rna perceptron Utp ia_sl4 la rna perceptron
Utp ia_sl4 la rna perceptron
 
Utp i_ay_se_sistemas difusos i 2013-3
 Utp i_ay_se_sistemas difusos i 2013-3 Utp i_ay_se_sistemas difusos i 2013-3
Utp i_ay_se_sistemas difusos i 2013-3
 
Utp lpi_s4_instrucciones de control 2012-2
 Utp lpi_s4_instrucciones de control 2012-2 Utp lpi_s4_instrucciones de control 2012-2
Utp lpi_s4_instrucciones de control 2012-2
 
Uni fiee ci sesion 09 cdma
Uni fiee ci sesion 09 cdmaUni fiee ci sesion 09 cdma
Uni fiee ci sesion 09 cdma
 
Utp sirn_sl3 salidas de rna 2012-2
 Utp sirn_sl3 salidas de rna 2012-2 Utp sirn_sl3 salidas de rna 2012-2
Utp sirn_sl3 salidas de rna 2012-2
 
Utp lpi_s1_introduccion al lenguaje c
 Utp lpi_s1_introduccion al lenguaje c Utp lpi_s1_introduccion al lenguaje c
Utp lpi_s1_introduccion al lenguaje c
 

Ähnlich wie Utp pro_s2y3_elementos del lenguaje c nuevo

Lenguaje c diapositivas
Lenguaje c diapositivasLenguaje c diapositivas
Lenguaje c diapositivasstarduslex
 
Lenguajes diapositivas
Lenguajes diapositivasLenguajes diapositivas
Lenguajes diapositivasstarduslex
 
Lenguajec diapositivas
Lenguajec diapositivasLenguajec diapositivas
Lenguajec diapositivastacubomx
 
Lenguajec 1
Lenguajec 1Lenguajec 1
Lenguajec 1joeshego
 
Utp pti_s8_punteros
 Utp pti_s8_punteros Utp pti_s8_punteros
Utp pti_s8_punterosjcbenitezp
 
Utp pti_s8y9_punteros
 Utp pti_s8y9_punteros Utp pti_s8y9_punteros
Utp pti_s8y9_punterosjcbenitezp
 
Clase 3introduccion a_lenguace_c
Clase 3introduccion a_lenguace_cClase 3introduccion a_lenguace_c
Clase 3introduccion a_lenguace_ckikeMerck
 
TUTORIAL LENGUAJE C
TUTORIAL LENGUAJE CTUTORIAL LENGUAJE C
TUTORIAL LENGUAJE CJesus Agreda
 
TUTORIAL DE LENGUAJE C
TUTORIAL DE LENGUAJE CTUTORIAL DE LENGUAJE C
TUTORIAL DE LENGUAJE CJesus Agreda
 
Elementos basicos de_programacion
Elementos basicos de_programacionElementos basicos de_programacion
Elementos basicos de_programacionthaynasantos1997
 
Elementos basicos de programacion
Elementos basicos de programacionElementos basicos de programacion
Elementos basicos de programacionrotflol
 
Presentacion1 lenguaje de-programacion_c
Presentacion1 lenguaje de-programacion_cPresentacion1 lenguaje de-programacion_c
Presentacion1 lenguaje de-programacion_cMonica Martinez
 

Ähnlich wie Utp pro_s2y3_elementos del lenguaje c nuevo (20)

Lenguaje c diapositivas
Lenguaje c diapositivasLenguaje c diapositivas
Lenguaje c diapositivas
 
Lenguajes diapositivas
Lenguajes diapositivasLenguajes diapositivas
Lenguajes diapositivas
 
Lenguajec diapositivas
Lenguajec diapositivasLenguajec diapositivas
Lenguajec diapositivas
 
Lenguajec 1
Lenguajec 1Lenguajec 1
Lenguajec 1
 
Utp pti_s8_punteros
 Utp pti_s8_punteros Utp pti_s8_punteros
Utp pti_s8_punteros
 
Utp pti_s8y9_punteros
 Utp pti_s8y9_punteros Utp pti_s8y9_punteros
Utp pti_s8y9_punteros
 
Clase 3introduccion a_lenguace_c
Clase 3introduccion a_lenguace_cClase 3introduccion a_lenguace_c
Clase 3introduccion a_lenguace_c
 
TUTORIAL LENGUAJE C
TUTORIAL LENGUAJE CTUTORIAL LENGUAJE C
TUTORIAL LENGUAJE C
 
TUTORIAL DE LENGUAJE C
TUTORIAL DE LENGUAJE CTUTORIAL DE LENGUAJE C
TUTORIAL DE LENGUAJE C
 
Introducción
IntroducciónIntroducción
Introducción
 
Introducción
IntroducciónIntroducción
Introducción
 
Unidad II
Unidad IIUnidad II
Unidad II
 
Elementos basicos de_programacion
Elementos basicos de_programacionElementos basicos de_programacion
Elementos basicos de_programacion
 
ELEMENTOS DE PROGRA 30-05.pdf
ELEMENTOS DE PROGRA 30-05.pdfELEMENTOS DE PROGRA 30-05.pdf
ELEMENTOS DE PROGRA 30-05.pdf
 
Tipos de datos
Tipos de datosTipos de datos
Tipos de datos
 
C
CC
C
 
Elementos basicos de programacion
Elementos basicos de programacionElementos basicos de programacion
Elementos basicos de programacion
 
Pb1
Pb1Pb1
Pb1
 
Unidad i
Unidad iUnidad i
Unidad i
 
Presentacion1 lenguaje de-programacion_c
Presentacion1 lenguaje de-programacion_cPresentacion1 lenguaje de-programacion_c
Presentacion1 lenguaje de-programacion_c
 

Mehr von jcbenitezp

Cap4 jc benitez
Cap4 jc benitezCap4 jc benitez
Cap4 jc benitezjcbenitezp
 
Tarea 1 tesis i filosofia y conocimiento
Tarea 1 tesis i filosofia y conocimientoTarea 1 tesis i filosofia y conocimiento
Tarea 1 tesis i filosofia y conocimientojcbenitezp
 
It526 2017 2 ep
It526 2017 2 epIt526 2017 2 ep
It526 2017 2 epjcbenitezp
 
Uni rdsi 2016 1 sesion 13-14 redes moviles 4 g
Uni rdsi 2016 1 sesion 13-14 redes moviles 4 gUni rdsi 2016 1 sesion 13-14 redes moviles 4 g
Uni rdsi 2016 1 sesion 13-14 redes moviles 4 gjcbenitezp
 
Uni rdsi 2016 1 sesion 12 redes moviles 3 g
Uni rdsi 2016 1 sesion 12 redes moviles 3 gUni rdsi 2016 1 sesion 12 redes moviles 3 g
Uni rdsi 2016 1 sesion 12 redes moviles 3 gjcbenitezp
 
It526 2015 2 pc3
It526 2015 2 pc3 It526 2015 2 pc3
It526 2015 2 pc3 jcbenitezp
 
Calendario academico 2015 02 g
Calendario academico 2015   02 gCalendario academico 2015   02 g
Calendario academico 2015 02 gjcbenitezp
 
Db vsa-011 registro de asistencia docente ago2015
Db vsa-011 registro de asistencia docente  ago2015Db vsa-011 registro de asistencia docente  ago2015
Db vsa-011 registro de asistencia docente ago2015jcbenitezp
 
Utp 2015-2_pdi_lab3
 Utp 2015-2_pdi_lab3 Utp 2015-2_pdi_lab3
Utp 2015-2_pdi_lab3jcbenitezp
 
Utp sirn_2015-2 lab3
 Utp sirn_2015-2 lab3 Utp sirn_2015-2 lab3
Utp sirn_2015-2 lab3jcbenitezp
 
Pdi paterno m_lab2c
Pdi paterno m_lab2cPdi paterno m_lab2c
Pdi paterno m_lab2cjcbenitezp
 
Utp 2015-2_sirn_s7_r_competitivas
 Utp 2015-2_sirn_s7_r_competitivas Utp 2015-2_sirn_s7_r_competitivas
Utp 2015-2_sirn_s7_r_competitivasjcbenitezp
 
Utp 2015-2_sirn_s7_r_competitivas
 Utp 2015-2_sirn_s7_r_competitivas Utp 2015-2_sirn_s7_r_competitivas
Utp 2015-2_sirn_s7_r_competitivasjcbenitezp
 
Utp 2015-2_sirn_s6_adaline y backpropagation
 Utp 2015-2_sirn_s6_adaline y backpropagation Utp 2015-2_sirn_s6_adaline y backpropagation
Utp 2015-2_sirn_s6_adaline y backpropagationjcbenitezp
 
Utp ia_s1_introduccion ia
 Utp ia_s1_introduccion ia Utp ia_s1_introduccion ia
Utp ia_s1_introduccion iajcbenitezp
 
Utp sirn_s1_introduccion ia 2014-2
 Utp sirn_s1_introduccion ia 2014-2 Utp sirn_s1_introduccion ia 2014-2
Utp sirn_s1_introduccion ia 2014-2jcbenitezp
 
Utp sirn_s1_introduccion ia 2014-2
 Utp sirn_s1_introduccion ia 2014-2 Utp sirn_s1_introduccion ia 2014-2
Utp sirn_s1_introduccion ia 2014-2jcbenitezp
 
Utp sirn_2014-1 lab1
 Utp sirn_2014-1 lab1 Utp sirn_2014-1 lab1
Utp sirn_2014-1 lab1jcbenitezp
 
Utp sirn_s1_introduccion ia 2014-2
 Utp sirn_s1_introduccion ia 2014-2 Utp sirn_s1_introduccion ia 2014-2
Utp sirn_s1_introduccion ia 2014-2jcbenitezp
 
Inteligencia artificial
Inteligencia artificialInteligencia artificial
Inteligencia artificialjcbenitezp
 

Mehr von jcbenitezp (20)

Cap4 jc benitez
Cap4 jc benitezCap4 jc benitez
Cap4 jc benitez
 
Tarea 1 tesis i filosofia y conocimiento
Tarea 1 tesis i filosofia y conocimientoTarea 1 tesis i filosofia y conocimiento
Tarea 1 tesis i filosofia y conocimiento
 
It526 2017 2 ep
It526 2017 2 epIt526 2017 2 ep
It526 2017 2 ep
 
Uni rdsi 2016 1 sesion 13-14 redes moviles 4 g
Uni rdsi 2016 1 sesion 13-14 redes moviles 4 gUni rdsi 2016 1 sesion 13-14 redes moviles 4 g
Uni rdsi 2016 1 sesion 13-14 redes moviles 4 g
 
Uni rdsi 2016 1 sesion 12 redes moviles 3 g
Uni rdsi 2016 1 sesion 12 redes moviles 3 gUni rdsi 2016 1 sesion 12 redes moviles 3 g
Uni rdsi 2016 1 sesion 12 redes moviles 3 g
 
It526 2015 2 pc3
It526 2015 2 pc3 It526 2015 2 pc3
It526 2015 2 pc3
 
Calendario academico 2015 02 g
Calendario academico 2015   02 gCalendario academico 2015   02 g
Calendario academico 2015 02 g
 
Db vsa-011 registro de asistencia docente ago2015
Db vsa-011 registro de asistencia docente  ago2015Db vsa-011 registro de asistencia docente  ago2015
Db vsa-011 registro de asistencia docente ago2015
 
Utp 2015-2_pdi_lab3
 Utp 2015-2_pdi_lab3 Utp 2015-2_pdi_lab3
Utp 2015-2_pdi_lab3
 
Utp sirn_2015-2 lab3
 Utp sirn_2015-2 lab3 Utp sirn_2015-2 lab3
Utp sirn_2015-2 lab3
 
Pdi paterno m_lab2c
Pdi paterno m_lab2cPdi paterno m_lab2c
Pdi paterno m_lab2c
 
Utp 2015-2_sirn_s7_r_competitivas
 Utp 2015-2_sirn_s7_r_competitivas Utp 2015-2_sirn_s7_r_competitivas
Utp 2015-2_sirn_s7_r_competitivas
 
Utp 2015-2_sirn_s7_r_competitivas
 Utp 2015-2_sirn_s7_r_competitivas Utp 2015-2_sirn_s7_r_competitivas
Utp 2015-2_sirn_s7_r_competitivas
 
Utp 2015-2_sirn_s6_adaline y backpropagation
 Utp 2015-2_sirn_s6_adaline y backpropagation Utp 2015-2_sirn_s6_adaline y backpropagation
Utp 2015-2_sirn_s6_adaline y backpropagation
 
Utp ia_s1_introduccion ia
 Utp ia_s1_introduccion ia Utp ia_s1_introduccion ia
Utp ia_s1_introduccion ia
 
Utp sirn_s1_introduccion ia 2014-2
 Utp sirn_s1_introduccion ia 2014-2 Utp sirn_s1_introduccion ia 2014-2
Utp sirn_s1_introduccion ia 2014-2
 
Utp sirn_s1_introduccion ia 2014-2
 Utp sirn_s1_introduccion ia 2014-2 Utp sirn_s1_introduccion ia 2014-2
Utp sirn_s1_introduccion ia 2014-2
 
Utp sirn_2014-1 lab1
 Utp sirn_2014-1 lab1 Utp sirn_2014-1 lab1
Utp sirn_2014-1 lab1
 
Utp sirn_s1_introduccion ia 2014-2
 Utp sirn_s1_introduccion ia 2014-2 Utp sirn_s1_introduccion ia 2014-2
Utp sirn_s1_introduccion ia 2014-2
 
Inteligencia artificial
Inteligencia artificialInteligencia artificial
Inteligencia artificial
 

Utp pro_s2y3_elementos del lenguaje c nuevo

  • 1. Programación (L109) Sesión: 2 y 3 Elementos del Lenguaje C Ing. José C. Benítez P.
  • 2. Sesión 2. Temas Elementos del Lenguaje C Tipos de datos. Constantes. Operaciones aritméticas. Variables Asignación de variables. La función printf() y scanf(). Operaciones lógicas. Relaciones de comparación. Programación - Prof. Ing. Jose C. Benitez P. 2
  • 3. Sesión 2. Temas Elementos del Lenguaje C Tipos de datos. Constantes. Operaciones aritméticas. Variables Asignación de variables. La función printf() y scanf(). Operaciones lógicas. Relaciones de comparación. Programación - Prof. Ing. Jose C. Benitez P. 3
  • 4. Tipos de datos En C existen básicamente 4/5 tipos de datos, aunque como se verá después, podremos definir nuestros propios tipos de datos a partir de estos cuatro. A continuación se detalla su nombre, el tamaño que ocupa en memoria y el rango de sus posibles valores. TIPO Tamaño Rango de valores char 1 byte (8bits) -128 a 127 int 2 bytes -32768 a 32767 float 4 bytes 3'4 E-38 a 3'4 E+38 double 8 bytes 1'7 E-308 a 1'7 E+308 void Nota: La función: sizeof(<tipo datos>) Programación - Prof. Ing. Jose C. Benitez P. 4
  • 5. Tipos de datos. Calificadores Los calificadores de tipo tienen la misión de modificar el rango de valores de un determinado tipo de variable. Estos calificadores son cuatro: Signed. Le indica a la variable que va a llevar signo. Es el utilizado por defecto. Tamaño Rango de valores signed char 1 byte -128 a 127 signed int 2 bytes -32768 a 32767 Unsigned. Le indica a la variable que no va a llevar signo (valor absoluto). Tamaño Rango de valores unsigned char 1 byte 0 a 255 unsigned int 2 bytes 0 a 65535 Programación - Prof. Ing. Jose C. Benitez P. 5
  • 6. Tipos de datos. Calificadores Short. Rango de valores en formato corto (limitado). Es el utilizado por defecto. tamaño rango de valores short char 1 byte -128 a 127 short int 2 bytes -32768 a 32767 Long. Rango de valores en formato largo (ampliado). tamaño rango de valores long int 4 bytes -2.147.483.648 a 2.147.483.647 long double 10 bytes -3'36 E-4932 a 1'18 E+4932 También es posible combinar calificadores entre sí: signed long int = long int = long unsigned long int = unsigned long 4 bytes 0 a 4.294.967.295 (El mayor entero permitido en C) Programación - Prof. Ing. Jose C. Benitez P. 6
  • 7. Sesión 2. Temas Elementos del Lenguaje C Tipos de datos. Constantes. Operaciones aritméticas. Variables Asignación de variables. La función printf() y scanf(). Operaciones lógicas. Relaciones de comparación. Programación - Prof. Ing. Jose C. Benitez P. 7
  • 8. Constantes Al contrario que las variables, las constantes mantienen su valor a lo largo de todo el programa. Para indicar al compilador que se trata de una constante, usaremos la directiva #define: #define <identificador> <valor> NOTA: Observe que no se indica el punto y coma (;) de final de sentencia ni tampoco el tipo de dato. La directiva #define no sólo nos permite sustituir un nombre por un valor numérico, si no también por una cadena de caracteres. NOTA: El valor de una constante no puede ser modificado de ninguna manera. Programación - Prof. Ing. Jose C. Benitez P. 8
  • 9. Constantes Ejemplo: Archivo: constan1.c /* Uso de las constantes */ #include <stdio.h> #define pi 3.1416 #define escribe printf main() /* Calcula el perímetro */ { int r; escribe("Introduce el radio: "); scanf("%d",&r); escribe("El perímetro es: %f",2*pi*r); } Programación - Prof. Ing. Jose C. Benitez P. 9
  • 10. Sesión 2. Temas Elementos del Lenguaje C Tipos de datos. Constantes. Operaciones aritméticas. Variables Asignación de variables. La función printf() y scanf(). Operaciones lógicas. Relaciones de comparación. Programación - Prof. Ing. Jose C. Benitez P. 10
  • 11. Operaciones aritméticas Existen dos tipos de operadores aritméticos: Binarios: + Suma - Resta * Multiplicación / División % Módulo (resto) Unarios: ++ Incremento (suma 1) - - Decremento (resta 1) - Cambio de signo Sintaxis: Binarios: <variable1><operador><variable2> Ejemplo: b + c Unarios: <variable><operador> Ejemplo: x-- y al revés: <operador><variable> Ejemplo: ++x Programación - Prof. Ing. Jose C. Benitez P. 11
  • 12. Operaciones aritméticas Ejemplo: Ejemplo Archivo: operad1.c /* Uso de los operadores aritméticos */ #include <stdio.h> main() /* Realiza varias operaciones */ { int a=1, b=2, c=3, r; r=a+b; printf ("%d + %d = %dn",a,b,r); r=c-a; printf ("%d - %d = %dn",c,a,r); b++; printf ("b + 1 = %d",b); } Programación - Prof. Ing. Jose C. Benitez P. 12
  • 13. Jerarquía de operadores Es importante la precedencia de los operadores a la hora de trabajar con ellos: () Mayor precedencia ++, - - *, /, % +, - Menor precedencia Las operaciones con mayor precedencia se realizan antes que las de menor precedencia. Si en una operación encontramos signos del mismo nivel de precedencia, dicha operación se realiza de izquierda a derecha. Ejemplo : a*b+c/d-e 1. a*b resultado = x 2. c/d resultado = y 3. x+y resultado = z 4. z-e Programación - Prof. Ing. Jose C. Benitez P. 13
  • 14. Jerarquía de operadores La multiplicación se resuelve antes que la división ya que está situada más a la izquierda en la operación. Lo mismo ocurre con la suma y la resta. Ejemplo Archivo: operad3.c /* Jerarquía de los operadores */ #include <stdio.h> main() /* Realiza una operación */ { int a=6,b=5,c=4,d=2,e=1,x,y,z,r; x=a*b; printf("%d * %d = %dn",a,b,x); y=c/d; printf("%d / %d = %dn",c,d,y); z=x+y; printf("%d + %d = %dn",x,y,z); r=z-e; printf("%d = %d",r,a*b+c/d-e); } Programación - Prof. Ing. Jose C. Benitez P. 14
  • 15. Sesión 2. Temas Elementos del Lenguaje C Tipos de datos. Constantes. Operaciones aritméticas. Variables Asignación de variables. La función printf() y scanf(). Operaciones lógicas. Relaciones de comparación. Programación - Prof. Ing. Jose C. Benitez P. 15
  • 16. Las variables Una variable es un tipo de dato, referenciado mediante un identificador (que es el nombre de la variable). El contenido de una variable podrá ser modificado a lo largo del programa. Una variable sólo puede pertenecer a un tipo de dato. Para poder utilizar una variable, primero tiene que ser declarada: [calificador] <tipo> <nombre> ; Programación - Prof. Ing. Jose C. Benitez P. 16
  • 17. Las variables Ejemplo: Ejemplo Archivo: variab1.c /* Uso de las variables */ #include <stdio.h> main() /* Suma dos valores */ { int num1; /* Declaración de la variable num1 */ int num2; /* Declaración de la variable num2 */ int num3; /* Declaración de la variable num3 */ num1=4; /* Asignación de la variable num1 */ num3=6; /* Asignación de la variable num2 */ printf ("El valor de num1 es %d",num1); printf ("nEl valor de num3 es %d",num3); num2=num1+num3; printf ("nnum1 + num3 = %d",num2); } Programación - Prof. Ing. Jose C. Benitez P. 17
  • 18. Las variables Es posible declarar más de una variable del mismo tipo en la misma sentencia: Ejemplo: Ejemplo Archivo: variab1.c /* Uso de las variables */ #include <stdio.h> main() /* Suma dos valores */ { int num1, num2, num3; /* Declaración de las variables num1, num2 y num3 */ num1=4; /* Asignación de la variable num1 */ num3=6; /* Asignación de la variable num2 */ printf ("El valor de num1 es %d",num1); printf ("nEl valor de num3 es %d",num3); num2=num1+num3; printf ("nnum1 + num3 = %d",num2); } Programación - Prof. Ing. Jose C. Benitez P. 18
  • 19. Las variables Las variables pueden ser de dos tipos según el lugar en que las declaremos: globales o locales. La variable global: Se declara antes de la main( ). Puede ser utilizada en cualquier parte del programa y Se destruye al finalizar este programa. La variable local: • Se declara después de la main( ), o en la función en que vaya a ser utilizada. • Sólo existe dentro de la función en que se declara y • Se destruye al finalizar dicha función. Programación - Prof. Ing. Jose C. Benitez P. 19
  • 20. Las variables Ejemplo: Ejemplo Archivo: variab2.c /* Declaración de variables */ #include <stdio.h> int a; /* variable global */ main() /* Muestra dos valores */ { int b=4; /* variable local / printf("b es local y vale %d",b); a=5; printf("na es global y vale %d",a); } Programación - Prof. Ing. Jose C. Benitez P. 20
  • 21. Sesión 2. Temas Elementos del Lenguaje C Tipos de datos. Constantes. Operaciones aritméticas. Variables Asignación de variables. La función printf() y scanf(). Operaciones lógicas. Relaciones de comparación. Programación - Prof. Ing. Jose C. Benitez P. 21
  • 22. Asignación de variables Para poder utilizar una variable, primero tiene que ser declarada: [calificador] <tipo> <nombre> ; Luego se le puede asignar una expresión numérica o un valor mediante el signo “=“. <variable>= <expresión> ; Ejemplo Archivo: variab1.c /* Uso de las variables */ #include <stdio.h> main() /* Suma dos valores */ { int num1, num2, num3; num1=4; /* Asignación de la variable num1 */ num3=6; /* Asignación de la variable num2 */ printf ("El valor de num1 es %d",num1); printf ("nEl valor de num3 es %d",num3); num2=num1+num3; printf ("nnum1 + num3 = %d",num2); } Programación - Prof. Ing. Jose C. Benitez P. 22
  • 23. Asignación de variables Es posible inicializar y declarar más de una variable del mismo tipo en la misma sentencia: [calificador] <tipo> <nombre1>,<nombre2>=<valor>,<nombre3>=<valor>,<nombre4> ; Ejemplo Archivo: variab1.c /* Uso de las variables */ #include <stdio.h> main() /* Suma dos valores */ { int num1=4, num2, num3=6; printf ("El valor de num1 es %d",num1); printf ("nEl valor de num3 es %d",num3); num2=num1+num3; printf ("nnum1 + num3 = %d",num2); } Programación - Prof. Ing. Jose C. Benitez P. 23
  • 24. Operadores de asignación de variables La mayoría de los operadores aritméticos binarios explicados anteriormente tienen su correspondiente operador de asignación: = Asignación simple += Suma -= Resta *= Multiplicación /= División %= Módulo (resto) Con estos operadores se pueden escribir, de forma más breve, expresiones del tipo: n=n+3 se puede escribir n+=3 k=k*(x-2) lo podemos sustituir por k*=x-2 o k*=(x-2)? Programación - Prof. Ing. Jose C. Benitez P. 24
  • 25. Operadores de asignación de variables Ejemplo Archivo: operad2.c /* Uso de los operadores de asignación */ #include <stdio.h> main() /* Realiza varias operaciones */ { int a=1,b=2,c=3,r; a+=5; printf ("a + 5 = %dn",a); c-=1; printf ("c - 1 = %dn",c); b*=3; printf ("b * 3 = %d",b); } Programación - Prof. Ing. Jose C. Benitez P. 25
  • 26. Sesión 2. Temas Elementos del Lenguaje C Tipos de datos. Constantes. Operaciones aritméticas. Variables Asignación de variables. La función printf() y scanf(). Operaciones lógicas. Relaciones de comparación. Programación - Prof. Ing. Jose C. Benitez P. 26
  • 27. Secuencias de escape Ciertos caracteres no representados gráficamente se pueden representar mediante lo que se conoce como secuencia de escape. Las más significativas son: n salto de línea b retroceso t tabulación horizontal v tabulación vertical contrabarra f salto de página ' apóstrofe " comillas dobles 0 fin de una cadena de caracteres o representación octal x representación hexadecimal Programación - Prof. Ing. Jose C. Benitez P. 27
  • 28. Secuencias de escape Ejemplo: Ejemplo Archivo: secuen1.c /* Uso de las secuencias de escape */ #include <stdio.h> main() /* Escribe diversas sec. de escape */ { printf("Me llamo "Nemo" el grande"); printf("nDirección: C Mayor 25"); printf("nHa salido la letra 'L'"); printf("nRetrocesob"); printf("ntEsto ha sido todo"); } Programación - Prof. Ing. Jose C. Benitez P. 28
  • 29. La función printf() La rutina printf permite la aparición de valores numéricos, caracteres y cadenas de texto por pantalla. Prototipo: printf (control, arg1, arg2...) ; En la cadena de control indicamos la forma en que se mostrarán los argumentos posteriores. También podemos introducir una cadena de texto ( sin necesidad de argumentos ), o combinar ambas posibilidades, así como secuencias de escape. Ejemplo Archivo: printf.c /* Uso de la sentencia printf() 1. */ #include <stdio.h> main() /* Saca por pantalla una suma */ { int a=20, b=10; printf ("El valor de a es %dn",a); printf ("El valor de b es %dn",b); printf ("Por tanto %d+%d=%d",a,b,a+b); } Programación - Prof. Ing. Jose C. Benitez P. 29
  • 30. La función printf() En el caso de que utilicemos argumentos deberemos indicar en la cadena de control tantos modificadores como argumentos vayamos a presentar. El modificador está compuesto por el caracter % seguido por un caracter de conversión, que indica de que tipo de dato se trata. Los modificadores más utilizados son: %c Un único caracter. %d Un entero con signo, en base decimal. %u Un entero sin signo, en base decimal. %o Un entero en base octal. %x Un entero en base hexadecimal. %e Un número real en coma flotante, con exponente. %f Un número real en coma flotante, sin exponente. %s Una cadena de caracteres. %p Un puntero o dirección de memoria. Programación - Prof. Ing. Jose C. Benitez P. 30
  • 31. La función printf() Ejemplo Archivo: printf2.c /* Uso de la sentencia printf() 2. */ #include <stdio.h> main() /* Modificadores 1 */ { char cad[]="El valor de"; int a=-15; unsigned int b=3; float c=932.5; printf("%s a es %dn",cad,a); printf("%s b es %un",cad,b); printf("%s c es %e o %f",cad,c,c); } Programación - Prof. Ing. Jose C. Benitez P. 31
  • 32. La función printf() El formato completo de los modificadores es el siguiente: % [signo] [longitud] [.precisión] [l/L] conversión Signo: indicamos si el valor se ajustará a la izquierda, en cuyo caso utilizaremos el signo menos, o a la derecha ( por defecto ). Longitud: especifica la longitud máxima del valor que aparece por pantalla. Si la longitud es menor que el número de dígitos del valor, éste aparecerá ajustado a la izquierda. Precisión: indicamos el número máximo de decimales que tendrá el valor. l/L: utilizamos l cuando se trata de una variable de tipo long y L cuando es de tipo double. Programación - Prof. Ing. Jose C. Benitez P. 32
  • 33. La función printf() Ejemplo Archivo: printf3.c /* Uso de la sentencia printf() 3. */ #include <stdio.h> main() /* Modificadores 2 */ { char cad[ ]="El valor de"; int a=25986; long int b=1976524; float c=9.57645; printf("%s a es %9dn",cad,a); printf("%s b es %ldn",cad,b); printf("%s c es %.3f",cad,c); } Programación - Prof. Ing. Jose C. Benitez P. 33
  • 34. La función scanf() La funcion scanf permite entrar datos en la memoria del computador a través del teclado. Prototipo: scanf (control, arg1, arg2...); En la cadena de control indicaremos, por regla general, los modificadores que harán referencia al tipo de dato de los argumentos. Al igual que en la sentencia printf los modificadores estarán formados por el caracter % seguido de un caracter de conversión. Los argumentos indicados serán, nuevamente, las variables. Programación - Prof. Ing. Jose C. Benitez P. 34
  • 35. La función scanf() La principal característica de la Ejemplo Archivo: scanf.c sentencia scanf es que necesita /* Uso de la sentencia scanf(). */ saber la posición de la memoria del ordenador en que se encuentra la #include <stdio.h> dos datos */ main() /* Solicita variable para poder almacenar la { char nombre[10]; información obtenida. int edad; printf("Introduce tu nombre: "); Para indicarle esta posición scanf("%s",nombre); printf("Introduce tu edad: "); utilizaremos el símbolo ampersand scanf("%d",&edad); ( & ), que colocaremos delante del } nombre de cada variable. ( Esto no será necesario en los arrays ). Programación - Prof. Ing. Jose C. Benitez P. 35
  • 36. Sesión 2. Temas Elementos del Lenguaje C Tipos de datos. Constantes. Operaciones aritméticas. Variables Asignación de variables. La función printf() y scanf(). Operaciones lógicas. Relaciones de comparación. Programación - Prof. Ing. Jose C. Benitez P. 36
  • 37. Operaciones lógicas Los operadores lógicos básicos son tres: && AND || OR ! NOT (El valor contrario) Estos operadores actúan sobre expresiones lógicas. Permiten unir expresiones lógicas simples formando otras más complejas. V = Verdadero F = Falso Programación - Prof. Ing. Jose C. Benitez P. 37
  • 38. Operaciones lógicas Ejemplo Archivo: switch.c /* Uso de los op. lógicos AND, OR, NOT. */ #include <stdio.h> main() /* Compara un número introducido */ { int numero; printf("Introduce un número: "); scanf("%d",&numero); if(!(numero>=0)) printf("El número es negativo"); else if((numero<=100)&&(numero>=25)) printf("El número está entre 25 y 100"); else if((numero<25)||(numero>100)) printf("El número no está entre 25 y 100"); } Programación - Prof. Ing. Jose C. Benitez P. 38
  • 39. Sesión 2. Temas Elementos del Lenguaje C Tipos de datos. Constantes. Operaciones aritméticas. Variables Asignación de variables. La función printf() y scanf(). Operaciones lógicas. Relaciones de comparación. Programación - Prof. Ing. Jose C. Benitez P. 39
  • 40. Relaciones de comparación Los operadores relacionales se utilizan para comparar el contenido de dos variables. En C existen seis operadores relacionales básicos: > Mayor que < Menor que >= Mayor o igual que <= Menor o igual que == Igual que (Menor precedencia) != Distinto que El resultado que devuelven estos operadores es 1 para Verdadero y 0 para Falso. Si hay más de un operador se evalúan de izquierda a derecha. Además los operadores == y != están por debajo del resto en cuanto al orden de precedencia. Programación - Prof. Ing. Jose C. Benitez P. 40
  • 41. Relaciones de comparación Ejemplo Archivo: operrel.c /* Uso de los operadores relacionales. */ #include <stdio.h> main() /* Compara dos números entre ellos */ { int a,b; printf("Introduce el valor de A: "); scanf("%d",&a); printf("Introduce el valor de B: "); scanf("%d",&b); if(a>b) printf("A es mayor que B"); else if(a<b) printf("B es mayor que A"); else printf("A y B son iguales"); } Programación - Prof. Ing. Jose C. Benitez P. 41
  • 42. Tarea (T2) Hacer un programa en C para los siguientes enunciados: 1. IpT un numero x. Hallar y=|x3+x+3+|. 2. IpT un numero x. Hallar f(x)= 3x3+2x2+1. 3. IpT un monto en soles. Convertir soles a dólares y a euros. 4. IpT una temperatura en Celsius. Convertir grados Celsius a Fahrenheit. 5. IpT dos números, hallar el mínimo común múltiplo (mcm) y el máximo común divisor (MCD) de dos numero enteros. 6. IpT un número en decimal. Convertir el decimal a octal y hexadecimal. 7. IpT un número. Mostrar la tabla del 1 al 12 de ese número. 8. IpT un número. Mostrar la tabla del 1 al 12 de 0 hasta ese número. 9. Solicitar notas por teclado hasta el Examen Final. Hacer una Boleta de Notas. Indicar si va o no al sustitutorio. Considerar el reglamento UTP. IpT= Ingresar por teclado Programación - Prof. Ing. Jose C. Benitez P. 42
  • 43. Presentación Todas las fuentes y tareas deben presentarse en su carpeta personal del Dropbox, dentro de una carpeta que lleve sus Apellidos, guion bajo y luego el número de la tarea. Ejemplo: BenitezP_T2 Si para el desarrollo de las tareas utilizó otras fuentes, agregarlas en el Dropbox. La fuente debe conservar el nombre original y añadir al final _T2. Las Tareas que no cumplan las indicaciones no serán considerados por el profesor. Programación - Prof. Ing. Jose C. Benitez P. 43
  • 44. Sesión 2 y 3. Elementos del lenguaje C Programación http://utpprogc.blogspot.com Programación - Prof. Ing. Jose C. Benitez P. 44