SlideShare una empresa de Scribd logo
CORTEZ SOLANO LAURA BIBIANA
GARCÍA VILLANUEVA RAMIRO DE JESÚS
CARRANZA BECERRA MARTÍN DE JESÚS
En general, los programas escritos en C++ tienen una
estructura (básica) compuesta por tres secciones:
Directivas de preprocesador
declaraciones globales
declaración de funciones
funciones, y cada biblioteca de funciones tiene asociada un
archivo de definición que se denomina cabecera. Para utilizar
algo de una biblioteca en un programa (por ejemplo, una
función), hay que colocar al principio del programa una directiva
de preprocesamiento seguida de la cabecera de la biblioteca
entre signos de "menor que" y "mayor que" (<>).
la directiva invocada es include y la cabecera iostream, e
indican al preprocesador que debe incluir la librería iostream a
nuestro programa. Cabe señalar que todas las directivas
comienzan con el símbolo numeral #.
 Macros de preprocesador (#define y #undef)
 Inclusiones condicionales (#ifdef, #ifndef, #if, #endif, #else and #elif)
 Control (#line)
 Error (#error)
 Inclusión de fichero (#include)
 Pragma (#pragma)
 Operaciones de entrada(cin)y salida(cout)
Para definir macros de preprocesador, usamos la directiva
#define. La sintaxis es:
Cuando el procesador encuentra esta directiva, este reemplaza todas las
ocurrencias del identificador y son sustituidas por reemplazo. Cuando se
requiere desactivar una macro, a partir de cierta parte del código, se
utiliza la directiva #undef. La sintaxis es:
 Estas directivas permiten incluir o descartar partes de código, si se cumplen algunas condiciones.
 #ifdef: Permite que una seccion del programa sea compilada solo si la macro especificada como parametro
ha sido definida, sin importar el valor de esta. Por ejemplo:
El ejemplo anterior indica que, si la macro TABLE_SIZE se encuentra definida, entonces
procede a la creación de una matriz de enteros de tamaño TABLE_SIZE.
Cabe señalar que el fin para esta directiva es la directiva #endif
#IFNDF: Permite realizar exactamente todo lo contrario a #ifdef. La lineas
de código que se encuentren entre #ifndef y #endif, serán ejecutadas
siempre y cuando la macro señalada como parámetro de #ifndef no se
encuentre definida aun. Por ejemplo:
En el ejemplo anterior, se indica que si la macro TABLE_SIZE no está
definida aún, entonces se define. Cabe señalar que el fin para la
directiva #ifndef es, al igual que #ifdef, #endif
 #IF, #ELSE y #ELIF (o ELSE IF ): Estas directivas tienen el mismo
significado que los comandos condicionales de cualquier
lenguaje de programación. Por ejemplo:
uso de todas las directivas condicionales del preprocesador.
 Cuando compilamos un programa y un error ocurre durante el proceso de compilación, el compilador
muestra un mensaje de error con las referencias al nombre del archivo donde ocurrió el error y un
número de línea, por lo que es más fácil encontrar el código que genera el error. La directiva #line nos
permite controlar ambas cosas, los números de línea en los archivos de código, así como el nombre del
archivo que queremos que aparece cuando un error ocurre. Su formato es:
Donde número es el nuevo número de línea que se asignará a la siguiente línea de código. Los números
de línea de las líneas sucesivas se incrementarán uno por uno desde este punto en
adelante."nombre_de_archivo" es un parámetro opcional que permite redefinir el nombre del archivo que
se mostrará. Por ejemplo:
Este código generará un error que
se mostrará como un error en el
archivo de "asignación de
variable", línea 20.
 Esta directiva cancela la compilación cuando es encontrada, generando un error de
compilación que puede ser especificado según un parámetro de un ejercicio. Por ejemplo:
En el ejemplo anterior, la compilación es cancelada si la macro __cplusplus no está definida
(Esta macro es definida por defecto en todos los los compiladores de C++).
Cuando el preprocesador encuentra la directiva #include, este
reemplaza todas las ocurrencias de ella por el archivo o cabecera
especificada. Existen dos formas de utilizar #include:
#include <cabecera>: Es usado para incluir las cabeceras
proporcionadas por defecto, por ejemplo, la librería estándar
(string, iostream, etc.).
#include "archivo" : Es usado para incluir archivos.
La directiva #pragma es utilizada para especificar las
distintas opciones del compilador. Estas opciones son
especificadas dependiendo del compilador que se utilice. Si
el compilador no permite un argumento para #pragma, esto
es ignorado y no genera un error de sintaxis.
 En esta sección se declaran todas variables y cabeceras de funciones que serán vistas de
manera global, es decir, que su alcance es total en el programa. Por ejemplo:
En el ejemplo anterior, se definen (ademas de las directivas de preprocesador, vistas en la
sección anterior) una variable y una función. La variable autor podrá ser utilizada por
todas las funciones del programa. Mientras que la función "adicion" solo fue declarada de
la forma "inline". Una función se dice declarada "inline" cuando solo se señala su nombre y
sus tipos de entrada y salida. Su definición completa se reserva para mas adelante.
 La ultima sección del programa es la declaración de funciones. La primera función que se
debe declarar es la función principal o "main". La función main es la mas importante, pues
es la que es invocada cuando el programa se ejecuta. Toda instrucción que no sea
declarada dentro de esta, simplemente no sera considerada. A continuación de la función
"main", se permite la definición completa de las funciones declaradas en la sección de
declaraciones globales. En el siguiente ejemplo, mostraremos la estructura definitiva de
un programa y la declaración completa de sus funciones:

Más contenido relacionado

La actualidad más candente

Depuración de un programa en c++
Depuración de un programa en c++Depuración de un programa en c++
Depuración de un programa en c++
UVM
 
Estructura programa c++
Estructura programa c++Estructura programa c++
Estructura programa c++
UVM
 
Estructura general de un programa
Estructura general de un programaEstructura general de un programa
Estructura general de un programa
Angeel Aceveedo
 
Estructura de un rograma
Estructura de un rogramaEstructura de un rograma
Estructura de un rogramaivanjvic
 
Estructura lenguaje c
Estructura lenguaje cEstructura lenguaje c
Estructura lenguaje c
Alan1593romero
 
Tutorial de visual c++
Tutorial de visual c++Tutorial de visual c++
Tutorial de visual c++
oscar020615
 
Intrucciones basicas para C++
Intrucciones basicas para C++Intrucciones basicas para C++
Intrucciones basicas para C++
ManuelHernandez480
 
MVC en CakePHP 2.0
MVC en CakePHP 2.0MVC en CakePHP 2.0
MVC en CakePHP 2.0
Saúl Vázquez
 
Jose manuel avila gonzález
Jose manuel avila gonzálezJose manuel avila gonzález
Jose manuel avila gonzález
Jose Avila
 
Jose manuel avila gonzález
Jose manuel avila gonzálezJose manuel avila gonzález
Jose manuel avila gonzález
Jose Avila
 
Evidencia: Sesión Virtual Funciones PHP
Evidencia: Sesión Virtual Funciones PHPEvidencia: Sesión Virtual Funciones PHP
Evidencia: Sesión Virtual Funciones PHP
Sebastián Joya
 
Evidencia sesión virtual “funciones php”
Evidencia sesión virtual “funciones php”Evidencia sesión virtual “funciones php”
Evidencia sesión virtual “funciones php”
JOANSAGO
 
Funciones definidas por el usuario
Funciones definidas por el usuarioFunciones definidas por el usuario
Funciones definidas por el usuario
UVM
 
Biblioteca estándar de funciones
Biblioteca estándar de funcionesBiblioteca estándar de funciones
Biblioteca estándar de funciones
UVM
 

La actualidad más candente (16)

Depuración de un programa en c++
Depuración de un programa en c++Depuración de un programa en c++
Depuración de un programa en c++
 
Estructura programa c++
Estructura programa c++Estructura programa c++
Estructura programa c++
 
Estructura general de un programa
Estructura general de un programaEstructura general de un programa
Estructura general de un programa
 
Estructura de un rograma
Estructura de un rogramaEstructura de un rograma
Estructura de un rograma
 
Estructura lenguaje c
Estructura lenguaje cEstructura lenguaje c
Estructura lenguaje c
 
Tutorial de visual c++
Tutorial de visual c++Tutorial de visual c++
Tutorial de visual c++
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Intrucciones basicas para C++
Intrucciones basicas para C++Intrucciones basicas para C++
Intrucciones basicas para C++
 
CakePHP
CakePHPCakePHP
CakePHP
 
MVC en CakePHP 2.0
MVC en CakePHP 2.0MVC en CakePHP 2.0
MVC en CakePHP 2.0
 
Jose manuel avila gonzález
Jose manuel avila gonzálezJose manuel avila gonzález
Jose manuel avila gonzález
 
Jose manuel avila gonzález
Jose manuel avila gonzálezJose manuel avila gonzález
Jose manuel avila gonzález
 
Evidencia: Sesión Virtual Funciones PHP
Evidencia: Sesión Virtual Funciones PHPEvidencia: Sesión Virtual Funciones PHP
Evidencia: Sesión Virtual Funciones PHP
 
Evidencia sesión virtual “funciones php”
Evidencia sesión virtual “funciones php”Evidencia sesión virtual “funciones php”
Evidencia sesión virtual “funciones php”
 
Funciones definidas por el usuario
Funciones definidas por el usuarioFunciones definidas por el usuario
Funciones definidas por el usuario
 
Biblioteca estándar de funciones
Biblioteca estándar de funcionesBiblioteca estándar de funciones
Biblioteca estándar de funciones
 

Similar a Presentacion de la_estructura_de_c_

Presentacion de la_estructura_de_c++
Presentacion de la_estructura_de_c++Presentacion de la_estructura_de_c++
Presentacion de la_estructura_de_c++
MartinCetis109
 
ESTRUCTURA BASICA PARA C++
ESTRUCTURA BASICA PARA C++ESTRUCTURA BASICA PARA C++
ESTRUCTURA BASICA PARA C++
Idalia Tristan
 
Tutorial de visual_c_
Tutorial de visual_c_Tutorial de visual_c_
Tutorial de visual_c_
oscar020615
 
Tutorial de visual c++
Tutorial de visual c++Tutorial de visual c++
Tutorial de visual c++
juliancetis109
 
Tutorial de visual C++
Tutorial de visual C++Tutorial de visual C++
Tutorial de visual C++
juliancetis109
 
Estructura de un programa en c
Estructura de un programa en cEstructura de un programa en c
Estructura de un programa en cMary Guaman
 
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
mundofranco
 
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 cvictdiazm
 
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
mary219122
 
INSTRUCCIONES BASICAS C++
INSTRUCCIONES BASICAS C++INSTRUCCIONES BASICAS C++
INSTRUCCIONES BASICAS C++
KatherinBarrios17
 
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
VctorEmmanuelEspinoM
 
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 Cguestbc0748
 
Presentacion de la Estructura basica para_c++
Presentacion de la Estructura basica para_c++Presentacion de la Estructura basica para_c++
Presentacion de la Estructura basica para_c++
ValeriaBerrones
 
Estructura basica para_c_
Estructura basica para_c_Estructura basica para_c_
Estructura basica para_c_
Jesus22barrera
 
Estructura basica para c++
Estructura basica para c++Estructura basica para c++
Estructura basica para c++
claravianeybadillodelangel
 
Lenguajec
LenguajecLenguajec
Lenguajec
Luis Pérez
 
2 estructura programa-c
2 estructura programa-c2 estructura programa-c
2 estructura programa-c
Eliezer Cordova
 
La estructura basica_para_c_
La estructura basica_para_c_La estructura basica_para_c_
La estructura basica_para_c_
GamePlayer35
 

Similar a Presentacion de la_estructura_de_c_ (20)

Presentacion de la_estructura_de_c++
Presentacion de la_estructura_de_c++Presentacion de la_estructura_de_c++
Presentacion de la_estructura_de_c++
 
ESTRUCTURA BASICA PARA C++
ESTRUCTURA BASICA PARA C++ESTRUCTURA BASICA PARA C++
ESTRUCTURA BASICA PARA 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++
 
Estructura de un programa en c
Estructura de un programa en cEstructura de un programa en c
Estructura de un programa en c
 
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
 
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
 
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
 
INSTRUCCIONES BASICAS C++
INSTRUCCIONES BASICAS C++INSTRUCCIONES BASICAS C++
INSTRUCCIONES BASICAS 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
 
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
 
Presentacion de la Estructura basica para_c++
Presentacion de la Estructura basica para_c++Presentacion de la Estructura basica para_c++
Presentacion de la Estructura basica para_c++
 
Estructura basica para_c_
Estructura basica para_c_Estructura basica para_c_
Estructura basica para_c_
 
Estructura basica para c++
Estructura basica para c++Estructura basica para c++
Estructura basica para c++
 
Lenguajec
LenguajecLenguajec
Lenguajec
 
2 estructura programa-c
2 estructura programa-c2 estructura programa-c
2 estructura programa-c
 
Estructura basica para_c_
Estructura basica para_c_Estructura basica para_c_
Estructura basica para_c_
 
La estructura basica_para_c_
La estructura basica_para_c_La estructura basica_para_c_
La estructura basica_para_c_
 

Más de laura cortez

Instriccion while
Instriccion whileInstriccion while
Instriccion while
laura cortez
 
If then o if then else
If then o if then elseIf then o if then else
If then o if then else
laura cortez
 
Conferencia de los software libres
Conferencia de los software libresConferencia de los software libres
Conferencia de los software libres
laura cortez
 
Codeblocks ejercicios básicos
Codeblocks ejercicios básicos Codeblocks ejercicios básicos
Codeblocks ejercicios básicos
laura cortez
 
Cuestionario 2° unidad
Cuestionario 2° unidadCuestionario 2° unidad
Cuestionario 2° unidad
laura cortez
 
Pisa
PisaPisa
EXAMEN 2° UNIDAD
EXAMEN 2° UNIDADEXAMEN 2° UNIDAD
EXAMEN 2° UNIDAD
laura cortez
 
DIAGRAMAS EN DFD Y RAPTOR
DIAGRAMAS EN DFD Y RAPTOR DIAGRAMAS EN DFD Y RAPTOR
DIAGRAMAS EN DFD Y RAPTOR
laura cortez
 
UNA MIRADA A MI FUTURO
UNA MIRADA A MI FUTURO UNA MIRADA A MI FUTURO
UNA MIRADA A MI FUTURO
laura cortez
 
CONSTRUYE T
CONSTRUYE TCONSTRUYE T
CONSTRUYE T
laura cortez
 
DIAGRAMAS A COLOR
DIAGRAMAS A COLOR DIAGRAMAS A COLOR
DIAGRAMAS A COLOR
laura cortez
 
Tutorial de-c
Tutorial de-cTutorial de-c
Tutorial de-c
laura cortez
 
Jerarquias(2)
Jerarquias(2)Jerarquias(2)
Jerarquias(2)
laura cortez
 
Presentacion c
Presentacion c Presentacion c
Presentacion c
laura cortez
 
Tablas de verdad_c_
Tablas de verdad_c_Tablas de verdad_c_
Tablas de verdad_c_
laura cortez
 
Tipo de datos_para_c_
Tipo de datos_para_c_Tipo de datos_para_c_
Tipo de datos_para_c_
laura cortez
 
Tutorial de-codeblocks
Tutorial de-codeblocksTutorial de-codeblocks
Tutorial de-codeblocks
laura cortez
 
Tutorial de-c
Tutorial de-cTutorial de-c
Tutorial de-c
laura cortez
 

Más de laura cortez (18)

Instriccion while
Instriccion whileInstriccion while
Instriccion while
 
If then o if then else
If then o if then elseIf then o if then else
If then o if then else
 
Conferencia de los software libres
Conferencia de los software libresConferencia de los software libres
Conferencia de los software libres
 
Codeblocks ejercicios básicos
Codeblocks ejercicios básicos Codeblocks ejercicios básicos
Codeblocks ejercicios básicos
 
Cuestionario 2° unidad
Cuestionario 2° unidadCuestionario 2° unidad
Cuestionario 2° unidad
 
Pisa
PisaPisa
Pisa
 
EXAMEN 2° UNIDAD
EXAMEN 2° UNIDADEXAMEN 2° UNIDAD
EXAMEN 2° UNIDAD
 
DIAGRAMAS EN DFD Y RAPTOR
DIAGRAMAS EN DFD Y RAPTOR DIAGRAMAS EN DFD Y RAPTOR
DIAGRAMAS EN DFD Y RAPTOR
 
UNA MIRADA A MI FUTURO
UNA MIRADA A MI FUTURO UNA MIRADA A MI FUTURO
UNA MIRADA A MI FUTURO
 
CONSTRUYE T
CONSTRUYE TCONSTRUYE T
CONSTRUYE T
 
DIAGRAMAS A COLOR
DIAGRAMAS A COLOR DIAGRAMAS A COLOR
DIAGRAMAS A COLOR
 
Tutorial de-c
Tutorial de-cTutorial de-c
Tutorial de-c
 
Jerarquias(2)
Jerarquias(2)Jerarquias(2)
Jerarquias(2)
 
Presentacion c
Presentacion c Presentacion c
Presentacion c
 
Tablas de verdad_c_
Tablas de verdad_c_Tablas de verdad_c_
Tablas de verdad_c_
 
Tipo de datos_para_c_
Tipo de datos_para_c_Tipo de datos_para_c_
Tipo de datos_para_c_
 
Tutorial de-codeblocks
Tutorial de-codeblocksTutorial de-codeblocks
Tutorial de-codeblocks
 
Tutorial de-c
Tutorial de-cTutorial de-c
Tutorial de-c
 

Último

CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
SamuelGampley
 
PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
juanorejuela499
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdf
juanjosebarreiro704
 
Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
Ecaresoft Inc.
 
Escaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipoEscaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipo
nicromante2000
 
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdfIntroducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
AbbieDominguezGirond
 

Último (6)

CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
 
PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdf
 
Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
 
Escaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipoEscaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipo
 
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdfIntroducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
 

Presentacion de la_estructura_de_c_

  • 1. CORTEZ SOLANO LAURA BIBIANA GARCÍA VILLANUEVA RAMIRO DE JESÚS CARRANZA BECERRA MARTÍN DE JESÚS
  • 2. En general, los programas escritos en C++ tienen una estructura (básica) compuesta por tres secciones: Directivas de preprocesador declaraciones globales declaración de funciones
  • 3. funciones, y cada biblioteca de funciones tiene asociada un archivo de definición que se denomina cabecera. Para utilizar algo de una biblioteca en un programa (por ejemplo, una función), hay que colocar al principio del programa una directiva de preprocesamiento seguida de la cabecera de la biblioteca entre signos de "menor que" y "mayor que" (<>).
  • 4. la directiva invocada es include y la cabecera iostream, e indican al preprocesador que debe incluir la librería iostream a nuestro programa. Cabe señalar que todas las directivas comienzan con el símbolo numeral #.
  • 5.  Macros de preprocesador (#define y #undef)  Inclusiones condicionales (#ifdef, #ifndef, #if, #endif, #else and #elif)  Control (#line)  Error (#error)  Inclusión de fichero (#include)  Pragma (#pragma)  Operaciones de entrada(cin)y salida(cout)
  • 6. Para definir macros de preprocesador, usamos la directiva #define. La sintaxis es: Cuando el procesador encuentra esta directiva, este reemplaza todas las ocurrencias del identificador y son sustituidas por reemplazo. Cuando se requiere desactivar una macro, a partir de cierta parte del código, se utiliza la directiva #undef. La sintaxis es:
  • 7.  Estas directivas permiten incluir o descartar partes de código, si se cumplen algunas condiciones.  #ifdef: Permite que una seccion del programa sea compilada solo si la macro especificada como parametro ha sido definida, sin importar el valor de esta. Por ejemplo: El ejemplo anterior indica que, si la macro TABLE_SIZE se encuentra definida, entonces procede a la creación de una matriz de enteros de tamaño TABLE_SIZE. Cabe señalar que el fin para esta directiva es la directiva #endif
  • 8. #IFNDF: Permite realizar exactamente todo lo contrario a #ifdef. La lineas de código que se encuentren entre #ifndef y #endif, serán ejecutadas siempre y cuando la macro señalada como parámetro de #ifndef no se encuentre definida aun. Por ejemplo: En el ejemplo anterior, se indica que si la macro TABLE_SIZE no está definida aún, entonces se define. Cabe señalar que el fin para la directiva #ifndef es, al igual que #ifdef, #endif
  • 9.  #IF, #ELSE y #ELIF (o ELSE IF ): Estas directivas tienen el mismo significado que los comandos condicionales de cualquier lenguaje de programación. Por ejemplo: uso de todas las directivas condicionales del preprocesador.
  • 10.  Cuando compilamos un programa y un error ocurre durante el proceso de compilación, el compilador muestra un mensaje de error con las referencias al nombre del archivo donde ocurrió el error y un número de línea, por lo que es más fácil encontrar el código que genera el error. La directiva #line nos permite controlar ambas cosas, los números de línea en los archivos de código, así como el nombre del archivo que queremos que aparece cuando un error ocurre. Su formato es: Donde número es el nuevo número de línea que se asignará a la siguiente línea de código. Los números de línea de las líneas sucesivas se incrementarán uno por uno desde este punto en adelante."nombre_de_archivo" es un parámetro opcional que permite redefinir el nombre del archivo que se mostrará. Por ejemplo: Este código generará un error que se mostrará como un error en el archivo de "asignación de variable", línea 20.
  • 11.  Esta directiva cancela la compilación cuando es encontrada, generando un error de compilación que puede ser especificado según un parámetro de un ejercicio. Por ejemplo: En el ejemplo anterior, la compilación es cancelada si la macro __cplusplus no está definida (Esta macro es definida por defecto en todos los los compiladores de C++).
  • 12. Cuando el preprocesador encuentra la directiva #include, este reemplaza todas las ocurrencias de ella por el archivo o cabecera especificada. Existen dos formas de utilizar #include: #include <cabecera>: Es usado para incluir las cabeceras proporcionadas por defecto, por ejemplo, la librería estándar (string, iostream, etc.). #include "archivo" : Es usado para incluir archivos.
  • 13. La directiva #pragma es utilizada para especificar las distintas opciones del compilador. Estas opciones son especificadas dependiendo del compilador que se utilice. Si el compilador no permite un argumento para #pragma, esto es ignorado y no genera un error de sintaxis.
  • 14.  En esta sección se declaran todas variables y cabeceras de funciones que serán vistas de manera global, es decir, que su alcance es total en el programa. Por ejemplo: En el ejemplo anterior, se definen (ademas de las directivas de preprocesador, vistas en la sección anterior) una variable y una función. La variable autor podrá ser utilizada por todas las funciones del programa. Mientras que la función "adicion" solo fue declarada de la forma "inline". Una función se dice declarada "inline" cuando solo se señala su nombre y sus tipos de entrada y salida. Su definición completa se reserva para mas adelante.
  • 15.  La ultima sección del programa es la declaración de funciones. La primera función que se debe declarar es la función principal o "main". La función main es la mas importante, pues es la que es invocada cuando el programa se ejecuta. Toda instrucción que no sea declarada dentro de esta, simplemente no sera considerada. A continuación de la función "main", se permite la definición completa de las funciones declaradas en la sección de declaraciones globales. En el siguiente ejemplo, mostraremos la estructura definitiva de un programa y la declaración completa de sus funciones: