Programación en Lenguaje C M. en C. Baldemar Irineo Carrasco.

28
Programación en Lenguaje C M. en C. Baldemar Irineo Carrasco

Transcript of Programación en Lenguaje C M. en C. Baldemar Irineo Carrasco.

Page 1: Programación en Lenguaje C M. en C. Baldemar Irineo Carrasco.

Programación en Lenguaje C

M. en C. Baldemar Irineo Carrasco

Page 2: Programación en Lenguaje C M. en C. Baldemar Irineo Carrasco.

Estructura de un programa

• #include <stdio.h> • main() • { • printf("Bienvenido a la Programación en lenguaje

C \n"); • return 0; • }

Page 3: Programación en Lenguaje C M. en C. Baldemar Irineo Carrasco.

Directivas • La primera línea del programa está compuesta

por una directiva: " #include " que implica la orden de leer un archivo de texto especificado en el nombre que sigue a la misma ( <stdio.h> )

• Nótese que la directiva "#include" no es una sentencia de programa sino una orden de que se copie literalmente un archivo de texto en el lugar en que ella está ubicada ,por lo que no es necesario terminarla con "; ".

Page 4: Programación en Lenguaje C M. en C. Baldemar Irineo Carrasco.

Variables• Una variable , en realidad , no es más que un

nombre para identificar una (o varias) posiciones de memoria donde el programa guarda los distintos valores de una misma entidad . Un programa debe DEFINIR a todas las variables que utilizará , antes de comenzar a usarlas , a fin de indicarle al compilador de que tipo serán , y por lo tanto cuanta memoria debe destinar para albergar a cada una de ellas.

Page 5: Programación en Lenguaje C M. en C. Baldemar Irineo Carrasco.

Definición de Variables• #include <stdio.h> • main() • { • int multiplicador; /* defino multiplicador como un entero */ • int multiplicando; /* defino multiplicando como un entero */ • int resultado; /* defino resultado como un entero */ • multiplicador = 1000 ; /* les asigno valores */ • multiplicando = 2 ; • resultado = multiplicando * multiplicador ; • printf("Resultado = %d\n", resultado); /* muestro el

resultado */ • return 0; • }

Page 6: Programación en Lenguaje C M. en C. Baldemar Irineo Carrasco.

Inicialización de Variables

• #include <stdio.h> • main() • { • int multiplicador=1000 , multiplicando=2 ; • printf("Resultado = %d\n", multiplicando *

multiplicador); • return 0; • }

Page 7: Programación en Lenguaje C M. en C. Baldemar Irineo Carrasco.

Palabras Reservadas• Los compiladores reservan determinados

términos ó palabras claves (Keywords) para el uso sintáctico del lenguaje, tales como: asm, auto, break, case, char, do, for, etc. Si bien estas palabras están definidas para el ANSI C, los distintos compiladores extienden esta definición a OTROS términos, por lo que es aconsejable leer la tabla completa de palabras reservadas del compilador que se vaya a usar, para no utilizarlas en nombres de variables.

Page 8: Programación en Lenguaje C M. en C. Baldemar Irineo Carrasco.

Tipos de Variables: Entero

• Debido a que la norma ANSI C no establece taxativamente la cantidad de bytes que ocupa cada tipo de variable, sino tan sólo que un "long" no ocupe menos memoria que un "int" y este no ocupe menos que un "short",los alcances de los mismos pueden variar de compilador en compilador , por lo que sugerimos que confirme los valores dados en este parágrafo (correspondientes al compilador de Borland C++) con los otorgados por su compilador favorito.

• Para variables de muy pequeño valor puede usarse el tipo "char" cuyo alcance está restringido a -128, +127 y por lo general ocupa un único byte.

Page 9: Programación en Lenguaje C M. en C. Baldemar Irineo Carrasco.

Tipos de Variables: Entero

Page 10: Programación en Lenguaje C M. en C. Baldemar Irineo Carrasco.

Tipos de Variables: Real

• Un número real ó de punto flotante es aquel que además de una parte entera, posee fracciones de la unidad.

• TABLA 2 TIPOS DE VARIABLES DE PUNTO FLOTANTE TIPO BYTES VALOR MINIMO VALOR MAXIMO

• float 4 3.4E-38 3.4E+38 • double 8 1.7E-308 1.7E+308 • long double 10 3.4E-4932

3.4E+4932

Page 11: Programación en Lenguaje C M. en C. Baldemar Irineo Carrasco.

Tipos de Variables: Caracter

• El lenguaje C guarda los caracteres como números de 8 bits de acuerdo a la norma ASCII extendida , que asigna a cada caracter un número comprendido entre 0 y 255 ( un byte de 8 bits) .

Page 12: Programación en Lenguaje C M. en C. Baldemar Irineo Carrasco.

CONSTANTES• Aquellos valores que , una vez compilado el

programa no pueden ser cambiados , como por ejemplo los valores literales que hemos usado hasta ahora en las inicializaciones de las variables (1000 , 2 , 'a' , '\n' , etc), suelen denominarse CONSTANTES .

• #define VALOR_CONSTANTE 342 • #define PI 3.1416

Page 13: Programación en Lenguaje C M. en C. Baldemar Irineo Carrasco.

OPERADORES• Si analizamos la sentencia siguiente: • var1 = var2 + var3; • estamos diciéndole al programa, por medio del

operador +, que compute la suma del valor de dos variables , y una vez realizado esto, asigne el resultado a otra variable var1. Esta última operación (asignación) se indica mediante otro operador, el signo =. El lenguaje C tiene una amplia variedad de operadores, y todos ellos caen dentro de 6 categorías , a saber : aritméticos , relacionales, lógicos, incremento y decremento, manejo de bits y asignación.

