SlideShare una empresa de Scribd logo
ELO320 - Estructuras de Datos y Algoritmos
Introducción a C
Funciones y Arreglos
Dr. Nicolás Gálvez R.
nicolas.galvez@usm.cl
Ing. Civil Telemática - Departamento de Electrónica
1er Semestre 2021
1/1
Funciones en C
Encapsula código.
Permite reutilizar código.
Se pueden compilar por separado.
Retorna siempre un tipo de dato especı́fico.
2/1
Funciones en C
Se puede separar interfaz (prototipo) de implementación.
Interfaz (prototipo): Sólo define existencia y formato de
función. Suficiente para ser invocada.
C
// t i p o r e t o r n o f u n c i o n ( parametros con o s i n nombre ) ;
f l o a t p o t e n c i a ( f l o a t a , f l o a t b ) ;
// . . . .
c a l c u l o = x ∗ p o t e n c i a ( y , 2 . 5 ) ;
Implementación: Define implementación de código de
función.
C
/∗ t i p o r e t o r n o f u n c i o n ( parametros con nombre ) {
∗ Implementacion . . .
}∗/
f l o a t p o t e n c i a ( f l o a t a , f l o a t b ) {
return power ( a , b ) ;
}
3/1
Funciones en C
Si se utiliza solamente la implementación, está tiene que estar
definida antes de la función que la invoca.
Si se utiliza el prototipo, es éste el que debe estar defindo
antes de la función que la invoca.
Prototipo + Implementación: libertad de ubicación de la
implementación.
4/1
Funciones en Python
Python sólo permite implementación, no prototipos.
Python
def nombre funcion ( parametros ) :
#. . . Implementacion
return <expre sion >
5/1
Macro
Una macro es un valor o conjuntos de instrucciones constantes que
se definen a nivel de preprocesamiento. No es una variable y no
puede ser modificada.
C
#include <s t d i o . h>
#d e f i n e MACRO 10
i n t main (){
i n t a = 5;
p r i n t f ( ” %” s n” , a∗MACRO) ;
}
6/1
Constante
Una variable constante es aquella que que se declara con el
keyword const, e implica que ésta no puede ser modificada. Tiene
todo el resto de las propiedades de una variable común.
C
#include <s t d i o . h>
i n t main (){
const i n t a = 5;
a = 10; //¿Cómo act úa e l compilador ?
p r i n t f ( ” %”dn” , a ) ;
}
7/1
Ámbito (Scope)
Las funciones (includa main) definen el alcance de las variables,
llamado ámbito, vale decir, el segmento en el cual existen y
pueden ser usadas → entre { y }.
C
#include <s t d i o . h>
void saludo (){ // var i s i r v e s ó l o dentro de f u n c i ón saludo .
i n t i = 5;
p r i n t f ( ” Hola alumno numero %d” , i ) ;
}
i n t main (){ // var a s i r v e s ó l o dentro de f u n c i ón main .
i n t a = 10;
saludo ( ) ;
p r i n t f ( ” %”dn” , a ) ;
r e t u r n 0;
}
8/1
Variable local
Una variable local, es aquella que está definida dentro de un ámbito
de terminado, vale decir, una función y/o estructura de control.
C
#include <s t d i o . h>
i n t main (){ // var a s i r v e s ó l o dentro de f u n c i ón main .
i n t a = 10;
i f ( a==10){
i n t b = 1;
p r i n t f ( ” %d %dn” , a , b ) ;
}
// ¿Qué pasa con l a v a r i a b l e b?
p r i n t f ( ” %d %dn” , a , b ) ;
return 0;
}
9/1
Variable Global
Una variable global, es aquella que está definida fuera de cualquier
ámbito. Puede ser llamada, modificada y utilizada desde cualquier
ámbito, siempre y cuando no exista una variable local con el mismo
nombre.
C
#include <s t d i o . h>
i n t a=1; // g l o b a l
i n t b=2; // g l o b a l
i n t main (){
i n t a = 10; // l o c a l
b++;
p r i n t f ( ” %d %dn” , a , b ) ; //¿Qué imprime ?
return 0;
}
En python, no se pueden modificar variables globales dentro de una
función.
10/1
Arreglos y Strings
Arreglo: Tipo estructurado consistente en conjunto homogéneo y
ordenado de elementos.
Se identifican por su posición relativa mediante un ı́ndice encerrado
con paréntesis cuadrados (parte de ı́ndice 0).
// A r r e g l o s e s t á t i c o s ( se l i b e r a n a l t e r m i n a r
// e l á mbito donde fueron d e c l a r a d a s ) :
i n t foo [ 1 0 ] ; //10 e n t e r o s creados en foo .
foo [ 3 ] = 7; //A cuarto elemento se a s i g n a un 7.
String: Arreglo de caracteres.
// Los s t r i n g se d e l i m i t a n con c a r a c t e r ’0 ’
// ( r e q u i e r e e s p a c i o de 1 char ) :
char nombre [ 1 0 ] = ”Juan” ; // S t r i n g de l a r g o máximo 10.
nombre [ 1 ] = ’ e ’ ; //Qué hace ?
p r i n t f ( ” %s n” , nombre ) ;
Veremos más sobre strings la próxima clase.
11/1
Arreglos Multidimensionales e Inicialización
Al igual que con las listas de Python, pueden definir arreglos
multidimensionales.
Además los arreglos pueden ser inicializados utilizando { y }.
C
#i n c l e d e <s t d i o . h>
i n t main (){
char nom [ 1 0 ] = ” Camilo ” ;
char a [ 5 ] [ 2 0 ] = {”Juan” , ” F r a n c i s c o ” , ” Pedro ” };
i n t b [ 3 ] [ 3 ] = {{1 ,2 ,3} , {4 ,5 ,6} , {7 ,8 ,9}} , i , j ;
f o r ( i =0; i <3; i ++){
f o r ( j =0; j <3; j++) //¿Qué pas ó con l a s l l a v e s ?
p r i n t f ( ” %d ” , b [ i ] [ j ] ) ;
p r i n t f ( ”n” ) ;
}
}
12/1
Recorrer un arreglo
Podemos utilizar cualquiera de las estructuras de control iterativas
para recorrerlos.
C
#i n c l e d e <s t d i o . h>
i n t main (){
i n t i ;
f l o a t a [ 5 ] ;
f o r ( i =0; i <5; i ++){
f l o a t v a l ; //¿Cuá ntas veces nace y muere v a l ?
s c a n f ( ” % f ” , &v a l ) ;
a [ i ]= v a l ;
} //¿Cómo r e d u c i r e s t e có digo ?
}
13/1
Recorrer un arreglo
Practiquen con los siguientes ejercicios:
Calcular el factorial de un número dado.
Ordenar de mayor a menor un arreglo de una dimensión.
Encontrar el mayor elemento en un arreglo de dos
dimensiones.
Calcular el promedio de los elementos en un arreglo
bidimensional.
Imprimir en orden inverso los elementos de un arreglo.
Imprimir todas las letras mayúsculas y minúsculas del alfabeto
(ver Código ASCII).
14/1

