Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Linguagem C

C Instrução Condicional:IF, IF Else e Aninhado IF Else com Exemplo

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


Declarações Condicionais em C programação são usados ​​para tomar decisões com base nas condições. As instruções condicionais são executadas sequencialmente quando não há nenhuma 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 de acordo com o resultado avaliado pela condição. Este processo é chamado de tomada de decisão em 'C.'

Na programação 'C', as instruçõ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á-

Instrução if


É uma das poderosas declarações condicionais. 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':
#include<stdio.h>
int main()
{
	int num1=1;
	int num2=2;
	if(num1<num2)		//test-condition
	{
		printf("num1 is smaller than num2");
	}
	return 0;
}

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 como 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 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 condições, que retorna true ou false :


<=menor ou igual a

> maior que

>=maior ou igual a

==igual a

!=diferente de

Observe que o teste de igualdade (==) é 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 instruçã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;

Neste tipo de construção, se o valor de expressão-teste for verdadeiro, então o bloco verdadeiro de instruções será executado. Se o valor da expressão-teste for falso, então 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:

Vamos 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.
#include<stdio.h>
int 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. Iniciamos 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-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 else é executado. Assim, 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, 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 ?: O operador tem apenas uma instrução associada ao if e ao else.

Por exemplo:
#include <stdio.h>
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

Declarações if-else aninhadas


Quando uma série de decisões é necessária, o 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.
#include<stdio.h>
int 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. Primeiro, declaramos uma variável num com valor igual a 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 Se um bloco é executado e o valor é impresso na tela de saída.
  4. O programa acima 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.

OBSERVAÇÃO: Em if-else aninhado, temos que ter cuidado com o recuo porque várias construções if-else estão envolvidas nesse processo, tornando difícil descobrir construções individuais. A indentação adequada facilita a leitura do programa.

Declarações Else-if aninhadas


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

A sintaxe geral de como as escadas else-if são construídas 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 cadeia geralmente se parece com uma escada, portanto, também é chamada de escada else-if. As expressões-teste são avaliadas de cima para baixo. Sempre que uma expressão de teste verdadeira for encontrada, a instrução associada a ela será executada. Quando todas as n expressões de teste se tornam falsas, a instrução else padrão é executada.

Vamos ver o trabalho real com a ajuda de um programa.
#include<stdio.h>
int 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. Iniciamos uma variável com marcas. Na estrutura de escada else-if, fornecemos várias condições.
  2. O valor das marcas da variável será comparado com a primeira condição, pois é verdadeira 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. Esse processo continuará até que a expressão all 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 declaraçõ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 um no 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.

Linguagem C

  1. Expressões, instruções e blocos em C# (com exemplos)
  2. C# if, if...else, if...else if e aninhado if declaração
  3. C++ if, if...else e aninhado if...else
  4. C if... else Declaração
  5. Java if... else Declaração
  6. Operadores em C++ com Exemplo:O que é, Tipos e Programas
  7. Instrução C++ Switch Case com EXEMPLO
  8. Estrutura C++ com exemplo
  9. std::list em C++ com exemplo
  10. Diferença entre estrutura e classe:explicada com exemplo de C++