2. 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
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 GRAL DE 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 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
15. 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 }
17. 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
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 (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;
20. 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;
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 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
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 de variables
(2)
Una variable no puede ser
usada antes no ha sido
previamente declarada.
26. Ampliación del rango de valores de
las variable
Modificadores de tipos
• long int a;
• unsigned long int c;