Más contenido relacionado

Similar a 02_C_Functions_Arrays.pdf

Escuela
EscuelaEscuela
Escuela
judithely
 
Escuela
EscuelaEscuela
Escuela
judithely
 
Introduccion a C++
Introduccion a C++Introduccion a C++
Introduccion a C++
LenHugo
 
Funciones en C
Funciones en CFunciones en C
Funciones en C
Ronny Parra
 
FUNCIONES LENGUAJE C
FUNCIONES LENGUAJE CFUNCIONES LENGUAJE C
FUNCIONES LENGUAJE C
Gustavo Salazar Loor
 
Tarea 1 bash
Tarea 1 bashTarea 1 bash
Tarea 1 bash
Diana Cobos
 
Computacion punteros
Computacion punterosComputacion punteros
Computacion punteros
Manuel
 
Lenguaje c diapositivas
Lenguaje c diapositivasLenguaje c diapositivas
Lenguaje c diapositivas
starduslex
 
Lenguajes diapositivas
Lenguajes diapositivasLenguajes diapositivas
Lenguajes diapositivas
starduslex
 
Lenguajes diapositivas
Lenguajes diapositivasLenguajes diapositivas
Lenguajes diapositivas
starduslex
 
Funcionesenlenguaje c
Funcionesenlenguaje cFuncionesenlenguaje c
Funcionesenlenguaje c
Gladys Coromoto Vergel Rivera
 
