Lenguaje de
Programación C
Agenda
– Generalidades
– Origenes lenguaje C
– Caracteristicas del C
– Estructura General programa en C
– De Seudocodigo a lenguaje C
– Variables en C.
– Instrucciones y operadores.
– Entrada y salida de información
GENERALIDADES


                  Generalidades
                                           Fortran
                                           Basic
                       ESTRUCTURADOS       C
                                           Pascal
               ALTO
               NIVEL
 Lenguajes
                       ORIENTADOS   Java
     De
Programación            A OBJETOS
                                    C++


               BAJO
               NIVEL
GENERALIDADES


     Programación estructurada
Teorema del programa estructurado:
Todo programa puede escribirse utilizando
únicamente las tres instrucciones de control
siguientes:
   •Secuencia
   •Instrucción condicional.
   •Iteración (bucle de instrucciones)
GENERALIDADES


    Programación estructurada(2)
Ventajas
 1.Los programas son más fáciles de entender, ya que pueden ser leídos de
forma secuencial, sin necesidad de hacer seguimiento a saltos de línea.
2. La estructura del programa es clara, puesto que las instrucciones están más
ligadas o relacionadas entre sí.
3. El seguimiento de los fallos o errores del programa ("debugging") se facilita
debido a la estructura más visible, por lo que los errores se pueden detectar y
corregir más fácilmente.
4. Programas más sencillos y más rápidos (ya que es más fácil su optimización).



Desventajas
 Único bloque de programa, que cuando se hace demasiado grande puede
resultar problemático su manejo
ORIGENES C


                          Orígenes del C
Dennis Ritchie (Laboratorios Bell) en1972,
cuando trabajaba en el diseño del sistema
operativo UNIX.

El „C‟ se creó como herramienta para
programadores, en consecuencia su principal
objetivo es ser un lenguaje útil.
CARACTERISTICAS


                             Lenguaje C
Potencia y flexibilidad: Se ha usado en contextos tan dispares como el desarrollo
de sistemas operativos, procesadores de texto, gráficos, bases de datos,
compiladores de otros lenguajes, etc.

Popularidad: Existe una gran variedad de compiladores, librer´ıas, herramientas
de apoyo a la programaci´on, etc. Es el lenguaje predominante en el entorno UNIX.

Portabilidad: El mismo programa escrito en C puede compilarse y ejecutarse sin
practicamente ningún cambio en diferentes ordenadores. Esto se debe en gran
parte al estandar ANSI C.

Sencillez: C utiliza pocas palabras clave, por lo que puede aprenderse f´acilmente.

Estructura y modularidad: Los programas en C pueden escribirse agrupando el
codigo en funciones. Reutilizable.
CARACTERISTICAS


                            Lenguaje C
Es un lenguaje compilado.




CÓDIGO FUENTE: es el programa que nosotros escribimos, se graba con la
extensión .C

CÓDIGO OBJETO: es el programa fuente pero traducido a lenguaje máquina
(sucesión de ceros y unos), se graba con la extensión .OBJ

PROGRAMA EJECUTABLE: es el programa objeto más las “librerías del C”, se
graba con la extensión .EXE. Y no necesita el programa que hemos utilizado
para crearlo, para poder ejecutarlo.
LENGUAJE C

ESTRUCTURA GRAL DE UN PROGRAMA EN C


ENCABEZADO-DIRECTIVAS

INICIO

DECLARACIÓN DE VARIABLES Y CONSTANTES

ACCIONES DEL ALGORITMO

FIN
LENGUAJE C


                         Ejemplo
Realizar un algoritmo que solicite al usuario dos números
enteros, realice su suma y la imprima en pantalla.

Analisis del problema:
   Datos de entrada:
   Los dos números (necesito dos variables para llevarlos.
   llamemoslos a y b).
   Datos de salida:
   Variable en la cual se almacena el resultado de la suma (c).
   Proceso: ¿Que es lo que tengo que hacer?
       Solicitar al usuario los datos de entrada.
       Sumar los dos datos de entrada.
       Desplegar el resultado.
LENGUAJE C


                          Ejemplo…
 Seudocódigo y diagrama de Flujo:

Algoritmo(sumar)
Variables:
    entero: a, b, c
