Lenguaje de Programación C++



Lenguaje de programación C++


C++

C++ es un lenguaje de programación diseñado a mediados de los años 1980 por Bjarne Stroustrup. La intención de su creación fue el extender al lenguaje de programación C mecanismos que permiten la manipulación de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje híbrido.


Posteriormente se añadieron facilidades de programación genérica, que se sumaron a los paradigmas de programación estructurada y programación orientada a objetos. Por esto se suele decir que el C++ es un lenguaje de programación multi-paradigma.


Historia:





La historia del lenguaje de programación C++ comienza a principios de los años 70, con un programador de nombre Dennis Ritchie que trabajaba en los laboratorios de AT&T Bell. Trabajando con un lenguaje llamado BCPL inventado por Martin Richards (que luego influyó para crear el B de Ken Thompson), Dennis deseaba un lenguaje que le permitiese manejar el hardware de la misma manera que el ensamblador pero con algo de programación estructurada como los lenguajes de alto nivel. Fue entonces que creó el C que primeramente corría en computadoras PDP-7 y PDP-11 con el sistema operativo UNIX. Pero los verdaderos alcances de lo que sería éste, se verían poco tiempo después cuando Dennis volvió a escribir el compilador C de UNIX en el mismo C, y luego Ken Thompson (diseñador del sistema) escribió UNIX completamente en C y ya no en ensamblador. Al momento de que AT&T cedió (a un precio bastante bajo) el sistema operativo a varias universidades, el auge de C comenzaba. Cuando fueron comerciales las computadoras personales, empezaron a diseñarse varias versiones de compiladores C, éste se convirtió en el lenguaje favorito para crear aplicaciones.


En 1983, el Instituto Americano de Normalización (ANSI) se dio a la tarea de estandarizar el lenguaje C, aunque esta tarea tardó 6 años en completarse, y además con la ayuda de la Organización Internacional de Normalización (ISO), en el año de 1989 definió el C Estándar. A partir de éste, se dio pie para evolucionar el lenguaje de programación C. Fue en los mismos laboratorios de AT&T Bell, que Bjarnes Stroutstrup diseñó y desarrolló C++ buscando un lenguaje con las opciones de programación orientada a objetos.Ahora el desarrollo del estándar de C++ acaparaba la atención de los diseñadores. En el año 1995, se incluyeron algunas bibliotecas de funciones al lenguaje C. Y con base en ellas, se pudo en 1998 definir el estándar de C++. Algunas personas podrían pensar que entonces C++ desplazó a C, y en algunos aspectos podría ser cierto, pero también es cierto que algunas soluciones a problemas requieren de la estructura simple de C más que la de C++, C generalmente es usado por comodidad para escribir controladores de dispositivos y para programas de computadoras con recursos limitados. La base del lenguaje fue creada por programadores y para programadores, a diferencia de otros lenguajes como Basic o Cobol que fueron creados para que los usuarios resolvieran pequeños problemas de sus ordenadores y el segundo para que los no programadores pudiesen entender partes del programa. C++ es un lenguaje de nivel medio pero no porque sea menos potente que otro, sino porque combina la programación estructurada de los lenguajes de alto nivel con la flexibilidad del ensamblador.


Características:
Las principales características del Lenguaje C son:
1.-Tiene un conjunto completo de instrucciones de control.
2.-Permite la agrupación de instrucciones.
3.-Incluye el concepto de puntero (variable que contiene la dirección de otra variable).
4.-Los argumentos de las funciones se transfieren por su valor.
5.- E/S no forma parte del lenguaje, sino que se proporciona a través de una biblioteca de funciones.
Permite la separación de un programa en módulos que admiten compilación independiente.
Originalmente el Lenguaje C estuvo muy ligado al sistema operativo UNIX como se había mencionado antes que, en su mayor parte, está escrito en C. Más adelante se comenzó a utilizar en otros sistemas operativos para programar editores, compiladores, etc. Aunque se le conoce como un lenguaje de programación de sistemas, no se adapta mal al resto de aplicaciones. De hecho, hoy en día un alto porcentaje de software para ordenadores personales está escrito en Lenguaje C. Por ejemplo, el sistema operativo MS-DOS.