Funciones
FuncionesFunciones
Programacion en java_inicio apeuntes para ems
Programacion en java_inicio apeuntes para emsProgramacion en java_inicio apeuntes para ems
Programacion en java_inicio apeuntes para ems
CBTis
 
Clase 6
Clase 6Clase 6
Clase 6
diego MC
 
ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++
ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++
ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++
die_dex
 
Funcionesclase1
Funcionesclase1Funcionesclase1
Funcionesclase1
computaciondosunefm
 
Lenguajec 1
Lenguajec 1Lenguajec 1
Lenguajec 1
joeshego
 
Lenguajec diapositivas
Lenguajec diapositivasLenguajec diapositivas
Lenguajec diapositivas
tacubomx
 
El lenguaje c
El lenguaje cEl lenguaje c
El lenguaje c
joeshego
 
ESTRUCTURAS DE CONTROL: BUCLES EN C++
ESTRUCTURAS DE CONTROL: BUCLES EN C++ESTRUCTURAS DE CONTROL: BUCLES EN C++
ESTRUCTURAS DE CONTROL: BUCLES EN C++
die_dex
 

Similar a 02_C_Functions_Arrays.pdf (20)

Escuela
EscuelaEscuela
Escuela
 
Escuela
EscuelaEscuela
Escuela
 
Introduccion a C++
Introduccion a C++Introduccion a C++
Introduccion a C++
 
Funciones en C
Funciones en CFunciones en C
Funciones en C
 
FUNCIONES LENGUAJE C
FUNCIONES LENGUAJE CFUNCIONES LENGUAJE C
FUNCIONES LENGUAJE C
 
Tarea 1 bash
Tarea 1 bashTarea 1 bash
Tarea 1 bash
 
Computacion punteros
Computacion punterosComputacion punteros
Computacion punteros
 
Lenguaje c diapositivas
Lenguaje c diapositivasLenguaje c diapositivas
Lenguaje c diapositivas
 
Lenguajes diapositivas
Lenguajes diapositivasLenguajes diapositivas
Lenguajes diapositivas
 
Lenguajes diapositivas
Lenguajes diapositivasLenguajes diapositivas
Lenguajes diapositivas
 
Funcionesenlenguaje c
Funcionesenlenguaje cFuncionesenlenguaje c
Funcionesenlenguaje c
 
Funciones
FuncionesFunciones
Funciones
 
Programacion en java_inicio apeuntes para ems
Programacion en java_inicio apeuntes para emsProgramacion en java_inicio apeuntes para ems
Programacion en java_inicio apeuntes para ems
 
Clase 6
Clase 6Clase 6
Clase 6
 
ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++
ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++
ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++
 
Funcionesclase1
Funcionesclase1Funcionesclase1
Funcionesclase1
 
Lenguajec 1
Lenguajec 1Lenguajec 1
Lenguajec 1
 
Lenguajec diapositivas
Lenguajec diapositivasLenguajec diapositivas
Lenguajec diapositivas
 
El lenguaje c
El lenguaje cEl lenguaje c
El lenguaje c
 
