SlideShare una empresa de Scribd logo
1 de 50
Programación en C DATSI, FI, UPM Edmundo Mendoza DL Programación en C (Segunda Parte)
Índice ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Programación en C
Programación en C Modificadores de Ámbito Programación en C
Modificadores de Variables ,[object Object],[object Object],[object Object],[object Object],[object Object],Programación en C
Modificadores de Variables ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Programación en C
Modificadores de Variables ( static ) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Programación en C Salida: 0 1 2 3
Modificadores de Variables ( const ) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Programación en C
Modificadores de Funciones ,[object Object],[object Object],[object Object],[object Object],Programación en C
Modificadores de Funciones ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Programación en C Fichero2.c: extern  void aux(); int main() { aux(); func() ; /* NO   VISIBLE */ }
Modificadores de Funciones Programación en C Fichero1.c compilación Fichero1.o aux  Impl G func  Impl L enlace Fichero2.c compilación Fichero2.o aux  Undef  func  Undef  main  Impl G EJECUTABLE
Modificadores de Funciones ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Programación en C { if( x+1 > y ) x = x+1 ; else x = y ; }
Programación en C Punteros y Memoria Dinámica Programación en C
Aritmética de Punteros ,[object Object],[object Object],[object Object],Programación en C C o l e c c i ó n  v v[7] *(p+2) for(p=v;*p;p++) { printf(“%c”,*p) }
Aritmética de Punteros ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Programación en C
Aritmética de Punteros ,[object Object],[object Object],[object Object],[object Object],Programación en C p_int 3F0 p_int + 1 ++ sizeof(int)=4 3F1 3F2 3F3 3F4 3F5 3F6 3F7 3F8 3F9 3FA 3FB p_char ++ p_char + 1
Punteros a Funciones ,[object Object],[object Object],[object Object],[object Object],Programación en C
Punteros a Funciones ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Programación en C
Punteros a Funciones ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Programación en C
Memoria Dinámica ,[object Object],[object Object],[object Object],[object Object],[object Object],Programación en C
Memoria Dinámica ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Programación en C a b[0] i c b[1] a b[0] i c b[1] a b[0] i c b[1] *c *i *c Estática Dinámica
Programación en C Operadores de Bit Programación en C
Operadores de Bit ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Programación en C
Operadores de Bit ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Programación en C 00110000 00010011 a b 00010000 x = 16 00110011 y = 51 00100011 z = 35 11001111 w = 207 00001100 t = 12 10011000 s = 152
Uso de los Operadores de Bit ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Programación en C
Programación en C Preprocesador y Compilación Programación en C
Fase de Compilación Programación en C .c Fichero Fuente Preprocesamiento .c Paso a Ensamblador .s .o Ensamblar Compilación .o .o .o .o EXE Enlazado .a Librerías Fichero Ejecutable
Directrices del Preprocesador ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Programación en C
Constantes y Macros ,[object Object],[object Object],[object Object],[object Object],Programación en C
Constantes y Macros ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Programación en C
Constantes y Macros ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Programación en C
Macros vs Funciones ,[object Object],[object Object],[object Object],[object Object],Programación en C max= func_max (a++,b--); max 3 a 3 b 2 Usando funciones max= macro_max (a++,b--); max 2 a 3 b 1 Usando macros
Inclusión de Ficheros ,[object Object],[object Object],[object Object],Programación en C #include “aux.h” int main() { ...} fich.c int  func1(int a); viod func2(); aux.h int  func1(int a); viod func2(); int main() { ...} Preprocesamiento
Inclusión de Ficheros ,[object Object],[object Object],[object Object],[object Object],Programación en C
Sentencias Condicionales ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Programación en C
Ejemplo: Depuración ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Programación en C
Ejemplo: Fichero de Cabecera Programación en C #ifndef _AUX_H_ #define _AUX_H_ <definiciones> #endif aux.h #include “aux.h” #include “aux.h” int main() { ... } Evita la redefinicion de funciones y variables
Enlace de Ficheros Programación en C .c extern int v;  int main() {.h().} extern void k(); static h() {.k().} .c int k() {.l().} int l() {...} int v; .o 3A00: f 3A08: main 3B12: h v <undef> k <undef> .o 1600: k 17FF: l 1812: v EXE gcc -c gcc -c gcc -o Compilación Enlace
Programación en C Librerías Estándar Programación en C
Manejo de Cadenas ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Programación en C
Manejo de Buffers ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Programación en C
Entrada Salida ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Programación en C
Ficheros Especiales ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Programación en C
Ordenación y Búsqueda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Programación en C
Conversión de Tipo ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Programación en C
Funciones Matemáticas ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Programación en C
Uso de Funciones de Librería ,[object Object],[object Object],[object Object],[object Object],Programación en C
Programación en C Argumentos del Programa Programación en C
Argumentos de  main ,[object Object],[object Object],[object Object],[object Object],Programación en C
Argumentos de  main ,[object Object],[object Object],Programación en C int main( int argc ,  char* argv[] )   argc =5 argv[0] argv[1] argv[2] argv[3] argv[4] p r o g  u n o  d o s  t r e s  c u a t  r o
Argumentos de  main ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Programación en C

