Ejemplos de Programacion en Lenguaje C
Ejemplos de Programacion en Lenguaje C
Ejemplos de Programacion en Lenguaje C
Introduccin
El lenguaje de programacin C
Lenguaje de alto nivel de propsito general. Sintaxis sumamente compacta Alta portabilidad. (independencia del hardware subyacente) Muy buenas facilidades para acceso a bajo nivel. Gran parte de la funcionalidad se implementa en bibliotecas externas E/S Gestin de tiras de caracteres Asignacin de memoria Etc.
/* ejemplo 1.- Escribe un mensaje en pantalla */ #include <stdio.h> /* incluye biblioteca donde se define E/S */ int main( ) { /*Este comentario es ignorado por el compilador y */ /* no genera cdigo */ printf("\nIntroduccin a la programacin en lenguaje C"); return 0; }
Curso 2002 / 2003 3
/* ejemplo 2.- multiplica dos nmeros enteros y muestra el resultado por pantalla */ #include <stdio.h> int main( ) { int multiplicador; /*defino multiplicador como un entero */ int multiplicando; /*defino multiplicando como un entero */ int res; /*defino resultado como un entero*/ multiplicador =1000; /*les asigno valores*/ multiplicando=2; res=multiplicador*multiplicando; printf("Resultado = %d",res); /*muestro resultado en pantalla*/ return 0; }
Curso 2002 / 2003 4
Tipos de variables
Variables de tipo entero
TIPO
BYTES
1 1 2 2 2 2 4 4
VALOR MINIMO
VALOR MAXIMO
signed char unsigned char unsigned short unsigned short signed int unsigned int signed long unsigned long
Nota: Si se omite el clasificador delante de la variable de tipo entero por defecto se considera signed.
Curso 2002 / 2003 6
Tipos de variables
Tipos de variable de punto flotante
TIPO BYTES VALOR MINIMO VALOR MAXIMO
float
3.4E-38
3.4E+38
double
1.7E-308
1.7E+308
long double
10
3.4E-4932
3.4E+4932
Secuencias de escape.
Existe una serie de caracteres no imprimibles que el editor los toma como comandos, por lo que la manera de acceder a ellos es mediante una secuencia de escape.
CODIGO '\n' '\r' '\f '\t' '\b' '\'' '\"' '\\ ' '\? ' '\nnn' '\xnn'
SIGNIFICADO
nueva lnea retorno de carro ' nueva pgina tabulador horizontal retroceso (backspace) comilla simple comillas barra interrogacin cualquier carcter (donde nnn es el cdigo ASCII expresado en octal) cualquier carcter ( nn es el cdigo ASCII expresado en hexadecimal)
VALOR ASCII (hexadecimal) 0x0A 0x0D x0C 0x09 0x08 0x27 0x22 0x5C 0x3F
10
de bytes de la variable c es %d", n); de bytes de la variable d es %d", n); de bytes que ocupa el tipo entero es %d", n); de bytes que ocupa el tipo double es %d",
/* imprime 33.241*/ /* imprime 33.2*/ /* imprime 33.2410*/ /* imprime 3.3241e+01*/ /* imprime 805*/ /* imprime 33.241*/
13
14
#include <stdio.h> int main() { int c; printf(" Menu:"); printf(" A=Aadir a la lista"); printf(" B=Borrar de la lista"); printf(" O=Ordenar la lista"); printf(" I=Imprimir la lista"); printf(" Escriba su seleccin y luego <enter>"); if ((c=getchar()) != '') { if (c=='A') printf(" Has seleccionado aadir"); else if (c=='B') printf(" Has seleccionado borrar"); else if (c=='O') printf(" Has seleccionado ordenar"); else if (c=='I') printf(" Has seleccionado imprimir"); } else printf(" No has seleccionado nada"); }
Curso 2002 / 2003 15
17
20
#include <stdio.h> int f(int m, int n); int main() { int i; printf("Prueba: funcin entero elevado a potencia"); for (i=0; i<10; i++) { printf("2^%d es:%d",i,f(2,i)); printf("3^%d es:%d",i,f(3,i)); } return 0; } int f(int base,int n) { int p=1; while (n-- >0) p=p*base; return p; }
21
22
Ejecucin de ej20.- ej20 parametro1 parametro2 Se han pasado 3 argumentos: 1- ej20. 2- parametro1 3- parametro2
25
26
#include <stdio.h> #include <stdlib.h> int main() { char numPtr[5] = "1234"; printf( "Convirtiendo la cadena %s en un numero: %d", numPtr, atoi(numPtr)); return 0; }
Curso 2002 / 2003 27
Introduccin
#include <stdio.h> #include <string.h> int main() { char s1[11] = "Hola , s2[6] = "amigos"; printf( "s1=%s", s1 ); printf( "s2=%s", s2 ); strcat( s1, s2 ); printf( "s1=%s", s1 ); return 0; }
Curso 2002 / 2003 29
Introduccin
#include <stdio.h> #include <string.h> int main() { char s[13] = "Hola a todos"; printf( "s=%s", s ); printf( "strlen(s) = %d", strlen( s ) ); return 0; }
Curso 2002 / 2003 30
#include <stdio.h> #include <string.h> int main() { char s2[7] = "abcdefg"; char s1[7]; strcpy( s1, s2 ); printf( "s2=%s", s2 ); printf( "s1=%s", s1 ); return 0; }
Curso 2002 / 2003 31
#include <stdio.h> #include <string.h> int main() { char s1[5] = "Abeja, s2[5] = "abeja"; int i; printf( "s1=%s", s1 ); printf( "s2=%s", s2 ); i = strcmp( s1, s2 ); printf( "s1 es " ); if( i < 0 ) printf( "menor que" ); else if( i > 0 ) printf( "mayor que" ); else printf( "igual a" ); printf( " s2" ); }
Curso 2002 / 2003 32