Referência Linguagem (Estendida) | Bibliotecas | Comparações
if é sempre utilizado em conjunto com os operadores de comparação, ele testa se um certa condição foi alcançada, como por exemplo se uma variável atingiu um certo valor. O formato para testes com o (if) é o seguinte:
if (algumaVariavel > 50) { // faça algo aqui }
O programa testa pra ver se algumaVariavel é maior do que 50. Se for, o programa executa uma determinada ação. Ou seja, se o que estiver declarado nos parênteses for verdadeiro, as instruções entre as chaves são executadas. Se não, o programa pula para a próxima parte do código.
Caso você omitas as chaves após a declaração do if, apenas uma instrução será executada apos o teste condicional, veja os exemplos:
if (x > 120) digitalWrite(pinoLED, HIGH); /*notem que não existe chaves, isto implica que caso a condição x>120 for verdadeira, apenas o comando digitalWrite será executado */ if (x > 120) digitalWrite(pinoLED, HIGH); if (x > 120){ digitalWrite(pinoLED, HIGH); } if (x > 120){ digitalWrite(LEDpino1, HIGH); digitalWrite(LEDpino2, HIGH); } // todas as formas estão corretas
As declarações que estão sendo verificadas dentro dos parênteses requerem o uso de um ou mais operadores:
x == y (x é igual a y)
x != y (x não é igual a y)
x < y (x é menor que y)
x > y (x é maior que y)
x <= y (x é menor que ou igual a y)
x >= y (x é maior que ou igual a y)
Cuidado para não utilizar acidentalmente um único igual (=) (exemplo: if (x = 10) ), para efetuar comparações. O igual sozinho é utilizado para efetuar atribuições e seta por exemplo x igual a 10. O correto é utilizar o sinal duplo (==).
Isto ocorre pois a linguagem C avalia a declaração do if (x=10) da seguinte maneira: 10 é atribuído a x (lembre-se que um único sinal de igual (=) é o operador de atribuição) , então agora x contém 10. Assim a condicional if verifica 10, o qual sempre é retorna TRUE, uma vez que um número diferente de zero sempre retorna TRUE. Consequentemente, se você fizer o teste if (x=10) ele sempre retornará TRUE, resultado não desejado ao se efetuar um teste como esse, além disto a sua variável x será setada para 10, comportamento também não desejado.
If pode também ser utilizando junto com a estrutura de controle if .. else