Mandar um cafézinho para o programador:


Me ajude a transformar café em código!

Operadores Relacionais (de comparação) em C++: > , < , >= , <=, == e !=

Neste tutorial de nosso Curso de C++, vamos aprender quais são e como usar os operadores relacionais, também conhecidos como operadores de comparação, que são:
  • > maior que 
  • < menor que 
  • >= maior ou igual
  • <= menor ou igual
  • == igual
  • != diferente

Como comparar coisas em C++

Embora este tutorial seja um pouco chato e teórico, ele é necessário para entendermos melhor o uso dos testes condicionais IF e ELSE, que iremos usar nos próximos tutoriais.

O que vamos fazer agora é ensinar você a realizar a operação de comparação, ela é feita assim:
operando1 operador operando2

Ou seja, vamos usar dois operandos (dados, como números ou caracteres) e um operador (no caso, um relacional).

  • E esta operação sempre retorna um dos valores:
  • TRUE (verdadeiro ou 1)
  • FALSE (falso ou 0)


Sempre.
Operação de relação é sempre uma pergunta que a resposta é 1 ou 0, true ou false.
Ok?

Operador de igualdade em C++: ==

Bom, vamos lá.

Se quisermos saber se um valor x é igual a um y, fazemos:
x == y

Veja bem, é: x == y
E não: x = y

Vamos testar se 1 é igual 1 e depois se é igual a 2, rode o código abaixo:
#include <iostream>
using namespace std;

int main()
{
    cout << (1 == 1) << endl;
    cout << (1 == 2) << endl;

    return 0;
}
O resultado foi:
Como fazer comparações em C++
Realmente, 1 é igual 1 (deu 1, TRUE, o resultado da comparação).
E 1 não é igual a 2 (deu 0, FALSE, o resultado da comparação).

Operador de diferença em C++: !=

Assim como tem um operador que verifica a igualdade, tem outro que verifica a não-igualdade.
Se dois valores forem diferentes, a operação de comparação com != vai resultar TRUE.
Se forem iguais, resulta em FALSE.

Vamos ver na prática, compile e rode:
#include <iostream>
using namespace std;

int main()
{
    cout << ('a' != 'b') << endl;

    return 0;
}
Ou seja, o caractere 'a' é diferente de 'b'.

Agora teste se 'a' é diferente de 'A'.
É ?

Operador de maior em C++: >

Se quisermos testar se um valor X é maior que um valor Y, usamos o operador: >
X > Y

Se X for maior, ele retorna TRUE (1).
Se for igual ou menor, ele retorna FALSE (0).

Operador de maior igual em C++: >=

Se quisermos testar se um valor é maior, ou igual, usamos: >=
X >= Y

Ele retorna 1 (true) se X for maior ou igual que Y, e 0 caso X seja menor.

Por exemplo, para testar se uma pessoa já pode dirigir, beber, entrar no motel...devemos fazer:
idade >= 18


Operador Menor e Menor igual em C++: < e <=

Analogamente, existem os operador menor e menor igual.

Para testarmos se uma pessoa pode doar sangue, devemos testar:
idade < 65

Para saber quem é isento de declarar imposto de renda, devemos testar:
valor <= 28559.70


Cuidado com comparações

Um erro muito grave é confundir:
x = y;

Com:
x == y;

No primeiro caso, é uma atribuição.
A variável x está recebendo o valor da variável y.

No segundo caso é uma comparação.
Sempre leia comparação como uma pergunta: x é igual a y?

E quando você pergunta as coisas pro C++ ele só te dá duas respostas: 1 ou 0
Assim, se quiser armazenar o valor de uma comparação, declare um booleano, ok?

  • Exercício de C++

Faça um programa que pede dois valores ao usuário (pode ser um número ou um caractere), em seguida exiba todas as operações de comparação, como no exemplo abaixo:


Operadores de comparação em C++

Tentou?
Conseguiu?

Nosso código ficou assim:
#include <iostream>
using namespace std;

int main()
{
    int op1, op2;

    cout << "Primeiro valor: ";
    cin >> op1;

    cout << "Segundo valor : ";
    cin >> op2;

    cout << op1 << " >  " << op2 <<" : "<<(op1>op2)<<endl;
    cout << op1 << " <  " << op2 <<" : "<<(op1<op2)<<endl;
    cout << op1 << " >= " << op2 <<" : "<<(op1>=op2)<<endl;
    cout << op1 << " <= " << op2 <<" : "<<(op1<=op2)<<endl;
    cout << op1 << " == " << op2 <<" : "<<(op1==op2)<<endl;
    cout << op1 << " != " << op2 <<" : "<<(op1!=op2)<<endl;
    return 0;
}
E o seu?

Um comentário:

  1. #include
    #include

    using namespace std;

    int main() {

    setlocale(LC_ALL, "");

    unsigned short valor1, valor2;

    cout << "Digite o primeiro valor: " << endl;
    cin >> valor1;

    cout << "Digite o segundo valor: ";
    cin >> valor2;

    cout << "Valor 1 > Valor 2: " << (valor1 > valor2) << endl;
    cout << "Valor 1 < Valor 2: " << (valor1 < valor2) << endl;
    cout << "Valor 1 >= Valor 2: " << (valor1 >= valor2) << endl;
    cout << "Valor 1 <= Valor 2: " << (valor1 <= valor2) << endl;
    cout << "Valor 1 == Valor 2: " << (valor1 == valor2) << endl;
    cout << "Valor 1 != Valor 2: " << (valor1 != valor2);

    return 0;
    }

    ResponderExcluir

Ajude o C++ Progressivo

Que tal apoiar e fazer crescer o ensino da programação no Brasil ?

Ajudar nosso país a crescer e se desenvolver cada vez mais, tecnologicamente?

Clica abaixo pra saber mais!

Apoiar o Projeto Progressivo