Operadores lógicos em C
Como combinar diferentes condições em C, usando os operadores: &&, || e !
Depois de aprender a fazer comparações e tomar decisões com if e if-else, surge uma necessidade: e quando uma decisão depender de mais de uma condição?
É para isso que servem os operadores lógicos. Eles permitem combinar ou inverter condições.
O operador && significa E.
Ele só retorna verdadeiro quando todas as condições forem verdadeiras. Se pelo menos uma delas for falsa, o resultado será falso.
idade >= 18 && idade <= 60Nesse caso, as duas condições precisam ser verdadeiras.
O operador || significa OU.
Ele retorna verdadeiro quando pelo menos uma das condições for verdadeira. O resultado só será falso quando todas forem falsas.
dia == 6 || dia == 7Nesse exemplo, basta que dia seja 6 ou 7 para a condição ser verdadeira.
O operador ! é utilizado para inverter uma condição.
- Verdadeiro → falso
- Falso → verdadeiro
Em C:
0representa falso;- Qualquer valor diferente de
0representa verdadeiro.
Por exemplo:
int ativo = 1;
if (!ativo) { printf("Desativado");}Como ativo possui o valor 1, a condição !ativo será falsa e o printf não será executado.
Eles podem ser combinados com os operadores relacionais para criar condições mais completas:
int idade = 25;
if (idade >= 18 && idade <= 60) { printf("Idade dentro do intervalo\n");}Nesse caso, o programa verifica duas condições:
- A idade é maior ou igual a 18?
- A idade é menor ou igual a 60?
Como as duas são verdadeiras, o código dentro do if será executado.
Quando várias operações aparecem na mesma expressão segue uma ordem de precedência. De forma simplificada, os operadores aritméticos são avaliados antes dos relacionais, e os relacionais antes dos lógicos.
Entre os operadores lógicos:
! → primeiro&& → depois|| → por últimoOs operadores &&, || e ! permitem combinar diferentes condições e criar decisões mais completas. Eles são muito utilizados junto com if e if-else e serão fundamentais para construir lógicas mais complexas nos próximos programas.