Professional Documents
Culture Documents
Hay que indicar que el C++ mantiene compatibilidad casi completa con
C, de forma que el viejo estilo de hacer las cosas en C es tambin
permitido en C++, aunque ste disponga de una mejor forma de
realizar esas tareas.
Los ficheros fuente de C++ tienen la extensin *.cpp (de C plus plus,
que es la forma oral de llamar al lenguaje en ingls). La utilizacin de
nombres incorrectos en los ficheros puede dar lugar a errores durante el
proceso de compilacin.
Identificadores
Dado que estas palabras clave son usadas por el lenguaje tienen una
funcin, no pueden ser redefinidas o sobrecargadas por los
programadores y siempre deben ir en minscula.
Un tipo de dato define todo el posible rango de valores que una variable puede
tomar al momento de ejecucin del programa y a lo largo de toda la vida til del
propio programa.
system("pause");
return 0;
}
Ejemplo 3 Flotantes
# include <iostream>
using namespace std;
int main()
{
float numero7=3.456782;
double numero8=3.57777;
long double numero9=3.123456789123456789123;
cout<<"el mumero es float"<<numero7<<endl;
cout<<"el mumero es double"<<numero8<<endl;
cout<<"el mumero es long double"<<numero9<<endl;
system("pause");
return 0;
}
Ejemplo 4 Booleanos
# include <iostream>
using namespace std;
int main()
{
bool val = false; // declara val variable Booleana y la inicia
cout<<"la variable val es: "<<val<<endl;
val = true; // ahora se cambia su valor (nueva asignacin)
cout<<" Ahora la variable val es: "<<val<<endl;
//true = 0;
system("pause");
return 0;
}
Nombre Descripcin Tamao* Rango de valores*
Carcter o entero con signo: -128 a 127
char 1byte
pequeo. sin signo: 0 a 255
con signo: -32768 a 32767
short int (short) Entero corto. 2bytes
sin signo: 0 a 65535
con signo: -2147483648 a
int Entero. 4bytes 2147483647
sin signo: 0 a 4294967295
con signo: -2147483648 a
long int (long) Entero largo. 4bytes 2147483647
sin signo: 0 a 4294967295
Valor booleano. Puede
bool tomar dos valores: 1byte true o false
verdadero o falso.
float Nmero de punto flotante. 4bytes 3.4e +/- 38 (7 digitos)
De punto flotante de
double 8bytes 1.7e +/- 308 (15 digitos)
doble precisin.
Long de punto flotante de
long double 8bytes 1.7e +/- 308 (15 digitos)
doble precisin.
Los operadores (en cualquier lenguaje de programacin) son los smbolos que
permiten hacerle una operacin a una o ms variables.
Aritmticos
Lgicos
Relacionales
Asignacin
Mdulo x = 5 % 2; // x vale 1
Decremento x = 1; x ; // x vale 0
Incremento x = 1; x ; // x vale 2
Estos operadores tiene un orden de prioridad, cuando una expresin
matemtica utiliza varios operadores, estos actan en el siguiente orden:
*,/,% Mayor
+,- Menor
Ejemplo
7+5*4 7+20=27
(7+5)*4 12*4=48
3+8*5 3+40=43
(3+8)*5 11*5=55
() Mayor
*, /, %
+, - Menor
En el caso que dentro de una expresin de encuentren varias operaciones con
el mismo orden de prioridad, siempre se resuelven de izquierda a derecha .
Ejemplo
Ejemplo
El cociente entre dos enteros da como resultado un entero. Por ejemplo, al dividir
20 entre 7 nos da como resultado 2.
El operador mdulo tambin se puede emplear con nmeros reales. Por ejemplo,
el cociente entre 7.5 y 3.0 es 2.5 y el resto es cero, es decir, 7.5=3.0 x 2.5+ 0. El
operador mdulo, funciona de la siguiente forma 7.5=3.0 x 2+1.5, calcula la
diferencia entre el dividendo (7.5) y el producto del divisor (3.0) por la parte entera
(2) del cociente, devolviendo 1.5. As pues, la operacin 7.5%3.0 da como
resultado 1.5.
++ Incremento
-- Decremento
Ejemplo
# include <iostream>
using namespace std;
int main()
{
int suma1,resta1,multi1,divi1,mod1,decre1,incre1;
short numero1 =5;
unsigned short numero2=10;
int numero3=-5;
unsigned int numero4= 6;
long int numero5=15;
unsigned long numero6=3;
const float PI = 3,1416; //Definimos una constante llamada PI
suma1=numero1+numero2;
resta1=numero3-numero4;
multi1= numero6*numero5;
divi1=numero2/numero3;
mod1=numero2%numero1;
decre1=--numero6;
incre1=++numero6;
//mirar detenidamente
int decre2, incre2;
decre2=numero6--;
incre2=numero6++;
cout<<"suma \n"<<suma1<<endl;
cout<<"resta \n"<<resta1<<endl;
cout<<"multiplicacion \n"<<multi1<<endl;
cout<<"division \n"<<divi1<<endl;
cout<<"modulo \n"<<mod1<<endl;
cout<<"decremento \n"<<decre1<<endl;
cout<<"incremento \n"<<incre1<<endl;
cout<<"decremento 2 \n"<<decre2<<endl;
cout<<"incremento 2 \n"<<incre2<<endl;
cout << "Mostrando el valor de PI: " << PI << endl;
system("pause");
return 0;
}
Operadores relacionales
Los operadores relacionales son smbolos que se usan para comparar dos
valores. Si el resultado de la comparacin es correcto la expresin considerada es
verdadera, en caso contrario es falsa.
Estos operadores son utilizados para crear validaciones, es decir instrucciones que permitan
establecer si algo es verdadero o falso. Tambin se le conoce como operadores de comparacin
Ejemplo
8>4 (ocho mayor que cuatro) es verdadera, se representa por el valor true del tipo
bsico boolean, en cambio, 8<4 (ocho menor que cuatro) es falsa, false.
# include<iostream>
Using namespace std;
int main()
{
int a=8;
int b=3;
int c=3;
bool val1,val2,val3,val4,val5,val6,val7;
val1=(a==b);
val2=(a!=b);
val3=(a<b);
val4=(a>b);
val5=(a>=c);
val6=(b<=c);
cout<<"val1 \n"<<val1<<endl;
cout<<"val2 \n"<<val2<<endl;
cout<<"val3 \n"<<val3<<endl;
cout<<"val4 \n"<<val4<<endl;
cout<<"val5 \n"<<val5<<endl;
cout<<"val6 \n"<<val6<<endl;
system("pause");
return 0;
}
Operadores lgicos
Los operadores lgicos tambin se conocen como booleanos, y se utilizan principalmente en
instrucciones de validacin, para unir dos o ms operaciones de relacin el resultado siempre es
un valor verdadero o falso.
AND y OR trabajan con dos operandos y retornan un valor lgico basadas en las
denominadas tablas de verdad.
El operador NOT acta sobre un operando. Estas tablas de verdad son conocidas
y usadas en el contexto de la vida diaria, por ejemplo: "si hace sol Y tengo tiempo,
ir a la playa", "si NO hace sol, me quedar en casa", "si llueve O hace viento, ir
al cine".
# include <iostream>
using namespace std;
int main()
{
int a = 8;
int b = 3;
int c = 3;
bool var,var1,var2,var3;
var=((a == b) && (c > b) );
var1=((a == b) || (b == c) );
var2=(!(b <= c) );
var3=(b <= c);
Tabla de prioridad
( ) Mayor
*,/,%
+,-
==,!=,>,<,<=,>=
not
and Menor
or
Operadores de asignacin
Operador Funcin
= Asigna el valor de la derecha al de la izquierda
Suma el valor de la derecha con el de la izquierda, y asigna el total al de
+=
la izquierda
Resta el valor de la derecha con el de la izquierda, y asigna la diferencia
-=
de la izquierda
Multiplica el valor de la derecha con el de la izquierda, y asigna el
*=
producto al de la izquierda
Divide el valor de la derecha con el de la izquierda, y asigna el cociente
/=
al de la izquierda
Divide el valor de la derecha con el de la izquierda, y asigna el resto al de
%=
la izquierda
Ejemplos
a+=5 equivale a a = a +5 .
Expresin Significado
x+=y x=x+y
x-=y x=x-y
x*=y x=x*y
x/=y x=x/y
# include <iostream>
using namespace std;
int main()
{
int numero3=5;
int numero4=6;
int numero5=7;
int numero6=4;
int numero7=3;
numero3+=numero4;
cout<<"el mumero es:"<<numero3<<endl;
numero5-=numero6;
cout<<"el mumero es:"<<numero5<<endl;
numero6*=numero7;
cout<<"el mumero es:"<<numero6<<endl;
numero4/=numero7;
cout<<"el mumero es:"<<numero4<<endl;
system("pause");
return 0;
}
Expresiones matemticas: son aquellas donde solo se usan operadores
aritmticos.
Ejemplos
5+8
(7+5)/2
((7+9-6)*(3+5))/4
M+6
6*k+f/9
Ejemplos
m>4
(3+j)==9
k!=0
nota1>3.2
promedio>4.0
(salario>500.000)and (tipo_empleado==1)
(k>5)and(k==1)
En los ltimos ejemplos de plantean expresiones que involucran los operadores
lgicos, dichas expresiones responden a los lineamientos de la lgica
matemtica es decir cuando se utiliza un operador and, la expresin es
verdadera si las dos condiciones se cumplen, en caso contario la expresin
ser false.
Al unir operadores aritmticos y lgicos se deber considerar su orden de
prioridad en general los operadores aritmticos son de mayor prioridad que los
lgicos y relacionales.
Casting en C++
Las operaciones entre diferentes tipos de datos da como resultado el de mayor
rango. Entre enteros el resultado SIEMPRE es un entero, por lo tanto se debe
preveer el truncamiento de decimales en las divisiones, para ello se aplica el (cast)
o conversin forzada.**
En C++ no existe el operador parte entera o DIV para ello se usa el truncamiento o
el cast.
Por ejemplo, para emitir un nmero de punto flotante del tipo " double" a un entero
de tipo 'int':
Ejemplo
Int i; Int i;
doubl d doubl d
i=(int) d; i=int (d);
Ejemplo 9 casting
# include <iostream>
using namespace std;
int main()
{
double numero3=5.3;
int numero4;
numero4=(int) numero3;
cout<<"el mumero es:"<<numero4<<endl;
system("pause");
return 0;
}