Declaração condicional C: IF, IF Else e Nested IF Else com exemplo

Índice:

Anonim

O que é uma declaração condicional em C?

As declarações condicionais na programação C são usadas para tomar decisões com base nas condições. As instruções condicionais são executadas sequencialmente quando não há condição em torno das instruções. Se você colocar alguma condição para um bloco de instruções, o fluxo de execução pode mudar com base no resultado avaliado pela condição. Este processo é chamado de tomada de decisão em 'C'.

Na programação 'C', as declarações condicionais são possíveis com a ajuda das duas construções a seguir:

1. Se declaração

2. Declaração If-else

Também é chamado de ramificação, pois um programa decide qual instrução executar com base no resultado da condição avaliada.

Neste tutorial, você aprenderá-

  • O que é uma declaração condicional?
  • Declaração If
  • Operadores relacionais
  • A declaração If-Else
  • Expressões condicionais
  • Instruções If-else aninhadas
  • Instruções aninhadas Else-if

Declaração If

É uma das declarações condicionais poderosas. A instrução If é responsável por modificar o fluxo de execução de um programa. A instrução If é sempre usada com uma condição. A condição é avaliada primeiro, antes de executar qualquer instrução dentro do corpo de If. A sintaxe para a instrução if é a seguinte:

 if (condition)instruction; 

A condição é avaliada como verdadeira ou falsa. True é sempre um valor diferente de zero e false é um valor que contém zero. As instruções podem ser uma única instrução ou um bloco de código entre chaves {}.

O programa a seguir ilustra o uso da construção if na programação 'C':

#includeint main(){int num1=1;int num2=2;if(num1

Resultado:

num1 is smaller than num2

O programa acima ilustra o uso da construção if para verificar a igualdade de dois números.

  1. No programa acima, inicializamos duas variáveis ​​com num1, num2 com valor de 1, 2, respectivamente.
  2. Então, usamos if com uma expressão de teste para verificar qual número é o menor e qual é o maior. Usamos uma expressão relacional na construção if. Como o valor de num1 é menor do que num2, a condição será avaliada como verdadeira.
  3. Assim, ele imprimirá a instrução dentro do bloco de If. Depois disso, o controle sairá do bloco e o programa será encerrado com um resultado bem-sucedido.

Operadores relacionais

C tem seis operadores relacionais que podem ser usados ​​para formular uma expressão booleana para tomar uma decisão e testar as condições, que retorna verdadeiro ou falso:

<= menor ou igual a

> maior que

> = maior ou igual a

== igual a

! = diferente de

Observe que o teste igual (==) é diferente do operador de atribuição (=) porque é um dos problemas mais comuns que um programador enfrenta ao misturá-los.

Por exemplo:

int x = 41;x =x+ 1;if (x == 42) {printf("You succeed!");}

Resultado :

 You succeed 

Lembre-se de que uma condição avaliada como um valor diferente de zero é considerada verdadeira.

Por exemplo:

int present = 1;if (present)printf("There is someone present in the classroom \n");

Resultado :

There is someone present in the classroom 

A declaração If-Else

A instrução if-else is é uma versão estendida de If. A forma geral de if-else é a seguinte:

if (test-expression){True block of statements}Else{False block of statements}Statements;

Nesse tipo de construção, se o valor da expressão-teste for verdadeiro, o bloco verdadeiro de instruções será executado. Se o valor da expressão-teste for falso, o bloco falso de instruções será executado. Em qualquer caso, após a execução, o controle será automaticamente transferido para as instruções que aparecem fora do bloco de If.

Os programas a seguir ilustram o uso da construção if-else:

Iremos inicializar uma variável com algum valor e escrever um programa para determinar se o valor é menor que dez ou maior que dez.

Vamos começar.

#includeint main(){int num=19;if(num<10){printf("The value is less than 10");}else{printf("The value is greater than 10");}return 0;}

Resultado:

The value is greater than 10

  1. Inicializamos uma variável com valor 19. Temos que descobrir se o número é maior ou menor que 10 usando um programa 'C'. Para fazer isso, usamos a construção if-else.
  2. Aqui fornecemos uma condição num <10 porque temos que comparar nosso valor com 10.
  3. Como você pode ver, o primeiro bloco é sempre um bloco verdadeiro, o que significa que, se o valor da expressão-teste for verdadeiro, o primeiro bloco, que é If, será executado.
  4. O segundo bloco é um bloco else. Este bloco contém as instruções que serão executadas se o valor da expressão de teste se tornar falso. Em nosso programa, o valor de num é maior que dez, portanto, a condição de teste se torna falsa e o bloco é executado. Portanto, nossa saída será de um bloco else que é "O valor é maior que 10". Após o if-else, o programa será encerrado com um resultado bem-sucedido.