INICIO
        ESCRIBA(“Digite el primer numero (entero)”)
        LEA(a)
        ESCRIBA(“Digite el segundo numero (entero)”)
        LEA(b)
        c  a + b
        ESCRIBA(“La suma es: ”,c)
    FIN_INICIO
Fin(sumar)
LENGUAJE C


                      Ejemplo…
Traducción al lenguaje C

  Básicamente el primer paso es familizarnos con la
  sintaxis (expresiones, reglas, etc.) del lenguaje C.

  Realizar la formulación del algoritmo en términos de
  esa nueva sintaxis.
LENGUAJE C

                               Ejemplo…
Algoritmo(sumar)
    Variables:
    entero: a, b, c
    INICIO
        ESCRIBA(“Digite el primer numero (entero)”)
        LEA(a)
        ESCRIBA(“Digite el segundo numero (entero)”)
        LEA(b)
        c  a + b
        ESCRIBA(“La suma es: ”,c)
    FIN_INICIO
Fin(sumar)



#include<stdio.h>

int main(){
    int a, b, c = 0;
    printf(“Digite el primer numero (entero): ”);
    scanf(“%d”,&a);
    printf(“Digite el segundo numero (entero): ”);
    scanf(“%d”,&b);
    c = a + b;
    printf(“El resultado de la suma es: %dn”,c);
    return 0;
}
INTRODUCCION AL LENGUAJE C
 ANATOMIA DE UN PROGRAMA
 EN C
                                                    Librerías (uso de
                                                    directivas del
                                                    preprocesador)
#include<stdio.h>

int main(){
                                                    Declaración de
    int a, b, c = 0;                                variables (las variables
                                                    son locales en este
    printf(“Digite el primer numero: ”);            caso).
    scanf(“%d”,&a);
    printf(“Digite el segundo numero: ”);
    scanf(“%d”,&b);
    c = a + b;
    printf(“El resultado de la suma es: %dn”,c);   Instrucciones
    return 0;                                       (Expresiones aritmética
                                                    y lógicas, condicionales
}
                                                    (SI), ciclos (HAGA,
                                                    MIENTRAS)).
                Programa principal
INTRUDUCCIÓN AL LENGUAJE C
• Esto nos lleva a la siguiente conclusión
                                  #include <librerias_del_sistema>
                                  #include “librerias_propias”

                                  variables_globales;

   algoritmo (nombre_algoritmo)   int main() {
   INICIO                             variables_locales;
   Declaracion variables              sentencia_1;
       sentencia_1                    sentencia_2;
       sentencia_2                       .   .   .
        .   .   .                     sentencia_N;
       sentencia_N                Return 0;
   FIN_INICIO                     }
INTRUCCION AL LENGUAJE C
• Plantilla básica de un programa en C
MANEJO DE VARIABLES

Tipos de Variables   Variables en C (Tipos de
                     datos)

       Num.              int
     Enteras
        Num.             float
       Reales            double

    Booleano             Bool

    Carácter-
AlfaNúmerica              char
•
          MANEJO DE VARIABLES
      Declaración: consiste en definir cada una de las variables que van a ser usadas en
      el programa. Sigue la siguiente Sintaxis:
       tipo nom_var1 , nom_var2, nom_var3 = valor_inicial, nom_varN;
•     En C Toda variable debe ser declarada antes de ser usada. Cosa que no se declara
      cosa que no existe y error!!!. La inicialización de esta es opcional

                          TABLA SENCILLA DE EQUIVALENCIAS C-PSEUDOCODIGO


                          Pseudocódigo             Lenguaje C
                          entera                   int
                          real                     float
                                                   double
                          alfanumérica             char


    variables:
        entero: num_estudiantes                  int num_estudiantes;
        real: prom_grupo, estatura, peso         float prom_grupo, estatura, peso;
        entero: num_clases = 0                   int num_clases = 0;
VARIABLES ENTERAS (TIPO int)
• Declaración:
int   nom_var1 <, nom_var2, nom_var3 <= v_inicial3>,…,nom_varN>;



