0% encontró este documento útil (0 votos)
105 vistas12 páginas

Programación en C++-Lo Más Básico

Este documento describe los pasos básicos para programar en C++, incluyendo escribir código, compilarlo y ejecutarlo. Explica conceptos como comentarios, uso de la consola y sintaxis básica. Muestra ejemplos simples de "Hola Mundo" para ilustrar el proceso de desarrollo de programas en C++.

Cargado por

Viviana Quiros
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
105 vistas12 páginas

Programación en C++-Lo Más Básico

Este documento describe los pasos básicos para programar en C++, incluyendo escribir código, compilarlo y ejecutarlo. Explica conceptos como comentarios, uso de la consola y sintaxis básica. Muestra ejemplos simples de "Hola Mundo" para ilustrar el proceso de desarrollo de programas en C++.

Cargado por

Viviana Quiros
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 12

Programacin en C++/Lo ms bsico

1
Programacin en C++/Lo ms bsico
Introduccion Iteraciones y decisiones
Proceso de desarrollo de un programa
Si se desea escribir un programa en C++ se debe ejecutar como mnimo los siguientes pasos:
1. 1. Escribir con un editor de texto plano un programa sintcticamente vlido o usar un entorno de desarrollo (IDE)
apropiado para tal fin
2. 2. Compilar el programa y asegurarse de que no han habido errores de compilacin
3. 3. Ejecutar el programa y comprobar que no hay errores de ejecucin
Este ltimo paso es el ms costoso, por que en programas grandes, averiguar si hay o no un fallo prcticamente
puede ser una tarea totmica.
Como ejemplo, si se desea escribir un archivo con el nombre hola.cpp y en l escribir un programa con emacs, por
ejemplo, que es un programa de edicin de textos, se puede, en Linux, ejecutar el siguiente comando:
$emacs hola.cpp &
Para otros sistemas operativos u otros entornos de desarrollo, no necesariamente se sigue este paso.
A continuacin se escribe el siguiente cdigo en C++:
Ejemplo
<font size="11.67">
// Aqu generalmente se suele indicar qu se quiere con el programa a
hacer
// Programa que muestra 'Hola mundo' por pantalla y finaliza
// Aqu se sitan todas las bibliotecas que se vayan a usar con
#include,
// que se ver posteriormente
// Las bibliotecas del sistema son las siguientes
#include <iostream>
// Funcin main
// Recibe: void
// Devuelve: int
// Funcin principal, encargada de mostrar "Hola Mundo",por pantalla
int main(void)
{
// Este tipo de lneas de cdigo que comienzan por '//' son
comentarios
// El compilador los omite, y sirven para ayudar a otros
programadores o
// a uno mismo en caso de volver a revisar el cdigo
// Es una prctica sana poner comentarios donde se necesiten,
Programacin en C++/Lo ms bsico
2
std::cout << "Hola Mundo" << std::endl;
// Mostrar por std::cout el mensaje Hola Mundo y comienza una nueva
lnea
return 0;
// se devuelve un 0.
//que en este caso quiere decir que la salida se ha efectuado con
xito.
}
</font>
Mediante simple inspeccin, el cdigo parece enorme, pero el compilador lo nico que leer para la creacin del
programa es lo siguiente:
Ejemplo
<font size="11.67">
#include <iostream>
int main(void){ std::cout << "Hola Mundo" << std::endl; return 0; }
</font>
Como se puede observar, este cdigo y el original no difieren en mucho salvo en los saltos de lnea y que los
comentarios, de los que se detallan posteriormente, estn omitidos y tan slo ha quedado "el esqueleto" del cdigo
legible para el compilador. Para el compilador, todo lo dems, sobra.
O este otro, que es, en parte, como el lenguaje C, en su versin C99, es:
Ejemplo
<font size="11.67">
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
printf( "Hola Mundo\n" );
return EXIT_SUCCESS;
// 'EXIT_SUCCESS' es una definicin que est dentro de 'stdlib.h'
// tambien funciona return 0
}
</font>
Nota: si se usa Windows, el cdigo es el mismo, pero debemos agregar un metodo mas para que el programa se
mantenga abierto y no se cierre la consola, cosa que en linux, no es necesaria por que la consola ya esta abierta (al
mandar a ejecutar).
Para esto podemos usar cin.get() que nos permitira leer del teclado, por lo que el programa no finalizara, hasta que el
usuario pulse enter.
Ejemplo
<font size="11.67">
#include <iostream>
int main(void)
Programacin en C++/Lo ms bsico
3
{
std::cout << "Hola Mundo" << std::endl;
std::cin.get();
//con 'std::cin.get();' lo que se hace es esperar hasta que el
usuario pulse enter.
return 0;
}
</font>
Los pasos siguientes son para una compilacin en Linux o sistema operativo Unix. En Windows tampoco es
aplicable.
Con ctrl-x ctrl-s se guarda el archivo. Ahora para generar el ejecutable del programa se compila con g++ de la
siguiente forma:
$ g++ hola.cpp -o hola
Para poder ver los resultados del programa en accin, se ejecuta el programa de la siguiente forma:
$./hola
Y a continuacin se debe mostrar algo como lo siguiente:
Hola Mundo
Comentarios
Cuando se escriben programas es muy til agregar comentarios que ayuden a explicar lo que realiza un programa. En
C++ se pueden utilizar tres tipos de comentarios: al estilo C, al estilo C++ y usando preprocesador.
Los comentarios al estilo C se caracterizan por lo siguiente: comenzar el "bloque" de comentarios con /* y terminar
dicho "bloque" de comentarios con */
Ej:
<font size="11.67">
/*
Este es un comentario al estilo C.
Todo lo escrito dentro de las etiquetas de apertura y cierre es un
comentario.
A estos comentarios se le llaman multilinea, logicamente
por el hecho de permitir varias lineas de comentarios.
*/
</font>
Si se usan este tipo de etiquetas de comentarios, hay que tener cuidado con el cierre (*/), por que el compilador
puede tomar todo el texto como comentario, o cerrar antes de lo deseado.
Usando el estilo de cdigo de C++ slo pueden ocupar una lnea como en el siguiente cdigo:
<font size="11.67">
// Este es un comentario al estilo C++
</font>
Programacin en C++/Lo ms bsico
4
Una buena prctica de programacin es pensar que se programa a sabiendas de que otro programador, tal vez el
lector mismo en un futuro, tenga que "desencriptar" qu quiso hacer ah y por qu.
Otra posible forma de comentar cdigo es usando el preprocesador. Esto se detallar ms adelante en profundidad,
por ahora la parte til del preprocesador que interesa es la siguiente:
<font size="11.67">
#if 0
Comentarios sobre el programa /parte del programa.
Pueden ocupar mltiples lneas.
Ms complicado de visualizar que los comentarios C/C++
#endif
</font>
Este tipo de comentarios se usan rara vez. Generalmente son difciles de localizar, incluso para programadores
experimentados que trabajan en papel, y son fciles de distinguir en casi cualquier IDE. Es recomendable indicar que
se tratan de comentarios, o directamente no usarlos, salvo si son grandes cantidades de comentarios. Se ver ms
adelante que tambin puede tener otros usos.
Utilizacin de la consola o terminal
En los ejemplos anteriores se utilizaron 'std::cout'. 'std::cout' es un "objeto" que permite escribir en la consola (la
terminal en Linux/Unix/MacOSX), solo se puede utilizar gracias a que se ha incluido definiciones de su uso con la
lnea de cdigo '#include <iostream>'.
<font size="11.67">
std::cout << ALGO;
</font>
Donde ALGO puede ser lo que sea que 'std::cout' sea capaz de mostrar por consola. Ms adelante se trata ms sobre
el en detalle y aclarando posibles dudas que ahora puedan surgir. Tambin se utiliz 'std::endl', esto permite que el
texto se escriba en una nueva lnea.
Un ejemplo ms completo sobre la escritura en consola es el siguiente. Ha de tenerse en cuenta que se han eliminado
algunos comentarios superfluos del primer programa debido a que ahora se est tratando con ms detalle acerca del
uso de imprimir texto en la consola:
Ejemplo
<font size="11.67">
// Programa que muestra diversos textos por consola
// Las libreras del sistema usadas son las siguientes
#include <iostream>
// Funcin: main
// Recibe: void
// Devuelve: int
// Es la funcin principal encargada de mostrar por consola diferentes
textos
int main(void)
{
Programacin en C++/Lo ms bsico
5
// Ejemplo con una nica lnea, se muestra el uso de std::cout y
std::endl
std::cout << "Bienvenido. Soy un programa. Estoy en una linea de codigo." << std::endl;
// Ejemplo con una nica lnea de cdigo que se puede fraccionar
mediante el uso de '<<'
std::cout << "Ahora "
<< "estoy fraccionado en el codigo, pero en la consola me muestro como una unica frase."
<< std::endl;
// Uso de un cdigo largo, que cuesta leer para un programador, y
que se ejecutar sin problemas.
// *** No se recomienda hacer lneas de esta manera, esta forma de
programar no es apropiada ***
std::cout << "Un gran texto puede ocupar muchas lineas."
<< std::endl
<< "Pero eso no frena al programador a que todo se pueda poner en una unica linea de codigo y que"
<< std::endl
<< "el programa, al ejecutarse, lo situe como el programador quiso"
<< std::endl;
return 0; // Y se termina con xito.
}
</font>
Se reta a compilar este cdigo y a observar sus resultados. En este momento el lector est capacitado para escribir
programas que impriman por pantalla el mensaje que se quiera.
Atencin: Se hace hincapi en la posibilidad de que las palabras acentuadas no se puedan mostrar en la consola.
Depende completamente del compilador el que se pueda ver lo siguiente:
<font size="11.67">
std::cout << "programacin";
</font>
Con algunos compiladores, ver 'programacin', pero con otros puede ver incluso 'programaci n'.
Advertencia: cout puede ser utilizado sin tener std:: de forma previa porque se puede introducir una directiva,
denominada 'using', que acomoda todos los cout. De otro modo habra un error de compilador. Este tema se trata en
detalle ms adelante.
<font size="11.67">
using namespace std;
</font>
Programacin en C++/Lo ms bsico
6
Sintaxis
Sintaxis es la forma correcta en que se deben escribir las instrucciones para el computador en un lenguaje de
programacin especfico. C++ hereda la sintaxis de C estndar, es decir, la mayora de programas escritos para el C
estndar pueden ser compilados en C++.
El punto y coma
El punto y coma es uno de los simblos ms usados en C, C++; y se usa con el fin de indicar el final de una lnea de
instruccin. El punto y coma es de uso obligatorio.
ejemplo

