programacion en c unidad 01 capitulos 1 y 2
TRANSCRIPT
-
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
1/75
INC-112 Programacion I
Unidad 1
Profesores: Roberto Munoz S. - Eliana Providel G.Escuela de Ingeniera Civil en Informatica
Universidad de [email protected], [email protected]
Segundo Semestre 2011
Unidad 1
http://find/http://goback/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
2/75
Contenidos Unidad I
Parte I: Introduccion.
Parte II: Estructura de un Programa en C.
Parte III:Tipos de datos.
Parte IV: Operadores.
Unidad 1
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
3/75
Parte I: Introduccion
Unidad 1
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
4/75
Contenidos
Generaciones.Estructura fsica de un computador.
La medida de informacion.
Algoritmos.
Programacion.
Unidad 1
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
5/75
Estructura fsica de un computadorLa medida de informacion
AlgortimosAlgortimos
Programacion
Un lenguaje de programacion debe ser parte de la solucion,no parte del problema
Unidad 1
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
6/75
Estructura fsica de un computadorLa medida de informacion
AlgortimosAlgortimos
Programacion
Un computador facilita el trabajo de un ser humano. Ej.multiplicar numeros.Que se hace para obtener una solucion?
Disenar un algoritmo.
Programador codifica en un lenguaje de programacion que elcomputador es capaz de entender.
Se ejecuta el programa en el computador.
Computador entrega el resultado.
Unidad 1
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
7/75
Estructura fsica de un computadorLa medida de informacion
AlgortimosAlgortimos
Programacion
Elementos principales del computador
Elementos principales del computador
La parte fsica del computador, es decir, todos aquelloscomponentes que conforman la estructura de un computador, seconocen como el Hardware (HW).
CPU (Central Processing Unit)
Memoria ROM
Memoria RAM
Memoria SecundariaPlaca Madre
Dispositivos de Salida
Dispositivos de Entrada
Unidad 1
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
8/75
Estructura fsica de un computadorLa medida de informacion
AlgortimosAlgortimos
Programacion
Elementos principales del computador
CPU
CPU: Procesador. Es el cerebro del computador. Sus componentestpicos son la ALU y la CU.
Unidad 1
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
9/75
Estructura fsica de un computadorLa medida de informacion
AlgortimosAlgortimos
Programacion
Elementos principales del computador
Memoria ROMMemoria ROM: Programas basicos para el funcionamiento delhardware. Los datos almacenados en la ROM no se puedenmodificar, permitiendo solo su lectura.
Unidad 1
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
10/75
Estructura fsica de un computadorLa medida de informacion
AlgortimosAlgortimos
Programacion
Elementos principales del computador
Memoria RAMMemoria RAM: Dispositivo capaz de almacenar temporalmenteinformacion (al apagar el equipo, todo lo que se encontraba en laRAM se pierde), almacena informacion que la CPU esta accesando
frecuentemente y necesita para poder trabajar. No es posible queel usuario acceda a ella. Ademas, es parte de la Memoria Principal, junto con la Memoria Cache.
Unidad 1
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
11/75
Estructura fsica de un computadorLa medida de informacion
AlgortimosAlgortimos
Programacion
Elementos principales del computador
Memoria SecundariaMemoria Secundaria: Todas aquellas unidades de disco que uncomputador puede tener. Se usa para almacenar grandescantidades de datos que requieren ser accesados en algun
momento. Son de lento acceso (obtener informacion toma mastiempo que en la RAM). No es Volatil como la RAM (al apagar elequipo, no se pierde lo que hay en la memoria secundaria). Aqu elusuario se puede accesar a la memoria llamando directamente a losarchivos.
Unidad 1
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
12/75
Estructura fsica de un computadorLa medida de informacion
AlgortimosAlgortimos
Programacion
Elementos principales del computador
Placa MadrePlaca Madre: Tarjeta Madre. Es el lugar donde se conectan todoslos dispositivos como: procesador, memorias, tarjetas de video,sonido, red, etc.
Unidad 1
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
13/75
Estructura fsica de un computadorLa medida de informacion
AlgortimosAlgortimos
Programacion
Elementos principales del computador
Dispositivos de Entrada
Dispositivos de Entrada: Elementos que permiten ingresarinformacion al computador, tales como: teclado, mouse,
microfono, scanner, etc.
Unidad 1
f
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
14/75
Estructura fsica de un computadorLa medida de informacion
AlgortimosAlgortimos
Programacion
Elementos principales del computador
Dispositivos de Salida
Dispositivos de Salida: Elementos por los cuales el computadorentrega informacion, tales como: impresoras, monitor, parlantes,etc.
Unidad 1
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
15/75
E t t f i d t d
-
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
16/75
Estructura fsica de un computadorLa medida de informacion
AlgortimosAlgortimos
Programacion
Definicion de Algoritmo
Definicion de Algoritmo
Algoritmo
Secuencia de pasos finita y ordenada que permite dar solucion a unproblema.
Unidad 1
Estructura fsica de un computador
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
17/75
Estructura fsica de un computadorLa medida de informacion
AlgortimosAlgortimos
Programacion
Definicion de AlgoritmoDefinicion de ProgramasTipos de Programas
Definicion de Algoritmo
Algoritmo
Secuencia de pasos finita, no ambigua y ordenada que permite darsolucion a un problema.
Unidad 1
Estructura fsica de un computador
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
18/75
Estructura fsica de un computadorLa medida de informacion
AlgortimosAlgortimos
Programacion
Definicion de AlgoritmoDefinicion de ProgramasTipos de Programas
Definicion de Programa
Programa
Es el complemento del Hardware (la parte fsica del computador).Son conjuntos de instrucciones capaces de decirle al computador
que es lo que debe realizar.
Los programas se pueden diferenciar en 4 grupos: de gestion derecursos, de usuario o aplicaciones, de soporte a aplicaciones,
basicos.Todos los programas conforman el conjunto del Software (SW)del computador.Lo unico tangible del software es el lugar donde es almacenado(disco duro, CD, DVD, pendrive, diskette, etc).
Unidad 1
Estructura fsica de un computador
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
19/75
Estructura fsica de un computadorLa medida de informacion
AlgortimosAlgortimos
Programacion
Definicion de AlgoritmoDefinicion de ProgramasTipos de Programas
Definicion de Programa
Programa
Es el complemento del Hardware (la parte fsica del computador).Son conjuntos de instrucciones capaces de decirle al computador
que es lo que debe realizar.
Los programas se pueden diferenciar en 4 grupos: de gestion derecursos, de usuario o aplicaciones, de soporte a aplicaciones,
basicos.Todos los programas conforman el conjunto del Software (SW)del computador.Lo unico tangible del software es el lugar donde es almacenado(disco duro, CD, DVD, pendrive, diskette, etc).
Unidad 1
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
20/75
-
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
21/75
Estructura fsica de un computador
-
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
22/75
La medida de informacionAlgortimosAlgortimos
Programacion
Definicion de AlgoritmoDefinicion de ProgramasTipos de Programas
Definicion de Programa
Programa
Es el complemento del Hardware (la parte fsica del computador).Son conjuntos de instrucciones capaces de decirle al computador
que es lo que debe realizar.
Los programas se pueden diferenciar en 4 grupos: de gestion derecursos, de usuario o aplicaciones, de soporte a aplicaciones,
basicos.Todos los programas conforman el conjunto del Software (SW)del computador.Lo unico tangible del software es el lugar donde es almacenado(disco duro, CD, DVD, pendrive, diskette, etc).
Unidad 1
Estructura fsica de un computador
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
23/75
La medida de informacionAlgortimosAlgortimos
Programacion
Definicion de AlgoritmoDefinicion de ProgramasTipos de Programas
Definicion de Programa
Programa
Es el complemento del Hardware (la parte fsica del computador).Son conjuntos de instrucciones capaces de decirle al computador
que es lo que debe realizar.
Los programas se pueden diferenciar en 4 grupos: de gestion derecursos, de usuario o aplicaciones, de soporte a aplicaciones,
basicos.Todos los programas conforman el conjunto del Software (SW)del computador.Lo unico tangible del software es el lugar donde es almacenado(disco duro, CD, DVD, pendrive, diskette, etc).
Unidad 1
Estructura fsica de un computadorL did d i f i D fi i i d Al i
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
24/75
La medida de informacionAlgortimosAlgortimos
Programacion
Definicion de AlgoritmoDefinicion de ProgramasTipos de Programas
Definicion de Programa
Programa
Es el complemento del Hardware (la parte fsica del computador).Son conjuntos de instrucciones capaces de decirle al computador
que es lo que debe realizar.
Los programas se pueden diferenciar en 4 grupos: de gestion derecursos, de usuario o aplicaciones, de soporte a aplicaciones,
basicos.Todos los programas conforman el conjunto del Software (SW)del computador.Lo unico tangible del software es el lugar donde es almacenado(disco duro, CD, DVD, pendrive, diskette, etc).
Unidad 1
Estructura fsica de un computadorL did d i f i D fi i i d Al it
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
25/75
La medida de informacionAlgortimosAlgortimos
Programacion
Definicion de AlgoritmoDefinicion de ProgramasTipos de Programas
Tipos de Programas
de Gestion de Recursos: Conocidos como SistemasOperativos. Son el programa mas importante, ya que controlael funcionamiento del computador y de los demas programas.
El sistema operativo, establece las reglas y parametros paraque las aplicaciones inter-actuen con el hardware delcomputador, utilizandolo como interprete entre ambas partes(aplicaciones-HW).
Ademas, es el encargado de asignar los recursos de memoria oprocesador a las diferentes aplicaciones que estan corriendo enun momento dado.
Unidad 1
Estructura fsica de un computadorLa medida de informacion Definicion de Algoritmo
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
26/75
La medida de informacionAlgortimosAlgortimos
Programacion
Definicion de AlgoritmoDefinicion de ProgramasTipos de Programas
Tipos de Programas
Programas de Gestion de Recursos: Ejemplos: Windows (NT, 3.x,95, 98, XP, Server 2003, Vista), Unix, Linux (RedHat, Debian,Mandrake, CentOS, SuSe, Fedora, etc), MacOS, Solaris, entremuchos mas.
Unidad 1
Estructura fsica de un computadorLa medida de informacion Definicion de Algoritmo
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
27/75
La medida de informacionAlgortimosAlgortimos
Programacion
Definicion de AlgoritmoDefinicion de ProgramasTipos de Programas
Tipos de Programas
de Usuario o Aplicaciones: Programas que son escritos parao por los usuarios para realizar una tarea especfica en elcomputador.
Ejemplos: procesadores de textos, hojas de calculo,
aplicaciones para sonido y/o video, navegadores, antivirus, etc.
Unidad 1
Estructura fsica de un computadorLa medida de informacion Definicion de Algoritmo
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
28/75
La medida de informacionAlgortimosAlgortimos
Programacion
Definicion de AlgoritmoDefinicion de ProgramasTipos de Programas
Tipos de Programas
de Soporte a Aplicaciones: Se tienen los drivers y loscodecs.
Un driver es un programa (conjunto de instrucciones) quecontrola un dispositivo, ya sea externo o interno que vayaconectado al computador.
Los archivos de audio y sonido se comprimen y descomprimen
mediante ciertos algoritmos matematicos para poderalmacenar o ejecutar aquellos archivos. Un codec es unprogramita desarrollado en base a estas formulas matematicasde compresion. De ah su nombre que proviene deCOmpresion y DECompresion.
Unidad 1
Estructura fsica de un computadorLa medida de informacion Definicion de Algoritmo
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
29/75
La medida de informacionAlgortimosAlgortimos
Programacion
Definicion de AlgoritmoDefinicion de ProgramasTipos de Programas
Tipos de Programas
Basicos: La BIOS (Basic Input-Output System) es un codigoque localiza y carga el sistema operativo en la RAM.
Proporciona el funcionamiento y configuracion del hardwaredel sistema que, como mnimo, maneja el teclado yproporciona salida basica (emitiendo pitidos normalizados porel altavoz del ordenador si se producen fallos) durante el
arranque.
La BIOS generalmente esta escrito en lenguaje ensamblador.
Unidad 1
Estructura fsica de un computadorLa medida de informacion
Lenguajes de ProgramacionD fi i i
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
30/75
AlgortimosAlgortimos
Programacion
DefinicionesParadigmas de ProgramacionCaractersticas del lenguaje C
Lenguajes de Programacion
Un Lenguaje de Programacion es aquel que se utiliza paradesarrollar programas que el computador pueda entender. Estanformados por conjuntos de smbolos (alfabeto) y reglas.Cada da, existen problemas mas diversos y complejos; loslenguajes de programacion deben ser capaz de adaptarse y entregar
eficiencia en la ejecucion.
Unidad 1
Estructura fsica de un computadorLa medida de informacion
Lenguajes de ProgramacionDefiniciones
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
31/75
AlgortimosAlgortimos
Programacion
DefinicionesParadigmas de ProgramacionCaractersticas del lenguaje C
Tipos de lenaguaje de Programacion
Existen 3 tipos de Lenguajes de Programacion:
1 Lenguaje de Maquina
2 Lenguajes de Bajo Nivel (ensamblador)
3 Lenguajes de Alto Nivel (C, Pascal, Basic, Algol, Cobol,Fortran, Prolog, entre muchos mas)
Los lenguajes que tiene mayor semejanza con el lenguaje humanose les llama lenguajes de alto nivel, mientras que los lenguajes masparecidos al lenguaje de maquina son conocidos como de bajo nivel.
Unidad 1
Estructura fsica de un computadorLa medida de informacion
Lenguajes de ProgramacionDefiniciones
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
32/75
AlgortimosAlgortimos
Programacion
DefinicionesParadigmas de ProgramacionCaractersticas del lenguaje C
Lenguaje Ensamblador y de Maquina
El Lenguaje Ensamblador es una notacion del lenguaje de maquinaque es legible por personas y es especfica de cada arquitectura de
computadoras.
Mientras que el Lenguaje de Maquina es el sistema de codigosdirectamente interpretable por un circuito microprogramable, comoel microprocesador de un computador. As, el lenguaje estacompuesto por un conjunto de instrucciones que determinanacciones a ser tomadas por la maquina.
Unidad 1
Estructura fsica de un computadorLa medida de informacion
Al i
Lenguajes de ProgramacionDefiniciones
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
33/75
AlgortimosAlgortimos
Programacion
DefinicionesParadigmas de ProgramacionCaractersticas del lenguaje C
Definicion de Compilador
Compilador
Es un programa encargado de transformar el codigo escrito por una
persona a un codigo que el computador pueda entender, es decir, aun lenguaje de bajo nivel o a lenguaje de maquina.
Ejemplos de Compiladores C
Borland C++; MS Visual C++; GNU gcc/c++ (versin MinGWpara Windows), GNU gcc/g++ para Linux, Dev-C++ (Windows),Borland Turbo C++.
Unidad 1
Estructura fsica de un computadorLa medida de informacion
Al ti
Lenguajes de ProgramacionDefiniciones
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
34/75
AlgortimosAlgortimos
Programacion
DefinicionesParadigmas de ProgramacionCaractersticas del lenguaje C
Definicion de Compilador
Compilador
Es un programa encargado de transformar el codigo escrito por una
persona a un codigo que el computador pueda entender, es decir, aun lenguaje de bajo nivel o a lenguaje de maquina.
Ejemplos de Compiladores C
Borland C++; MS Visual C++; GNU gcc/c++ (versin MinGWpara Windows), GNU gcc/g++ para Linux, Dev-C++ (Windows),Borland Turbo C++.
Unidad 1
Estructura fsica de un computadorLa medida de informacion
Algortimos
Lenguajes de ProgramacionDefiniciones
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
35/75
AlgortimosAlgortimos
Programacion
Paradigmas de ProgramacionCaractersticas del lenguaje C
Definicion de Ensamblador
Ensamblador
Un ensamblador es un programa que traduce de un lenguajeensamblador a lenguaje maquina.
Unidad 1
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
36/75
-
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
37/75
Estructura fsica de un computadorLa medida de informacion
Algortimos
Lenguajes de ProgramacionDefinicionesP di d P i
-
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
38/75
AlgortimosAlgortimos
Programacion
Paradigmas de ProgramacionCaractersticas del lenguaje C
Lenguaje Imperativo o procedural.
Niklaus Wirth:
Cualquier problema algortmico puede resolverse con el uso deestos tres tipos de instrucciones.
Secuenciales Instrucciones que se ejecutan en orden normal.El flujo del programa ejecuta la instruccion y pasa a ejecutarla siguiente.
Alternativas Instrucciones en las que se evalua una condicion ydependiendo si el resultado es verdadero o no, el flujo delprograma se dirigira a una instruccion o a otra.
Iterativas Instrucciones que se repiten continuamente hastaque se cumple una determinada condicion.
Unidad 1
Estructura fsica de un computadorLa medida de informacion
Algortimos
Lenguajes de ProgramacionDefinicionesP di d P i
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
39/75
go t osAlgortimos
Programacion
Paradigmas de ProgramacionCaractersticas del lenguaje C
Lenguajes Funcionales
Estan constituidos unicamente por definiciones de funciones,entendiendo estas no como subprogramas clasicos de unlenguaje imperativo, sino como funciones puramentematematicas, basado en logica.
Ejemplo: Haskell, Miranda, Lisp
Unidad 1
Estructura fsica de un computadorLa medida de informacion
Algortimos
Lenguajes de ProgramacionDefinicionesParadigmas de Programacion
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
40/75
gAlgortimos
Programacion
Paradigmas de ProgramacionCaractersticas del lenguaje C
Lenguajes Logicos
El programador, parar solucionar un problema, todo lo quetiene que hacer es describirlo va axiomas y reglas dededuccion.
Ej. : PROLOG
Unidad 1
Estructura fsica de un computadorLa medida de informacion
Algortimos
Lenguajes de ProgramacionDefinicionesParadigmas de Programacion
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
41/75
AlgortimosProgramacion
Paradigmas de ProgramacionCaractersticas del lenguaje C
Lenguajes Orientados a Objetos
Se introducen los conceptos de objetos, clases y metodos Laidea de la POO es poseer un conjunto de objetos que secomunican y colaboran entre si para dar solucion a unproblema.
Ejemplo: Java, C++
Unidad 1
Estructura fsica de un computadorLa medida de informacion
Algortimos
Lenguajes de ProgramacionDefinicionesParadigmas de Programacion
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
42/75
AlgortimosProgramacion
Paradigmas de ProgramacionCaractersticas del lenguaje C
Caractersticas del lenguaje C
C es un lenguaje de programacion estructurado.
El lenguaje C fue disenado por Dennis Ritchie, de losLaboratorios Bell.
Brian Kernighan y Dennis Ritchie publicaron, en el ano 1978,el libro The C Programming Language que es la definicionimportante del lenguaje.
Otro estandar:The C Programming Language-ReferenceManual (Lab.Bell) escrito por Dennis M. Ritchie.
Unidad 1
Estructura fsica de un computadorLa medida de informacion
AlgortimosAl i
Lenguajes de ProgramacionDefinicionesParadigmas de Programacion
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
43/75
AlgortimosProgramacion
Paradigmas de ProgramacionCaractersticas del lenguaje C
Caractersticas del lenguaje C
Permite estructuras de control while, do-while, for.
Posee un conjunto reducido de palabras claves.
Permite manejar bits, bytes y direcciones.
A mediados de los ochenta se crea el C++, que corresponde auna extension del lenguaje C con un paradigma Orientado aObjetos. El C++ se convierte en estandar ISO en 1998. ParaC no se consideraran mas modificaciones, se haran para C++.
No comprueba errores en tiempo de ejecucion Por ejemploque no se asignen datos a posiciones de arreglos que no hansido creadas. El programados es el encargado de verificarestas comprobaciones.
Unidad 1
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
44/75
Parte II: Estructura de un programa en C.
Unidad 1
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
45/75
Contenidos Parte II
Generalidades
Estructura general de un programaBibliotecas o Cabeceras
Sentencias importantes para el compilador
Funciones
Proceso de compilacion
Unidad 1
GeneralidadesEstructura de un Programa en C
Bibliotecas o CabecerasSentencias importantes para compilar
Generalidades
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
46/75
FuncionesProceso de compilacion
Generalidades
Un programa en C consta de una o mas funcionesExiste una funcion que siempre debe estar: main(). Es laprimera funcion que es llamada cuando el programa esejecutado.
Unidad 1
GeneralidadesEstructura de un Programa en C
Bibliotecas o CabecerasSentencias importantes para compilar
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
47/75
FuncionesProceso de compilacion
Estructura de un Programa en C
/*Declaracion de Bibliotecas*/
#include
/*Declaracion de Funciones*/
int main(){/*Declaracion de Variables y Constantes*/
/*Sentencias separadas por ; */
return 0;
}
Unidad 1
GeneralidadesEstructura de un Programa en C
Bibliotecas o CabecerasSentencias importantes para compilar
F i
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
48/75
FuncionesProceso de compilacion
Estructura de un Programa en C
Estructura
Un programa en C es construdo mediante 3 elementos:
Declaraciones: de variables y constantes
Sentencias: las cuales se componen de conjuntos deinstrucciones en donde,
Un bloque de instrucciones se delimita mediante { }Cada sentencia se separa mediante ; con la siguiente
Comentarios: los cuales no son considerados al momento dela Compilacion y se escriben entre /* */
Unidad 1
GeneralidadesEstructura de un Programa en C
Bibliotecas o CabecerasSentencias importantes para compilar
F i s
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
49/75
FuncionesProceso de compilacion
Estructura de un Programa en C
Estructura
Un programa en C es construdo mediante 3 elementos:
Declaraciones: de variables y constantes
Sentencias: las cuales se componen de conjuntos deinstrucciones en donde,
Un bloque de instrucciones se delimita mediante { }Cada sentencia se separa mediante ; con la siguiente
Comentarios: los cuales no son considerados al momento dela Compilacion y se escriben entre /* */
Unidad 1
GeneralidadesEstructura de un Programa en C
Bibliotecas o CabecerasSentencias importantes para compilar
Funciones
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
50/75
FuncionesProceso de compilacion
Estructura de un Programa en C
Estructura
Un programa en C es construdo mediante 3 elementos:
Declaraciones: de variables y constantesSentencias: las cuales se componen de conjuntos deinstrucciones en donde,
Un bloque de instrucciones se delimita mediante { }Cada sentencia se separa mediante ; con la siguiente
Comentarios: los cuales no son considerados al momento dela Compilacion y se escriben entre /* */
Unidad 1
GeneralidadesEstructura de un Programa en C
Bibliotecas o CabecerasSentencias importantes para compilar
Funciones
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
51/75
FuncionesProceso de compilacion
Estructura de un Programa en C
Estructura
Un programa en C es construdo mediante 3 elementos:
Declaraciones: de variables y constantesSentencias: las cuales se componen de conjuntos deinstrucciones en donde,
Un bloque de instrucciones se delimita mediante { }Cada sentencia se separa mediante ; con la siguiente
Comentarios: los cuales no son considerados al momento dela Compilacion y se escriben entre /* */
Unidad 1
GeneralidadesEstructura de un Programa en C
Bibliotecas o CabecerasSentencias importantes para compilar
Funciones
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
52/75
FuncionesProceso de compilacion
Bibliotecas o Cabeceras
C posee un conjunto de bibliotecas que contiene una variedad
de funciones.Se colocan al principio del archivo se la siguiente forma.
#include
#include "cabecera.h"
Unidad 1
GeneralidadesEstructura de un Programa en C
Bibliotecas o CabecerasSentencias importantes para compilar
Funciones
Sentencias importantes para compilar
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
53/75
FuncionesProceso de compilacion
Sentencias importantes para compilar
Son aquellas que el computador interpreta antes de la compilaciondel programa.Comienzan por el signo #Ej.
#define PI 3.14
#include
# define PRUEBA 1
...
...
Unidad 1
GeneralidadesEstructura de un Programa en C
Bibliotecas o CabecerasSentencias importantes para compilar
Funciones
Funciones
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
54/75
Proceso de compilacion
Funciones
Encabezado = tipo Retorno nombreFuncion (p1, p2, p3)Parametros = p1, p2, p3;
{Cuerpo funcion
Declaraciones = tipo a1;Sentencias = sentencia;
...
sentencia;}
Unidad 1
GeneralidadesEstructura de un Programa en C
Bibliotecas o CabecerasSentencias importantes para compilar
Funciones
Funciones
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
55/75
Proceso de compilacion
Funciones - ejemplo
int suma(int x, int y)
{
int z;
z=0;
z=x+y;
return z;}
Unidad 1
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
56/75
GeneralidadesEstructura de un Programa en CBibliotecas o Cabeceras
Sentencias importantes para compilarFunciones
P d il i
Preprocesado
CompilacionEnsambladoEnlazadoProceso CompletoProceso Completo
-
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
57/75
Proceso de compilacionProceso CompletoCompilar y ejecutar un programa
Proceso de compilacion
#define PI 3.1416
main() {
float area, radio;
radio = 10;
area = PI * (radio * radio);
printf("Circulo.\n");printf("%s%f\n\n", "Area de circulo radio 10: ", area);
}
Unidad 1
GeneralidadesEstructura de un Programa en CBibliotecas o Cabeceras
Sentencias importantes para compilarFunciones
P d il i
Preprocesado
CompilacionEnsambladoEnlazadoProceso CompletoProceso Completo
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
58/75
Proceso de compilacionp
Compilar y ejecutar un programa
Preprocesado
Actua sobre el programa fuente
Permite realizar algunas operaciones antes de que el codigosea compilado
Operaciones como:Sustitucion de constantes simbolicasAquellas lneas que comienzan con ## include # include archivo.h
La primera busca en el o los directorios estandares de laslibrerias definidas en CEl segundo busca en el directorio en donde se esta trabajandoy en los directorios estandares de C# define constante
Unidad 1
GeneralidadesEstructura de un Programa en CBibliotecas o Cabeceras
Sentencias importantes para compilarFunciones
Proceso de compilacion
Preprocesado
CompilacionEnsambladoEnlazadoProceso CompletoProceso Completo
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
59/75
Proceso de compilacionp
Compilar y ejecutar un programa
Preprocesado
gcc -E circulo.c > circulo.pp
more circulo.pp
Unidad 1
GeneralidadesEstructura de un Programa en CBibliotecas o Cabeceras
Sentencias importantes para compilarFunciones
Proceso de compilacion
Preprocesado
CompilacionEnsambladoEnlazadoProceso CompletoProceso Completo
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
60/75
Proceso de compilacionCompilar y ejecutar un programa
Compilacion
Compilacion Condicional
Permite compilar solo algunas partes del codigo fuente
Se suele utilizar cuando se tiene varias versiones de unprograma
Por ej:Versiones para diferentes sistemas operativosVersion de un compilador gratuito que no tiene todas las
funcionalidades o version completa de un programaUso de #if, #else, #elif, #endifUso de #ifdef y #undef
Unidad 1
GeneralidadesEstructura de un Programa en CBibliotecas o Cabeceras
Sentencias importantes para compilarFunciones
Proceso de compilacion
Preprocesado
CompilacionEnsambladoEnlazadoProceso CompletoProceso Completo
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
61/75
Proceso de compilacionCompilar y ejecutar un programa
Compilacion
Compilacion Condicional Ejemplo 1.
#if SYSTEM == OSX
#define HDR "osx.h"
#elif SYSTEM == MSDOS
#define HDR "msod.h"
#elif SYSTEM == BSD
#define HDR "bsd.h"
#else#define "default.h"
#enif
#include HDR
Unidad 1
GeneralidadesEstructura de un Programa en CBibliotecas o Cabeceras
Sentencias importantes para compilarFunciones
Proceso de compilacion
Preprocesado
CompilacionEnsambladoEnlazadoProceso CompletoProceso CompletoC il j
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
62/75
Proceso de compilacionCompilar y ejecutar un programa
Compilacion
Compilacion Condicional Ejemplo 2. Segun una constante
#define max 10
int main()
{
//entrada de datos
#if max >10
. . .
#else. . .
#endif
return 0;
}
Unidad 1
GeneralidadesEstructura de un Programa en CBibliotecas o Cabeceras
Sentencias importantes para compilarFunciones
Proceso de compilacion
Preprocesado
CompilacionEnsambladoEnlazadoProceso CompletoProceso CompletoC il j t
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
63/75
pCompilar y ejecutar un programa
Compilacion
El compilador se encarga de analizar el codigo fuente.
Busca la existencia de errores.
Tiene como salida un archivo con la traduccion del codigofuente a un conjunto de instrucciones para el procesador.
Si existen varios archivos, lo que es conveniente si es que unarchivo es muy grande, se consideraran todos lo archivos.
La compilacion transforma el codigo C en el lenguajeensamblador propio del procesador de nuestra maquina.
Unidad 1
GeneralidadesEstructura de un Programa en CBibliotecas o Cabeceras
Sentencias importantes para compilarFunciones
Proceso de compilacion
Preprocesado
CompilacionEnsambladoEnlazadoProceso CompletoProceso CompletoCompilar y ejecutar un programa
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
64/75
pCompilar y ejecutar un programa
Compilacion
gcc -S circulo.c
more circulo.s
Unidad 1
GeneralidadesEstructura de un Programa en CBibliotecas o Cabeceras
Sentencias importantes para compilarFunciones
Proceso de compilacion
Preprocesado
CompilacionEnsambladoEnlazadoProceso CompletoProceso CompletoCompilar y ejecutar un programa
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
65/75
Compilar y ejecutar un programa
Ensamblado
El ensamblado transforma el programa escrito en lenguajeensamblador a codigo objeto, un archivo binario en lenguajede maquina ejecutable por el procesador.
Unidad 1
GeneralidadesEstructura de un Programa en CBibliotecas o Cabeceras
Sentencias importantes para compilarFunciones
Proceso de compilacion
Preprocesado
CompilacionEnsambladoEnlazadoProceso CompletoProceso CompletoCompilar y ejecutar un programa
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
66/75
Compilar y ejecutar un programa
Ensamblado
gcc -c circulo.c
more circulo.o
Unidad 1
GeneralidadesEstructura de un Programa en CBibliotecas o Cabeceras
Sentencias importantes para compilarFunciones
Proceso de compilacion
Preprocesado
CompilacionEnsambladoEnlazadoProceso CompletoProceso CompletoCompilar y ejecutar un programa
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
67/75
Compilar y ejecutar un programa
Enlazado
Reune todos los archivos objetos de la fase anterior
produciendo un solo archivo ejecutable.C provee un conjunto de libreras, que es un conjunto quemodulos objetos que han sido reunidos en un solo archivo.
Muchas de estas libreras estan declaradas en archivos
cabeceras.
Unidad 1
GeneralidadesEstructura de un Programa en C
Bibliotecas o CabecerasSentencias importantes para compilar
FuncionesProceso de compilacion
Preprocesado
CompilacionEnsambladoEnlazadoProceso CompletoProceso CompletoCompilar y ejecutar un programa
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
68/75
p y j p g
Enlazado
gcc -o circulo circulo.o
./circulo
Unidad 1
GeneralidadesEstructura de un Programa en C
Bibliotecas o CabecerasSentencias importantes para compilar
FuncionesProceso de compilacion
Preprocesado
CompilacionEnsambladoEnlazadoProceso CompletoProceso CompletoCompilar y ejecutar un programa
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
69/75
j
Proceso Completo
Cabecera Cabecera
Cabecera
Modulo Fuente Compilacin
Enlazado
Modulo Ejecutable
Modulo
Objeto
Librera
Modulo Fuente
Modulo Fuente
Unidad 1
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
70/75
GeneralidadesEstructura de un Programa en C
Bibliotecas o CabecerasSentencias importantes para compilar
FuncionesProceso de compilacion
Preprocesado
CompilacionEnsambladoEnlazadoProceso CompletoProceso CompletoCompilar y ejecutar un programa
-
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
71/75
Compilar y ejecutar un programa
En un editor escribir un programa en C con nombreprimerprograma.c
Guardar y salir del editorCompilar mediante:
gcc primerprograma.c -o primerprograma
Ejecutar:
./primerprograma
Unidad 1
GeneralidadesEstructura de un Programa en C
Bibliotecas o CabecerasSentencias importantes para compilar
FuncionesProceso de compilacion
Preprocesado
CompilacionEnsambladoEnlazadoProceso CompletoProceso CompletoCompilar y ejecutar un programa
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
72/75
Compilacion: Ejemplo
#include
int main(){int a = 2 ;
char b = x;
printf(El valor de a es %d y el de b es %c, a,
b);
return 0;
}
$ gcc ejemplo2.c -o ejemplo2$ ./ejemplo2
El valor de a es 2 y el de b es x
Unidad 1
GeneralidadesEstructura de un Programa en C
Bibliotecas o CabecerasSentencias importantes para compilar
FuncionesProceso de compilacion
Preprocesado
CompilacionEnsambladoEnlazadoProceso CompletoProceso CompletoCompilar y ejecutar un programa
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
73/75
Resumen
Resumen.Para producir un ejecutable con fuente de un solo archivo:
$ gcc -o circulo circulo.c
Para crear un modulo objeto, con el mismo nombre del fuente yextension .o:
$ gcc -c circulo.c
Para enlazar un modulos objeto:
$ gcc -o circulo circulo.oPara enlazar los modulos objeto triangulo.o, cuadrado.o, circulo.o,ya compilados separadamente, en el archivo ejecutable area:
$ gcc -o area triangulo.o cuadrado.o circulo.o
Unidad 1
GeneralidadesEstructura de un Programa en C
Bibliotecas o CabecerasSentencias importantes para compilar
FuncionesProceso de compilacion
Preprocesado
CompilacionEnsambladoEnlazadoProceso CompletoProceso CompletoCompilar y ejecutar un programa
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
74/75
Compilacion: Errores y Warnings
Error:
El compilador aborta el proceso de compilacion.
Ejemplo: variables asignadas pero sin declarar el tipo de dato.
Warning (-Wall):
No son errores.
El compilador sugiere corregir el problema para evitar errores.Ej. variables sin uso.
Unidad 1
Preguntas
http://find/ -
8/3/2019 Programacion en C unidad 01 capitulos 1 y 2
75/75
Preguntas
Unidad 1
http://find/