Introducción
La historia de C++
Entorno de desarrollo
El proceso de compilación
Instalación en Windows
Instalación en Linux
Instalación en macOS
Conceptos básicos
Estructura básica de un programa en C++
Tipos de datos
Variables
Constantes y listas
Operadores
Entrada y salida de datos
Control de flujo
El condicional if
El condicional switch
Ciclo for
Ciclos while y do-while
Funciones
Qué son las funciones
La biblioteca estandar de C++
Próximos pasos
Continúa con el Curso Programación Orientada a Objetos en C++
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Diana Martínez
Aportes 37
Preguntas 3
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)
En C++ existen 5 tipos de operadores:
#include <iostream>
using namespace std;
int main() {
int a = 2;
int b = 3;
cout << a + b;
}
#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.
#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.
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 &&, ||, ! ```
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
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;
}
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 (%).
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?