Arduino Playground is read-only starting December 31st, 2018. For more info please look at this Forum Post

Referência Linguagem (Estendida) | Bibliotecas | Comparações

If (condicional) e ==, !=, <, > (operadores de comparação)

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:

Operadores de comparação:

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)

Atenção!

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

Voltar para a Referência