No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de C++ Básico

Curso de C++ Básico

Diana Martínez

Diana Martínez

Operadores

10/18
Recursos

Aportes 37

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

que bueno que ya al fin renovaron los cursos de C++

Les dejo mi código 😃

#include <iostream>

using namespace std;

int main() {
  const int a = 45;
  const int b = 30;
  const int NUMBERS[] = {24, 40, 7};

  const int sum = a + b;
  const int res = a - b;
  const int div = a / b;
  const bool mayo = a > b;

  cout << sum << endl;
  cout << res << endl;
  cout << div << endl;
  cout << mayo << endl;
  cout << sizeof(NUMBERS) << endl;
}

En la clase, muestran los operadores comunmente utilizados. Hay muchos mas 😮
.
Pueden checkear acá para ver todos los operadores integrados en C**: https://docs.microsoft.com/es-es/cpp/cpp/cpp-built-in-operators-precedence-and-associativity?view=msvc-160
.
Nota: Hay tanto básicos como avanzados

Pensaba que sizeof() era una funcion en vez de un operador

En este caso como la lista (array) es de tipos int, también podemos calcular la cantidad de elementos haciendo:

sizeof(edades) / sizeof(int)

y si fuera una lista de doubles:

sizeof(lista) / sizeof(double)

Operadores

En C++ existen 5 tipos de operadores:

  1. Aritmeticos: Operadores matematicos que nos permiten hacer cosas como sumar, restar, etc. Los más usados son +, -, *, /, %
    Ejemplo:
#include <iostream>
using namespace std;
int main() {

    int a = 2;
    int b = 3;
    cout << a + b;

} 
  1. Comparación: Como lo dice su nombre nos sirve para comparar dos datos y verificar la veracidad de esta comparación, la cual nos devuelve su resultado a traves de un dato boleano. Es decir, 1 para verdadero y 0 para falso. Los más usados son == , >, <, >=, <=.
    Ejemplo:
#include <iostream>
using namespace std; 
int main() {

    int a = 2;
    int b = 3;
    bool c = a < b;
    cout << c;

} 