ESTRUCTURAS DE CONTROL: BUCLES EN C++
ESTRUCTURAS DE CONTROL: BUCLES EN C++ESTRUCTURAS DE CONTROL: BUCLES EN C++
ESTRUCTURAS DE CONTROL: BUCLES EN C++
 

Último

PROCESAMIENTO DIGITAL DE IMAGENES PDS 2020
PROCESAMIENTO DIGITAL DE IMAGENES PDS 2020PROCESAMIENTO DIGITAL DE IMAGENES PDS 2020
PROCESAMIENTO DIGITAL DE IMAGENES PDS 2020
hugowagner811
 
ANA0003227-lagunas.pdfñlñlñlñlñññlñlllll
ANA0003227-lagunas.pdfñlñlñlñlñññlñlllllANA0003227-lagunas.pdfñlñlñlñlñññlñlllll
ANA0003227-lagunas.pdfñlñlñlñlñññlñlllll
eliassalascolonia43
 
INTELIGENCIA ARTIFICIAL monografia02.pdf
INTELIGENCIA ARTIFICIAL monografia02.pdfINTELIGENCIA ARTIFICIAL monografia02.pdf
INTELIGENCIA ARTIFICIAL monografia02.pdf
YulEz1
 
LINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIO
LINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIOLINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIO
LINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIO
AaronPleitez
 
vivienda segura concreto, construcción y métodos
vivienda segura concreto, construcción y métodosvivienda segura concreto, construcción y métodos
vivienda segura concreto, construcción y métodos
DilmerCarranza
 
Plan Emergencia solicitado en obras de construccion
Plan Emergencia  solicitado en obras de construccionPlan Emergencia  solicitado en obras de construccion
Plan Emergencia solicitado en obras de construccion
christianllacchasand
 
UGEL SAN MIGUEL SACALE TARJETA ROJA A LA VIOLENCIA.pptx
UGEL SAN MIGUEL SACALE TARJETA ROJA A LA VIOLENCIA.pptxUGEL SAN MIGUEL SACALE TARJETA ROJA A LA VIOLENCIA.pptx
UGEL SAN MIGUEL SACALE TARJETA ROJA A LA VIOLENCIA.pptx
Mayra798665
 
Informe fina mini bibliotecacomunitaria .docx
Informe fina mini bibliotecacomunitaria .docxInforme fina mini bibliotecacomunitaria .docx
Informe fina mini bibliotecacomunitaria .docx
mirimerlos5
 
MI CECTOR POSTE BLANCO - Paián .pdf
MI  CECTOR  POSTE  BLANCO - Paián   .pdfMI  CECTOR  POSTE  BLANCO - Paián   .pdf
MI CECTOR POSTE BLANCO - Paián .pdf
GustavoTello19
 
MONOGRAFIA DEL BUSCADOR YAHOO! APSTI1"A"
MONOGRAFIA DEL BUSCADOR YAHOO! APSTI1"A"MONOGRAFIA DEL BUSCADOR YAHOO! APSTI1"A"
MONOGRAFIA DEL BUSCADOR YAHOO! APSTI1"A"
darkskills2011
 
resumen de manual de organizacion y funciones de TI
resumen de manual de organizacion y funciones de TIresumen de manual de organizacion y funciones de TI
resumen de manual de organizacion y funciones de TI
riveroarlett5b
 
Plan de Compensación Dxn Internacional peru pdf
Plan de Compensación Dxn Internacional peru pdfPlan de Compensación Dxn Internacional peru pdf
Plan de Compensación Dxn Internacional peru pdf
agustincarranza11
 
04 capital interes simple.pdf de la clase métodos cuantitativos
04 capital interes simple.pdf de la clase métodos cuantitativos04 capital interes simple.pdf de la clase métodos cuantitativos
04 capital interes simple.pdf de la clase métodos cuantitativos
MarcoPolo545324
 
