PDF de programación - Curso de C++

Imágen de pdf Curso de C++

Curso de C++gráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 29 de Diciembre del 2017)
5.513 visualizaciones desde el 29 de Diciembre del 2017
1,8 MB
389 paginas
Creado hace 20a (29/08/2003)
Curso de C++. Capítulo 000

Introducción

Bien, aquellos que hayáis seguido el curso desde sus comienzos, en septiembre de 2000,
conocéis la trayectoria y la evolución que ha tenido. El curso está ya muy avanzado,
parecía imposible al principio, pero ya están tratados la mayor parte de los temas sobre
C++.

Lo que queda de comentar sobre C++ se reduce a un único tema: asm, y algo sobre el
modificador explicit. Actualmente estoy haciendo un repaso a fondo y añadiendo más
ejercicios y ejemplos.

Sigo esperando que este curso anime a los nuevos y futuros programadores autodidactas
a incorporarse a esta gran y potente herramienta que es el C++, ese era el objetivo
original y sigo manteniéndolo.

No he pretendido ser original, (al menos no demasiado), como dije que haría, he
consultado libros, tutoriales, revistas, listas de correo, news, páginas web... En fin,
cualquier fuente de datos que he podido, con el fin de conseguir un buen nivel. Espero
haber conseguido mi objetivo, y seguiré completando explicaciones sobre todo aquello
que lo requiera. Espero que haya resultado ser un texto ameno, me gustaría que nadie se
aburra leyendo el curso.

Pretendo también (y me gustaría muchísimo), que el curso siga siendo interactivo,
propondré problemas, cuya resolución pasará a ser parte del curso. Además se añadirán
las preguntas que vaya recibiendo, así como sus respuestas. Y en la lista de correo
podremos discutir sobre los temas del curso entre todos aquellos que lo sigan.

He intentado que los ejemplos que ilustran cada capítulo corran en cualquier versión de
compilador, sin embargo, he de decir que yo he usado el compilador Dev-C++ de
Bloodshed en modo consola. Este compilador, está pensado para hacer programas en
Windows. De modo que aprovecho para aclarar que los programas de Windows tienen
dos modos de cara al usuario:

l El modo consola simula el funcionamiento de una ventana MS-DOS, trabaja en
modo de texto, es decir, la ventana es una especie de tabla en la que cada casilla
sólo puede contener un carácter. El modo consola de Windows no permite usar
gráficos de alta resolución. Pero esto no es una gran pérdida, pues como veremos,
ni C ni C++ incluyen manejo de gráficos de alta resolución. Esto se hace
mediante librerías externas no estándar.

l El otro modo es el GUI, Interfaz Gráfico de Usuario. Es el modo tradicional de

los programas de Windows, con ventanas, menús, iconos, etc. La creación de este
tipo de programas se explica en otro curso de este mismo sitio, y requiere el
conocimiento de la librería de funciones Win API32.

http://localhost/conclase/c/curso/curso.php?cap=000 (1 de 6) [29/08/2003 17:22:25]

Curso de C++. Capítulo 000

Para aquellos de vosotros que programéis en otros entornos como Linux, Unix o Mac, he
de decir que no os servirá el compilador Dev-C++, ya que está diseñado especialmente
para Windows. Pero esto no es un problema serio, todos los sistemas operativos
disponen de compiladores de C++ que soportan la norma ANSI, sólo menciono Dev-
C++ y Windows porque es el entorno en el que yo, me muevo actualmente.

Además intentaré no salirme del ANSI, es decir del C++ estándar, así que no es probable
que surjan problemas con los compiladores.

De nuevo aprovecho para hacer una aclaración. Resumidamente, el ANSI define un
conjunto de reglas. Cualquier compilador de C o de C++ debe cumplir esas reglas, si no,
no puede considerarse un compilador de C o C++. Estas reglas definen las características
de un compilador en cuanto a palabras reservadas del lenguaje, comportamiento de los
elementos que lo componen, funciones externas que se incluyen, etc. Un programa
escrito en ANSI C o en ANSI C++, podrá compilarse con cualquier compilador que
cumpla la norma ANSI. Se puede considerar como una homologación o etiqueta de
calidad de un compilador.

Todos los compiladores incluyen, además del ANSI, ciertas características no ANSI, por
ejemplo librerías para gráficos. Pero mientras no usemos ninguna de esas características,
sabremos que nuestros programas son transportables, es decir, que podrán ejecutarse en
cualquier ordenador y con cualquier sistema operativo.

Este curso es sobre C++, con respecto a las diferencias entre C y C++, habría mucho que
hablar, pero no es este el momento adecuado. Si sientes curiosidad, consulta la sección
de preguntas frecuentes. Pero para comprender muchas de estas diferencias necesitarás
cierto nivel de conocimientos de C++.

Los programas de ejemplo que aparecen en el texto están escritos con la fuente courier y
en color azul con el fin de mantener las tabulaciones y distinguirlos del resto del texto.
Cuando sean largos se incluirá también un fichero con el programa, que se podrá
descargar directamente.