Page 14: Programación en Lenguaje C M. en C. Baldemar Irineo Carrasco.

OP. ARITMETICOS

Page 15: Programación en Lenguaje C M. en C. Baldemar Irineo Carrasco.

OP. RELACIONALES

Page 16: Programación en Lenguaje C M. en C. Baldemar Irineo Carrasco.

OP. LOGICOS

Page 17: Programación en Lenguaje C M. en C. Baldemar Irineo Carrasco.

OP. DE ASIGNACION• a = 17 ;• a = a + 17 ;• a += b ; /* equivale : a = a + b */ • a -= b ; /* equivale : a = a - b */ • a *= b ; /* equivale : a = a * b */ • a /= b ; /* equivale : a = a / b */ • a %= b ; /* equivale : a = a % b */

Page 18: Programación en Lenguaje C M. en C. Baldemar Irineo Carrasco.

OP. MANEJO DE BITS

Page 19: Programación en Lenguaje C M. en C. Baldemar Irineo Carrasco.

CONTROL DE FLUJO• Proposición IF - ELSEif(expresión) sentencia ;

if(expresión) {

Instruccion1; } else {

instrucción2; }

Page 20: Programación en Lenguaje C M. en C. Baldemar Irineo Carrasco.

Programa Ejemplo #1Proposición IF - ELSE

• Programa que lee dos números y dice cual es el mayor y cual es el menor. #include <stdio.h> #include <conio.h> int main() { int num1, num2; printf("Anote un numero\n"); scanf("%i",&num1); printf("Anote otro numero\n"); scanf("%i",&num2); if (num1>num2)

printf("El numero %i es mayor que %i\n",num1, num2); else

printf("El numero %i es menor que %i\n",num1, num2); getch(); return 0; }

Page 21: Programación en Lenguaje C M. en C. Baldemar Irineo Carrasco.

Programa Ejemplo #2Proposición IF - ELSE

• Programa que lee un número e imprime si es positivo o negativo. #include <stdio.h> #include <conio.h> int main() { int num; clrscr(); printf("ANOTE UN NUMERO\n"); scanf("%i",&num); if (num>=0)

printf("EL NUMERO %i ES POSITIVO",num); else

printf("EL NUMERO %i ES NEGATIVO",num); getch(); return 0; }

Page 22: Programación en Lenguaje C M. en C. Baldemar Irineo Carrasco.

Programa Ejemplo #3Proposición IF - ELSE

• Programa que muestra en pantalla una serie de opciones a elegir e imprime el costo del producto elegido.

#include <stdio.h> #include <conio.h> int main() { int p; clrscr(); printf("SELECCIONE UN PRODUCTO\n\n"); printf("1. REFRESCO\n"); printf("2. PAPAS FRITAS\n"); printf("3. HAMBURGUESA\n"); printf("4. JUGO\n"); scanf("%i",&p);

Page 23: Programación en Lenguaje C M. en C. Baldemar Irineo Carrasco.

Programa Ejemplo #3Proposición IF - ELSE

if (p = = 1) printf("EL COSTO ES: $5.00");

else if(p = = 2) printf("EL COSTO ES: $10.00");

else if(p = = 3) printf("EL COSTO ES: $20.00");

else printf("EL COSTO ES: $8.00");

getch(); return 0; }

Page 24: Programación en Lenguaje C M. en C. Baldemar Irineo Carrasco.

Instrucciones SWITCH y BREAK

• La instrucción switch es usada para tomar decisiones u opciones ilimitadas con base en un valor de una expresión condicional

• La forma general de la instrucción switch es:

Switch (condición) { case constante1:

Instrucciones; break;

case constante2: Instrucciones; break;

default: Instrucciones; break;

} • La instrucción break se agrega al final de cada etiqueta case y provoca la salida

del switch.

Page 25: Programación en Lenguaje C M. en C. Baldemar Irineo Carrasco.

Programa EjemploSwitch y Break

• Programa que pide un número del 1 al 7 y te dice que día de la semana es.

• #include <stdio.h> • #include <conio.h> • int main() • {• int opcion; • clrscr(); • printf("INTRODUZCA UN NUMERO ENTER0 DEL 1

AL 7\n"); • scanf("%i",&opcion);

Page 26: Programación en Lenguaje C M. en C. Baldemar Irineo Carrasco.

Programa EjemploSwitch y Break

switch(opcion) { case 1:

printf("EL DIA %i ES DOMINGO",opcion); break;

case 2: printf("EL DIA %i ES LUNES",opcion); break;

case 3: printf("EL DIA %i ES MARTES", opcion); break;

case 4: printf("EL DIA %i ES MIERCOLES",opcion); break;

case 5: printf("EL DIA %i ES JUEVES", opcion); break;

case 6: printf("EL DIA %i ES VIERNES", opcion); break;

case 7: printf("EL DIA %i ES SABADO", opcion); break;

default: printf("EL NUMERO NO PERTENECE AL RANGO"); break;

} getch(); return 0; }

Page 27: Programación en Lenguaje C M. en C. Baldemar Irineo Carrasco.

Ciclos• CICLO FOR.• La forma de la instrucción for es:

for( inicialización de la variable; condición; incremento) {

INSTRUCCIONES; }

• Ejemplo: • for (i=0; i<=99; i++)• {

• }

Page 28: Programación en Lenguaje C M. en C. Baldemar Irineo Carrasco.

Pines del PIC16F84A