Vous êtes sur la page 1sur 23

Elementos bsicos de un lenguaje C++

CONTENIDOS

1. Estructura bsica de un programa C++.

2. Tipos de datos simples.

3. Constantes y variables en C++. Declaracin.

4. Operadores y expresiones.

5. Instrucciones de Entrada y Salida.

Algunas caractersticas de C++.

1
Estructura bsica
de un programa C++

2
Estructura de un programa C++

Directivas de preprocesador
Componente
Declaraciones globales ( varaibles globales, funciones, )
estructural
bsico: la funcin funcin main()
{
secuencia de declaraciones e instrucciones
Funciones }

funcin1()
{
secuencia de declaraciones e instrucciones
Una de las }
funciones ha de ser ...
main funcinN()
{
secuencia de declaraciones e instrucciones
}

Estructura de un programa C++

Un ejemplo sencillo de un programa que intercambia el valor de 2 nmeros:

Directiva de preprocesamiento Biblioteca de E/S por consola


Este programa usa la definicin de
cout para escribir por consola

#include <iostream>
int main() Cabecera de la funcin
{
int x, y;
int aux;
cin >> x >> y;
aux = x; Cuerpo de la funcin
x = y; {}
y = aux;
cout << x <<y;
return 0;
}

Metodologa y Tcnicas de Programacin I 2004/2005 4


Estructura de un programa C++

Un ejemplo sencillo de un programa que intercambia el valor de 2 nmeros:

#include <iostream>
int main()
{ Declaracin de variables locales
int x, y;
int aux; Flujo de entrada
cin >> x >> y;

aux = x; Flujo de salida por estndar (pantalla)


x = y;
y = aux; << : operador de insercin
para flujos de salida
cout << x <<y;

return 0; Devuelve el valor-resultado


}

Estructura de un programa C++

Directivas del preprocesador

Los compiladores de C++ proporcionan bibliotecas de funciones.


Cada biblioteca de funciones tiene asociada un archivo de definicin que se
denomina cabecera.
Para utilizar algo de una biblioteca en un programa, hay que colocar al
principio del programa una directiva de preprocesamiento seguida de la
cabecera de la biblioteca
entre ngulos. Instrucciones al compilador antes
de que se compile el programa principal
# include <iostream>
Las directivas ms usuales son:
# include
Indica al compilador que lea las directivas
# define
antes de compilar la funcin principal

Metodologa y Tcnicas de Programacin I 2004/2005 6


Estructura de un programa C++

Directivas del preprocesador Constante de cadena de caracteres

Por ejemplo, para mostrar datos en la pantalla


podemos usar el operador << con el elemento
#include <iostream.h>
cout,
int main() cout << Hola amigos;
{
cout << Hola amigos; Pero para poder usar cout y << debemos incluir
return 0; la biblioteca donde estn definidos.
}
Esta biblioteca tiene como archivo de cabecera
iostream.h

Una vez que se incluye el archivo de cabecera, se puede utilizar todo lo que
est definido en ella.

Estructura de un programa C++

Directivas del preprocesador

Existen archivos de cabecera estndar muy utilizados

stdlib.h Uso de funciones de cadena


string.h
Uso de funciones math.h
matemticas conio.h Uso de funciones de E/S
iostream.h
type.h
Funciones de clasificacin de caracteres

El uso ms frecuente en C++ de las directivas del preprocesador es la


inclusin de archivos de cabecera, pero tambin se usan para definir
macros, nombres de constantes, etc.

Metodologa y Tcnicas de Programacin I 2004/2005 8


Estructura de un programa C++

La funcin main()
Una funcin C++ es un subprograma que devuelve un valor, un conjunto
de valores o realiza una tarea especfica.
Todo programa C++ tiene una nica funcin main() que es el punto
inicial de entrada al programa.
Las sentencias escritas entre las
#include <iostream.h> llaves se denomina BLOQUE

main() #include <iostream.h>


{
int main()
... Llamadas a {
} otras funciones entrada_datos();
proceso_datos();
return 0;
Si se intenta declarar dos funciones ...
main() dentro del programa se produce error. }

Estructura de un programa C++

Comentarios

Un comentario es cualquier informacin que se escribe el en programa


para proporcionar informacin de cualquier tipo.
#include <iostream.h>
Podemos escribir los
/* podemos hacer
comentarios que ocupen comentarios de dos
varias lneas */ formas diferentes
int main()
{
int x, y;
int aux; // ste es un comentario de una sola lnea
cin >> x >> y;
...
return 0;
}

