Declaração C if ... else

Neste tutorial, você aprenderá sobre a instrução if (incluindo if… else e aninhada if… else) na programação C com a ajuda de exemplos.

Declaração C if

A sintaxe da ifinstrução na programação C é:

 if (test expression) ( // statements to be executed if the test expression is true )

Como se a declaração funciona?

A ifinstrução avalia a expressão de teste entre parênteses ().

  • Se a expressão de teste for avaliada como verdadeira, as instruções dentro do corpo de ifsão executadas.
  • Se a expressão de teste for avaliada como falsa, as instruções dentro do corpo de ifnão serão executadas.

Para saber mais sobre quando a expressão de teste é avaliada como verdadeira (valor diferente de zero) e falsa (0), verifique os operadores relacionais e lógicos.

Exemplo 1: declaração if

 // Program to display a number if it is negative #include int main() ( int number; printf("Enter an integer: "); scanf("%d", &number); // true if number is less than 0 if (number < 0) ( printf("You entered %d.", number); ) printf("The if statement is easy."); return 0; )

Produto 1

Insira um número inteiro: -2 Você inseriu -2. A instrução if é fácil.

Quando o usuário insere -2, a expressão de teste number<0é avaliada como verdadeira. Portanto, Você digitou -2 é exibido na tela.

Produto 2

 Insira um número inteiro: 5 A instrução if é fácil.

Quando o usuário insere 5, a expressão de teste number<0é avaliada como falsa e a instrução dentro do corpo de ifnão é executada

Declaração C if … else

A ifinstrução pode ter um elsebloco opcional . A sintaxe da if… elsedeclaração é:

 if (test expression) ( // statements to be executed if the test expression is true ) else ( // statements to be executed if the test expression is false )

Como se … a instrução else funcionar?

Se a expressão de teste for avaliada como verdadeira,

  • instruções dentro do corpo de ifsão executadas.
  • as instruções dentro do corpo de elsesão ignoradas na execução.

Se a expressão de teste for avaliada como falsa,

  • declarações dentro do corpo de elsesão executadas
  • as instruções dentro do corpo de ifsão ignoradas na execução.

Exemplo 2: declaração if… else

 // Check whether an integer is odd or even #include int main() ( int number; printf("Enter an integer: "); scanf("%d", &number); // True if the remainder is 0 if (number%2 == 0) ( printf("%d is an even integer.",number); ) else ( printf("%d is an odd integer.",number); ) return 0; )

Resultado

 Insira um inteiro: 7 7 é um inteiro ímpar.

Quando o usuário insere 7, a expressão de teste number%2==0é avaliada como falsa. Portanto, a instrução dentro do corpo de elseé executada.

C if … else Ladder

A if… elseinstrução executa dois códigos diferentes, dependendo se a expressão de teste é verdadeira ou falsa. Às vezes, uma escolha deve ser feita entre mais de 2 possibilidades.

A escada if… else permite que você verifique entre múltiplas expressões de teste e execute instruções diferentes.

Sintaxe de if … else Ladder

 if (test expression1) ( // statement(s) ) else if(test expression2) ( // statement(s) ) else if (test expression3) ( // statement(s) )… else ( // statement(s) )

Exemplo 3: C if … else Ladder

 // Program to relate two integers using =,> or < symbol #include int main() ( int number1, number2; printf("Enter two integers: "); scanf("%d %d", &number1, &number2); //checks if the two integers are equal. if(number1 == number2) ( printf("Result: %d = %d",number1,number2); ) //checks if number1 is greater than number2. else if (number1> number2) ( printf("Result: %d> %d", number1, number2); ) //checks if both test expressions are false else ( printf("Result: %d < %d",number1, number2); ) return 0; )

Resultado

 Insira dois inteiros: 12 23 Resultado: 12 <23

Aninhado se … mais

É possível incluir uma if… elsedeclaração dentro do corpo de outra if… elsedeclaração.

Exemplo 4: aninhado if… else

Este programa dada abaixo refere-se dois inteiros utilizando quer <, >e =semelhante ao if… elseexemplo da escada. No entanto, usaremos uma if… elseinstrução aninhada para resolver esse problema.

 #include int main() ( int number1, number2; printf("Enter two integers: "); scanf("%d %d", &number1, &number2); if (number1>= number2) ( if (number1 == number2) ( printf("Result: %d = %d",number1,number2); ) else ( printf("Result: %d> %d", number1, number2); ) ) else ( printf("Result: %d < %d",number1, number2); ) return 0; )

Se o corpo de uma if… elseinstrução tiver apenas uma instrução, não será necessário usar colchetes ().

Por exemplo, este código

 if (a> b) ( print("Hello"); ) print("Hi");

é equivalente a

 if (a> b) print("Hello"); print("Hi"); 

Artigos interessantes...