Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Funciones
Definicin:
Lasfuncionessonlosbloquesdeconstruccinbsicosde
C.Dentrodeellassedatodalaactividaddelprograma.
Criteriosparacrearlas:
SeusalaestrategiadeDividiryConquistar,enotras
palabras,esrealizarlaparticindelatareaensubtareas
msfcilesdeabordar.
Todoproblemasepuederesolverconfuncionesosinellas,
perosuusoadecuadohacequeelprogramaseams
eficiente,fcildeleeryprobar.
Funciones: ventajas
1. Facilitaeldiseodescendente.
2.Losprocedimientosdentrodeellassepuedenejecutar
variasveces.
3.Facilitaladivisindetareas.
4.Sepuedenprobarindividualmente
5.Confuncionesapropiadamentediseadas,esposible
ignorarcomoserealizaunatarea,sabiendoquesloque
hacen.
Funciones: Especificacin
formal
SINTAXIS
tipo nombre_funcion(lista de parmetros){
cuerpo de la funcin
}
tipo : especificaeltipodevalorquedevuelvela
funcin.Sinoseespecificatipo,elcompiladorasume
queesentero(int).
variablesseparadosporcomasconsustipos
asociadosquerecibenlosvaloresdelosargumentos
actualesdelallamadaalafuncin.
4
La sentencia return
Fuerzalasalidainmediatadelafuncinenquese
encuentra.
Sepuedeutilizarparadevolverunvalor.
Funciones
Lasfuncionesterminansuejecucinyaseaatravsdela
ejecucindelaltimainstruccinoutilizandolasentencia
return.
Unfuncinpuederetornarvalorslocuandoeltipode
retornonoesvoid.
Lasfuncionesquesondetiposdistintosdevoidpuedenser
utilizadascomooperandosenotrasexpresionesdel
lenguaje.
Funcin main()
Mediantelasentenciareturn,elprogramapuede
devolveruncdigodeterminacinalprocesode
llamada(Ej.:enteroaShelldecomandosenUnix).
Elvalordevueltopuedeser0queindicaterminacin
normalounvalorqueidentificaunerrordetectado
porelprograma.
Elvalordevueltopuedeserusadoparaejecucin
condicionaldecomandosenshellenUnix.
Variables locales y
globales
VariablesLocales:
Sedeclarandentrodelafuncinysloestndisponibles
durantesuejecucin.
Secreancuandoseentraenejecucinunafuncinyse
destruyencuandosetermina.
Variablesglobales:
Sedeclaranfueradelasfunciones.Puedenserutilizadas
portodaslasfunciones.
Existendurantetodalavidadelprograma.
Argumentos de funciones
Sonvariableslocalesconocidascomoparmetros
formalesyseutilizancomounmedioparaentregarle
informacinalafuncin.
Losparmetrosformalesrecibensusvaloresiniciales
desdelosparmetrosreales,esdecirdesdelosvalores
queselespasanatravedelallamada.Ejemplo:
Parmetro real (llamada)
main( ){
Parmetro formal (declaracin)
imprimeEntero(5);
}
void imprimeEntero(int x){
printf(%d\n, x);/* x vale 5 */
}
9
Transferencia de
Informacin
por valor: copiaelvalordeunargumentodelallamada
enelparmetroformaldelafuncin.Porlotanto,los
cambiosenlosparmetrosdelafuncinnoafectanalas
variablesqueseusanenlallamada.
10
Ejemplo
Construyaunprogramaquecalculeelcuadradode
los10primerosnmerosenteros.
11
Solucin
#include <stdio.h>
int cuadrado(int x){
int r;
r=x*x;
return r;
}
main(){
int i,resultado;
for (i=0;i<10;i++){
resultado = cuadrado (i);
printf("Cuadrado de %d: %d\n",i,resultado);
}
return 0;
}
12
CADENA DE
CARACTERES
Cadenas
Una cadena de caracteres es un arreglo unidimensional de
caracteres que termina con el carcter \0.
El nombre de la variable de cadena se utiliza como un apuntador al
inicio del arreglo de caracteres.
Las constantes de tipo cadena se encierran entre comillas dobles.
Ejemplos:
char a[10] = hola;
char m[25] = ;
char *x = San Luis Potos;
Declaracin e inicializacin
#include <stdio.h>
#include <conio.h>
main(){
// declara una cadena de longitud 20 como mximo.
char a[20];
// declara una cadena de longitud 20 como mximo.
// el contenido es la cadena hola, x[4] = \0.
char x[10] = "hola";
// declara una cadena de 4 caracteres mas \0
char *m = "que tal";
// declara una cadena con longitud variable
char s[] = {'B','i','e','n','v','e','n','i','d','o','\0'};
// declara una cadena con longitud variable
char nom[] = "juan perez";
puts(x);
puts(m);
puts(s);
puts(nom);
printf("x es \"%s\", ",x);
printf("m es \"%s\", ",m);
printf("s es \"%s\", ",s);
printf("nom es \"%s\" ",nom);
getch();
}
Lectura de cadenas
#include <stdio.h>
#include <conio.h>
main(){
//cadena de longitud variable
char cad2[10]="hola";
char *cad0;
char *cad1;
cad0 = "Marruecos";
puts(cad0);
cad0 = "San Luis Potosi";
puts(cad0);
//lectura de cadena variable
gets(cad1);
puts(cad1);
//lectura de cadena de longitud fija
printf("%s\n",cad2);
gets(cad2);
puts(cad2);
scanf("%s",cad2);
puts(cad2);
getch();
}
Biblioteca stdlib.h
Funcin
Significado
atoi(cad)
atof(cad)
strtod(cad,&cad2)
atol(cad)
Funciones de cadenas
Biblioteca string.h
Funcin
Descripcin
strcpy(cad1,cad0)
strlen(cad0)
strcmp(cad0,cad1)
strchr(cad,c)
Quiz
Qu funcin realiza la conversin especificada?
1. atol
2. atod
3. atoi
4. tolower
5. toupper
double