CPP.pdf

(810 KB) Pobierz
UNIVERSIDADE DA CORUÑ
A
El lenguaje de programación C++
Fernando Bellas Permuy
Departamento de Tecnologías de la Información y las Comunicaciones (TIC)
Universidad de A Coruña
http://www.tic.udc.es/~fbellas
fbellas@udc.es
Introducción
• C++ extiende el lenguaje de programación C con conceptos de
Orientación a Objetos.
• Es un lenguaje compilado.
• Índice:
• Revisión del lenguaje C.
• Mejoras (no OO) introducidas por C++.
• Clases.
• La herramienta “make” en Unix.
• Herencia.
• Sobrecarga de operadores.
• Plantillas (templates).
• Excepciones.
• La librería estándar de C++.
• Bibliografía.
1
Nociones básicas de C (1)
• Tipos de datos básicos.
Tipo
Caracteres
Enteros
Reales
Reales (doble pre-
cisión)
“Booleans”
Indentificador
char
int
float
double
int
Ejemplo de valores
'a', '9', '#', 10
23, -34, 0
3, 3.0, 3e10
3, 3.0, 3e600
0 (false), != 0 (true)
long
Modificadores
unsigned
long, short,
unsigned
• Operadores aritméticos: =, +, -, %, /, ++, --,
y variantes de =
• Variables: locales, globales.
#include <stdio.h>
float e; /* Variable global */
int main ()
{
float v, t; /* Variables locales */
v = 30; /* Velocidad */
t = 5; /* Tiempo */
e = v * t;
printf("Velocidad: %f\nTiempo: %f\n", v, t);
printf("Espacio recorrido: %f\n", e);
return 0;
}
2
Nociones básicas de C (y 2)
• Operadores ++, --, y
variantes de =
i = 4;
j = 2 * (i++);
/* i = 5, j = 8 */
i = 4;
j = 2 * (++i);
/* i=5, j = 10 */
i = 4;
i %= 3; /* i = i % 3; */
i += 4; /* i = i + 4; */
/* i = 5 */
• Entrada salida con
printf/scanf
y similares.
#include <stdio.h>
int main ()
{
float v, t, e;
printf("Velocidad: ");
scanf("%f", &v);
printf("Tiempo: ");
scanf("%f", &t);
e = v * t;
printf("Velocidad: %5.2f; Tiempo: %5.2f; Espacio: %5.2f\n",v,t,e);
return 0;
}
• Caracteres de control en
printf, scanf:
d, o, x, c, s, f, e, p.
• En C++ hay una alternativa mejor: los
streams
de entrada/sal-
ida.
3
Control de flujo (1)
• Operadores relacionales:
>, >=, <, <=, ==, !=
• Operadores lógicos: &&, ||, !
if.. else..
if (condición) {
<< sentencias >>
} else {
<< sentencias >>
}
switch-case-default
switch (exp) {
case A:
<< instrucciones >>
break;
case B:
<< instrucciones >>
break;
...
default:
<< instrucciones por defecto >>
}
switch (letra) {
case 'a':
case 'e':
case 'i':
case 'o':
case 'u': printf("Es una vocal\n");
break;
case 'ñ': printf("Nuestra querida ñ\n");
break;
default: printf("Cualquier otro caracter");
}
4
Zgłoś jeśli naruszono regulamin