Componentes del Lenguaje C++



3. Componentes del lenguaje C++

El lenguaje de programación C++ está caracterizado por ser de uso general, con una sintaxis sumamente compacta y de alta portabilidad. Es común leer que se caracteriza como un lenguaje de “alto nivel”, maneja los elementos básicos presentes en todas las computadoras: caracteres, números y direcciones. Esta particularidad, junto con el hecho de no poseer operaciones de entrada salida, manejo de arreglo de caracteres, de asignación de memoria, puede al principio parecer un grave defecto; sin embargo el hecho de que estas operaciones se realicen por medio de llamadas a Funciones contenidas en Librerías externas al lenguaje en sí, es el que confiere al mismo su alto grado de portabilidad, independizándolo del “Hardware” sobre el cual corren los programas.

Un programa en C++ está definido por funciones (grupo de instrucciones que pueden o no hacer algún cálculo), donde la función principal debe ser llamada main.

La composición general de un programa en C++ es: directivos de preprocesamiento, variables globales, función main y funciones definidas por el usuario.

 

3.1 Directivas de Preprocesamiento

 Un preprocesador es un programa separado que es invocado por el compilador antes de que comience la traducción real. Un preprocesador de este tipo puede eliminar los comentarios, incluir otros archivos y ejecutar sustituciones de macros. El preprocesador de C++ es el preprocesador para el lenguaje de programación C. Es el primer programa invocado por el compilador y procesa directivas como: #include, #define y #if. Estas directivas no son específicas de C. En realidad pueden ser usadas con cualquier tipo de archivo. Todas las directivas de preprocesador o comandos inician con un #.

La directiva #define se usa para definir constantes o cualquier sustitución de macro. Crea una macro, que es la asociación de un identificador o identificador parametrizado con una cadena de token. Una vez definida la macro, el compilador puede sustituir la cadena de token para cada aparición del identificador del archivo de código fuente.

La directiva #if, con las directivas #elif, #else y #endif, controla la compilación de partes de un archivo de código fuente. Si la expresión que se escribe (después de #if) tiene un valor distinto de cero, el grupo de líneas inmediatamente después de la directiva #if se conserva en la unidad de traducción.

Las directivas #ifdef e #ifndef realizan la misma tarea que la directiva #if cuando se utiliza con defined.

 

3.2 Variables globales

Al definir  una variable afuera de cualquier función (incluyendo esto a main() ), estaremos frente a lo denominado variable global. Este tipo de variable será ubicada en el segmento de datos de la memoria utilizada por el programa, y existirá todo el tiempo que esté ejecutándose este.

Son automáticamente inicializadas a cero cuando el programa comienza a ejecutarse. . Esto no sucede con ninguna variable local. Son accesibles a todas las funciones que estén declaradas en el mismo, por lo que cualquiera de ellas podrá actuar sobre el valor de las mismas. El ámbito temporal de estas variables es también global: se crean junto con el programa, y se destruyen cuando el programa concluye. Una variable global declarada después de la definición de una función no será accesible desde esa función, por eso, normalmente se declaran las variables globales antes de definir las funciones.

Ejemplo:

int EnteroGlobal; // Declaración de una variable global

3.3 Función Main en C++

Todo programa C++ tiene una función main( ) que es el punto inicial de entrada al programa. Un programa debe tener solo una función main( ). Si se intenta hacer dos funciones main ( ) se produce un error.

El programa que se presenta como ejemplo tiene una definición de función y es donde realmente empieza la ejecución:

int main() // la función main()
{


return 0;
}

La definición de la función está compuesta por la cabecera de la función y por el cuerpo de la función, en este caso: int main() // la función main()es la cabecera de la función define el nombre de la función main())y el tipo de dato devuelto por la función (int).

El cuerpo de la función es el conjunto de sentencias que están encerradas entre llaves ({}) y que siguen a la cabecera de la función.
Cada instrucción de C++ se denomina sentencia y termina con un punto y coma. La sentencia return actúa como terminación de la función.

La cabecera de la función tiene tres partes: Tipo De Retorno, Nombre De Función y Argumentos.

-Tipo de Retorno: define el tipo de datos que devuelve la función. Los valores posibles se verán en detalle cuando se estudien los tipos de datos del lenguaje.

-Nombre de Función: define el nombre de la función. Un programa C++ puede tener definidas muchas funciones. Pero sólo una es obligatoria, y esa es la función main(). Como el compilador de C++ considera el uso de las minúsculas y mayúsculas, la función debe llamarse main() ya que si se denomina Main(), para C++ será otra función diferente. Debe hacerse siempre una función main() porque es la función por la que empieza la ejecución del programa y si no existiera, se produciría un error en la compilación.

Argumentos: lista de parámetros que se reciben desde la rutina llamante. En este caso simple, la función main no recibe ningún parámetro. También se encontrará la forma (void), que indica lo mismo: la función no recibe parámetros.

 

3.4 Funciones definidas por el usuario

Las funciones de usuario son, como su nombre indica, las que el propio usuario declara, de igual manera que declara procedimientos. Las funciones nacen con el propósito de ser subprogramas que siempre tienen que devolver algún valor.

Las dos principales diferencias entre procedimientos y funciones son:

-Las funciones siempre devuelven un valor al programa que las invocó.

-Para llamar a un procedimiento se escribe su nombre en el cuerpo del programa, y si los necesita, se incluyen los parámetros entre paréntesis. Para invocar una función es necesario hacerlo en una expresión.

Las funciones de usuario vienen definidas por un nombre, seguidas de dos paréntesis () entre los que puede haber o no argumentos. Los argumentos son valores que se le pasan a la función cuando se llama.

Un ejemplo de una función sin argumentos:

#include <stdio.h>

main ()

{

printf (“\nEste mensaje lo muestra la función main()”);

MiFuncion ();

}

/* Definición de la función MiFuncion() */

MiFuncion ()

{

printf (“\nEste otro lo muestra MiFuncion()”);

}

En este ejemplo se utiliza la función MiFuncion() para mostrar en pantalla una frase. Como se ve, MiFuncion() se invoca igual que printf() o scanf(), es decir, simplemente se escribe el nombre de la función y los paréntesis. La definición de MiFuncion() tiene el mismo aspecto que main(): el nombre de la función con los paréntesis y, seguidamente, el cuerpo de la función encerrado entre llaves.

Un ejemplo de una función con argumentos. El programa visualiza el cuadrado de un número entero por medio de una función que recibe dicho número como argumento.

#include <stdio.h>

main ()

{

int num;

printf (“\nTeclee un número entero: “);

scanf (“%d”, &num);

cuadrado (num);

}

/* Definición de la función cuadrado() */

cuadrado (int x)

{

printf (“\nEl cuadrado de %d es %d\n”, x, x * x);

}

Es la declaración de la función cuadrado(). Dentro de los paréntesis se pone la variable que recibirá el valor pasado a cuadrado() y de qué tipo es. Así, si se teclea el valor 6, se almacena en num y al hacer la llamada cuadrado (num), la variable num se copia en la variable x, que es con la que trabaja internamente la función cuadrado().
Resultado de imagen para función main de C++

DIRECTIVAS DE PREPROCESAMIENTO Y FUNCIÓN MAIN EN C++

 

 

Comentarios

Entradas populares de este blog

Sintaxis para declarar variable

Concepto y características del Código Binario