Metodologa y Tcnicas de Programacin I 2004/2005 10


2
Tipos de datos simples

Tipos de datos bsicos en C++

El tipo de dato determina la naturaleza del valor que puede tomar una
variable.Un tipo de dato define un dominio de valores y las operaciones
que se pueden realizar con stos valores.

C++ dispone de unos cuantos tipos de datos predefinidos (simples) y permite


al programador crear otros tipos de datos

Tipo de datos bsicos

int ( Nmeros enteros )


float ( Nmeros reales )
double ( Nmeros reales ms grandes que float )
bool ( Valores lgicos )
char ( Caracteres y cualquier cantidad de 8 bits )
void ( Nada. Sirve para indicar que una foncin no devuelve valores )

Metodologa y Tcnicas de Programacin I 2004/2005 12


Tipos de datos bsicos en C++

Tipo int Nmeros enteros

Tamao en bytes: 2 bytes (16 bits)


Dominio: son todos los nmeros enteros entre los valores
-32.768 y 32.767
Operaciones:
int int int
+ Suma
- Resta
Prioridad de los
* Producto operadores:
/ Divisin entera
% Resto de la divisin entera ++, - - 10*5++
(mdulo) - , + (unario) -3
* , /, % 3*5
-,+ Signo negativo, positivo +, - 6+7
++ Incrementacin
-- Decrementacin int int 106

Tipos de datos bsicos en C++

Operadores de incrementacin y decrementacin

Se trata de los operadores: ++ --

Suma una unidad


Son equivalentes a su argumento Resta una unidad
a su argumento

Si precede al operando, se realiza la operacin ++


m = m + 1;
o -- y luego se realiza la asignacin.
m++;
++m; x = 10;
y = ++x; // y vale 11

x = 10; Si sigue al operando, se realiza la asignacin y


y = x++; // y vale 10
posteriormente se realiza la operacin ++ o --

Metodologa y Tcnicas de Programacin I 2004/2005 14


Tipos de datos bsicos en C++

Tipo float Nmeros reales

Tamao en bytes: 4 bytes


Dominio: son todos los nmeros reales que contienen una coma decimal
comprendidos entre los valores:
3,4 10-38 y 3,4 1038
Operaciones:
float float float
+ Suma
- Resta
* Producto La prioridad de los
/ Divisin en coma flotante operadores es la misma
que para el tipo int
-,+ Signo negativo, positivo
++ Incrementacin
-- Decrementacin float float

Tipos de datos bsicos en C++

Tipo double Igual que float pero ms grandes

Tamao en bytes: 8 bytes Nmeros reales


Dominio: son todos los nmeros reales que contienen una coma decimal
comprendidos entre los valores:
1,7 10-308 y 1,7 10308
Operaciones:
double double double
+ Suma
- Resta
* Producto La prioridad de los
/ Divisin en coma flotante operadores es la misma
que para el tipo int
-,+ Signo negativo, positivo
++ Incrementacin
-- Decrementacin double double

Metodologa y Tcnicas de Programacin I 2004/2005 16


Tipos de datos bsicos en C++

Adems de stas operaciones, C++ dispone de un gran conjunto de


funciones matemticas.
Funciones:

abs: int int Calcula el valor absoluto de un nmero


ceil: double double Calcula el nmero entero mayor o igual que el dado
floor: double double Redondea por defecto el valor de un nmero
fmod: double double double Calcula el resto de la divisin real de dos nmeros
sqrt: double double Calcula la raz cuadrada de un nmero

#include <math.h> Los archivos de cabecera que


{
x = abs(-7) // x vale 7 contienen stas funciones son
y = ceil (5.2) // y vale 6 entre otras:
z = floor (5.2) // z vale 5 math.h
resto = fmod(5.0, 2.0) // resto vale 1 float.h
} complex.h

Tipos de datos bsicos en C++

Tipo bool
Tamao en bytes: 1 byte
Dominio: dos nicos valores: { true, false }

No todos los compiladores de C++ tienen ste tipo de dato. En su lugar se utiliza el tipo int
para representar el tipo de datos bool, de forma que el valor entero 0 representa false y
cualquier otro valor representa true.

Falso Cero
Verdadero Distinto de cero

Operaciones:
bool bool bool Prioridad de
&& Y lgica (and) los operadores
|| O lgica (or)
!
bool bool
! Negacin lgica (not) &&, ||

Operadores lgicos
Tipos de datos bsicos en C++

Tabla de verdad:
A B !A A && B A || B
T T F T T
T F F F T
F T T F T
F F T F F

Operadores relacionales:

== Igual a
!= Distinto Operadores relacionales
> Mayor que
< Menor que
Los operadores relacionales se utilizan
>= Mayor o igual que para comprobar una condicin
<= Menor o igual que

Tipos de datos bsicos en C++

Escritura de valores bool

Raramente se tiene la necesidad de escribir o leer valores de tipo


bool ya que ste tipo de datos se utiliza sobre todo para evaluar
expresiones lgicas.
En caso necesario, si escribimos un dato de tipo bool cuyo valor es
true, en consola se visualiza el valor 1.
La lectura es anlogo.

Metodologa y Tcnicas de Programacin I 2004/2005 20


Tipos de datos bsicos en C++

Tipo char
Tamao en bytes: 1 byte
Dominio: dgitos, letras maysculas, letras minsculas y signos de
puntuacin.
Internamente, los caracteres se almacenan como nmeros. El tipo char
representa valores en el rango -128 y 127 y se asocian con el cdigo
ASCII. As, el carcter A se almacena como el nmero 65, etc ...

0 < 1 < 2 . < 9 < A < B < < Z < a < b < < z

Tipos de datos bsicos en C++

Operaciones:

Dado que los caracteres se almacenan internamente como nmeros


enteros, se pueden realizar operaciones aritmticas con los datos de tipo
char. Se puede sumar un entero a un carcter para obtener otro cdigo
ASCII diferente.
Ms adelante veremos que, en unin
con la estructura array, se pueden almacenar
Ejemplos: cadenas de caracteres.

Para convertir una letra minscula en mayscula basta con restar 32.
a - 32 = A
Para convertir una letra mayscula en minscula basta con sumar 32.
B + 32 = b
Para convertir el carcter 4 en el nmero 4 basta con restar 48.
4 - 48 = 4
Metodologa y Tcnicas de Programacin I 2004/2005 22
Tipos de datos bsicos en C++

Funciones:

isdigit: char int Devuelve TRUE si el carcter es: 0, ,9


isalpha: char int Devuelve TRUE si el carcter es: A, ,Z, a, , z.
islower: char int Devuelve TRUE si el carcter es una letra minscula: a, , z.
isupper: char int Devuelve TRUE si el carcter es una letra mayscula: A, , Z.
tolower: char char Convierte un carcter mayscula en minscula.
toupper: char char Convierte un carcter minscula en mayscula.

#include <ctype> char c = 65;


{
... El archivo de cabecera que
char c = A; contiene stas funciones es:
c = tolower (c); // c vale a
t = isdigit(c) ; // t vale O (FALSE) ctype.h
...
}

Tipos de datos bsicos en C++

Modificadores de tipos de datos

Los tipos de datos int, double y char tienen variaciones o modificadores


de tipos de datos.
Permiten un uso ms eficiente
Son modificadores los siguientes: de los tipos de datos

signed unsigned
short log

Rango de valores
unsigned int 0 65625
long double -3,37 10-4932 3,37 104932
long int -2147483648 2147483647

Metodologa y Tcnicas de Programacin I 2004/2005 24


Tipos de datos bsicos en C++

Las computadoras realizan numerosas operaciones para la resolucin de


problemas,
- Operaciones aritmticas y lgicas.
- Operaciones condicionales.
...
Adems, puede ocurrir que en una misma expresin concurran varios tipos
de datos. Ante sta situacin, debemos saber cmo se comporta el
compilador. Tipos de mayor
+ a menor
long double
double
Cuando los dos operandos son de
float
tipos distintos, el de tipo menor se
int
promociona
short int
al de tipo mayor.
char
-

Tipos de datos bsicos en C++

En cuanto a la memoria que #include <stdio.h>


#include <iostream.h>
ocupa cada tipo:
int main()
{
int i;
Esto no siempre es cierto, i = sizeof( int )*8;
depende del ordenador y
cout <<"Tamao (en bits) del tipo int = " ;
del compilador. cout << i;
return 0;
}

Tipo de Datos N de
datos almacenados Bytes Para saber en nuestro caso
char caracteres 1
int enteros 2
qu tamao tienen nuestros
float reales 4 tipos de datos debemos
double reales 8 hacer lo siguiente
bool lgicos 1

Metodologa y Tcnicas de Programacin I 2004/2005 26


3
Constantes y variables C++

Constantes y Variables

Son porciones de memoria que almacenan un valor.


Las variables son palabras que manipulan datos. Dicho valor puede ser
modificado en cualquier momento durante la ejecucin del programa.
Una constante es una variable cuyo valor no puede ser modificado.
Las variables pueden almacenar todo tipo de datos: caracteres, nmeros,
estructuras, etc Dependiendo del valor de la variable, decimos que dicha
variable es de un tipo de dato.
Tanto las variables como las constantes estn constituidas por un nombre y un
valor. El nombre lo llamaremos identificador.

Toda variable utilizada en un programa debe ser declarada previamente. En


C++, sta declaracin puede situarse en cualquier parte del programa.
Variables globales
Dependiendo de dnde se definan, Variables locales
tenemos varios tipos:
Parmetros

Metodologa y Tcnicas de Programacin I 2004/2005 28


Constantes y Variables

Declaracin de variables

La declaracin de una variable consiste en escribir un sentencia que


proporciona informacin al compilador de C++.

El compilador reserva un espacio de almacenamiento en memoria.


Los nombres de las variables se suelen
escribir en minsculas. En C++ las variables no se
actualizan automticamente
El procedimiento para declarar una variable:

<tipo_de_dato> <nombre_de_variable> ; int x;

<tipo_de_dato> <lista de variables> ; char x, y, z;

<tipo_de_dato> <nombre_de_variable> = valor; long int i =10, j, k=0;

Constantes y Variables

Una forma de expresar el procedimiento para declarar una variable es


mediante los diagramas sintcticos:

Declaracin de variables

Tipo de dato Nombre_de_variable ;

= Valor_inicial ,

Declaraciones locales
Son variables locales aquellas que estn declaradas dentro de las
funciones o de los bloques.

Metodologa y Tcnicas de Programacin I 2004/2005 30


Constantes y Variables

Declaraciones globales ( variables globales, funciones, )


La zona de declaraciones globales de un programa puede incluir
declaraciones de variables y declaraciones de funciones (prototipos).

Las funciones y variables


aqu declaradas, se pueden
utilizar en cualquier punto
del programa.

Parmetros
Definidos en la lista de parmetros
formales de las funciones.

Constantes y Variables

Ejemplos:
Variables locales

int funcion1()
{
int i;
if ( i= =1)
{ La variable m solo
char m=s; existe en ste bloque
.
} Parmetros

/* aqu no se conoce a m */
int calcular(int i, float j)
} {
... ...
}
...

Metodologa y Tcnicas de Programacin I 2004/2005 32


Constantes y Variables

Declaracin de Constantes
Una constante es una variable cuyo valor no puede ser modificado.
Los nombres de las constantes se suelen escribir en maysculas.

1. Constantes declaradas const


La palabra reservada const es un calificador de tipo variable e indica que el valor
de variable no se puede modificar.

const <tipo_de_dato> <nombre_de_constante> = <valor> ;

Ejemplos
const int DIAS = 7;
const char VACIO = ;
const char PORCENTAJE = % ; Si se intenta modificar una variable
... definida con const, se produce error.

Constantes y Variables

2. Constantes definidas
Se declaran mediante la directiva #define

#define <nombre_de_constante> <valor> No se especifica


el tipo de dato

Ejemplos No aparece ;
#define pi 3.14 al final de la sentencia
#define fin F
... No aparece el
smbolo =

Es ms recomendable utilizar const en lugar de #define ya que el compilador


genera cdigo ms eficiente.

Metodologa y Tcnicas de Programacin I 2004/2005 34


Constantes y Variables

3. Constantes enumeradas
Las constantes enumeradas permiten crear listas de elementos afines.

Ejemplo de constante enumerada


de una lista de colores Se comporta como
cualquier otro tipo de
datos.
enum Colores {Rojo, Verde, Azul, Amarillo}; Se pueden declarar
enum Botones {Salir, Jugar}; variables de tipo
enumerado.
Colores favorito = Rojo;

enum <nombre_de_constante> { <lista_de_valores> };

El compilador asigna un nmero a cada elemento del conjunto (comenzando con 0).

Constantes y Variables

Ejemplo del funcionamiento de enumeraciones

#include <iostream.h>

int main()
{
enum Dias { Lunes, Martes, Miercoles, Jueves, Viernes };
Dias libre = Viernes; // Dias libre = 4;
cout << libre; // se visualiza por pantalla el nmero 4
return 0;
}

