Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Arreglos
Unarregloesunconjuntodevariablesdel
mismotipoqueposeenunnombrecomn
concatenadoaunndice.
Elndicepermiteaccederdirectamenteaun
elementoparticulardeunarreglo.
LosarreglosenlenguajeCsealmacenanen
celdasdememoriacontiguas.
Puedentener1omsdimensiones.
1
Arreglos unidimensionales
Laformageneraldedeclaracin:
tipo nombre_variable[tamao];
Lacantidaddememoriaenbytessepuede
obtenerconlafuncin:
numero_bytes = sizeof(tipo)*tamao;
El0eselndicedelprimerelementodeun
arreglo.
Arreglos Unidimensionales
tipo nombre_variable[tamao];
elemento 0
elemento 1
elemento n-1
Ejemplo:
Realizarunprogramaenelqueseingresen10
enteros,yluegosesumensuselementos.Mostrarel
resultado.
1
Ejemplo
#include <stdio.h>
int main(){
int x[10];
int i,suma;
for (i=0;i<10;i++){
printf ("Ingresar entero: ");
scanf("%d",&x[i]);
}
suma=0;
for (i=0;i<10;i++)
suma+=x[i];
printf(" El resultado de la suma es = %d\n",suma);
return 0;
}
Arreglos Unidimensionales
Ejercicios:
Crearunprogramaalcualseleingreseun
conjuntodecaracteres.
CalcularelpromedioenunarreglodelargoLel
cualnoestllenocompletamente.
String
Eselusomscomndearreglo
unidimensional.
EnCunstringesunarreglodecaracteres
queterminanenuncaracternulo:\0.
String
Declaracin:
Sedeclarancomoarreglosunidimensionales.
Debecontener1carctermsquelacadenams
largamslargaquepuedacontener.
char cadena[6];
\0
Puede contener hasta
5 caracteres
Strings
Constantedecadenas:
Esunasecuenciadeunoomscaracteres
encerradoentrecomillas.
Ejemplo:informatica
Biblioteca de funciones de
Manejo de cadenas
Funcin
strcpy()
strcat()
strlen()
strcmp()
Prototipo
char *strcpy(char *s1,const char *s2);
char *strcat(char *s1,const char *s2);
int strlen(const char *s1);
int strcmp(const char *s1,const char *s2);
Accin
Copia s2 en s1.
Concatena s2 en s1.
Compara s2 con s1
Retorna
s1
s1
Longitud de s1
0 si son iguales
>0 si s1>s2
<0 si s1<s2
Biblioteca: string.h
Las cadenas o string no son un tipo de dato en C, por lo tanto, las
operaciones sobre cadenas se realizan mediante funciones de
biblioteca que ahorran el trabajo byte a byte (podemos crear otras).
Ejemplo
#include <string.h>
#include <stdio.h>
int main(void){
char c1[64,c2[64];
printf("Ingrese un string:");
scanf("%s",c1);
printf("Ingrese un string:");
scanf("%s",c2);
printf("Longitudes: %d %\n",strlen(c1),strlen(c2));
if(!strcmp(c1,c2)) printf("Son iguales\n");
strcat(c1,c2);
printf("%s\n",c1);
return 0;
}
Strings
Ejercicio:
Realizarunprogramaqueconviertadentrodeun
string,lasmaysculasaminsculas,minsculasa
maysculasysumarlosdgitos.
Arreglos de punteros
Unpunteroesunavariable,porlotantopuede
seralmacenadoenunarreglo.
Declaracin:
tipo *nombre_variable[tamao];
xyz
xyz
Qwertyuiopasdfg
Qwertyuiopasdfg
Abcdefghi
Abcdefghi
1
Punteros a punteros:
argumentos de la funcin main()
Dosformasequivalentesparadeclararlosargumentos:
main(int argc, char **argv){....}
main(int argc, char *argv[]){....}
Argumentos de main()
ElestndarANSIdefinedosargumentosde
main():argcyargv.
PermitepasarinformacinalprogramadeC
medianteargumentosdelneaderdenes.
./programa
argumento1 argumento2 .
Lnea de rdenes
argc:contieneelnmerodeargumentos,y
esentero.
argv:esunpunteroaunarreglode
caracteres.
23
$./programa aaa bb
El argumento 0 es: ./programa
El argumento 1 es: aaa
El argumento 2 es: bb
23
Arreglos Bidimensionales
Definicin:
Esunarreglodedosdimensiones(2ndices).
A[i][j]
Declaracin:
tipo nombre_variable[tamao_1][tamao_2];
Arreglos Bidimensionales
Unamatrizbidimensionaltienelaforma
siguiente:
a11 a12 ............ a1n
a21 a22 ............ a2n
.....................
am1 am2 ............ amn
Arreglos Bidimensionales
Ejercicios:
Hacerunprogramaqueleaenlosenterosnym
lasdimensionesyluegoleerlamatrizdeenteros
porfila.Mostrarlaensistemagrfico.
Sedeseacontrolarlosresultadosdelosalumnos
enlasdiferentesasignaturas.Elprogramadebe
leerlasnotasobtenidasdelasdistintas
asignaturasyvisualizarlasenlapantallaen
nmero,nombre,calificacionesypromediodel
estudiante.Visualizarelpromediogeneralpor
cadaasignatura.Mostrarlaensistemagrfico.
Arreglos Multidimensionales
Definicin:
Esunarregloconkdimensiones,elcualest
indexadopormediodekndices.
A[m].[n]
Declaracin:
tipo nombre_variable[tamao_1]...[tamao_k];