Como podemos ver, usamos la variable c para verificar si “a < b”. Lo cual es verdadero, entonces se imprime un 1 en pantalla.

  1. Asignación: Sirven para modificar el valor de una variable. Los más usados son =, +=, -=, *=, /=, ++, – ```
#include <iostream>
using namespace std;
int main() {

    int a = 2;
    int b = 3;
    a += 1;
    cout << a;

} 

En este caso usamos el operador “+=”, el cual quiere decir, al valor de nuestra variable sumale cierta cantidad. Entonces, se imprime 3 en pantalla.

  1. Logicos: Son operadores que realizar operaciones booleanas. Es decir, al igual que los de comparación, sirven para ver la veracidad de una afirmación escrita con estos operadores. Los más usados son &&, ||, ! ```

  2. Otros: Operadores de otro tipo. Los más usados son sizeof, <<, >> ```

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

    int edades[] = {24, 40, 7};
    cout << sizeof(edades)/sizeof(edades[0]);
    
}

Usamos el operador sizeof, el cual nos da el valor del tamaño de cierto dato en bytes. Para este caso, tomamos el tamaño de la variable completa tipo lista y dividimos este valor por uno de sus elementos individuales.

Wow! es increíble cuan complejo es el solo saber cuantos elementos tiene un array con c++.

Con nuestro amigo javascript solo seria array.length y listo xD

Tarea

false = 0
true = 1

\#include \<iostream> int main() { int a = 10; int b = 5; // Operadores aritméticos int suma = a + b; int resta = a - b; int multiplicacion = a \* b; int division = a / b; int modulo = a % b; // Operadores de asignación int c = 15; c += a; // c = c + a; c -= b; // c = c - b; c \*= a; // c = c \* a; c /= b; // c = c / b; c %= a; // c = c % a; // Operadores de comparación bool igual = (a == b); bool diferente = (a != b); bool mayorQue = (a > b); bool menorQue = (a < b); bool mayorIgual = (a >= b); bool menorIgual = (a <= b); // Operadores lógicos bool andLogico = (igual && mayorQue); bool orLogico = (diferente || menorQue); bool notLogico = !igual; // Operadores bit a bit int x = 5; // 0000 0101 int y = 3; // 0000 0011 int andBitwise = x & y; // 0000 0001 (AND) int orBitwise = x | y; // 0000 0111 (OR) int xorBitwise = x ^ y; // 0000 0110 (XOR) int complementoBitwise = ~x; // 1111 1010 (NOT) // Operadores de desplazamiento int desplazamientoIzquierda = a << 2; // a \* 2^2 int desplazamientoDerecha = a >> 1; // a / 2^1 std::cout << "Resultado de operaciones: " << std::endl; std::cout << "Suma: " << suma << std::endl; std::cout << "Resta: " << resta << std::endl; std::cout << "Multiplicacion: " << multiplicacion << std::endl; std::cout << "Division: " << division << std::endl; std::cout << "Modulo: " << modulo << std::endl; // ... (resto de los resultados de operadores) return 0; }

Fibonacci

No podía falta mi fibonacci al aprender un nuevo lenguaje de programación. 😎

#include <iostream>

using namespace std;

int main() {
  int a = 0;
  int b = 1;

  const int sequence_length = 10;

  for (int i = 0; i < sequence_length; i++)
  {
    cout << a << endl;
    int temp = a;
    a = b;
    b = temp + b;
  }

  return 0;
}

![](https://static.platzi.com/media/user_upload/image-5d20941d-dfc7-4931-9b43-ed06ed439c26.jpg)Este es mi codigo de practica segun lo aprendio, si hay cosas por mejorar soy todo odios.
My code: ```c# #include <iostream> int main() { const int A = 85; const int B = 15; int r = 5; float heights[] = {1.52, 1.68, 1.90, 1.75}; // Arithmetics std::cout << A + B << std::endl; // Comparation std::cout << (A < B) << std::endl; // Assignation r += 5; std::cout << r << std::endl; // Logic bool b = (r == 10) && (A < 100); std::cout << b << std::endl; // Others std::cout << sizeof(heights) << std::endl; return 0; } ```
![](https://static.platzi.com/media/user_upload/image-4fd9bfc0-1e44-4914-89de-ecd548f6b663.jpg)

Se que probablemente alguno tenga la misma curiosidad que tuve yo sobre dividir entre dos numeros enteros y pretender como resultado un decimal.

La verdad es que es una idea equivocada que bueno, apenas me vengo a enterar.
Sucede que si realizas dicha division dara como resultado 0 entero.

int a = 2;
int b = 3;
double c = a/b;
cout << c;

Esto es debido a que en C++ no realiza las operaciones con tipos distintos de variables; el convierte una de la dos variables para tener un mismo tipo de variable.

Por eso, para obtener un resultado mas acorde a los numeros decimales, debemos saber si existe la posibilidad de puedan haber numeros decimales y convertir ambas o una de las variables en double o float.

int a = 2;
double b = 3;
double c = a/b;

cout << c;

Código Aplicando todos los operadores de la clase anterior :3 ❤️

#include <iostream>

using namespace std;

int main() {
    //Datos
    int a = 2;
    int b = 3;
    int c = 5;
    int d = 5;
    int e = 5;
    int f = 5;
    int g = 5;
    int h = 5;
    int edades[] = {24, 40, 7};
    bool logi[] = {true, false};
    int yy,oo,no_1;
    //Operadores Aritméticos
    int arit_1 = a + b;   //Suma    
    int arit_2 = a - b;   //Resta
    int arit_3 = a * b;   //Multiplicación
    float arit_4 = a / b; //División
    float arit_5 = a % b; //Porcentaje
    cout << "Operadores Aritméticos" << endl;
    cout << arit_1 << endl; //Resul de Suma
    cout << arit_2 << endl; //Resul de Resta
    cout << arit_3 << endl; //Resul de Multiplicación
    cout << arit_4 << endl; //Resul de División
    cout << arit_5 << endl; //Resul de Porcentaje
    //Operadores De Comparación
    bool comp_1 = a == b; //Igualación
    bool comp_2 = a > b;  //Mayor
    bool comp_3 = a < b;  //Menor
    bool comp_4 = a >= b; //Mayor o Igual
    bool comp_5 = a <= b; //Menos o Igual
    cout << "Operadores De Comparación" << endl;
    cout << comp_1 << endl; //Resul de Igualación
    cout << comp_2 << endl; //Resul de Mayor
    cout << comp_3 << endl; //Resul de Menor
    cout << comp_4 << endl; //Resul de Mayor o Igual
    cout << comp_5 << endl; //Resul de Menos o Igual
    //Operadores De Asignación
    c += 1; //Incremento en X
    d -= 1; //Decremento en X
    e *= 2; //Multiplicación en X
    f /= 5; //División en X
    g ++ ;  //Incremento en 1
    h -- ;  //Decremento en 1
    cout << "Operadores De Asignación" << endl;
    cout << c << endl; //Resul de Incremento en X
    cout << d << endl; //Resul de Decremento en x
    cout << e << endl; //Resul de Multiplicación en X
    cout << f << endl; //Resul de División en X
    cout << g << endl; //Resul de Incremento en 1
    cout << h << endl; //Resul de Decremento en 1
    //Operadores Lógicos
    yy = logi[1] && logi[2]; //Y
    oo = logi[1] || logi[2]; //O
    no_1 = !logi[1];         //No
    cout << "Operadores Lógicos" << endl;
    cout << yy << endl;   //Resul de Y
    cout << oo << endl;   //Resul de O
    cout << no_1 << endl; //Resul de No
    //Otros
    cout << "Otros" << endl;
    cout << sizeof(a) << endl;          //Calcula cuando bytes almacena
    cout << sizeof(edades) / sizeof(a); //Ejemplo para saber cuando datos hay en una lista si son del mismo tipo
}

aquí les dejo un código que estuve haciendo experimentando con c++

#include <iostream>
#include <string>

using namespace std;

int main() 
{
    
    string str = "holiwis";
    cout << str << endl;
    

    int listaEdades[] = {18, 19,20,21,22,23};
    int size = sizeof(listaEdades) / sizeof(listaEdades[0]);
    
    for (int i =0; i < size ; i++)
    {
        cout<< listaEdades[i]<<endl;
    }

    
    
}

Sizeof nos da el valor en bytes de una variable, lista o constante, por lo que si queremos saber cuantos valores tiene una lista (en ejemplos de listas enormes que no puedas contar uno a uno) podemos dividir el tamannio total de la lista en bytes por uno de sus valores dentro de la lista, de esa manera nos devolvera el total de valores dentro de ella.

Hay un tipo de operador poco mencionado, el cual es el operador bit a bit. Que nos permite comparar cada bit de su primer operando con el bit correspondiente de su segundo operando. Suena súper confuso, pero ahí están 😁

Un verdadero gusto volver, regresar a las bases 😃 con C++ y tener tb posibilidad de conocer a la comunidad que se interesa por este lenguaje, soy de Argentina, y estoy a disposición, éxitos!.

Aqui esta mi aporte, un poco de todo

#include <iostream>

using namespace std;

int main(){

    const int a = 20;
    const int b = 5;
    const int c = 32;
    const int d = 14;
    int numeros[] = {20,5,14,32,10,45};

    cout << "SUMA" << endl;
    cout << a + c + d << endl;
    cout << c + b << endl;
    
    cout << "RESTA" << endl;
    cout << a - d - b << endl;
    cout << b - c << endl;

    cout << "MULTIPLICACION" << endl;
    cout << a * b * c << endl;
    cout << d * c * a << endl;

    cout << "DIVISION" << endl;
    cout << a / b << endl;
    cout << float(c) / float(d) << endl;

    cout << "CONTADOR DE LA LISTA" << endl;
    cout << sizeof(numeros)/4 << endl;


}

Para que se muestre true / false, en vez de 1 / 0

#include <iostream>

using namespace std;

int main()
{
	int a = 2;
	int b = 3;
	bool c = false;

	c = a < b;

	cout << boolalpha << c << endl;
}

**CÓDIGO DE OPERADORES EJEMPLOS Y ANOTACIÓNES: **

#include <iostream>
using namespace std;

int main(){
    //OPERADOR ARITMERICO
    int x = 12;
    float y = 3.1416;
    float z = x - y;
    cout << z << endl;

    //OPERADOR RELACIONALES DE TRUE AND FALSE
    bool relations = x > y;
    cout << relations << endl;
    // Imprime un 0 o 1 booleano true= 1 en binario o false = 0 en binario porque C++ es un lenguaje de bajo nivel 

    //OPERADORES DE ASIGNACIÓN 
    /*Asignan un nuevo valor a la variable apartir del valor anterior más un cambio que queramos agregar */
    x *= 10; // la variable x por 10  = 120 
    cout << x << endl;

    //Size Of
    /*Son operadores especiales dentro de C++ que nos perimite saber cosas sobre las variables.
    En este caso size of obtiene el tamaño en bits de un valor de un dato*/
    int b =  2;
    cout << "El tamano del valor de 2 es de: " << sizeof(b) << " bits" <<endl; // Esto es util por que sizeof nos permite realizar alguna operaciones por ejemplo con listas 
    //Ejemplo de utilidad de sizeof: si yo quisiera saber cuantos elemento tiene una lista podría utlizar sizeof y una operación de división para obtener cuantos elementos tiene de forma inteligente a continuación de la realización de esto:
    int ages_list[] = {12, 18, 32, 4, 57};
    //¿Cuántos elementos tiene la lista ages_list?
    cout << "Cantidad de la lista: " << sizeof(ages_list) / sizeof(ages_list[0]) << " elementos" << endl; //obtengo 5 elementos 
}

Existe otro operador que es << y >> que sirven para correr los bits de una variable. Por ejemplo, si en una variable i tengo el numero 5 (en binario 00000101) y ejecuto:

 n =  i << 2;

el operador << asigna a n 20 (que es 00010100 en binario). Por el contrario >> corre los bits a la derecha.

les dejo mi codigo con algunas anotaciones que agregue,agregue algunas mas que me dio un profesor en la carrera

#include <iostream> //in out stream
#include <stdio.h> //Standard Input and Output
#include <conio.h> //conplementative Input and Output
#include <stdlib.h> //Standard Library esta libreria revisa la sintaxis del codigo

using namespace std;

int main(){
    int a = 2; //se asigna a la letra "a" el valor de "2"
    int b = 3; //se asigna a la letra "b" el valor de "b"
    //int c = a + b; //se asigna a la letra "c" un resultado de un operador aritmetico de 2 valores
    /*bool c = a > b; //se cambio el tipo de dato a booleano ya que se convirtio en una comparacion de verdadero o falso
    representado por 1(T) y 0(F) */
    int c = a+=1; //se esta pidiendo que al valor "a" se le sea sumado un numero, en este caso el "1"
    //este tambien puede representarse como "a += 1;" para no asignar una variable "c"
    //cout << c; //se pide que nos arroje el valor de "c"
    int edades[] = { 23, 23, 4545, 345, 234 };
    //sizeof nos mostrara cuanto tamaño usa una variable
    cout << sizeof(edades) / sizeof(0); /*sizeof esta contando todos los valores de la lista "edades" y lo divide entre otro
     sizeof para mostrar cuantos valores hay dentro de la tabla */

}
#include <iostream>

using namespace std;

int main()
{
    int a=2, b=3;
    int edades[]={24, 40, 7};
    cout <<sizeof(edades)/sizeof(edades[0])<<" Elementos almacenados"<<endl;
    return 0;
}

comparto mi codigo

#include <iostream>

using namespace std;

int main() {
    int op1 = 5;
    int op2 = 3;

    int suma           = op1 + op2;
    int resta          = op1 - op2;
    int multiplicacion = op1 * op2;
    int division       = op1 / op2;
    int residuo        = op1 % op2;

    cout << "operaciones aritmeticas basicas" << endl;
    cout << "operando1: " << op1 << endl;
    cout << "operando2: " << op2 << endl;
    cout << endl;
    cout << "suma           " << op1 << " + " << op2 << " = " << suma << endl;
    cout << "resta          " << op1 << " - " << op2 << " = " << resta << endl;
    cout << "multiplicacion " << op1 << " * " << op2 << " = " << multiplicacion << endl;
    cout << "division       " << op1 << " / " << op2 << " = " << division << endl;
    cout << "residuo        " << op1 << " % " << op2 << " = " << residuo << endl;
    cout << endl;
    cout << endl;

    bool menorQue      = op1 <  op2;
    bool menorIgualQue = op1 <= op2;
    bool igual         = op1 == op2; 
    bool diferente     = op1 != op2;   
    bool mayorQue      = op1 >  op2;
    bool mayorIgualQue = op1 >= op2;

    cout << "operaciones de comparacion" << endl;
    cout << "bool = true se imprime como 1 y bool = false se escribe como 0" << endl;
    cout << "operando1: " << op1 << endl;
    cout << "operando2: " << op2 << endl;
    cout << endl;
    cout << "menor     " << op1 << " <  " << op2 << " = " << menorQue << endl;
    cout << "menor que " << op1 << " <= " << op2 << " = " << menorIgualQue << endl;
    cout << "igual     " << op1 << " == " << op2 << " = " << igual << endl;
    cout << "diferente " << op1 << " != " << op2 << " = " << diferente << endl;
    cout << "mayor     " << op1 << " >  " << op2 << " = " << mayorQue << endl;
    cout << "mayor que " << op1 << " >= " << op2 << " = " << mayorIgualQue << endl;
    cout << endl;
    cout << endl;

    int op10  = 10;
    int op10Inicial = op10;
    op10++;

    int op20  = 20;
    int op20Inicial = op20;
    op20--;

    int op30  = 30;
    int op30Inicial = op30;
    op30 += 8;
    
    int op40  = 40;
    int op40Inicial = op40;
    op40 -= 8;

    int op50  = 50;
    int op50Inicial = op50;
    op50 *= 8;

    int op60  = 60;
    int op60Inicial = op60;
    op60 /= 8;

    int op70  = 70;
    int op70Inicial = op70;
    op70 %= 8;

    cout << "operaciones de asignacion" << endl;
    cout << "autoincremento       inicial = " << op10Inicial << "    op10++    da como resultado: " << op10 << endl;
    cout << "autodecremento       inicial = " << op20Inicial << "    op20--    da como resultado: " << op20 << endl;
    cout << "sume y asigne        inicial = " << op30Inicial << "    op30 += 8 da como resultado: " << op30 << endl;
    cout << "reste y asigne       inicial = " << op40Inicial << "    op40 -= 8 da como resultado: " << op40 << endl;
    cout << "multiplique y asigne inicial = " << op50Inicial << "    op50 *= 8 da como resultado: " << op50 << endl;
    cout << "divida y asigne      inicial = " << op60Inicial << "    op60 /= 8 da como resultado: " << op60 << endl;
    cout << "residuo y asigne     inicial = " << op70Inicial << "    op70 %= 8 da como resultado: " << op70 << endl;
    cout << endl;
    cout << endl;
    
    
    
    int numeros[] = {1, 1, 2, 3, 5, 8, 13, 21};

    cout << "operador sizeof()" << endl;
    cout << "numeros[] = {1, 1, 2, 3, 5, 8, 13, 21}" << endl;
    cout << endl;
    cout << "sizeof numeros[0]    : " << sizeof(numeros[0]) << endl;
    cout << "sizeof numeros       : " << sizeof(numeros) << endl;
    cout << "elementos en  numeros: " << sizeof(numeros) / sizeof(numeros[0]) << endl;
}   

Hola Diana, gracias por la explicación de como se obtiene el tamaño de un arreglo, en los cursos de C, ya había visto el operador sizeof pero no sabia el porque se hacía la división.

Hola compañeros por si les sirve les dejo esta pagina sobre el lenguaje c++ te explica muy bien cosas que no entendemos aqui en la clase. Saludos https://www2.eii.uva.es/fund_inf/cpp/temas/1_introduccion/introduccion.html

How to know the size of a C++ list

Dejo un código con lo visto en clase y unos operadores más.

#include <iostream>

using namespace std;

int main() {

    //Se declaran las variables como 2 enteros
    int n1 = 2;
    int n2 = 3;

    cout << "El primer valor es " << n1 << endl;
    cout << "El segundo valor es " << n2 << endl;

    //Operadores aritméticos
    //cout << n1 + n2 << endl;    Se puede hacer la suma en cout   
    int r1 = n1 + n2;
    cout << "La suma de las variables da como resultado " << r1 << endl;

    r1 = n1 * n2;
    cout << "La multiplicación de las variables da como resultado " << r1 << endl;

    r1 = n1 - n2;
    cout << "La resta de las variables da como resultado " << r1 << endl;

    //Operadores de comparación
    bool r2 = n1 < n2;
    cout <<"¿Es "<< n1 <<" < " << n2 << " ? La respuesta da "<< r2 << endl;

    r2 = n1 > n2;
    cout <<"¿Es "<< n1 <<" > " << n2 << " ? La respuesta da "<< r2 << endl;
    
    r2 = n1 == n2;
    cout <<"¿Es "<< n1 <<" igual a " << n2 << " ? La respuesta da "<< r2 << endl;

    //Operadores de asignación
    n1 += 1;
    cout <<"El nuevo valor de n1 es "<< n1 << endl;

    //sizeof() nos permite obtener el tamaño en bytes de un dato
    cout << "La variable n1 ocupa " << sizeof(n1) << " bytes de tamaño"<< endl;

    //Calcular cuántos elementos tiene una lista
    int edades[] = {24, 40, 7};
    int n_elementos = sizeof(edades) / sizeof(edades[0]);
    cout << "La lista edades tiene " <<n_elementos << " elementos " << endl;

}

sizeof(lista)/sizeof(lista[0]) cumple la misma funcion que
strlen(lista) pero este solo funciona en una lista de carateres
sizeof(lista)/sizeof(lista[0]) es solo para una lista de nuemros

Utilice los siguientes operadores: asignación (=,*=), lógicos (&&,||,!=) y aritmético (%).