Docstoc

Fundamentos de C

Document Sample
Fundamentos de C Powered By Docstoc
					Instrucciones Fundamentales


Instrucciones Fundamentales

       En realidad el C no tiene instrucciones de entrada y salida, para realizar
estas tareas se vale de funciones de librería como scanf y printf, que son las
que utilizaremos en este curso.

Entrada de datos
      La sintaxis general de la función scanf es:

    scanf (“formato de conversión”, lista de direcciones de memoria de las variables);


       Los formatos de conversión brindan información sobre el tipo de dato
que desea capturarse y la estructura de ingreso de los mismos. Nótese que la
función scanf exige que en el segundo argumento se ingresen las direcciones
de las variables y no los nombres de las variables. En C podemos indicar la
dirección de una variable utilizando el operador de dirección & que proporciona
la dirección del operando, es decir si x es una variable entonces &x es la
dirección de la variable x.

       En la siguiente tabla presentamos los formatos de conversión

      Tipo de dato          Formato de conversión               Explicación
                                                        Se utiliza al leer valores
            int                       “%d”              enteros.
                                                        Se aplica para números reales
           float                      “%f”              o flotantes.
           char                       “%c”              Para lectura de caracteres.
                                                        Para lectura de cadena de
           char                       “%s”              caracteres    terminadas    en
                                                        espacio.
                                                        Permite la entrada de cadenas
           char                     “%[^\n]”            que contienen espacios en
                                                        blanco.

Ejemplos

    scanf (“%d” , &x);          /* lectura de la variable entera x */
    scanf (“%3d”, &x);          /* lectura de la variable entera x de tres dígitos
     */
    scanf (“%f %d %c”, &a, &b, &a);
         /* conviene dejar un espacio en blanco entre formatos y dejarlos
            también al introducir los datos o bien usar enter después de cada
            valor de entrada*/
    scanf (“%d %s”, &edad, nombre);
         /* observe que los vectores tipo char que almacenan cadenas no
            utilizan el operador de dirección & ya que el nombre del vector
            representa la dirección de memoria */
    scanf (“%[^\n]”, corregimiento); /* se captura el corregimiento incluyendo
     espacios */
    scanf (“%[aeiou]”, texto);          /* solo acepta vocales minúsculas */



Diego Santimateo G. Msc.
Instrucciones Fundamentales



Salida de datos
       La salida al igual que la entrada se puede lograr utilizando diversas
funciones, no obstante, en este curso emplearemos la función printf(), cuya
sintaxis es:

    printf (“formato de conversión y/o cadena”, lista de nombres de las variables);


Ejemplos

    printf (“%d” , x);
                            /* despliega el valor de la variable entera x */
    scanf (“%6.2f”, y);
                             /* el valor de y se ubica en un campo de seis
                             posiciones, dos de las cuales son para los
                             decimales */
      printf (“\n nueva línea”);
                             /* salta de línea y luego despliega la cadena*/
      printf (“La edad es: %d”, edad);
                              /* despliega la cadena seguida del valor de edad ,
                             nótese que el lugar que ocupa %d será sustituido
                             por el valor de la variable edad*/
      printf (“El empleado que gana %f es %s”, salario, nombre);
                             /* el formato %f será sustituido por el valor de salario
                             y %s por el nombre de la persona */
      printf (“%-5d”, cant)
                             /* el valor se ajusta por la izquierda dentro del campo
                             de tamaño cinco */

Atribución o asignación
        Esta instrucción asigna un valor a una variable, desde una posición de
memoria a otra. Observe que en la entrada de datos también se consigue la
asignación de valores a variables, solo que los valores provienen de algún
periférico. La sintaxis general es:


   variable = variable o constante o expresión;                   La constante no
                                                                  puede ser una
                                                                  cadena

      Es importante recordar que la asignación se hace a partir del miembro
derecho del = hacia la variable que está en la izquierda.


Ejemplos

    x = 100;
    c = „\0‟;
    p = 0.3e5;


Diego Santimateo G. Msc.
Instrucciones Fundamentales

    swt = „f‟;
    pi = 3.14159;

   Algunas asignaciones en C se consideran operadores de asignación, tales
   como las siguientes:


    Operador      Ejemplo                          Significado
      +=          a += b;    a = a + b;
       -=         a -= b;    a = a - b;
       *=         a *= b;    a = a * b;
       /=         a /= b;    a = a / b;
      %=          a %= b;    a = a % b;
      ++          ++i        i = i +1 …modifica i antes de usarla para otro
                             propósito
        ++        i++        i = i +1 …modifica i después de usarla para otro
                             propósito
         --       --i        i = i -1

Repeticiones o ciclos
       Una de las instrucciones más poderosas de los lenguajes de
programación es la que permite repetir un número finito de veces un proceso.
En los lenguajes procedurales usualmente existen las siguientes tres formas de
repetición:

       El for cuya sintaxis es:

      for (inicialización; control de salida; actualización de variable de control)
          {
             Proceso;
           }


       En C a diferencia de Pascal las expresiones que controlan el for deben
estar entre paréntesis. La inicialización se refiere a la asignación inicial de la
variable que controla la repetición (variable de control), el control de salida es la
condición de parada de la repetición y la actualización es la expresión que
modifica a la variable de control a fin de alcanzar en algún momento la
condición de parada para poder salir del ciclo.