Más contenido relacionado

La actualidad más candente (19)

Guia De Practica 3
Guia De Practica 3Guia De Practica 3
Guia De Practica 3
 
Lenguaje C_Curso Secap
Lenguaje C_Curso SecapLenguaje C_Curso Secap
Lenguaje C_Curso Secap
 
Dev-C++
Dev-C++ Dev-C++
Dev-C++
 
Inicialización del modo gráfico de C
Inicialización del modo gráfico de CInicialización del modo gráfico de C
Inicialización del modo gráfico de C
 
Operaciones Basicas C++
Operaciones Basicas C++Operaciones Basicas C++
Operaciones Basicas C++
 
Lenguajes de programacion c
Lenguajes de programacion cLenguajes de programacion c
Lenguajes de programacion c
 
Introduccion dev c++
Introduccion dev c++Introduccion dev c++
Introduccion dev c++
 
Librerias en-lenguaje-c
Librerias en-lenguaje-cLibrerias en-lenguaje-c
Librerias en-lenguaje-c
 
Lenguaje de-programación-c
Lenguaje de-programación-cLenguaje de-programación-c
Lenguaje de-programación-c
 
Guía funciones
Guía funcionesGuía funciones
Guía funciones
 
A1 u1-16230227
A1 u1-16230227A1 u1-16230227
A1 u1-16230227
 
Clase3_Python-CTIC
Clase3_Python-CTICClase3_Python-CTIC
Clase3_Python-CTIC
 
Lenguajec++
Lenguajec++Lenguajec++
Lenguajec++
 
Programación C++
Programación C++Programación C++
Programación C++
 
Operaciones de Entrada / Salida en C++
Operaciones de Entrada / Salida en C++Operaciones de Entrada / Salida en C++
Operaciones de Entrada / Salida en C++
 
Lenguaje c 2_neo
Lenguaje c 2_neoLenguaje c 2_neo
Lenguaje c 2_neo
 
Ejemplos c
Ejemplos cEjemplos c
Ejemplos c
 
Librerias ansi c
Librerias ansi cLibrerias ansi c
Librerias ansi c
 
Introduccion Lenguaje C Blanca
Introduccion Lenguaje  C BlancaIntroduccion Lenguaje  C Blanca
Introduccion Lenguaje C Blanca
 

Destacado (9)

Introducción a La Programación En C
Introducción a La Programación En CIntroducción a La Programación En C
Introducción a La Programación En C
 
Picaxe
PicaxePicaxe
Picaxe
 
Sistema de picaxe
Sistema de picaxeSistema de picaxe
Sistema de picaxe
 
REPLICACION DEL ADN
REPLICACION DEL ADNREPLICACION DEL ADN
REPLICACION DEL ADN
 
Manual de programacion lenguaje en C
Manual de programacion lenguaje en CManual de programacion lenguaje en C
Manual de programacion lenguaje en C
 
Introduccion a lenguaje_c
Introduccion a lenguaje_cIntroduccion a lenguaje_c
Introduccion a lenguaje_c
 
Cuaderno de prácticas robotica con Picaxe 08M2
Cuaderno de prácticas robotica con Picaxe 08M2Cuaderno de prácticas robotica con Picaxe 08M2
Cuaderno de prácticas robotica con Picaxe 08M2
 
02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujo02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujo
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with Data
 

Similar a Curso c ii

Funciones C++
Funciones C++Funciones C++
Funciones C++
Jarvis_15
 
3.6 funciones de biblioteca
3.6 funciones de biblioteca3.6 funciones de biblioteca
3.6 funciones de biblioteca
SNPP
 
