3 C intro
Reconstrucción y Análisis de Datos en
Física Experimental de Partículas
3
EL LENGUAJE C++
(Introducción, variables, operadores,
funciones, primeras compilaciones)
Isidro González Caballero (Universidad de Oviedo)
Valencia, 07-11/05/20102
Bibliografía
2
Google
Programación Orientada a Objetos y C++
G.
Booch: "Object-Oriented Analysis andDesign".
Addison-Wesley
S. B. Lippman: "C++ Primer". Addison-Wesley
B. Stroustrup: "The Annotated C++ Reference Manual".
Addison-Wesley
B. Stroustrup: "The C++ Programming Language". AddisonWesley
Téc. Fund. de Simulación, Reconstrucción y Análisis de datos en F. Exp. de Partículas
Introducción
3
El C++ es un superconjunto del C
Soporta tanto metodologías de programaciónestructurada como OOP
Tiene la capacidad de usar librerías C y FORTRAN
Características ajenas a la OOP y al C:
Chequeo de tipos mejorado (más estricto)
Constantes simbólicas (const) (chequeo de tipos constantes)
Sustitución de funciones inline (eficiencia de ejecución)
Argumentos por defecto (ahorro de código)
Sobrecarga de funciones y operadores (los tipos derivados tienen sintaxis
igualesa los nativos)
Manejo de memoria dinámica
El tipo referencia (alias)
Téc. Fund. de Simulación, Reconstrucción y Análisis de datos en F. Exp. de Partículas
unsigned
Tipos fundamentales
4
Nombre
¿Qué representa?
Entero, real,
lógico
char
Un carácter
Entero
short int
Un entero corto
Entero
int
Un entero
Entero
long int
Un entero con mayor rango de validez Entero
float
Un realReal
double
Un real de doble precisión
Real
long
double
Un real de doble precisión y mayor
Real
bool
cierto (true) o falso (false)
Lógico
Téc. Fund. de Simulación, Reconstrucción y Análisis de datos en F. Exp. de Partículas
Operadores aritméticos
5
Operador
Función
Uso
=
asignación
int i = 7;
*
multiplicación
double r = 3.5 * i;
/
división
double t = r / 1.2;
%
modulo(resto)
i = 21 % 6; // i = 3
+
suma
double rt = r + t;
-
resta
r = rt – t;
++,--
incremento
int i = 0;
int j = i++; //j = 0
int k = --i; //k = 0
+=,-=,
*=,/=
opera y asigna
r += 2.6; //r = r + 2.6
r *= 2.6; //r = r * 2.6
Téc. Fund. de Simulación, Reconstrucción y Análisis de datos en F. Exp. de Partículas
Operadores lógicos
6
Operador
Función
Uso
<
menor que
i < 5
<=
menor oigual que r <= 5
>
mayor que
i > 5
>=
mayor o igual que
i >= 5
==
igualdad
i == 5
!=
desigualdad
i != 5
!
NOT lógico
!true; //false
&&
Y lógico
i < 5 && j > 4
||
O lógico
i < 5 || j > 4
Téc. Fund. de Simulación, Reconstrucción y Análisis de datos en F. Exp. de Partículas
Declaraciones
7
Antes de utilizar una variable tenemos que declarar su tipo
Para las funciones debemosdeclarar su signatura y tipo de retorno
La signatura está formada por el nombre de la función y el tipo de los
argumentos que espera
Podemos inicializar una variable al declararla
No siempre una declaración reserva un espacio en memoria
definición
Comentarios
char letra; /*Declaración y definición de un carácter*/
int total = 10; //Decl., def. e inic. de un entero
double random(doubleseed); //Declaración de una función
Téc. Fund. de Simulación, Reconstrucción y Análisis de datos en F. Exp. de Partículas
Tipos derivados, static, const...
8
Nombre/Símb
¿Qué representa?
Delante/Detras
[]
Array
*
Puntero, posición en memoria En medio
&
Referencia, alias de la var.
En medio
struct
Una estructura
Delante
class
Una clase
Delante
static
Ámbito del programaDelante
const
No puede modificarse
Delante
Detrás
Téc. Fund. de Simulación, Reconstrucción y Análisis de datos en F. Exp. de Partículas
Tipos derivados, static, const...
9
//Punteros
int* ptrNumero; //Puntero a un entero
//Arrays
float reales[20]; //Un array de 20 floats
double punto[2] = {1.2, 3.4}; //Con inicializacion
//Struct
struct punto2D {short int x; short int y;};
//static
static...
Regístrate para leer el documento completo.