clrscr(); //Limpiar pantalla, funciona solo con la librera conio de


Borland C++
x = a + b;
string IP = "127.0.0.1"; // Variable IP tipo string
cout << IP << endl; // Devuelve 127.0.0.1
char Saludo[5] = "Hola"; // Variable Saludo tipo char
cout << Saludo[0] << endl; // Igual a H
cout << Saludo[1] << endl; // Igual a o
cout << Saludo[2] << endl; // Igual a l
cout << Saludo[3] << endl; // Igual a a
El punto y coma se usa tambin para separar contadores, condicionales e incrementadores dentro de un sentencia for
ejemplo
for (i=0; i < 10; i++) cout << i;
Espacios y tabuladores
Usar caracteres extras de espaciado o tabuladores ( caracteres tab ) es un mecanismo que nos permite ordenar de
manera ms clara el cdigo del programa que estemos escribiendo, sin embargo, el uso de estos es opcional ya que el
compilador ignora la presencia de los mismos. Por ejemplo, el segundo de los ejemplos anteriores se podra escribir
como:
for (int i=0; i < 10; i++) { cout << i * x; x++; }
y el compilador no pondra ningn reparo.
Tipos primitivos
En un lenguaje de programacin es indispensable poder almacenar informacin, para esto en C++ estn disponibles
los siguientes tipos que permiten almacenar informacin numrica de tipo entero o real:
Programacin en C++/Lo ms bsico
7
Nombre Descripcin Tamao* Rango de valores*
char Carcter o entero pequeo 1byte con signo: -128 to 127 sin signo: 0 a 255
short int
(short)
Entero corto 2bytes con signo: -32768 a 32767 sin signo: 0 a 65535
int Entero 4bytes con signo: -2147483648 a 2147483647 sin signo: 0 a
4294967295
long int (long) Entero largo 4bytes con signo: -2147483648 a 2147483647 sin signo: 0 a
4294967295
bool Valor booleano. Puede tomar dos valores: verdadero o
falso
1byte true o false
float Nmero de punto flotante 4bytes 3.4e +/- 38 (7 digitos)
double De punto flotante de doble precisin 8bytes 1.7e +/- 308 (15 digitos)
long double Long de punto flotante de doble precisin 8bytes 1.7e +/- 308 (15 digitos)
Los valores dependen de la arquitectura utilizada. Los mostrados son los que generalmente se encuentran en una
mquina tpica de arquitectura 32 bits.
El modificador long
El modificador long le indica al compilador que el tipo debe utilizar ms bits que los normalmente utilizados por
ejemplo si tenemos en una maquina de 32 bits como un Pentium de Intel, normalmente de un int ocupara 32 bits,
pero si al declararlo un entero le antecedemos long el entero ocupa 64 bits, el siguiente cdigo muestra como utilizar
este modificador:
int corto; // Entero de 32 bits
long int largo; // Entero de 64 bits
El Modificador short
Similar al anterior, pero indica que se deben utilizar menos bits. Por ejemplo, en un computador de 32 bits, un short
int ocupa 16 bits.
El Modificador unsigned
El modificador unsigned es utilizado nicamente con los enteros, su utilizacin permite utilizar en los enteros
nicamente la parte positiva,
int a; // Almacena valores entre -32768 y 32767
unsigned int a; // Almacena valores entre 0 y 65535
Programacin en C++/Lo ms bsico
8
El Modificador register
Este modificador sobre una variable le indica al compilador que la variable debe almacenarse en un registro en el
compilador, que para el caso de los IA32, es un registro real de la propia CPU, y por tanto el tiempo de acceso es
ms rpido respecto a la memoria RAM. Hoy en da apenas se utiliza este modificador, ya que los compiladores son
capaces de determinar de manera ptima la asignacin de registros a variables del programa.
El Modificador volatile
Al contrario que el modificador registrer, volatile obliga al compilador a forzar el cdigo resultante de manera que la
variable modificada con este modificador, sea almacenada siempre en la memoria. El efecto que tiene es que cuando
la variable se modifica con otro valor, dicha variable se almacena directamente en memoria y no queda localizado el
valor slo en el registro de la CPU como pasaba en el caso de register o en condiciones normales. Un uso muy
comn en el que se suele emplear este modificador, es para acceder a variables que estn siendo utilizadas por
drivers o por perifricos, ya que si no declarsemos esta propiedad, podra darse el caso que la CPU usase el valor de
la variable, por lo que la cach guarda el valor, y poco despus la CPU usase de nuevo dicha variable, pero como
sta est en cache, la CPU coge el valor que existe en la cach, que puede ser bien distinta al real puesto que un
posible perifrico puede haber modificado su valor.
El Modificador static
Dependiendo del entorno donde se declare la variable que la modifiquemos como static, puede significar dos cosas
muy distintas:
1. 1. Si declaramos una variable static dentro del cuerpo de una funcin, lo que estamos indicndole al compilador es
que dicha variable sea inicializada solo una vez (la primera vez que se llama a la funcin), y el resto de veces que
se llame a la funcin, la variable contendr el ltimo valor asignado. Esta variable slo podr ser visible desde la
funcin que declara dicha variable. Por ejemplo:
void mifuncion(){
static int i=0;
cout<<"En la entrada i vale "<<i<<endl;
for(int j=0;j<10;j++)
i++;
cout<<"En la salida i vale "<<i<<endl;
}
1. 1. Si declaramos una variable static fuera del cuerpo de una funcin, lo que le estamos indicando al compilador, es
que dicha variable es privada para el modulo donde se implementa el cdigo del contexto de la variable, es decir,
que otro fichero objeto binario, no podr tener acceso a dicha variable utilizando el modificador extern. Ejemplo:
#import "prueba.h"
//variable privada para prueba.cpp
static int i=0;
void mifuncion(){
cout<<"En la entrada i vale "<<i<<endl;
for(int j=0;j<10;j++)
i++;
cout<<"En la salida i vale "<<i<<endl;
}
Programacin en C++/Lo ms bsico
9
Tenga en cuenta que para este ltimo caso, usted podr acceder a la variable y desde cualquier funcin que defina
dentro de prueba.cpp, pero no tendr acceso desde cualquier fichero objeto o fuente que no sea prueba.cpp
Espacio que ocupan la variables (en mquinas x86)
El espacio en bits que ocupan en la computadora una variable de este tipo se puede ver en la siguiente tabla:
Tipo Nmero de Bits
char 8
short 16
int 32
long int 64
float 32
double 64
Rango de los Tipos Primitivos
El rango que puede almacenar los tipos primitivos en C++ es muy importante, para poder saber cual es el rango de
valores que puede almacenar un tipo es necesario conocer el nmero de bits del tipo. El caso para enteros y para
flotantes es distinto. Para enteros se debe saber si el tipo es con signo o sin signo. si es sin signo el rango de valores
que puede almacenar es el siguiente:
Si el tipo es con signo el rango es el siguiente
Para ilustrar lo anterior supongamos que tenemos un entero de 16 bits sin signo, entonces el rango de valores que
puede almacenar es el siguiente:
Para obtener el rango de un entero de 32 bits con signo se puede realizar el siguiente calculo:
El caso de los nmeros flotantes es distinto y depende en gran manera del compilador y el procesador que este
utilizando. Sin embargo hoy en da la mayora de los compiladores y los procesadores utilizan en estndar de la
IEEE para representacin en coma flotante. Para saber mas al respecto ver IEEE floating-point standard.
Tipos enumerados (enum)
Los tipos enumerados son un mecanismo usado en C y C++ con el objetivo de agrupar de alguna manera constantes
simblicas. Para definir tipos enumerados se usa la palabra reservada enum.
Ejemplo 1
enum dias { domingo, lunes, martes, miercoles, jueves, viernes, sabado
};
En el ejemplo anterior se define por medio de enum el tipo enumerado dias, en el mismo ejemplo se debe observar
que dentro de la construccin se definen las constantes simblicas: domingo, lunes, ... sabado; y que a las mismas el
compilador les asignar respectivamente y por defecto los valores: 0, 1, 2, 3, 4, 5, 6. Es decir, las constantes
mencionadas pueden usarse dentro del programa y este sabr a que valor hace referencia cada una de las mismas. Por
ejemplo, la instruccin: cout << domingo; desplegar 0 en la pantalla. El siguiente ejemplo muestra como usar las
Programacin en C++/Lo ms bsico
10
constantes enumeradas en un ciclo for.
for (int d = domingo; d <= sabado; d++) cout << d;
En el siguiente ejemplo se define por medio de enum el tipo enumerado colores, en el mismo se debe de observar la
elinacin del comportamiento por defecto ya que a la primera constante (gris) se le asigna en forma especfica el
valor de 7, de tal manera que la siguiente constante (grisoscuro) tendr un valor igual a 8 y la constante amarillo ser
igual a 14.
Ejemplo 2
enum colores { gris = 7, grisoscuro, amarillo = 14 };
Tipos definidos por el usuario
En muchas ocasiones descubriremos que los tipos primitivos no bastan para llevar a cabo ciertas tareas, debido a esto
el lenguaje C, C++ da el soporte necesario para que el programador defina sus propios tipos. Para definir tipos se usa
la palabra reservada typedef. Por ejemplo, si deseamos definir un tipo de dato llamado entero podemos usar la
sintaxis:
typedef int entero;
Luego, podremos declarar variables, constantes y funciones del tipo entero. Por ejemplo,
entero edad = 33;
Un uso ms til y comn es el empleo de typedef para definir datos estructurados. Por ejemplo, supongamos que
deseamos definir un tipo estructurado llamado persona y que contenga nombre, edad y sexo. Entonces podemos
definir persona como:
typedef struct persona {
char nombre[32];
int edad;
char sexo;
};
Una vez que un tipo ya se ha definido, el mismo puede emplearse para declarar variables y constantes de este. Por
ejemplo, con la instruccin:
persona hombre;
se est declarando la variable hombre del tipo persona. Luego, para acceder a cada elemento de la variable hombre
usaremos un mecanismo conocido como direccionamiento directo por medio del carcter de punto ( . ). Por
ejemplo, la edad de hombre se debe indicar como:
hombre.edad
Programacin en C++/Lo ms bsico
11
Variables y constantes
Una variable, como su nombre lo indica, es un determinado objeto cuyo valor puede cambiar durante el proceso de
una tarea especfica. Contrario a una variable, una constante es un determinado objeto cuyo valor no puede ser
alterado durante el proceso de una tarea especfica. En C, C++ para declarar variables no existe una palabra especial,
es decir, las variables se declarn escribiendo el tipo seguido de uno o ms identificadores o nombres de variables.
Por otro lado, para declarar constantes existe la palabra reservada const, as como la directiva #define. A
continuacin se muestran ejemplos de declaracin de variables y constantes.
Variables Constantes Constantes
int a; const int a = 100; #define a 100
float b; const float b = 100; #define b 100
Notas:
A diferencia de las constantes declaradas con la palabra const los smbolos definidos con #define no
ocupan espacio en la memoria del cdigo ejecutable resultante.
El tipo de la variable o constante puede ser cualquiera de los listados en Tipos primitivos, o bien de un
tipo definido por el usuario.
Las constantes son usadas a menudo con un doble propsito, el primero es con el fin de hacer ms legible el cdigo
del programa, es decir, si se tiene (por ejemplo) la constante numerica 3.1416 y esta representa al nmero pi,
entonces podemos hacer declaraciones tales como:
#define pi 3.1416
En este caso podremos usar la palabra pi en cualquier parte del
programa y el compilador se encargar de cambiar dicho simbolo por 3.1416.
o bien,
const pi = 3.1416;
En este otro caso podremos usar la palabra pi en cualquier parte del programa y el compilador se encargar de cambiar
dicho smbolo por una referencia a la constante pi guardada en la memoria.
Introduccion Arriba Iteraciones y decisiones
Fuentes y contribuyentes del artculo
12
Fuentes y contribuyentes del artculo
Programacin en C++/Lo ms bsico Fuente: http://es.wikibooks.org/w/index.php?oldid=224667 Contribuyentes: Alan, Cvmontuy, Davidcanar, Einsteinm2, El lobo, Igna, Jarisleif,
Jcaraballo, Julian.caba, LadyInGrey, ManuelGR, MarcoAurelio, Martinaguilar, Morza, Narutoeshacker15, Oleinad, Pirenne, Ruly, Savh, Taichi, The Fantasy Club, Vale Espin, 100 ediciones
annimas
Licencia
Creative Commons Attribution-Share Alike 3.0
//creativecommons.org/licenses/by-sa/3.0/

También podría gustarte