Lenguajec 1
Lenguajec 1Lenguajec 1
Lenguajec 1
joeshego
 

Similar a Curso c ii (20)

Curso c i
Curso c iCurso c i
Curso c i
 
Turbo c
Turbo cTurbo c
Turbo c
 
Funciones C++
Funciones C++Funciones C++
Funciones C++
 
Conceptos de c
Conceptos de cConceptos de c
Conceptos de c
 
ESTRUCTURA BÁSICA PARA C++
ESTRUCTURA BÁSICA PARA C++ESTRUCTURA BÁSICA PARA C++
ESTRUCTURA BÁSICA PARA C++
 
Primera clase
Primera clasePrimera clase
Primera clase
 
Introduccion a C++.pdf
Introduccion a C++.pdfIntroduccion a C++.pdf
Introduccion a C++.pdf
 
ESTRUCTURA BASICA PARA C++
ESTRUCTURA BASICA PARA C++ESTRUCTURA BASICA PARA C++
ESTRUCTURA BASICA PARA C++
 
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionIng. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
 
Fundamentos de Programacion - Unidad 3 Introduccion a la programacion
Fundamentos de Programacion - Unidad 3 Introduccion a la programacionFundamentos de Programacion - Unidad 3 Introduccion a la programacion
Fundamentos de Programacion - Unidad 3 Introduccion a la programacion
 
Lenguajec diapositivas
Lenguajec diapositivasLenguajec diapositivas
Lenguajec diapositivas
 
Estructura basica para_c_
Estructura basica para_c_Estructura basica para_c_
Estructura basica para_c_
 
Programa
ProgramaPrograma
Programa
 
Cpp
CppCpp
Cpp
 
Cpp
CppCpp
Cpp
 
Evaluacion
EvaluacionEvaluacion
Evaluacion
 
Tema 2. E_S Estructuras de Control 19-02-23.pdf
Tema 2. E_S Estructuras de Control 19-02-23.pdfTema 2. E_S Estructuras de Control 19-02-23.pdf
Tema 2. E_S Estructuras de Control 19-02-23.pdf
 
3.6 funciones de biblioteca
3.6 funciones de biblioteca3.6 funciones de biblioteca
3.6 funciones de biblioteca
 
IntroLenguajeC.ppt
IntroLenguajeC.pptIntroLenguajeC.ppt
IntroLenguajeC.ppt
 
Lenguajec 1
Lenguajec 1Lenguajec 1
Lenguajec 1
 

Último

2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
RigoTito
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
patriciaines1993
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
jlorentemartos
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 

Último (20)

Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
Power Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptxPower Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptx
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
Sesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdfSesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdf
 
Posición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxPosición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptx
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 

Curso c ii

  • 1. Programación en C DATSI, FI, UPM Edmundo Mendoza DL Programación en C (Segunda Parte)
  • 2.
  • 3. Programación en C Modificadores de Ámbito Programación en C
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10. Modificadores de Funciones Programación en C Fichero1.c compilación Fichero1.o aux Impl G func Impl L enlace Fichero2.c compilación Fichero2.o aux Undef func Undef main Impl G EJECUTABLE
  • 11.
  • 12. Programación en C Punteros y Memoria Dinámica Programación en C
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21. Programación en C Operadores de Bit Programación en C
  • 22.
  • 23.
  • 24.
  • 25. Programación en C Preprocesador y Compilación Programación en C
  • 26. Fase de Compilación Programación en C .c Fichero Fuente Preprocesamiento .c Paso a Ensamblador .s .o Ensamblar Compilación .o .o .o .o EXE Enlazado .a Librerías Fichero Ejecutable
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36. Ejemplo: Fichero de Cabecera Programación en C #ifndef _AUX_H_ #define _AUX_H_ <definiciones> #endif aux.h #include “aux.h” #include “aux.h” int main() { ... } Evita la redefinicion de funciones y variables
  • 37. Enlace de Ficheros Programación en C .c extern int v; int main() {.h().} extern void k(); static h() {.k().} .c int k() {.l().} int l() {...} int v; .o 3A00: f 3A08: main 3B12: h v <undef> k <undef> .o 1600: k 17FF: l 1812: v EXE gcc -c gcc -c gcc -o Compilación Enlace
  • 38. Programación en C Librerías Estándar Programación en C
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47. Programación en C Argumentos del Programa Programación en C
  • 48.
  • 49.
  • 50.