• Tamaño de almacenamiento: Depende de la arquitectura puede ser 2 o 4 bytes.
• Rango de la variable: Depende del tamaño de almacenamiento
     2 bytes: -32768 a 32767
     4 bytes: -2147483648 a 2147483647


 entero:   num_vacas
 entero:   num_perros, num_gatos , num_gallos
 entero:   num_est = 45, num_prof = 3
 entero:   num_x = -9, num_y, num_z
 entero:   num_deudas = 400000




                                          int   num_vacas;
                                          int   num_perros, num_gatos , num_gallos;
                                          int   num_est = 45, num_prof = 3;
                                          int   num_x = -9, num_y, num_z;
                                          int   num_deudas = 400000;
VARIABLES REALES (TIPO float o double)

  • Declaración: Se manejan dos tipos de datos para las variables reales, por un lado
  están los datos tipo float empleadas para variables con precisión simple por el otro
  están los datos tipo double para variables con doble precisión. La sintaxis para
  declarar este tipo de variables se muestra a continuación:

  float nom_var1 <, nom_var2, nom_var3 <= v_inicial3>,…,nom_varN>;
  double nom_var1 <, nom_var2, nom_var3 <= v_inicial3>,…,nom_varN>;
• Tamaño de almacenamiento: Depende de la precisión del tipo de dato:
     float: 4 bytes. (Precisión de 6 dígitos).
     double: 8 bytes (Precisión de 15 dígitos).
• Rango de la variable:
     float: -3.4e38 a 3.4e38. (Siendo 1.2e-38 el valor positivo mas pequeño
    posible)
     double : -1.7e308 a 1.7e308 . (Siendo 2.3e-308 el valor positivo mas
    pequeño posible)
 real:   x
 real:   y
 real:   a = 4.5, b = 3.0
 real:   c = -9., d, e = 1.5e-15        float x;
 real:   f = 4.03e19, g =.03            double y;
                                        float a = 4.5, b = 3.0;
                                        float c = -9., d, e = 1.5e-15;
                                        double f = 4.03e19, g =.03;
VARIABLES TIPO CARACTER (TIPO char)

 • Declaración: Estas variables son empleadas para el manejo de datos
 alfanumericos tales como letras del alfabeto y otros caracteres tales como #, $, % y
 * entre otros, tambien pueden ser usadas para la representación de números
 enteros:

 char   nom_var1 <, nom_var2, nom_var3 <= v_inicial3>,…,nom_varN>;

• Tamaño de almacenamiento: 1 byte
• Rango de la variable: 0 a 255
• Los caracteres representados se hallan en la tabla ASCII la cual asocia un valor
entero positivo a un carácter determinado.
• Nota: Es de anotar que solo hablamos de un solo carácter. El caso de las cadenas
alfanuméricas después lo trataremos.

alfanumerico: sexo = ‘F’
alfanumerico: grado = ‘A’, caracter = 64
alfanumerico: letra
                                              char sexo = ‘F’;
                                              char grado = ‘A’, caracter = 64;
                                              char letra
SOBRE LOS NOMBRES DE LAS VARIABLES
• Identificadores: Nombres que se le dan a las constantes o variables.
• Reglas a seguir en el momento de nombrar una variable:
      Los identificadores no pueden tener el mismo nombre de las palabras
     reservadas.
      Elegir nombres significativos (es decir, relacionados con aquello a lo que esta
     haciendo referencia la variable).
      El primer carácter del nombre de una variable puede ser un letra (mayúscula
     o minúscula) o una raya baja (_).
      Un nombre de una variable puede tener como caracteres letras (mayúsculas
     y minúsculas), dígitos y el carácter raya baja (_).




                        Declaración                Declaración
                       errónea de las             correcta de las
                          variables                  variables
PALABRAS RESERVADAS
Resumen Declaración de
                    variables
• Cuando declaro una variable la elección del tipo de dato depende del propósito
para el cual voy a usar la variable.
    Tipo       Ejemplo      Tamaño en bytes       Rango (minimo-maximo)

    char       ´c´          1                     0,…,255
    int        1024         2 (o 4, depende de    -32768,…,32767 (si el tamaño en bytes es 2)
                            la arquitectura)
    float      10.5         4                     3.4E-38 ,….,3.4E38
    double     1e-8         8                     1.7E-308,…,1.7E308




                                                 Declaración e inicialización de
                                                 variables




            tipo nom_var1 <, nom_var2, nom_var3 <= valor_inicial>, nom_varN>;
