Antes de apresentar as estruturas condicionais da linguagem C, é necessário compreender os operadores relacionais e lógicos, pois são eles que permitem construir as expressões utilizadas nos testes condicionais. Essas expressões serão amplamente utilizadas tanto nas estruturas de decisão quanto nas estruturas de repetição, que serão estudadas na próxima aula.
Os operadores relacionais são utilizados para estabelecer uma relação de comparação entre dois valores ou expressões. O resultado dessa comparação indica se a relação testada é verdadeira ou falsa.
Na linguagem C, os principais operadores relacionais são:
| Operador | Significado |
|---|---|
x > y |
verifica se x é maior que y |
x >= y |
verifica se x é maior ou igual a y |
x < y |
verifica se x é menor que y |
x <= y |
verifica se x é menor ou igual a y |
x == y |
verifica se x é igual a y |
x != y |
verifica se x é diferente de y |
Esses operadores serão frequentemente utilizados na construção de condições avaliadas pelas estruturas condicionais e de repetição.
Alguns pontos importantes devem ser observados ao utilizar operadores relacionais:
Comparações encadeadas não são válidas em C.
Expressões como a < b < c não funcionam como esperado. Em C, essa comparação precisa ser escrita utilizando operadores lógicos, como será mostrado adiante.
A precedência dos operadores relacionais é menor que a dos operadores aritméticos.
Isso significa que, em uma expressão, os cálculos aritméticos são realizados primeiro e apenas depois ocorre a comparação.
O resultado de uma comparação é um valor lógico.
Embora o tipo lógico (bool) tenha sido introduzido apenas a partir do padrão C99, expressões relacionais continuam retornando valores inteiros.
De forma geral, na linguagem C:
Os operadores lógicos são utilizados para combinar ou modificar expressões relacionais, permitindo a construção de condições mais complexas.
Considere, por exemplo, a expressão: