SlideShare una empresa de Scribd logo
1 de 9
Descargar para leer sin conexión
Estructura de un programa en C
La mejor forma de aprender un lenguaje es programando con él. El programa más
sencillo que se puede escribir en C es el siguiente:
main()
{
}
Como podemos imaginar, este programa no hace nada, pero contiene la parte más
importante de cualquier programa C y además, es el más pequeño que se puede
escribir y que se compila correctamente. En él se define la función main, que es la
que ejecuta el sistema operativo al llamar a un programa C. El nombre de una
función C siempre va seguida de paréntesis, tanto si tiene argumentos como si no.
La definición de la función está formada por un bloque de sentencias, que está
encerrado entre llaves .
Un programa algo más complicado, pero que hace algo, es el siguiente:
#include <stdio.h>
main()
{
/* Este es mi primer programa en C*/
printf("Bienvenido a la programación en lenguaje Cn");
return 0;
}
Con él visualizamos el mensaje Bienvenido a la programación en lenguaje C en
el terminal.
La primera línea indica que se tengan en cuenta las funciones y tipos definidos en
la biblioteca stdio (standard input/output). Estas definiciones se encuentran en el
fichero de encabezado (header) stdio.h.
En la función main se incluye una primera sentencia que llama a la función printf.
Ésta toma como argumento (encerrado entre paréntesis) una cadena de caracteres
limitados por dobles comillas " " y la imprime en la salida habitual, que
generalmente es el terminal en el que trabajamos. El símbolo n indica un cambio
de línea.
La segunda sentencia, return 0, termina el programa y devuelve un valor (cero) al
sistema operativo (por lo general es cero si la ejecución fue correcta y se usan
valores distintos de cero para indicar diversos errores que pudieron ocurrir). Si bien
no es obligatorio terminar el programa con un return, es conveniente indicarle a
quien lo haya invocado, sea el Sistema Operativo o algún otro programa, si la
finalización ha tenido éxito o no. De cualquier manera, en este caso, si sacamos
esa sentencia el programa, éste funcionará exactamente igual, pero al ser
compilado, el compilador nos advertirá de la falta de retorno.
La inclusión de comentarios en un programa es una saludable práctica, como lo
reconocerá cualquiera que haya tratado de leer un listado hecho por otro
programador o por sí mismo, varios meses atrás. Para el compilador, los
comentarios son inexistentes, por lo que no generan líneas de código, permitiendo
abundar en ellos tanto como se desee. En el lenguaje C se toma como comentario
todo carácter entre los símbolos: /* */.
Cada sentencia de programa queda finalizada por el terminador ";", que indica al
compilador el fin de la misma. Esto es necesario ya que sentencias complejas
pueden llegar a tener más de un renglón, y habrá que avisar al compilador donde
terminan. Es perfectamente lícito escribir cualquier sentencia abarcando los
renglones que la misma necesite; por ejemplo podría ser:
printf("Bienvenido a la programación
en lenguaje Cn");
Un programa en C es simplemente un fichero de caracteres que contiene un
conjunto de instrucciones que un programa especial, el compilador o traductor,
se encarga de transformar en un código que la computadora puede ejecutar (código
objeto). En general, un programa suele estar compuesto de tres partes:
 el encabezamiento, que especifica las declaraciones globales de los datos
y sus tipos, que vamos a manejar a lo largo del programa;
 la función principal, que se suele llamar main, y define la estructura del
programa.
 las funciones o subrutinas auxiliares, que realizan las operaciones
necesarias; son llamadas por la rutina principal, la función main. Se suelen
colocar después de esta función.
Encabezamiento
main( )
{
variables locales
sentencias
}
f1( )
{
variables locales
sentencias
}
...
...
...
fn( )
{
variables locales
sentencias
}
Cuando la envergadura del programa es grande se suele fragmentar el programa en
varias partes, incluyendo cada parte en un fichero separado. El lenguaje C define
el método que debemos seguir para separar las diferentes partes del programa.
Normalmente colocaremos en cada fichero todas las subrutinas y funciones que se
encarguen de una tarea del programa. Por tanto, un programa C puede estar
formado por diferentes módulos o fuentes. Es conveniente mantener los fuentes
de un tamaño no muy grande, para que la compilación sea rápida. También, al
dividirse un programa en partes, se puede facilitar la legibilidad del programa y su
estructuración. Los diferentes fuentes son compilados de forma separada -
únicamente los fuentes que han sido modificados desde la última compilación-, y
después enlazadoso combinados entre ellos y con las bibliotecas necesarias para
formar el programa en su versión ejecutable, mediante un programa
denominado enlazador (linker).
Los comandos necesarios para compilar, enlazar los diferentes módulos y ejecutar
un programa dependen del sistema operativo, y debemos dirigirnos a los manuales
correspondientes para conocer la sintaxis exacta. Como forma más común
podemos dar la siguiente:
compilar: cc prog
cc modulo1, modulo2
enlazar: link prog, modulo1, modulo2
ejecutar: prog
Los tipos de variables
Existen varios tipos de variables, y cada uno corresponde a un tamaño máximo de un número,
un carácter o incluso una verdad. Cuanto mayor sea el número que pueda admitir, más espacio
en memoria ocupará.
1.1 bool
Por lo general utiliza 1 byte de memoria, valores: true o false.
1.2 char
Utiliza generalmente 1 byte de memoria, permite almacenar un carácter,
valores; 256 caracteres.
1.3 unsigned short int
Utiliza generalmente 2 bytes de memoria, valores: de 0 a 65 535
1.4 short int
Utiliza generalmente 2 bytes de memoria, valores: de -32768 a 32767.
1.5 unsigned long int
Utiliza generalmente 4 bytes de memoria, valores: de 0 a 4 294 967 295.
1.6 long int
Utiliza generalmente 4 bytes de memoria, valores: de -2 147 483 648 a 2 147 483 647.
1.7 int (16 bits)
Utiliza generalmente 2 bytes de memoria, valores: de -32 768 a 32 767.
1.8 int (32 bits)
Utiliza generalmente 4 bytes de memoria, valores: de -2 147 483 648 a 2 147 483 647.
1.9 unsigned int (16 bits)
Utiliza generalmente 2 bytes de memoria, valores: de 0 a 65 535.
1.10 unsigned int (32 bits)
Utiliza generalmente 2 bytes de memoria, valores: de 0 a 4 294 967 295.
1.11 double
Utiliza generalmente 8 bytes de memoria, valores: de 2.2e-308 a 3.4e-38.
1.12 float
Utiliza generalmente 4 bytes de memoria, valores: de 1.2e-308 a 3.4e-38.
Atención!
El tamaño de las variables en memoria puede variara de un PC a otro.
2. Declaración y asignación de variables
2.1 Declaración
Para declarar una variable, basta con indicar su tipo y su nombre. Existen ciertas convenciones
en cuanto al nombre de las variables. Algunos prefieren separar las partes de un nombre con
'_', otros prefieren escribir una mayúscula para separarlas. Ejemplo:
int recetaDelMes;
O
int receta_del_mes;
Lo importante es que utilices siempre la misma convención para tus programas.
2.2 Asignar un valor
Es posible asignar un valor a una variable al momento de declararla:
int recetaDelMes = 12301;
También es posible declarar varias variables en una misma línea, pero en este caso, todas las
variables de la línea tendrán el mismo tipo.
int recetaDelMes = 12301, recetaDelAño = 45644545;
3. Error al definir un tipo de variable (Enteros con
signo)
¿Qué pasa si el tipo que hemos elegido es muy pequeño? Si el número es mayor al máximo
admitido por el tipo, entonces el valor de la variable será el valor mínimo admitido por este tipo.
unsigned short int numero = 65535;
cout << numero << endl;
numero++;
cout << numero << endl;
Si ejecutamos este código, la segunda línea no escribirá 65536, sino 0.
Esto es idéntico para todos los tipos.
4. Error al definir un tipo de variable (Enteros sin
signo)
Para enteros sin signo, sucede lo mismo, una vez que el tipo alcanza su tamaño máximo, pasa
a su valor mínimo.
short int numero = 32767;
cout << numero << endl;
numero++;
cout << numero << endl;

Más contenido relacionado

La actualidad más candente

Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
Mariannis Ortega
 
Lenguajes diapositivas
Lenguajes diapositivasLenguajes diapositivas
Lenguajes diapositivas
starduslex
 
Introducción gambas
Introducción gambasIntroducción gambas
Introducción gambas
gregoryj733
 
Lenguajesdeprogramacion c nivel1-unidad2
Lenguajesdeprogramacion c nivel1-unidad2Lenguajesdeprogramacion c nivel1-unidad2
Lenguajesdeprogramacion c nivel1-unidad2
camnav
 
Pseudocódigo
PseudocódigoPseudocódigo
Pseudocódigo
coldclean
 
Lenguaje de programacion c++ basico 2da parte instalación del compilador
Lenguaje de programacion c++ basico 2da parte instalación del compiladorLenguaje de programacion c++ basico 2da parte instalación del compilador
Lenguaje de programacion c++ basico 2da parte instalación del compilador
Dunkherz
 

La actualidad más candente (20)

LENGUAJE DE PROGRAMACION C++ INTRODUCCION
LENGUAJE DE PROGRAMACION C++ INTRODUCCIONLENGUAJE DE PROGRAMACION C++ INTRODUCCION
LENGUAJE DE PROGRAMACION C++ INTRODUCCION
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 
Clase1 algoritmos
Clase1 algoritmosClase1 algoritmos
Clase1 algoritmos
 
PSEINT INTRODUCCION
PSEINT INTRODUCCIONPSEINT INTRODUCCION
PSEINT INTRODUCCION
 
Fundamentos de Lenguaje C
Fundamentos de Lenguaje CFundamentos de Lenguaje C
Fundamentos de Lenguaje C
 
PESEINT MANUAL
PESEINT MANUALPESEINT MANUAL
PESEINT MANUAL
 
Lenguaje c 1
Lenguaje c   1Lenguaje c   1
Lenguaje c 1
 
Programa en c
Programa en cPrograma en c
Programa en c
 
Lenguajes diapositivas
Lenguajes diapositivasLenguajes diapositivas
Lenguajes diapositivas
 
PseInt
PseIntPseInt
PseInt
 
Introducción gambas
Introducción gambasIntroducción gambas
Introducción gambas
 
Pseudocodigo
PseudocodigoPseudocodigo
Pseudocodigo
 
Turbo pascal
Turbo pascalTurbo pascal
Turbo pascal
 
Lenguajesdeprogramacion c nivel1-unidad2
Lenguajesdeprogramacion c nivel1-unidad2Lenguajesdeprogramacion c nivel1-unidad2
Lenguajesdeprogramacion c nivel1-unidad2
 
Programmacion estructurada
Programmacion estructuradaProgrammacion estructurada
Programmacion estructurada
 
Los pseudocodigos
Los pseudocodigosLos pseudocodigos
Los pseudocodigos
 
Pseudocódigo
PseudocódigoPseudocódigo
Pseudocódigo
 
Lenguaje de programacion c++ basico 2da parte instalación del compilador
Lenguaje de programacion c++ basico 2da parte instalación del compiladorLenguaje de programacion c++ basico 2da parte instalación del compilador
Lenguaje de programacion c++ basico 2da parte instalación del compilador
 
Estructuras de un programa
Estructuras de un programaEstructuras de un programa
Estructuras de un programa
 

Destacado (12)

1.4 memoria estatica
1.4 memoria estatica1.4 memoria estatica
1.4 memoria estatica
 
Menejo de memoria estatica chek..
Menejo de memoria estatica chek..Menejo de memoria estatica chek..
Menejo de memoria estatica chek..
 
Data segment
Data segmentData segment
Data segment
 
Asignación de memoria continua
Asignación de memoria continuaAsignación de memoria continua
Asignación de memoria continua
 
Segmentación Memoria Virtual
Segmentación Memoria VirtualSegmentación Memoria Virtual
Segmentación Memoria Virtual
 
Unidad 3 estructuras lineales estaticas y dinamicas
Unidad 3 estructuras lineales estaticas y dinamicasUnidad 3 estructuras lineales estaticas y dinamicas
Unidad 3 estructuras lineales estaticas y dinamicas
 
Paginación y Segmentación
Paginación y SegmentaciónPaginación y Segmentación
Paginación y Segmentación
 
Asignación de memoria
Asignación de memoriaAsignación de memoria
Asignación de memoria
 
Tecnicas de Administracion de Memoria
Tecnicas de Administracion de MemoriaTecnicas de Administracion de Memoria
Tecnicas de Administracion de Memoria
 
Paginación, Segmentación y Fragmentación
Paginación, Segmentación y FragmentaciónPaginación, Segmentación y Fragmentación
Paginación, Segmentación y Fragmentación
 
PAGINACION Y SEGMENTACION DE MEMORIA
PAGINACION Y SEGMENTACION DE MEMORIAPAGINACION Y SEGMENTACION DE MEMORIA
PAGINACION Y SEGMENTACION DE MEMORIA
 
Administración de Memoria
Administración de MemoriaAdministración de Memoria
Administración de Memoria
 

Similar a Estructura de un programa en c

Curso de iniciaci_n_al_lenguaje_c_www.emugamesworld.com_
Curso de iniciaci_n_al_lenguaje_c_www.emugamesworld.com_Curso de iniciaci_n_al_lenguaje_c_www.emugamesworld.com_
Curso de iniciaci_n_al_lenguaje_c_www.emugamesworld.com_
ireneromaweb
 
Curso De IniciacióN Al Lenguaje C
Curso De IniciacióN Al Lenguaje CCurso De IniciacióN Al Lenguaje C
Curso De IniciacióN Al Lenguaje C
guestbc0748
 
Estructura general de un programa en lenguaje x
Estructura general de un  programa en lenguaje xEstructura general de un  programa en lenguaje x
Estructura general de un programa en lenguaje x
Susana Garcia
 

Similar a Estructura de un programa en c (20)

Lenguaje C
Lenguaje CLenguaje C
Lenguaje C
 
TEMA-2 Estructura de un programa en C.pptx
TEMA-2 Estructura de un programa en C.pptxTEMA-2 Estructura de un programa en C.pptx
TEMA-2 Estructura de un programa en C.pptx
 
Estructura lenguaje c
Estructura lenguaje cEstructura lenguaje c
Estructura lenguaje c
 
Estructura general de un programa
Estructura general de un programaEstructura general de un programa
Estructura general de un programa
 
P01 secuencial
P01 secuencialP01 secuencial
P01 secuencial
 
Lolo
LoloLolo
Lolo
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Tutorial de visual c++
Tutorial de visual c++Tutorial de visual c++
Tutorial de visual c++
 
Tutorial de visual C++
Tutorial de visual C++Tutorial de visual C++
Tutorial de visual C++
 
Tutorial de visual_c_
Tutorial de visual_c_Tutorial de visual_c_
Tutorial de visual_c_
 
Tutorial de visual c++
Tutorial de visual c++Tutorial de visual c++
Tutorial de visual c++
 
Lolo
LoloLolo
Lolo
 
Visual c++
Visual c++Visual c++
Visual c++
 
Curso de iniciaci_n_al_lenguaje_c_www.emugamesworld.com_
Curso de iniciaci_n_al_lenguaje_c_www.emugamesworld.com_Curso de iniciaci_n_al_lenguaje_c_www.emugamesworld.com_
Curso de iniciaci_n_al_lenguaje_c_www.emugamesworld.com_
 
Curso De IniciacióN Al Lenguaje C
Curso De IniciacióN Al Lenguaje CCurso De IniciacióN Al Lenguaje C
Curso De IniciacióN Al Lenguaje C
 
Estructura de un Programa en C++
Estructura de un Programa en C++Estructura de un Programa en C++
Estructura de un Programa en C++
 
Estructura de-un-programa-en-lenguaje-c.
Estructura de-un-programa-en-lenguaje-c.Estructura de-un-programa-en-lenguaje-c.
Estructura de-un-programa-en-lenguaje-c.
 
Apuntes de c
Apuntes de cApuntes de c
Apuntes de c
 
Estructura general de un programa en lenguaje x
Estructura general de un  programa en lenguaje xEstructura general de un  programa en lenguaje x
Estructura general de un programa en lenguaje x
 
Int. programacion
Int. programacionInt. programacion
Int. programacion
 

Más de Armando Jori (13)

Cuestionario internet
Cuestionario internetCuestionario internet
Cuestionario internet
 
Cargadores inalambricos
Cargadores inalambricosCargadores inalambricos
Cargadores inalambricos
 
Programas
ProgramasProgramas
Programas
 
Diagramas
DiagramasDiagramas
Diagramas
 
Apagon analogico en méxico
Apagon analogico en méxicoApagon analogico en méxico
Apagon analogico en méxico
 
Apagon analogico en méxico
Apagon analogico en méxicoApagon analogico en méxico
Apagon analogico en méxico
 
Problemas
ProblemasProblemas
Problemas
 
Simbolofía
SimbolofíaSimbolofía
Simbolofía
 
Windows 10
Windows 10Windows 10
Windows 10
 
Windows 10
Windows 10Windows 10
Windows 10
 
Windows 10
Windows 10Windows 10
Windows 10
 
Windows 10
Windows 10Windows 10
Windows 10
 
Simbologia
SimbologiaSimbologia
Simbologia
 

Último

6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
MiNeyi1
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
JonathanCovena1
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
UPTAIDELTACHIRA
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
JonathanCovena1
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Francisco158360
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
lupitavic
 

Último (20)

6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
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
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 

Estructura de un programa en c

  • 1.
  • 2. Estructura de un programa en C La mejor forma de aprender un lenguaje es programando con él. El programa más sencillo que se puede escribir en C es el siguiente: main() { } Como podemos imaginar, este programa no hace nada, pero contiene la parte más importante de cualquier programa C y además, es el más pequeño que se puede escribir y que se compila correctamente. En él se define la función main, que es la que ejecuta el sistema operativo al llamar a un programa C. El nombre de una función C siempre va seguida de paréntesis, tanto si tiene argumentos como si no. La definición de la función está formada por un bloque de sentencias, que está encerrado entre llaves . Un programa algo más complicado, pero que hace algo, es el siguiente: #include <stdio.h> main() { /* Este es mi primer programa en C*/ printf("Bienvenido a la programación en lenguaje Cn"); return 0; } Con él visualizamos el mensaje Bienvenido a la programación en lenguaje C en el terminal. La primera línea indica que se tengan en cuenta las funciones y tipos definidos en la biblioteca stdio (standard input/output). Estas definiciones se encuentran en el fichero de encabezado (header) stdio.h. En la función main se incluye una primera sentencia que llama a la función printf. Ésta toma como argumento (encerrado entre paréntesis) una cadena de caracteres limitados por dobles comillas " " y la imprime en la salida habitual, que generalmente es el terminal en el que trabajamos. El símbolo n indica un cambio de línea.
  • 3. La segunda sentencia, return 0, termina el programa y devuelve un valor (cero) al sistema operativo (por lo general es cero si la ejecución fue correcta y se usan valores distintos de cero para indicar diversos errores que pudieron ocurrir). Si bien no es obligatorio terminar el programa con un return, es conveniente indicarle a quien lo haya invocado, sea el Sistema Operativo o algún otro programa, si la finalización ha tenido éxito o no. De cualquier manera, en este caso, si sacamos esa sentencia el programa, éste funcionará exactamente igual, pero al ser compilado, el compilador nos advertirá de la falta de retorno. La inclusión de comentarios en un programa es una saludable práctica, como lo reconocerá cualquiera que haya tratado de leer un listado hecho por otro programador o por sí mismo, varios meses atrás. Para el compilador, los comentarios son inexistentes, por lo que no generan líneas de código, permitiendo abundar en ellos tanto como se desee. En el lenguaje C se toma como comentario todo carácter entre los símbolos: /* */. Cada sentencia de programa queda finalizada por el terminador ";", que indica al compilador el fin de la misma. Esto es necesario ya que sentencias complejas pueden llegar a tener más de un renglón, y habrá que avisar al compilador donde terminan. Es perfectamente lícito escribir cualquier sentencia abarcando los renglones que la misma necesite; por ejemplo podría ser: printf("Bienvenido a la programación en lenguaje Cn"); Un programa en C es simplemente un fichero de caracteres que contiene un conjunto de instrucciones que un programa especial, el compilador o traductor, se encarga de transformar en un código que la computadora puede ejecutar (código objeto). En general, un programa suele estar compuesto de tres partes:  el encabezamiento, que especifica las declaraciones globales de los datos y sus tipos, que vamos a manejar a lo largo del programa;  la función principal, que se suele llamar main, y define la estructura del programa.  las funciones o subrutinas auxiliares, que realizan las operaciones necesarias; son llamadas por la rutina principal, la función main. Se suelen colocar después de esta función. Encabezamiento main( ) { variables locales sentencias
  • 4. } f1( ) { variables locales sentencias } ... ... ... fn( ) { variables locales sentencias } Cuando la envergadura del programa es grande se suele fragmentar el programa en varias partes, incluyendo cada parte en un fichero separado. El lenguaje C define el método que debemos seguir para separar las diferentes partes del programa. Normalmente colocaremos en cada fichero todas las subrutinas y funciones que se encarguen de una tarea del programa. Por tanto, un programa C puede estar formado por diferentes módulos o fuentes. Es conveniente mantener los fuentes de un tamaño no muy grande, para que la compilación sea rápida. También, al dividirse un programa en partes, se puede facilitar la legibilidad del programa y su estructuración. Los diferentes fuentes son compilados de forma separada - únicamente los fuentes que han sido modificados desde la última compilación-, y después enlazadoso combinados entre ellos y con las bibliotecas necesarias para formar el programa en su versión ejecutable, mediante un programa denominado enlazador (linker). Los comandos necesarios para compilar, enlazar los diferentes módulos y ejecutar un programa dependen del sistema operativo, y debemos dirigirnos a los manuales correspondientes para conocer la sintaxis exacta. Como forma más común podemos dar la siguiente: compilar: cc prog cc modulo1, modulo2 enlazar: link prog, modulo1, modulo2 ejecutar: prog
  • 5.
  • 6. Los tipos de variables Existen varios tipos de variables, y cada uno corresponde a un tamaño máximo de un número, un carácter o incluso una verdad. Cuanto mayor sea el número que pueda admitir, más espacio en memoria ocupará. 1.1 bool Por lo general utiliza 1 byte de memoria, valores: true o false. 1.2 char Utiliza generalmente 1 byte de memoria, permite almacenar un carácter, valores; 256 caracteres. 1.3 unsigned short int Utiliza generalmente 2 bytes de memoria, valores: de 0 a 65 535 1.4 short int Utiliza generalmente 2 bytes de memoria, valores: de -32768 a 32767. 1.5 unsigned long int Utiliza generalmente 4 bytes de memoria, valores: de 0 a 4 294 967 295. 1.6 long int Utiliza generalmente 4 bytes de memoria, valores: de -2 147 483 648 a 2 147 483 647. 1.7 int (16 bits) Utiliza generalmente 2 bytes de memoria, valores: de -32 768 a 32 767.
  • 7. 1.8 int (32 bits) Utiliza generalmente 4 bytes de memoria, valores: de -2 147 483 648 a 2 147 483 647. 1.9 unsigned int (16 bits) Utiliza generalmente 2 bytes de memoria, valores: de 0 a 65 535. 1.10 unsigned int (32 bits) Utiliza generalmente 2 bytes de memoria, valores: de 0 a 4 294 967 295. 1.11 double Utiliza generalmente 8 bytes de memoria, valores: de 2.2e-308 a 3.4e-38. 1.12 float Utiliza generalmente 4 bytes de memoria, valores: de 1.2e-308 a 3.4e-38. Atención! El tamaño de las variables en memoria puede variara de un PC a otro. 2. Declaración y asignación de variables 2.1 Declaración Para declarar una variable, basta con indicar su tipo y su nombre. Existen ciertas convenciones en cuanto al nombre de las variables. Algunos prefieren separar las partes de un nombre con '_', otros prefieren escribir una mayúscula para separarlas. Ejemplo: int recetaDelMes; O
  • 8. int receta_del_mes; Lo importante es que utilices siempre la misma convención para tus programas. 2.2 Asignar un valor Es posible asignar un valor a una variable al momento de declararla: int recetaDelMes = 12301; También es posible declarar varias variables en una misma línea, pero en este caso, todas las variables de la línea tendrán el mismo tipo. int recetaDelMes = 12301, recetaDelAño = 45644545; 3. Error al definir un tipo de variable (Enteros con signo) ¿Qué pasa si el tipo que hemos elegido es muy pequeño? Si el número es mayor al máximo admitido por el tipo, entonces el valor de la variable será el valor mínimo admitido por este tipo. unsigned short int numero = 65535; cout << numero << endl; numero++;
  • 9. cout << numero << endl; Si ejecutamos este código, la segunda línea no escribirá 65536, sino 0. Esto es idéntico para todos los tipos. 4. Error al definir un tipo de variable (Enteros sin signo) Para enteros sin signo, sucede lo mismo, una vez que el tipo alcanza su tamaño máximo, pasa a su valor mínimo. short int numero = 32767; cout << numero << endl; numero++; cout << numero << endl;