Na programação 'C', podemos usar várias construções if-else dentro umas das outras, que são chamadas de aninhamento de instruções if-else.

Expressões condicionais

Há outra maneira de expressar uma instrução if-else é introduzindo o operador ?: . Em uma expressão condicional, o operador ?: Possui apenas uma instrução associada ao if e ao else.

Por exemplo:

#include int main() {int y;int x = 2;y = (x >= 6) ? 6 : x;/* This is equivalent to: if (x >= 5) y = 5; else y = x; */printf("y =%d ",y);return 0;}

Resultado :

y =2

Instruções If-else aninhadas

Quando uma série de decisões é necessária, if-else aninhado é usado. Aninhar significa usar uma construção if-else dentro de outra.

Vamos escrever um programa para ilustrar o uso de if-else aninhado.

#includeint main(){int num=1;if(num<10){if(num==1){printf("The value is:%d\n",num);}else{printf("The value is greater than 1");}}else{printf("The value is greater than 10");}return 0;}

Resultado:

The value is:1

O programa acima verifica se um número é menor ou maior que 10 e imprime o resultado usando a construção if-else aninhada.

  1. Em primeiro lugar, declaramos uma variável num com valor como 1. Em seguida, usamos a construção if-else.
  2. No if-else externo, a condição fornecida verifica se um número é menor que 10. Se a condição for verdadeira, então, e somente então, ele executará o loop interno. Nesse caso, a condição é verdadeira, portanto, o bloco interno é processado.
  3. No bloco interno, novamente temos uma condição que verifica se nossa variável contém o valor 1 ou não. Quando uma condição for verdadeira, ele processará o bloco If, caso contrário, processará um bloco else. Neste caso, a condição é verdadeira, portanto, o bloco If a é executado e o valor é impresso na tela de saída.
  4. O programa acima irá imprimir o valor de uma variável e sairá com sucesso.

Tente alterar o valor da variável para ver como o programa se comporta.

NOTA: Em if-else aninhado, temos que ter cuidado com o recuo porque várias construções if-else estão envolvidas neste processo, então fica difícil descobrir construções individuais. O recuo adequado facilita a leitura do programa.

Instruções aninhadas Else-if

O else-if aninhado é usado quando as decisões de vários caminhos são necessárias.

A sintaxe geral de como else-if ladders são construídos na programação 'C' é a seguinte:

 if (test - expression 1) {statement1;} else if (test - expression 2) {Statement2;} else if (test - expression 3) {Statement3;} else if (test - expression n) {Statement n;} else {default;}Statement x;

Esse tipo de estrutura é conhecido como escada else-if. Essa corrente geralmente se parece com uma escada, portanto, também é chamada de escada else-if. As expressões de teste são avaliadas de cima para baixo. Sempre que uma expressão de teste verdadeira é encontrada, a instrução associada a ela é executada. Quando todas as n expressões de teste se tornam falsas, a instrução padrão else é executada.

Vamos ver o funcionamento real com a ajuda de um programa.

#includeint main(){int marks=83;if(marks>75){printf("First class");}else if(marks>65){printf("Second class");}else if(marks>55){printf("Third class");}else{printf("Fourth class");}return 0;}

Resultado:

First class

O programa acima imprime a nota de acordo com as notas obtidas em um teste. Usamos a construção de escada else-if no programa acima.

  1. Inicializamos uma variável com marcas. Na estrutura da escada else-if, fornecemos várias condições.
  2. O valor das marcas das variáveis ​​será comparado com a primeira condição, pois é verdade que a declaração associada a ela será impressa na tela de saída.
  3. Se a primeira condição de teste for falsa, ela será comparada com a segunda condição.
  4. Este processo continuará até que toda a expressão seja avaliada, caso contrário, o controle sairá da escada else-if e a instrução padrão será impressa.

Tente modificar o valor e observe a mudança na saída.

Resumo

  • As instruções de tomada de decisão ou ramificação são usadas para selecionar um caminho com base no resultado da expressão avaliada.
  • Também é chamado de instruções de controle porque controla o fluxo de execução de um programa.
  • 'C' fornece construções if, if-else para declarações de tomada de decisão.
  • Também podemos aninhar if-else dentro de outro quando vários caminhos precisam ser testados.
  • A escada else-if é usada quando temos que verificar várias maneiras com base no resultado da expressão.