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

Post on 23-Jan-2016

223 views 0 download

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

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; • }

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 "; ".

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.

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; • }

Inicialización de Variables

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

multiplicador); • return 0; • }

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.

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.

Tipos de Variables: Entero

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

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) .

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

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.

OP. ARITMETICOS

OP. RELACIONALES

OP. LOGICOS

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 */

OP. MANEJO DE BITS

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

if(expresión) {

Instruccion1; } else {

instrucción2; }

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; }

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; }

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);

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; }

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.

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);

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; }

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++)• {

• }

Pines del PIC16F84A