Cuando se exponga la sintaxis de cada sentencia se adoptarán ciertas reglas, que por lo
que sé son de uso general en todas las publicaciones y ficheros de ayuda. Los valores
entre corchetes "[]" son opcionales, con una excepción: cuando aparezcan en negrita "[]",
en ese caso indicarán que se deben escribir los corchetes. El separador "|" delimita las
distintas opciones que pueden elegirse. Los valores entre "<>" se refieren a nombres. Los
textos sin delimitadores son de aparición obligatoria.

Proceso para la obtención de un programa

ejecutable

Probablemente este es el lugar más adecuado para explicar cómo se obtiene un fichero

http://localhost/conclase/c/curso/curso.php?cap=000 (2 de 6) [29/08/2003 17:22:25]

Curso de C++. Capítulo 000

ejecutable a partir de un programa C++.

Para empezar necesitamos un poco de vocabulario técnico. Veremos algunos conceptos
que se manejan frecuentemente en cualquier curso de programación y sobre todo en
manuales de C y C++.

Fichero fuente y programa o código fuente:

Los programas C y C++ se escriben con la ayuda de un editor de textos del mismo modo
que cualquier texto corriente. Los ficheros que contiene programas en C o C++ en forma
de texto se conocen como ficheros fuente, y el texto del programa que contiene se
conoce como programa fuente. Nosotros siempre escribiremos programas fuente y los
guardaremos en ficheros fuente.

Ficheros objeto, código objeto y compiladores:

Los programas fuente no pueden ejecutarse. Son ficheros de texto, pensados para que los
comprendan los seres humanos, pero incomprensibles para los ordenadores.

Para conseguir un programa ejecutable hay que seguir algunos pasos. El primero es
compilar o traducir el programa fuente a su código objeto equivalente. Este es el trabajo
que hacen los compiladores de C y C++. Consiste en obtener un fichero equivalente a
nuestro programa fuente comprensible para el ordenador, este fichero se conoce como
fichero objeto, y su contenido como código objeto.

Los compiladores son programas que leen un fichero de texto que contiene el programa
fuente y generan un fichero que contiene el código objeto.

El código objeto no tiene ningún significado para los seres humanos, al menos no
directamente. Además es diferente para cada ordenador y para cada sistema operativo.
Por lo tanto existen diferentes compiladores para diferentes sistemas operativos y para
cada tipo de ordenador.

Librerías:

Junto con los compiladores de C y C++, se incluyen ciertos ficheros llamados librerías.
Las librerías contienen el código objeto de muchos programas que permiten hacer cosas
comunes, como leer el teclado, escribir en la pantalla, manejar números, realizar
funciones matemáticas, etc. Las librerías están clasificadas por el tipo de trabajos que
hacen, hay librerías de entrada y salida, matemáticas, de manejo de memoria, de manejo
de textos, etc.

Hay un conjunto de librerías muy especiales, que se incluyen con todos los compiladores
de C y de C++. Son las librerías ANSI o estándar. Pero también hay librerías no

http://localhost/conclase/c/curso/curso.php?cap=000 (3 de 6) [29/08/2003 17:22:25]

Curso de C++. Capítulo 000

estándar, y dentro de estas las hay públicas y comerciales. En este curso sólo usaremos
librerías ANSI.

Ficheros ejecutables y enlazadores:

Cuando obtenemos el fichero objeto, aún no hemos terminado el proceso. El fichero
objeto, a pesar de ser comprensible para el ordenador, no puede ser ejecutado. Hay varias
razones para eso:

1. Nuestros programas usaran, en general, funciones que estarán incluidas en

librerías externas, ya sean ANSI o no. Es necesario combinar nuestro fichero
objeto con esas librerías para obtener un ejecutable.

2. Muy a menudo, nuestros programas estarán compuestos por varios ficheros

fuente, y de cada uno de ellos se obtendrá un fichero objeto. Es necesario unir
todos los ficheros objeto, más las librerías en un único fichero ejecutable.

3. Hay que dar ciertas instrucciones al ordenador para que cargue en memoria el

programa y los datos, y para que organice la memoria de modo que se disponga
de una pila de tamaño adecuado, etc. La pila es una zona de memoria que se usa
para que el programa intercambie datos con otros programas o con otras partes
del propio programa. Veremos esto con más detalle durante el curso.

Existe un programa que hace todas estas cosas, se trata del "link", o enlazador. El
enlazador toma todos los ficheros objeto que componen nuestro programa, los combina
con los ficheros de librería que sea necesario y crea un fichero ejecutable.

Una vez terminada la fase de enlazado, ya podremos ejecutar nuestro programa.

Errores:

Por supuesto, somos humanos, y por lo tanto nos equivocamos. Los errores de
programación pueden clasificarse en varios tipos, dependiendo de la fase en que se
presenten.

Errores de sintaxis: son errores en el programa fuente. Pueden deberse a palabras
reservadas mal escritas, expresiones erróneas o incompletas, variables que no existen,
etc. Los errores de sintaxis se detectan en la fase de compilación. El compilador, además
de generar el código objeto, nos dará una lista de errores de sintax
  • Links de descarga
http://lwp-l.com/pdf8084

Comentarios de: Curso de C++ (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad