You are on page 1of 38

lenguaje C++

Contenido
El lenguaje C++: Datos, operadores y expresiones Variables y constantes en C++
Declaracin de variables Inicializacin Constantes Identificadores

Tipos de datos
Tipos de datos simples

Algo de Entrada / Salida Estructura de un programa C++


Algunas caractersticas sintcticas heredadas de C Estructura de un programa

TEMA 1 - 1

Introduccin al lenguaje C++

La base de C++: el lenguaje C

Incluye las construcciones tpicas de los lenguajes estructurados (distintos tipos de condicionales y bucles). Componente estructural bsico: la funcin. Otra forma de estructuracin: el bloque de cdigo.

if (x < 10) { cout << "muy pequeo, pruebe de nuevo"; reini_contador(-1); } Un bloque de cdigo

(delimitado por llaves)

TEMA 1 - 2

Introduccin al lenguaje C++

La base de C++: el lenguaje C

Exige declarar cualquier entidad que se utilice en el programa. Se ha buscado un lenguaje mnimo: se ha incluido en bibliotecas muchas funciones que en otros lenguajes se deja en el ncleo.

Siempre que se use una funcin u operacin definida en una biblioteca hay que indicar al compilador dnde encontrarla.

TEMA 1 - 3

Introduccin al lenguaje C++

La base de C++: el lenguaje C


Se distingue entre maysculas y minsculas. Palabras clave: en minsculas. Cada instruccin (declaraciones o ejecutables) termina por ; Forma de los comentarios: /* Un comentario de prrafo. Lo normal es que se extienda a lo largo de varias lneas. La marca de cierre se suele colocar bajo la de apertura. */ /****************************/ // Un comentario que acaba al final de esta lnea.

TEMA 1 - 4

Introduccin al lenguaje C++

La base de C++: el lenguaje C

Las cadenas de caracteres se encierran entre comillas dobles a.

Los tipo carcter se encierran entre comillas simples a.


Los bloques de cdigo se encierran entre llaves { }

TEMA 1 - 5

Introduccin al lenguaje C++ Estructura de un programa C++.


Un mdulo de programa se compone de dos partes:

SECCIN DE DECLARACIONES GLOBALES: Contiene la definicin de las entidades comunes a todas las funciones del programa. SECCIN DE DEFINICIN DE FUNCIONES: Puesto que el componente estructural bsico es la funcin un mdulo de programa se compone de funciones. Debe existir siempre una funcin llamada main , nombre que no puede repetirse en ninguna otra entidad del programa.

La ejecucin del programa empieza siempre por la funcin main (donde quiera que est). Debe devolver un valor que refleje el estado de error del programa. Devolver el valor 0 significa que el programa termin normalmente y sin errores.
TEMA 1 - 6

Introduccin al lenguaje C++


