Estrutura de decisão
Na linguagem de programação C, as estruturas de decisão são utilizadas para controlar o fluxo do programa com base em condições lógicas. As estruturas de decisão mais comuns são o if
, o else if
(opcional), o else
e o switch-case
.
Estrutura if
A estrutura if
é usada para executar um bloco de código somente se a condição especificada for verdadeira.
Sintaxe:
if (condicao) {
// código a ser executado se a condição for verdadeira
}
Exemplo:
int numero = 10;
if (numero > 5) {
printf("O número é maior do que 5.\n");
}
Estrutura else
A estrutura else
é usada para executar um bloco de código quando a condição no if
não for verdadeira. Ela não testa nenhuma condição adicional, apenas executa o código se as condições anteriores não forem verdadeiras.
Sintaxe:
if (condicao) {
// código a ser executado se a condição for verdadeira
} else {
// código a ser executado se a condição não for verdadeira
}
Exemplo:
int numero = 3;
if (numero > 5) {
printf("O número é maior do que 5.\n");
} else {
printf("O número não é maior do que 5.\n");
}
Estrutura else if
A estrutura else if
é usada para testar várias condições consecutivas se a condição anterior não for verdadeira. Ela é opcional e pode ser usada várias vezes.
Sintaxe:
if (condicao1) {
// código a ser executado se a condição1 for verdadeira
} else if (condicao2) {
// código a ser executado se a condição2 for verdadeira
} else {
// código a ser executado se nenhuma das condições anteriores for verdadeira
}
Exemplo:
int numero = 10;
if (numero > 15) {
printf("O número é maior do que 15.\n");
} else if (numero > 5) {
printf("O número é maior do que 5, mas não maior que 15.\n");
} else {
printf("O número é menor ou igual a 5.\n");
}
Estrutura switch
A estrutura switch
é usada para criar uma seleção múltipla com base no valor de uma expressão. Ela é especialmente útil quando você deseja avaliar uma variável ou expressão em relação a uma série de valores possíveis e executar diferentes blocos de código correspondentes.
Sintaxe:
switch (expressao) {
case valor1:
// código a ser executado se expressao for igual a valor1
break;
case valor2:
// código a ser executado se expressao for igual a valor2
break;
// mais cases se necessário
default:
// código a ser executado se nenhum dos valores acima corresponder
}
Cada case
representa um valor possível para a expressão testada. Quando a expressão coincide com o valor específico no case
, então o bloco de código correspondente é executado até que um break
seja encontrado ou quando acabar o bloco switch
.
A declaração default
é opcional e é executado quando nenhum dos valores especificados coincide com a expressão.
Exemplo:
int diaDaSemana = 3;
switch (diaDaSemana) {
case 1:
printf("Domingo\n");
break;
case 2:
printf("Segunda-feira\n");
break;
case 3:
printf("Terça-feira\n");
break;
case 4:
printf("Quarta-feira\n");
break;
case 5:
printf("Quinta-feira\n");
break;
case 6:
printf("Sexta-feira\n");
break;
case 7:
printf("Sábado\n");
break;
default:
printf("Dia inválido\n");
}
O switch
é útil quando você precisa fazer uma seleção entre várias opções diferentes com base em um valor específico.
Operador Ternário
O operador ternário, também conhecido como operador condicional, é uma forma compacta de expressar uma estrutura de decisão simples em uma única linha. Ele é frequentemente usado para atribuir um valor a uma variável com base em uma condição.
Sintaxe:
expressao_condicional ? valor_se_verdadeiro : valor_se_falso;
Se a expressao_condicional
for verdadeira, o valor atribuído será valor_se_verdadeiro
. Caso contrário, o valor atribuído será valor_se_falso
.
Exemplo:
int idade = 18;
char* status = (idade >= 18) ? "Maior de idade" : "Menor de idade";
Nesse exemplo, a variável status
receberá a string “Maior de idade” se a idade for maior ou igual a 18, caso contrário, receberá a string “Menor de idade”.
O operador ternário é uma maneira eficiente e concisa de lidar com decisões simples, economizando linhas de código e mantendo a legibilidade. No entanto, é importante usá-lo com moderação para não prejudicar a legibilidade do código.