Metodologa y Tcnicas de Programacin I 2004/2005 36


4
Operadores y expresiones

Operadores y Expresiones

1. Instrucciones de asignacin.

<nombre_de_variable> = <expresin> ;

Puede ser otra variable, una constante o una operacin


entre variables y constantes.

El operador asignacin (=) asigna el valor de la expresin derecha a la


variable situada en la izquierda de la instruccin.

Podemos tener en C++ varios operadores de asignacin:

= += -= *= /= %=

Metodologa y Tcnicas de Programacin I 2004/2005 38


Operadores y Expresiones

Ejemplos:

m = n; // asigna el valor de n a m

m += n; m = m + n; //suma m y n y lo asigna a la variable m

m -= n; m = m- n; // resta m menos n y lo asigna a la variable m

m *= n; m = m * n; //multiplica m por n y lo asigna a la variable m

m /= n; m = m / n; //divide m entre n y lo asigna a la variable m

m %= n; m = m % n; //calcula el resto de la div. entera y lo asigna a la variable m

Instruccin abreviada.

Operadores y Expresiones

Ms ejemplos:

Podemos dar valores a varias variables a la vez

m = n = t = 10; // Damos a las variables m, n y t el valor 10

m = n = t = a; // las variables m, n y t toman el valor de la variable a

Tambin podemos asignar a varias variables el valor de otra de un slo golpe

Metodologa y Tcnicas de Programacin I 2004/2005 40


Operadores y Expresiones

2. Operador de direccin: &


Cuando se declara una variable, se le asocian tres caractersticas:
- nombre de la variable
- tipo de la variable
999
998 - direccin de memoria
997
El valor de la variable x es A.

char x = A; La direccin de memoria es 2.

Para conocer la direccin de memoria donde se encuentra


2 1000001 x
almacenada la variable, se puede utilizar el operador &.
1 1001111
0 0000001

Se visualiza el valor: A
cout << x;
cout << &x;
Se visualiza la direccin: 2

Operadores y Expresiones

Referencias
Puede ser interesante declarar dos variables con la misma direccin de
memoria. Para realizar sta tarea tambin utilizamos el operador &.

<tipo> & <variable> = <variable>; La direccin de la variable p


es la misma que la direccin
#include <iostream.h> de la variable x
999
998 int main()
997 {
char x = A;
char & p = x;
cout << x << p;
p p = b; // x tambin vale b
cout << x << p;
2 1000001 x ...
1 1001111
return 0;
0 0000001 }

Metodologa y Tcnicas de Programacin I 2004/2005 42


5
Instrucciones de
Entrada / Salida

Instrucciones de Entrada / Salida

En C++ la entrada y salida se lee y escribe en flujos. Cuando se incluye la


biblioteca iostream.h en el programa, se definen automticamente dos flujos:

Flujo cin (se utiliza para la entrada de datos) Permiten la comunicacin del
ordenador con el exterior para
Flujo cout (se utiliza para la salida de datos) tomar datos o devolver resultados

Esta biblioteca tambin nos proporciona dos operadores, uno de insercin ( <<),
que inserta datos en el flujo cout y otro operador de extraccin ( >> ) para
extraer valores del flujo cin y almacenarlos en variables.
Salto de lnea
cout << x;
cout << x << y << z << endl;
cin >> a; cout << x vale: << x;
cin >> a >> b >> c; cout << Hola\n; \n tambin provoca
salto de lnea

Metodologa y Tcnicas de Programacin I 2004/2005 44


Instrucciones de Entrada / Salida

C++ utiliza secuencias de escape para visualizar caracteres que no estn


representados por los smbolos tradicionales.

Las ms utilizadas las mostramos en la siguiente tabla:

\n Retorno de carro y avance de lnea


\t Tabulacin
\a Alarma
\ Dobles comillas
\\ Barra inclinada

cout << Hola\n;
cout << Lunes\t Martes\t Miercoles\t ;
cout << "\a ;

CARACTERSTICAS DEL LENGUAJE C++:

Se distingue entre maysculas y minsculas.


Palabras clave: siempre en minsculas.
Lenguaje estructurado pero no estrictamente estructurado en bloques
(no se pueden definir funciones dentro de otras funciones).
Todas las sentencias y declaracin de variables terminan en punto y
coma.
La ejecucin siempre comienza con la funcin main()

Metodologa y Tcnicas de Programacin I 2004/2005 46

Vous aimerez peut-être aussi