Algunas de las características más importantes que definen el lenguaje y que han permitido que sea tan popular, como lenguaje de programación son: 

Tamaño pequeño.
Uso extensivo de llamadas a funciones.
Comandos breves (poco tecleo).
Lenguaje estructurado.
Programación de bajo nivel (nivel bit)
Implementación de apuntadores - uso extensivo de apuntadores para la memoria, arreglos, estructuras y funciones
Las diversas razones por la cual se ha convertido en un lenguaje de uso profesional son:

El uso de constructores de alto nivel.
El poder manejar actividades de bajo-nivel.
El generar programas eficientes.
La posibilidad de poder ser compilado en una variedad de computadoras, con pocos cambios (portabilidad).
Un punto en contra es que tiene una detección pobre de errores, lo cual en ocasiones es problemático para los principiantes




Versiones:
* XCode.
* Borland C++
* Codewarrior C++
* Comeau C++
* Cygwin (GNU C++)
* MINGW - Minimalist GNU for Windows.
* Dev C++ (IDE que usa MinGW)
* wx-Dev C++ (IDE basado en Dev C++)
* Digital Mars C++
* DJ Delorie's C++ development system for DOS/Windows (GNU C++)
* Edison Design Group C++ Front End
* Green Hills C++
* HP C++ para UNIX y HP C++ para OpenVMS.
* IBM C++
* Intel C++
* The LLVM Compiler Infrastructure.
* Mentor Graphics/Microtec Research C++
* Microsoft Visual C++
* Microsoft Visual Studio Express Editions
* Paradigm C++
* The Portland Group C++
* SGI C++
* Sun C++
* Sun Studio.
* WindRiver's Diab C++
* ZinjaI
La última versión prueba es la versión C++14




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:
Directivas de pre-procesamiento.
Variables globales.
Función main.
Funciones definidas por el usuario.

    Directivas de pre-procesamiento:
Las directivas de preprocesamiento ofrecen la capacidad de omitir condicionalmente secciones de los archivos de código fuente, con el fin de notificar errores y advertencias, así como de delimitar regiones características del código fuente. El término "directivas de preprocesamiento" se utiliza por motivos de coherencia con los lenguajes de programación C y C++. En C#, no existe un paso de preprocesamiento individual; las directivas de preprocesamiento se procesan como parte de la fase de análisis léxico.
pp-directive:
pp-declaration

pp-conditional

pp-line
pp-diagnostic
pp-region



A continuación se indican las directivas de preprocesamiento disponibles:

#define y #undef, que permiten definir y anular respectivamente, la definición de símbolos de compilación condicional

#if, #elif, #else y #endif, para omitir de forma condicional secciones de archivos de código fuente

· #line, que permite controlar los números de línea de errores y advertencias

· #error y #warning, que permiten emitir errores y advertencias respectivamente

· #region y #endregion, para marcar de forma explícita secciones del código fuente

Una directiva de preprocesamiento siempre ocupa una línea independiente del código fuente y siempre empieza por un carácter # y un nombre de directiva de preprocesamiento. Puede haber un espacio en blanco antes del carácter # y entre éste y el nombre de la directiva.


Una línea del código fuente que contiene una directiva #define, #undef, #if, #elif, #else, #endif o #line puede terminar con un comentario en una línea. Los comentarios delimitados (el estilo de comentarios /* */) no están permitidos en las líneas de código fuente que contienen directivas de preprocesamiento.



    Variables globales :