REPORTE-HEMEROGRÁFICO-MAYO 2024-IRAPUATO.pdf
REPORTE-HEMEROGRÁFICO-MAYO 2024-IRAPUATO.pdfREPORTE-HEMEROGRÁFICO-MAYO 2024-IRAPUATO.pdf
REPORTE-HEMEROGRÁFICO-MAYO 2024-IRAPUATO.pdf
IrapuatoCmovamos
 
Presentación simple corporativa degradado en violeta blanco.pptx
Presentación simple corporativa degradado en violeta blanco.pptxPresentación simple corporativa degradado en violeta blanco.pptx
Presentación simple corporativa degradado en violeta blanco.pptx
eleandroth
 

Último (15)

PROCESAMIENTO DIGITAL DE IMAGENES PDS 2020
PROCESAMIENTO DIGITAL DE IMAGENES PDS 2020PROCESAMIENTO DIGITAL DE IMAGENES PDS 2020
PROCESAMIENTO DIGITAL DE IMAGENES PDS 2020
 
ANA0003227-lagunas.pdfñlñlñlñlñññlñlllll
ANA0003227-lagunas.pdfñlñlñlñlñññlñlllllANA0003227-lagunas.pdfñlñlñlñlñññlñlllll
ANA0003227-lagunas.pdfñlñlñlñlñññlñlllll
 
INTELIGENCIA ARTIFICIAL monografia02.pdf
INTELIGENCIA ARTIFICIAL monografia02.pdfINTELIGENCIA ARTIFICIAL monografia02.pdf
INTELIGENCIA ARTIFICIAL monografia02.pdf
 
LINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIO
LINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIOLINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIO
LINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIO
 
vivienda segura concreto, construcción y métodos
vivienda segura concreto, construcción y métodosvivienda segura concreto, construcción y métodos
vivienda segura concreto, construcción y métodos
 
Plan Emergencia solicitado en obras de construccion
Plan Emergencia  solicitado en obras de construccionPlan Emergencia  solicitado en obras de construccion
Plan Emergencia solicitado en obras de construccion
 
UGEL SAN MIGUEL SACALE TARJETA ROJA A LA VIOLENCIA.pptx
UGEL SAN MIGUEL SACALE TARJETA ROJA A LA VIOLENCIA.pptxUGEL SAN MIGUEL SACALE TARJETA ROJA A LA VIOLENCIA.pptx
UGEL SAN MIGUEL SACALE TARJETA ROJA A LA VIOLENCIA.pptx
 
Informe fina mini bibliotecacomunitaria .docx
Informe fina mini bibliotecacomunitaria .docxInforme fina mini bibliotecacomunitaria .docx
Informe fina mini bibliotecacomunitaria .docx
 
MI CECTOR POSTE BLANCO - Paián .pdf
MI  CECTOR  POSTE  BLANCO - Paián   .pdfMI  CECTOR  POSTE  BLANCO - Paián   .pdf
MI CECTOR POSTE BLANCO - Paián .pdf
 
MONOGRAFIA DEL BUSCADOR YAHOO! APSTI1"A"
MONOGRAFIA DEL BUSCADOR YAHOO! APSTI1"A"MONOGRAFIA DEL BUSCADOR YAHOO! APSTI1"A"
MONOGRAFIA DEL BUSCADOR YAHOO! APSTI1"A"
 
resumen de manual de organizacion y funciones de TI
resumen de manual de organizacion y funciones de TIresumen de manual de organizacion y funciones de TI
resumen de manual de organizacion y funciones de TI
 
Plan de Compensación Dxn Internacional peru pdf
Plan de Compensación Dxn Internacional peru pdfPlan de Compensación Dxn Internacional peru pdf
Plan de Compensación Dxn Internacional peru pdf
 