Resumen declaracion de variables
              (2)

                  Una variable no puede ser
                   usada antes no ha sido
                   previamente declarada.
Ampliación del rango de valores de
           las variable
 Modificadores de tipos
    • long int a;
    • unsigned long int c;
Bibliografía
• Joyanes Aguilar, Luis. PROGRAMACIÓN EN C.
  Metodología, algoritmos y estructura de
  datos.
• Google

Presentacion1 lenguaje de-programacion_c

  • 1.
  • 2.
    Agenda – Generalidades – Origeneslenguaje C – Caracteristicas del C – Estructura General programa en C – De Seudocodigo a lenguaje C – Variables en C. – Instrucciones y operadores. – Entrada y salida de información
  • 3.
    GENERALIDADES Generalidades Fortran Basic ESTRUCTURADOS C Pascal ALTO NIVEL Lenguajes ORIENTADOS Java De Programación A OBJETOS C++ BAJO NIVEL
  • 4.
    GENERALIDADES Programación estructurada Teorema del programa estructurado: Todo programa puede escribirse utilizando únicamente las tres instrucciones de control siguientes: •Secuencia •Instrucción condicional. •Iteración (bucle de instrucciones)
  • 5.
    GENERALIDADES Programación estructurada(2) Ventajas 1.Los programas son más fáciles de entender, ya que pueden ser leídos de forma secuencial, sin necesidad de hacer seguimiento a saltos de línea. 2. La estructura del programa es clara, puesto que las instrucciones están más ligadas o relacionadas entre sí. 3. El seguimiento de los fallos o errores del programa ("debugging") se facilita debido a la estructura más visible, por lo que los errores se pueden detectar y corregir más fácilmente. 4. Programas más sencillos y más rápidos (ya que es más fácil su optimización). Desventajas Único bloque de programa, que cuando se hace demasiado grande puede resultar problemático su manejo
  • 6.
    ORIGENES C Orígenes del C Dennis Ritchie (Laboratorios Bell) en1972, cuando trabajaba en el diseño del sistema operativo UNIX. El „C‟ se creó como herramienta para programadores, en consecuencia su principal objetivo es ser un lenguaje útil.
  • 7.
    CARACTERISTICAS Lenguaje C Potencia y flexibilidad: Se ha usado en contextos tan dispares como el desarrollo de sistemas operativos, procesadores de texto, gráficos, bases de datos, compiladores de otros lenguajes, etc. Popularidad: Existe una gran variedad de compiladores, librer´ıas, herramientas de apoyo a la programaci´on, etc. Es el lenguaje predominante en el entorno UNIX. Portabilidad: El mismo programa escrito en C puede compilarse y ejecutarse sin practicamente ningún cambio en diferentes ordenadores. Esto se debe en gran parte al estandar ANSI C. Sencillez: C utiliza pocas palabras clave, por lo que puede aprenderse f´acilmente. Estructura y modularidad: Los programas en C pueden escribirse agrupando el codigo en funciones. Reutilizable.
  • 8.
    CARACTERISTICAS Lenguaje C Es un lenguaje compilado. CÓDIGO FUENTE: es el programa que nosotros escribimos, se graba con la extensión .C CÓDIGO OBJETO: es el programa fuente pero traducido a lenguaje máquina (sucesión de ceros y unos), se graba con la extensión .OBJ PROGRAMA EJECUTABLE: es el programa objeto más las “librerías del C”, se graba con la extensión .EXE. Y no necesita el programa que hemos utilizado para crearlo, para poder ejecutarlo.
  • 9.
    LENGUAJE C ESTRUCTURA GRALDE UN PROGRAMA EN C ENCABEZADO-DIRECTIVAS INICIO DECLARACIÓN DE VARIABLES Y CONSTANTES ACCIONES DEL ALGORITMO FIN
  • 10.
    LENGUAJE C Ejemplo Realizar un algoritmo que solicite al usuario dos números enteros, realice su suma y la imprima en pantalla. Analisis del problema: Datos de entrada: Los dos números (necesito dos variables para llevarlos. llamemoslos a y b). Datos de salida: Variable en la cual se almacena el resultado de la suma (c). Proceso: ¿Que es lo que tengo que hacer? Solicitar al usuario los datos de entrada. Sumar los dos datos de entrada. Desplegar el resultado.
  • 11.
    LENGUAJE C Ejemplo… Seudocódigo y diagrama de Flujo: Algoritmo(sumar) Variables: entero: a, b, c INICIO ESCRIBA(“Digite el primer numero (entero)”) LEA(a) ESCRIBA(“Digite el segundo numero (entero)”) LEA(b) c  a + b ESCRIBA(“La suma es: ”,c) FIN_INICIO Fin(sumar)
  • 12.
    LENGUAJE C Ejemplo… Traducción al lenguaje C Básicamente el primer paso es familizarnos con la sintaxis (expresiones, reglas, etc.) del lenguaje C. Realizar la formulación del algoritmo en términos de esa nueva sintaxis.
  • 13.
    LENGUAJE C Ejemplo… Algoritmo(sumar) Variables: entero: a, b, c INICIO ESCRIBA(“Digite el primer numero (entero)”) LEA(a) ESCRIBA(“Digite el segundo numero (entero)”) LEA(b) c  a + b ESCRIBA(“La suma es: ”,c) FIN_INICIO Fin(sumar) #include<stdio.h> int main(){ int a, b, c = 0; printf(“Digite el primer numero (entero): ”); scanf(“%d”,&a); printf(“Digite el segundo numero (entero): ”); scanf(“%d”,&b); c = a + b; printf(“El resultado de la suma es: %dn”,c); return 0; }
  • 14.
    INTRODUCCION AL LENGUAJEC ANATOMIA DE UN PROGRAMA EN C Librerías (uso de directivas del preprocesador) #include<stdio.h> int main(){ Declaración de int a, b, c = 0; variables (las variables son locales en este printf(“Digite el primer numero: ”); caso). scanf(“%d”,&a); printf(“Digite el segundo numero: ”); scanf(“%d”,&b); c = a + b; printf(“El resultado de la suma es: %dn”,c); Instrucciones return 0; (Expresiones aritmética y lógicas, condicionales } (SI), ciclos (HAGA, MIENTRAS)). Programa principal
  • 15.
    INTRUDUCCIÓN AL LENGUAJEC • Esto nos lleva a la siguiente conclusión #include <librerias_del_sistema> #include “librerias_propias” variables_globales; algoritmo (nombre_algoritmo) int main() { INICIO variables_locales; Declaracion variables sentencia_1; sentencia_1 sentencia_2; sentencia_2 . . . . . . sentencia_N; sentencia_N Return 0; FIN_INICIO }
  • 16.
    INTRUCCION AL LENGUAJEC • Plantilla básica de un programa en C
  • 17.
    MANEJO DE VARIABLES Tiposde Variables Variables en C (Tipos de datos) Num. int Enteras Num. float Reales double Booleano Bool Carácter- AlfaNúmerica char
  • 18.
    MANEJO DE VARIABLES Declaración: consiste en definir cada una de las variables que van a ser usadas en el programa. Sigue la siguiente Sintaxis: tipo nom_var1 , nom_var2, nom_var3 = valor_inicial, nom_varN; • En C Toda variable debe ser declarada antes de ser usada. Cosa que no se declara cosa que no existe y error!!!. La inicialización de esta es opcional TABLA SENCILLA DE EQUIVALENCIAS C-PSEUDOCODIGO Pseudocódigo Lenguaje C entera int real float double alfanumérica char variables: entero: num_estudiantes int num_estudiantes; real: prom_grupo, estatura, peso float prom_grupo, estatura, peso; entero: num_clases = 0 int num_clases = 0;
  • 19.
    VARIABLES ENTERAS (TIPOint) • Declaración: int nom_var1 <, nom_var2, nom_var3 <= v_inicial3>,…,nom_varN>; • Tamaño de almacenamiento: Depende de la arquitectura puede ser 2 o 4 bytes. • Rango de la variable: Depende del tamaño de almacenamiento  2 bytes: -32768 a 32767  4 bytes: -2147483648 a 2147483647 entero: num_vacas entero: num_perros, num_gatos , num_gallos entero: num_est = 45, num_prof = 3 entero: num_x = -9, num_y, num_z entero: num_deudas = 400000 int num_vacas; int num_perros, num_gatos , num_gallos; int num_est = 45, num_prof = 3; int num_x = -9, num_y, num_z; int num_deudas = 400000;
  • 20.
    VARIABLES REALES (TIPOfloat o double) • Declaración: Se manejan dos tipos de datos para las variables reales, por un lado están los datos tipo float empleadas para variables con precisión simple por el otro están los datos tipo double para variables con doble precisión. La sintaxis para declarar este tipo de variables se muestra a continuación: float nom_var1 <, nom_var2, nom_var3 <= v_inicial3>,…,nom_varN>; double nom_var1 <, nom_var2, nom_var3 <= v_inicial3>,…,nom_varN>; • Tamaño de almacenamiento: Depende de la precisión del tipo de dato:  float: 4 bytes. (Precisión de 6 dígitos).  double: 8 bytes (Precisión de 15 dígitos). • Rango de la variable:  float: -3.4e38 a 3.4e38. (Siendo 1.2e-38 el valor positivo mas pequeño posible)  double : -1.7e308 a 1.7e308 . (Siendo 2.3e-308 el valor positivo mas pequeño posible) real: x real: y real: a = 4.5, b = 3.0 real: c = -9., d, e = 1.5e-15 float x; real: f = 4.03e19, g =.03 double y; float a = 4.5, b = 3.0; float c = -9., d, e = 1.5e-15; double f = 4.03e19, g =.03;
  • 21.
    VARIABLES TIPO CARACTER(TIPO char) • Declaración: Estas variables son empleadas para el manejo de datos alfanumericos tales como letras del alfabeto y otros caracteres tales como #, $, % y * entre otros, tambien pueden ser usadas para la representación de números enteros: char nom_var1 <, nom_var2, nom_var3 <= v_inicial3>,…,nom_varN>; • Tamaño de almacenamiento: 1 byte • Rango de la variable: 0 a 255 • Los caracteres representados se hallan en la tabla ASCII la cual asocia un valor entero positivo a un carácter determinado. • Nota: Es de anotar que solo hablamos de un solo carácter. El caso de las cadenas alfanuméricas después lo trataremos. alfanumerico: sexo = ‘F’ alfanumerico: grado = ‘A’, caracter = 64 alfanumerico: letra char sexo = ‘F’; char grado = ‘A’, caracter = 64; char letra
  • 22.
    SOBRE LOS NOMBRESDE LAS VARIABLES • Identificadores: Nombres que se le dan a las constantes o variables. • Reglas a seguir en el momento de nombrar una variable:  Los identificadores no pueden tener el mismo nombre de las palabras reservadas.  Elegir nombres significativos (es decir, relacionados con aquello a lo que esta haciendo referencia la variable).  El primer carácter del nombre de una variable puede ser un letra (mayúscula o minúscula) o una raya baja (_).  Un nombre de una variable puede tener como caracteres letras (mayúsculas y minúsculas), dígitos y el carácter raya baja (_). Declaración Declaración errónea de las correcta de las variables variables
  • 23.
  • 24.
    Resumen Declaración de variables • Cuando declaro una variable la elección del tipo de dato depende del propósito para el cual voy a usar la variable. Tipo Ejemplo Tamaño en bytes Rango (minimo-maximo) char ´c´ 1 0,…,255 int 1024 2 (o 4, depende de -32768,…,32767 (si el tamaño en bytes es 2) la arquitectura) float 10.5 4 3.4E-38 ,….,3.4E38 double 1e-8 8 1.7E-308,…,1.7E308 Declaración e inicialización de variables tipo nom_var1 <, nom_var2, nom_var3 <= valor_inicial>, nom_varN>;
  • 25.
    Resumen declaracion devariables (2) Una variable no puede ser usada antes no ha sido previamente declarada.
  • 26.
    Ampliación del rangode valores de las variable Modificadores de tipos • long int a; • unsigned long int c;
  • 27.
    Bibliografía • Joyanes Aguilar,Luis. PROGRAMACIÓN EN C. Metodología, algoritmos y estructura de datos. • Google