Una variable global es aquella que se define fuera del cuerpo de cualquier función, normalmente al principio del programa, después de la definición de los archivos de biblioteca (#include), de la definición de constantes simbólicas y antes de cualquier función. El ámbito de una variable global son todas las funciones que componen el programa, cualquier función puede acceder a dichas variables para leer y escribir en ellas. Es decir, se puede hacer referencia a su dirección de memoria en cualquier parde del programa.
 El uso de variables globales no es aconsejable a pesar de que aparentemente nos parezca muy útil, esto se debe a varias razones fundamentales:
   Resultado de imagen de Variables globales c++

    Función main:
Todo programa C++ tiene una función main( ) que es el punto inicial de entrada al programa. Su estructura es:
main( )
{
… bloque de estatutos
}
  1. Los estatutos incluidos entre las llaves {…} se denominan bloque.
  2. U n programa debe tener sólo una función main( ). Si se intenta hacer dos funciones main ( ) se produce un error.
  3. ü  Además de la función main( ), un programa en C++, consta de una colección de funciones.


La función main es IMPRESCINDIBLE en cualquier programa C/C++ representa el punto de inicio de su ejecución. Por lo general, su declaración adopta la forma:
int main();
Aunque en realidad, el módulo de inicio la invoca con dos parámetros (recibidos a su vez del SO), denominados tradicionalmente argc y argv, contracciones de "argument count" y "argument vector" respectivamente. El primero es un entero que representa el número de comandos que se pasan; el segundo es un puntero a una matriz de cadenas literales de distintas longitudes (es decir: puntero a matriz de punteros); cada una de estas cadenas representa en último extremo los comandos iniciales que se quieren pasar al programa, generalmente para controlar aspectos de su comportamiento. Así pues, la declaración más genérica de main es del tipo:
int main(int argc, char* argv[]);

                                  Resultado de imagen de Función main c++



     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.
Función escalar


Las funciones escalares definidas por el usuario devuelven un único valor de datos del tipo definido en la cláusula RETURNS. En una función escalar insertada no hay cuerpo de la función; el valor escalar es el resultado de una sola instrucción. Para una función escalar de varias instrucciones, el cuerpo de la función, definido en un bloque BEGIN...END, contiene una serie de instrucciones de Transact-SQL que devuelven el único valor. El tipo devuelto puede ser de cualquier tipo de datos excepto text, ntext, image, cursory timestamp. Ejemplos.


Funciones con valores de tabla


Las funciones con valores de tabla definidas por el usuario devuelven un tipo de datos table. Las funciones insertada con valores de tabla no tienen cuerpo; la tabla es el conjunto de resultados de una sola instrucción SELECT. Ejemplos.


Funciones del sistema


SQL Server proporciona numerosas funciones del sistema que se pueden usar para realizar diversas operaciones. No se pueden modificar. Para obtener más información, vea Funciones integradas (Transact-SQL), Funciones almacenadas del sistema (Transact-SQL) y Funciones y vistas de administración dinámica (Transact-SQL).



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);


}



Biblioteca Estándar de C++

En C++, la biblioteca estándar es una colección de clases y funciones, escritas en el núcleo del lenguaje. La biblioteca estándar proporciona varios contenedores genéricos, funciones para utilizar y manipular esos contenedores, funciones objeto, cadenas y flujos genéricos (incluyendo E/S interactiva y de archivos) y soporte para la mayoría de las características del lenguaje. La biblioteca estándar de C++ también incorpora la biblioteca estándar de C. Las características de la biblioteca estándar están declaradas en el espacio de nombres std.
La Standard Template Library es un subconjunto de la biblioteca estándar de C++ que contiene los contenedores, algoritmos, iteradores, funciones objeto, etc; aunque algunas personas utilizan el término STL indistintamente con la biblioteca estándar de C++.
Los archivos de cabecera de la biblioteca estándar de C++ no usan la extensión «.h».
Biblioteca estándar de C++
Cada cabecera de la biblioteca estándar de C está incluida en la biblioteca estándar de C++ con diferente nombre, generado eliminando la extensión .h y añadiendo una 'c' al inicio, por ejemplo 'time.h' se convierte en 'ctime'. La única diferencia entre estas cabeceras y las cabeceras tradicionales de la biblioteca estándar de C es que es posible que las funciones estén incluidas en el namespace 'std::' (aunque algunos compiladores lo hacen). En el ISO C, las funciones de la biblioteca estándar se pueden implementar por macros, cosa no permitida por el ISO C++.