04 capital interes simple.pdf de la clase métodos cuantitativos
04 capital interes simple.pdf de la clase métodos cuantitativos04 capital interes simple.pdf de la clase métodos cuantitativos
04 capital interes simple.pdf de la clase métodos cuantitativos
 
REPORTE-HEMEROGRÁFICO-MAYO 2024-IRAPUATO.pdf
REPORTE-HEMEROGRÁFICO-MAYO 2024-IRAPUATO.pdfREPORTE-HEMEROGRÁFICO-MAYO 2024-IRAPUATO.pdf
REPORTE-HEMEROGRÁFICO-MAYO 2024-IRAPUATO.pdf
 
Presentación simple corporativa degradado en violeta blanco.pptx
Presentación simple corporativa degradado en violeta blanco.pptxPresentación simple corporativa degradado en violeta blanco.pptx
Presentación simple corporativa degradado en violeta blanco.pptx
 

02_C_Functions_Arrays.pdf

  • 1. ELO320 - Estructuras de Datos y Algoritmos Introducción a C Funciones y Arreglos Dr. Nicolás Gálvez R. nicolas.galvez@usm.cl Ing. Civil Telemática - Departamento de Electrónica 1er Semestre 2021 1/1
  • 2. Funciones en C Encapsula código. Permite reutilizar código. Se pueden compilar por separado. Retorna siempre un tipo de dato especı́fico. 2/1
  • 3. Funciones en C Se puede separar interfaz (prototipo) de implementación. Interfaz (prototipo): Sólo define existencia y formato de función. Suficiente para ser invocada. C // t i p o r e t o r n o f u n c i o n ( parametros con o s i n nombre ) ; f l o a t p o t e n c i a ( f l o a t a , f l o a t b ) ; // . . . . c a l c u l o = x ∗ p o t e n c i a ( y , 2 . 5 ) ; Implementación: Define implementación de código de función. C /∗ t i p o r e t o r n o f u n c i o n ( parametros con nombre ) { ∗ Implementacion . . . }∗/ f l o a t p o t e n c i a ( f l o a t a , f l o a t b ) { return power ( a , b ) ; } 3/1
  • 4. Funciones en C Si se utiliza solamente la implementación, está tiene que estar definida antes de la función que la invoca. Si se utiliza el prototipo, es éste el que debe estar defindo antes de la función que la invoca. Prototipo + Implementación: libertad de ubicación de la implementación. 4/1
  • 5. Funciones en Python Python sólo permite implementación, no prototipos. Python def nombre funcion ( parametros ) : #. . . Implementacion return <expre sion > 5/1
  • 6. Macro Una macro es un valor o conjuntos de instrucciones constantes que se definen a nivel de preprocesamiento. No es una variable y no puede ser modificada. C #include <s t d i o . h> #d e f i n e MACRO 10 i n t main (){ i n t a = 5; p r i n t f ( ” %” s n” , a∗MACRO) ; } 6/1
  • 7. Constante Una variable constante es aquella que que se declara con el keyword const, e implica que ésta no puede ser modificada. Tiene todo el resto de las propiedades de una variable común. C #include <s t d i o . h> i n t main (){ const i n t a = 5; a = 10; //¿Cómo act úa e l compilador ? p r i n t f ( ” %”dn” , a ) ; } 7/1
  • 8. Ámbito (Scope) Las funciones (includa main) definen el alcance de las variables, llamado ámbito, vale decir, el segmento en el cual existen y pueden ser usadas → entre { y }. C #include <s t d i o . h> void saludo (){ // var i s i r v e s ó l o dentro de f u n c i ón saludo . i n t i = 5; p r i n t f ( ” Hola alumno numero %d” , i ) ; } i n t main (){ // var a s i r v e s ó l o dentro de f u n c i ón main . i n t a = 10; saludo ( ) ; p r i n t f ( ” %”dn” , a ) ; r e t u r n 0; } 8/1
  • 9. Variable local Una variable local, es aquella que está definida dentro de un ámbito de terminado, vale decir, una función y/o estructura de control. C #include <s t d i o . h> i n t main (){ // var a s i r v e s ó l o dentro de f u n c i ón main . i n t a = 10; i f ( a==10){ i n t b = 1; p r i n t f ( ” %d %dn” , a , b ) ; } // ¿Qué pasa con l a v a r i a b l e b? p r i n t f ( ” %d %dn” , a , b ) ; return 0; } 9/1
  • 10. Variable Global Una variable global, es aquella que está definida fuera de cualquier ámbito. Puede ser llamada, modificada y utilizada desde cualquier ámbito, siempre y cuando no exista una variable local con el mismo nombre. C #include <s t d i o . h> i n t a=1; // g l o b a l i n t b=2; // g l o b a l i n t main (){ i n t a = 10; // l o c a l b++; p r i n t f ( ” %d %dn” , a , b ) ; //¿Qué imprime ? return 0; } En python, no se pueden modificar variables globales dentro de una función. 10/1
  • 11. Arreglos y Strings Arreglo: Tipo estructurado consistente en conjunto homogéneo y ordenado de elementos. Se identifican por su posición relativa mediante un ı́ndice encerrado con paréntesis cuadrados (parte de ı́ndice 0). // A r r e g l o s e s t á t i c o s ( se l i b e r a n a l t e r m i n a r // e l á mbito donde fueron d e c l a r a d a s ) : i n t foo [ 1 0 ] ; //10 e n t e r o s creados en foo . foo [ 3 ] = 7; //A cuarto elemento se a s i g n a un 7. String: Arreglo de caracteres. // Los s t r i n g se d e l i m i t a n con c a r a c t e r ’0 ’ // ( r e q u i e r e e s p a c i o de 1 char ) : char nombre [ 1 0 ] = ”Juan” ; // S t r i n g de l a r g o máximo 10. nombre [ 1 ] = ’ e ’ ; //Qué hace ? p r i n t f ( ” %s n” , nombre ) ; Veremos más sobre strings la próxima clase. 11/1
  • 12. Arreglos Multidimensionales e Inicialización Al igual que con las listas de Python, pueden definir arreglos multidimensionales. Además los arreglos pueden ser inicializados utilizando { y }. C #i n c l e d e <s t d i o . h> i n t main (){ char nom [ 1 0 ] = ” Camilo ” ; char a [ 5 ] [ 2 0 ] = {”Juan” , ” F r a n c i s c o ” , ” Pedro ” }; i n t b [ 3 ] [ 3 ] = {{1 ,2 ,3} , {4 ,5 ,6} , {7 ,8 ,9}} , i , j ; f o r ( i =0; i <3; i ++){ f o r ( j =0; j <3; j++) //¿Qué pas ó con l a s l l a v e s ? p r i n t f ( ” %d ” , b [ i ] [ j ] ) ; p r i n t f ( ”n” ) ; } } 12/1
  • 13. Recorrer un arreglo Podemos utilizar cualquiera de las estructuras de control iterativas para recorrerlos. C #i n c l e d e <s t d i o . h> i n t main (){ i n t i ; f l o a t a [ 5 ] ; f o r ( i =0; i <5; i ++){ f l o a t v a l ; //¿Cuá ntas veces nace y muere v a l ? s c a n f ( ” % f ” , &v a l ) ; a [ i ]= v a l ; } //¿Cómo r e d u c i r e s t e có digo ? } 13/1
  • 14. Recorrer un arreglo Practiquen con los siguientes ejercicios: Calcular el factorial de un número dado. Ordenar de mayor a menor un arreglo de una dimensión. Encontrar el mayor elemento en un arreglo de dos dimensiones. Calcular el promedio de los elementos en un arreglo bidimensional. Imprimir en orden inverso los elementos de un arreglo. Imprimir todas las letras mayúsculas y minúsculas del alfabeto (ver Código ASCII). 14/1