Estruturas de Decisão Condicional em Linguagem C

Decisão Condicional em Linguagem C

Em linguagem C, existem três tipos de estruturas de decisão condicional: if, if-else e switch-case. Essas estruturas são fundamentais para controlar o fluxo de execução do programa de acordo com condições específicas.

Condicional Simples: a estrutura if

A estrutura if permite executar um bloco de código somente se uma condição for verdadeira. A sintaxe é a seguinte:

if (condicao) {
  // bloco de codigo a ser executado se a condicao for verdadeira
}

Por exemplo:

int num = 5;
if (num > 0) {
  printf("O numero e positivo");
}
return 0;

Neste exemplo, se o valor da variável “num” for maior que zero, o bloco de código dentro do if será executado e a mensagem “O número é positivo” será exibida na tela.

Experimente alterar o valor de num para um número negativo, como -15, e rode novamente o programa. Neste caso, nada será exibido na tela, pois o teste condicional retornará “falso”, pulando a execução a instrução do bloco (printf)

Condicional composto: a estrutura if-else

A estrutura if-else permite executar um bloco de código se uma condição for verdadeira e outro bloco de código se a condição for falsa. A sintaxe é a seguinte:

if (condicao) {
  // bloco de codigo a ser executado se a condicao for verdadeira
} else {
  // bloco de codigo a ser executado se a condicao for falsa
}

Por exemplo:

int num = -3;
if (num > 0) {
  printf("O numero e positivo");
} else {
    printf("O numero e negativo");
}

Neste exemplo, se o valor da variável “num” for maior que zero, o bloco de código dentro do if será executado e a mensagem “O número é positivo” será exibida na tela. Caso contrário, o bloco de código dentro do else será executado e a mensagem “O número é negativo” será exibida na tela.

Condicional encadeado: a estrutura if – else if – else

A estrutura condicional if – else if – else é uma das formas mais comuns de controlar o fluxo de um programa em C, permitindo executar diferentes blocos de código dependendo de uma ou mais condições.

A seguir, apresento um tutorial passo a passo para entender e implementar a estrutura condicional if -else if- else em C:

O básico do if – else if – else

A estrutura do if – else if – else começa com a palavra-chave if, seguida de uma expressão entre parênteses que será avaliada como verdadeira ou falsa. Se a expressão for verdadeira, um bloco de código entre chaves {} será executado. Caso contrário, a execução passará para o próximo bloco de código else if, que seguirá o mesmo padrão.

O último bloco de código será sempre um else sem expressão, que será executado caso nenhuma das condições anteriores seja verdadeira.

if (condicao1) {
  // bloco de código a ser executado se a condicao1 for verdadeira
} else if (condicao2) {
  // bloco de código a ser executado se a condicao2 for verdadeira
} else if (condicao3) {
  // bloco de código a ser executado se a condicao3 for verdadeira
} else {
  // bloco de código a ser executado caso nenhuma das condições anteriores seja verdadeira
}
Exemplo de if - else if - else em ação

Vamos supor que temos uma variável idade e queremos imprimir uma mensagem de acordo com a faixa etária. Podemos usar a estrutura if – else if – else para isso:

int idade = 32;
if (idade < 18) {
  printf("Você é menor de idade");
} else if (idade >= 18 && idade <= 64) {
    printf("Você é adulto");
} else {
    printf("Você é idoso");
}

Nesse exemplo, a variável idade é igual a 32, então a expressão idade >= 18 && idade <= 64 é verdadeira, e o bloco de código correspondente ao else if é executado, imprimindo a string “Você é adulto” no console.

Dicas para usar o if-else if-else

  • Lembre-se de colocar cada bloco de código entre chaves {} para garantir que apenas o código que você deseja seja executado em cada condição.
  • Use o else para tratar casos que não foram tratados pelas condições anteriores.
  • Lembre-se de que as expressões dentro dos if e else if devem ser avaliadas como verdadeiras ou falsas, e que operadores lógicos como && e || podem ser usados para combinar várias condições em uma expressão mais complexa.

A estrutura condicional switch-case

A estrutura condicional switch-case em linguagem C é uma forma de controlar o fluxo do programa com base em um valor específico. O switch é uma instrução que permite a comparação do valor de uma variável com várias possibilidades de valores, e cada possibilidade é associada a um bloco de código executável.

A seguir, apresento um tutorial passo a passo para entender e implementar a estrutura condicional switch-case em C:

O básico do switch-case

A estrutura do switch-case começa com a palavra-chave switch seguida por um valor ou uma expressão entre parênteses. Em seguida, é aberto um bloco de código entre chaves {}. O bloco é composto por várias instruções case, cada uma com um valor ou uma constante, seguida de dois pontos : e um bloco de código a ser executado caso o valor da expressão seja igual ao valor daquele case.

Cada bloco de código deve terminar com a palavra-chave break para evitar a execução dos blocos subsequentes.

switch (valor) {
case valor1:
  // bloco de código a ser executado quando o valor for igual a valor1
  break;
case valor2:
  // bloco de código a ser executado quando o valor for igual a valor2
  break;
// mais casos podem ser adicionados aqui
default:
  // bloco de código a ser executado caso nenhum dos casos anteriores seja verdadeiro
}

Exemplo de switch-case em ação

Vamos supor que temos uma variável diaDaSemana que representa o dia da semana (de 1 a 7), e queremos imprimir o nome do dia em português. Podemos usar a estrutura switch-case para isso:

int diaDaSemana = 3;
switch (diaDaSemana) {
  case 1:
    printf("Domingo");
    break;
  case 2:
    printf("Segunda-feira");
    break;
  case 3:
    printf("Terça-feira");
    break;
  case 4:
    printf("Quarta-feira");
    break;
  case 5:
    printf("Quinta-feira");
    break;
  case 6:
    printf("Sexta-feira");
    break;
  case 7:
    printf("Sábado");
    break;
  default:
    printf("Dia da semana inválido");
}

Nesse exemplo, o valor da variável diaDaSemana é 3, então o bloco de código correspondente ao case 3 é executado, e o resultado é a impressão da string “Terça-feira” no console.

Dicas para usar o switch-case

  • Lembre-se de colocar a palavra-chave break após cada bloco de código dentro do switch, caso contrário, a execução continuará no bloco seguinte.
  • Use o default para tratar casos que não foram tratados pelos casos anteriores.
  • Não é possível comparar strings com o switch-case em C. Caso precise comparar strings, considere usar uma biblioteca como a string.h ou uma comparação de strings com um if-else encadeado.

É isso aí! Neste tutorial vimos como usar as estruturas de decisão condicional em linguagem C, incluindo os condicionais if /else e o switch/case.

 

Sobre Fábio dos Reis (1221 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 30 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Ciência e Tecnologia em geral, adora Viagens e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.

Escreva um comentário

Seu e-mail não será divulgado


*