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.
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* 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
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:

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
}
- Los estatutos incluidos entre las llaves {…} se denominan bloque.
- U n programa debe tener sólo una función main( ). Si se intenta hacer dos funciones main ( ) se produce un error.
- ü 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[]);

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);
}
SINTAXIS PARA DECLARAR UNA VARIABLE
tipo de dato float y asignación de valor .
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++.
<cassert>
<cctype>
<cerrno>
<cfloat>
<climits>
<cmath>
<csetjmp>
<csignal>
<cstdlib>
<cstddef>
<cstdarg>
<ctime>
<cstdio>
<cstring>
<cwchar>
<cwctype>
¿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.



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

tipo de dato bool y asignación de valor.

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á 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:
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:
- char nombre
- int numero
- float radio
- int función1
- char letra
Comentarios
Publicar un comentario