Forma general de un mdulo de programa
declaraciones globales
funcin main( ) {

funcin2( ) {
} ...

secuencia de declaraciones e instrucciones


Funciones

secuencia de declaraciones e instrucciones

funcin1( ) { }

secuencia de declaraciones e instrucciones

funcinN( ) { }

secuencia de declaraciones e instrucciones

TEMA 1 - 7

Introduccin al lenguaje C++


Las bibliotecas de funciones
Cada biblioteca de funciones tiene asociada un archivo de definicin que se denomina archivo de cabecera (o simplemente cabecera). Los archivos de cabecera en C tienen la extensin .h y contienen las declaraciones de los elementos de programa (datos y funciones) que la biblioteca exporta (pone a disposicin). Para utilizar algo de una biblioteca en un mdulo de programa hay que colocar al principio una directiva de preprocesamiento #include seguida del nombre del correspondiente archivo de cabecera entre comillas dobles o ngulos: #include <cabecera> Programacin modular (compilacin separada de mdulos)

TEMA 1 - 8

Introduccin al lenguaje C++


Las bibliotecas de funciones
Por ejemplo, para mostrar datos en la pantalla podemos usar el operador << con el elemento cout, que representa la salida estndar (la pantalla normalmente): cout << dato; Pero para poder usar cout y su operador << (que, por cierto, se denomina insertor) debemos incluir la biblioteca donde estn definidos; se trata de la biblioteca cuyas declaraciones se encuentran en el archivo de cabecera iostream.h: #include <iostream.h> Una vez que se incluye el archivo de cabecera se conocen las declaraciones de la biblioteca y, por tanto, se puede usar lo que est definido en ella.

TEMA 1 - 9

Introduccin al lenguaje C++


Un ejemplo de programa
Cabecera de la funcin:

#include <iostream.h>

tipo de dato que devuelve nombre lista de parmetros entre parntesis

Funcin int main() Cabecera de la funcin { Cuerpo de la funcin: bloque { ... } cout << "Me gusta programar en un C++\n"; return 0; } La ejecucin siempre comienza con la funcin main()

TEMA 1 - 10

Introduccin al lenguaje C++


Un ejemplo de programa
Directiva de preprocesamiento Biblioteca de E/S por consola
Este programa usa la definicin de cout como salida estndar y el operador << que se le aplica

#include <iostream.h>

int main() { cout << "Me gusta programar en C++\n";

return 0;
} Las palabras reservadas las mostraremos en azul para resaltarlas
TEMA 1 - 11

Introduccin al lenguaje C++


Un ejemplo de programa
El punto y coma (;) es un terminador de instrucciones (declaraciones o ejecutables)

#include <iostream.h>

cout: flujo de salida estndar


(normalmente la pantalla)

int main() {

(insertor) para flujos de salida Enva al flujo el operando derecho

<<: operador de insercin

cout << "Me gusta programar en C++\n"; return 0; Constante de cadena de caracteres: "..." Secuencias de escape (constantes de carcter de barra invertida)

Devuelve el valor-resultado >>> Prog0001


TEMA 1 - 12

El lenguaje C++: Datos, operadores y expresiones

Declaracin de variables en C++


En C++ todas las variables deben declararse.

Nombres de identificadores
Longitud: entre uno y 32 caracteres. Primer carcter: una letra o un subrayado Resto de caracteres: letras, nmeros o subrayados

Se les asigna un tipo Se les asigna un identificador


En C++ la declaracin es una instruccin.

La variable existe desde la instruccin de declaracin hasta que termina el bloque donde ha sido declarada.
//Declaracin de variables Tipo1 suma; Tipo2 Suma; Tipo3 SUMA; C++ distingue entre minsculas y maysculas

TEMA 1 - 13

El lenguaje C++: Datos, operadores y expresiones

Inicializacin y asignacin de variables


En C++ las variables se crean con valor indefinido.

PELIGRO, antes de utilizar una variable: tiene el valor adecuado?


C++ permite dar valor a una variable al mismo tiempo que se declara Para dar valor a una variable se usa el operador =.

//Declaracin de variables con valor


TipoEntero suma = 3 ; TipoLetra carcter = a;

TEMA 1 - 14

El lenguaje C++: Datos, operadores y expresiones

Inicializacin y asignacin de variables


Se pueden declarar varias variables en una misma instruccin separndolas por comas.
tipo suma, entero = valor1, numero; //es ms fcil entender lo siguiente tipo suma;

tipo entero = valor1;


tipo numero;

TEMA 1 - 15

El lenguaje C++: Datos, operadores y expresiones

Inicializacin y asignacin de variables


Una instruccin de asignacin se ejecuta de derecha a izquierda. NO ES UNA IGUALDAD.
//declaracin tipo numero1, numero2, numero3, numero4 = 10; //asignaciones numero1 = 100; numero2 = 200; numero3 = 300; numero1 = numero2 = numero3; numero4 = (numero2 = numero4) + 10; //Cunto valen numero1, numero2, numero3, numero4?

TEMA 1 - 16

El lenguaje C++: Datos, operadores y expresiones

Constantes
Una constante una programacin es una variable cuyo valor no vara a lo largo de la ejecucin. El valor se asigna en el momento de la declaracin.
tipo const NombreConstante = ValorConstante;

En C++ el valor de una constante puede ser el resultado de un clculo.

TEMA 1 - 17

El lenguaje C++: Datos, operadores y expresiones

Tipos de datos simples predefinidos en C++

bool
conjunto de valores. valores lgicos (true / false).
operaciones. 1. Operaciones lgicas. Entre valores tipo bool. Devuelven tipo bool. expr1 && expr2: true si las dos son true. expr1 || expr2: false si las dos son false. !exprb: valor contrario del que tiene exprb. 1. Comparaciones de igualdad. Entre valores del mismo tipo, devuelven un tipo bool (==, !=, <, >, >=, <=).

TEMA 1 - 18

El lenguaje C++: Datos, operadores y expresiones

Tipos de datos simples predefinidos en C++

Bool. Operaciones lgicas: tablas de verdad. A


0 0 1 1

B
0 1 0 1

A && B
0 0 0 1

A || B
0 1 1 1

!A
1 1 0 0

TEMA 1 - 19

El lenguaje C++: Datos, operadores y expresiones

Tipos de datos simples predefinidos en C++

int 3. Incremento y Decremento. var ++; var --; 4. Relacionales. >, >=, <, <=, ==, !=.
Su resultado es siempre un tipo entero que se interpreta como bool (1 cierto, 0 falso).
Bool b1, b2; int x = 4, y = 5; b1 = y < 4; x++; b2 = x = = y;

PROBAR:
x= 10; y= x++; //valor de y? X =10; Y= ++x; //valor de y?

TEMA 1 - 20

El lenguaje C++: Datos, operadores y expresiones

Tipos de datos simples predefinidos en C++

char
conjunto de valores. Caracteres y cualquier cantidad de 8 bits. operaciones. Todas las de los enteros (en C++ los caracteres son tratados como nmeros).
char c1 = a, c2 = b, c3 = A; bool b1, b2; b1 = c2 > c1; b2 = c3 > c1; //Peligro: el resultado depende del sistema. C2 ++; //Siguiente carcter en orden alfabtico.

TEMA 1 - 21

El lenguaje C++: Datos, operadores y expresiones

Tipos de datos simples predefinidos en C++

float
conjunto de valores.
nmeros reales (entre 1.18E38 y 3.4E+38, y sus negativos). operaciones. +, -, *, /.

double
nmeros reales ms grandes (entre 2.23E308 y 1.79E+308, y sus negativos).

TEMA 1 - 22

El lenguaje C++: Datos, operadores y expresiones

Resumen: tipos de datos simples predefinidos

char caracteres y cualquier cantidad de 8 bits. int cantidades enteras (entre 32768 y 32767). float nmeros reales (entre 1.18E38 y 3.4E+38, y sus negativos). double nmeros reales ms grandes (entre 2.23E308 y 1.79E+308, y sus negativos). bool valores lgicos (true / false). void nada (indica, por ejemplo, que una funcin no devuelve valor).
TEMA 1 - 23

El lenguaje C++: Datos, operadores y expresiones

Modificadores de tipos

(un)signed

short/long
modificador int
(long int como long)

Se altera el significado de un tipo base

unsigned short int: 0 a 255


unsigned int: 0 a 65535 long int: 2147483648 a 2147483647 unsigned long int: 0 a 4294967295

modificador

se abrevia a

long double: 3.37E-4932 a 1.18E+4932, y sus negativos

TEMA 1 - 24

El lenguaje C++: Datos, operadores y expresiones

Instrucciones de asignacin
variable = expresin;
Conversin automtica de tipos
Promocin de tipo: cuando los dos operandos son de tipos distintos, el del tipo menor se promociona al tipo mayor. Tipos de mayor a menor:
long double double float long int int short int char
TEMA 1 - 25

El lenguaje C++: Datos, operadores y expresiones

Expresiones
Los operadores, las constantes y las variables son lo que constituyen las expresiones. Una expresin es cualquier combinacin vlida de esos elementos (como en otros lenguajes).

Moldes (casts)
Fuerzan a que una expresin sea de un tipo determinado. (tipo) expresin
(float) x/2 asegura que el resultado es float

Hay otras formas de moldes que se vern en su momento.

TEMA 1 - 26

El lenguaje C++: Datos, operadores y expresiones

Constantes literales
Tipo de dato char int long int unsigned int float double bool Ejemplos 'a' '9' '\n' 1 123 21000 234 35000 34 10000 987 40000 123.23 4.34e3 12312333 0.9876324 true false
Constantes de barra invertida
Para representar caracteres especiales:

\n \t
...

salto de lnea

tabulacin

Adems, constantes de cadena: "Esto es una prueba"

TEMA 1 - 27

El lenguaje C++: Datos, operadores y expresiones

Algo de Entrada / Salida


En C++ se puede escribir y leer como en C stdio.h. O con las funciones incluidas en la biblioteca iostream.h Canal de entrada cin. Canales de salida cout (cerr).

En estos canales las entradas y salidas estn en formato legible (son tipo texto)

TEMA 1 - 28

El lenguaje C++: Datos, operadores y expresiones

Algo de Entrada / Salida. cout.


Se puede escribir por el canal de salida utilizando el operador << (insertor). Se puede escribir cualquier tipo de dato predefinido.
int iteraciones = 0; double pi; /*Calculo de una aproximacin de pi tras un cierto n de iteraciones*/ cout << La aproximacion a pi tras ; cout << iteraciones; cout << iteraciones es: ; cout << pi; /***********************************************/

TEMA 1 - 29

El lenguaje C++: Datos, operadores y expresiones

Algo de Entrada / Salida. cout.


El insertor se puede secuenciar.
cout << La aproximacion a pi tras << iteraciones << iteraciones es << pi << \n;

Para los detalles de presentacin se puede utilizar manipuladores (en iomanip.h


setw(anchura). Sirve para especificar la anchura de mnima que ocupar el

siguiente dato.

setprecision(numdecimales). Establece el nmero de decimales que se

mostrarn en los siguientes nmeros en coma flotante.


cout cout cout cout cout <<

<< setw(13) << 32 << \n; << setw(13) << 0.123456789123456789 << n; << setw(4) << HOLA CARACOLA << \n; << setw(32) << HOLA CARACOLA << \n; << setw(13) << setprecision(15) << 0.12345678901234567890 n;

TEMA 1 - 30

El lenguaje C++: Datos, operadores y expresiones

Algo de Entrada / Salida. cin.


Se puede escribir por el canal de salida utilizando el operador >> (extractor). Se puede leer cualquier tipo de dato predefinido.
int entero1, entero2, suma; //Calcula la suma de dos enteros y la muestra cout << Introduzca primer valor entero: \n; cin >> entero1; cout << Introduca segundo valor entero: \n; cin >> entero2; suma = entero1 + entero2; cout >> El resultado de la suma es: << suma; /***********************************************/

TEMA 1 - 31

El lenguaje C++: Datos, operadores y expresiones

Algo de Entrada / Salida. cin.


Qu pasa si falta concordancia entre lo que pedimos leer y lo que el usuario nos da? Qu pasa con los espacios?.

TEMA 1 - 32

El lenguaje C++: Un ejemplo de programa


Programa que pida la base y la altura de un tringulo, calcule su rea y muestre los datos y el resultado.

#include <iostream> using namespace std; int main() {

return 0; }
TEMA 1 - 33

El lenguaje C++: Un ejemplo de programa


Programa que pida la base y la altura de un tringulo, calcule su rea y muestre los datos y el resultado.

#include <iostream> using namespace std; int main() { float base, altura, area;

Los datos

return 0; }
TEMA 1 - 34

El lenguaje C++: Un ejemplo de programa


Programa que pida la base y la altura de un tringulo, calcule su rea y muestre los datos y el resultado.

#include <iostream> using namespace std; int main() { float base, altura, area; cout << "Introduce la base: "; cin >> base; cout << "Introduce la altura: "; cin >> altura;

Entrada de datos

return 0; }
TEMA 1 - 35

El lenguaje C++: Un ejemplo de programa


Programa que pida la base y la altura de un tringulo, calcule su rea y muestre los datos y el resultado.

#include <iostream> using namespace std; int main() { float base, altura, area; cout << "Introduce la base: "; cin >> base; cout << "Introduce la altura: "; cin >> altura; area = base * altura / 2;

Clculos

return 0; }
TEMA 1 - 36

El lenguaje C++: Un ejemplo de programa


Programa que pida la base y la altura de un tringulo, calcule su rea y muestre los datos y el resultado.

#include <iostream> using namespace std; int main() { float base, altura, area; Salida de cout << "Introduce la base: "; datos cin >> base; cout << "Introduce la altura: "; cin >> altura; area = base * altura / 2; cout << "El rea de un tringulo de base " << base << " y altura " << altura << " es " << area; return 0; }
>>> Prog0002
TEMA 1 - 37

You might also like