SINTAXIS PARA DECLARAR UNA VARIABLE 
¿Qué es una variable?
Una variable es un espacio en la memoria, en el cual el programador asigna un valor determinado por el tipo de dato que el lenguaje de programación va soportar, para declararla es necesario saber qué tipo de dato la contiene.
Es representada por un nombre que es asignado por el programador, y se nombra justo después de su tipo de dato, los siguientes son los tipos de datos esenciales:

int; es numérico sirve para números enteros sin punto decimal  (1,2,3,4.. )

float; es numérico y sirve para números con parte fraccionaria, es decir con punto decimal ( 1.2, 1.3, 1.4, ….)

char; es de tipo carácter y cadena de caracteres, es decir que puedes asignar desde una letra, símbolo o numero hasta una palabra o serie de caracteres ( a, 2, !, &, hola, etc.)

bool; es de tipo verdadero o falso, este tipo de dato mostrara en pantalla un “1” en caso de ser true o “0” en caso de ser false.

Como declarar una variable en lenguaje de programación C++
Primero como ya dijimos antes se especifica el tipo de dato, después se nombra, y si se asigna un valor debe ir después de un signo de igualdad (” = “), si se van a declarar varias variables solo se separan con comas (” , “) dentro de la misma línea del tipo de dato especificado y al finalizar escribir punto y coma (” ; “). Ejemplos:


Tipo de dato int y asignación de valor.          
int
tipo de dato float y asignación de valor .

float
tipo de dato char y asignación de valor caracter (debe ser entre comillas simples).

char


tipo de dato char y asignación de valor cadena de caracteres (debe ser entre comillas).
char palabra
tipo de dato bool y asignación de valor.
bool


REGLAS PARA NOMBRAR VARIABLE:





1. Tener el mismo nombre que una “palabra reservada” del lenguaje.


Explicación: los lenguajes de programación tienen “palabras reservadas“, osea que esas palabras solo pueden ser usadas por el programa, por eso llevan el nombre de “reservadas“, pues si supongamos el caso de que un lenguaje de programación “X” tiene sus palabras reservadas.. entre las cuales está: “ingrear“, entonces eso quiere decir que el usuario NO debe declarar una variable con el nombre “ingrsar“, porque va a tener conflictos más adelante.


2. Sólo pueden ser letras, dígitos y el guión bajo ó subguión.

Explicación: pues en los lenguajes de programación hay sintaxis que deben cumplirse al pie de la letra, entonces dice que las variables solo pueden llevar letras, numeros y el subguión, ejemplo:
La siguiente variable está bien declarada: programando19
La siguiente variable está mal declarada: %&programando-19
Vemos que insertó caracteres especiales, ademas de que uso el guión normal ( no el subguión ), por lo tanto puede que el programa entienda que es una resta, entonces está mal delcarado por sintaxis.


3. Deben comenzar por una caracter ( letra ).

Explicación: por sintaxis como ya hemos visto, deben cumplir con éstas reglas, entonces no se puede comenzar con un numero, ya que se debe comenzar por una letra como dice la regla, ejemplo:
La siguiente variable está bien declarada: pasoApaso
La siguiente variable está mal declarada: 89pasos


4. Deben iniciar con un caracter ( no numero ) como vimos en la regla 3, y tambien puede comenzar con un guión bajo ( _ ), ejemplo:

La siguiente variable está bien declarada: _descuento
La siguiente variable está mal declarada: -descuento
La siguiente variable está mal declarada: descuento-


5. No se les pueden llevar espacios en blanco.

Explicación: las variables no pueden llevar espacios en blanco, solo pueden ser separadas por un signo dedicado a ser usado como un espacio, el cual es el subguión ( _ ), entonces en una variable cuando vean un subguión, practicamente estan separando algo ( para que no parezca una ensalda ), ejemplo:
La siguiente variable está bien declarada: eddy_19
La siguiente variable está mal declarada: eddy 19


6. No pueden llevar acento ( tilde ), ejemplo:
La siguiente variable está bien declarada: numero
La siguiente variable está mal declarada: número
Esas son las “reglas base“, para la buena declaración de variables.


EJEMPLOS DE DECLARACIÓN DE VARIABLES:



  1. char nombre 
  2. int numero 
  3. float radio
  4. int función1
  5. char letra



Comentarios

Entradas populares