Ejemplos

   for (i = 0; i < n; i++)        La variable de control i se inicializa en cero, se
       {                          verifica si i < n, si es verdad se realiza el Proceso y
          Proceso;                luego se incrementa la i con la expresión i++, si i <
        }                         n es falsa termina el for .
                                  Recuerde que Proceso es una secuencia
                                  ordenada de instrucciones, lo que significa que
                                  puede contener cualquier instrucción, incluyendo
                                  otro for.



Diego Santimateo G. Msc.
Instrucciones Fundamentales

   s = 0;                            Cálculo de la suma de n valores enteros, en
   for (i = 0; i < n; i++)           este caso edades.
       {
          scanf (“%d”, &edad);
           s += edad;
        }

     Otra instrucción que podemos utilizar para repetir un Proceso un
número finito de veces es el while:

                     while (condición)
                        {                       Mientras la condición sea
                           Proceso;             verdadera se repite el Proceso.
                         }
Ejemplos

   i = 0;                         El while se puede usar como un for tal como lo
   while ( i < n )               muestra este ejemplo. Observe que la variable de
       {                         control se inicializa antes del while y que la
          Proceso;               condición debe ser verdadera para poder entrar al
          i++;                   cuerpo de la repetición, el cual debe contener la
        }                        actualización de la variable de control para lograr
                                 que la condición sea en algún momento falsa y se
                                 termine la repetición.
   scanf (“%f”, &n);             Aquí se asume que tenemos el vector x en
   scanf("%d", &val);            memoria. Se procede a leer un valor y a buscar el
   i = 0;                        valor en el vector. Como hallar es uno (verdadero)
   hallar = 1;                   e i<n ( las dos expresiones son ciertas), entonces
                                 garantizamos que entre al Proceso. Cuando
   while ((hallar) && (i <       encuentra el valor en el vector la variable hallar
   n))                           cambia a cero(falso) lo que hace que la condición
         {                       de parada sea falsa en la siguiente verificación y
           if (x [ i ] == val)   se termine la repetición. Si el valor no está en el
               hallar = 0;       vector la variable i llega al valor n, con lo cual (i <
           else                  n) es falso y se termina la repetición.
               i++;
         }

La otra forma de repetición es el do...while:


      do
           {                               Observe que el proceso se realiza por lo
                                           menos una vez y que la condición de
               Proceso;                    parada se verifica al final y no al inicio
                                           como en el for y el while.
           } while (condición);




Diego Santimateo G. Msc.
Instrucciones Fundamentales

Ejemplos

   i = 0;                                 Esta instrucción se puede usar como
   do                                    un for , tal como lo muestra este
       {                                 ejemplo. Observe que la variable de
            Proceso;                     control i se inicializa antes del do e
            i++;                         inmediatamente se entra en el Proceso.
                                         Luego se actualiza la variable de control
        } while ( i < n )                y se verifica la condición de salida. Si
                                         i<n es verdad, se repite el Proceso.
   do                                    Esta es la clásica presentación de un
        {                                menú.
        printf (“\n Menú Principal”);
        printf (“\n1. suma”);            Se despliegan las opciones y luego se
        printf (“\n2. divide”);          captura el número que corresponde a la
        printf (“\n3. multiplica”);      opción deseada.
        printf (“\n9. salir”);
        printf (“\n indique una          Este menú se presentará hasta que se
   opción:”);                            seleccione la opción de salir.
        scanf("%d", &op);

        } while ( op ! = 9 )




La transferencia condicional
       Esta instrucción permite al programador decidir que proceso desea
realizar dependiendo del resultado de la evaluación de expresión, su sintaxis
es:

      if (condición)
           {                            La palabra then no es necesaria. El
              Proceso1;                 Proceso1 se realiza si la condición es
            }                           verdadera, en caso contrario, se ejecuta el
      else                              Proceso2. La parte del else solo se usa si
           {                            se necesita, es decir, no siempre el if lleva
              Proceso2;                 else.
            }




Diego Santimateo G. Msc.
Instrucciones Fundamentales

Ejemplos

   If (a == 100)                                           Presentamos un if sin else,
       {                                                  Proceso se ejecutará cuando el
          Proceso;
       }
                                                          valor de la variable a sea cien.
   If ((a == 100) && (p !=0))                             Como usamos la Y lógica
       {                                                  (&&)en la condición, entonces, el
          Proceso1;
       }
                                                          Proceso2 se realizará cuando
   else                                                   una de las dos condiciones no
       {                                                  se cumpla o cuando las dos
          Proceso2;                                       sean falsas.
       }
   do                                                     Hemos avanzado en la
        {                                                 construcción del menú utilizando
          printf (“\n Menú Principal”);
          printf (“\n1. suma”);
                                                          if anidados, es decir, uno dentro
          printf (“\n2. divide”);                         de otro.
          printf (“\n3. multiplica”);
          printf (“\n9. salir”);                          Observe además que tenemos if
          printf (“\n indique una opción:”);              dentro de un do...while.
          scanf("%d", &op);

         if (op == 1)                                     Usted siempre puede hacer
             /* llamar a la función que suma*/            anidamiento de instrucciones
         else                                             según le indique la lógica que
             if (op == 2)                                 esté desarrollando.
                /* llamar a la función que divide*/
             else
                if (op == 3)
                /* llamar a la función que multiplica*/

       } while ( op ! = 9 )




Diego Santimateo G. Msc.

				
DOCUMENT INFO
Shared By:
Categories:
Stats:
views:220
posted:5/21/2011
language:Spanish
pages:6
Description: Introducci�n a las instrucciones fundamentales del lenguaje C.