Seleção caso

From Applied Science
Revision as of 20:43, 20 January 2025 by Wikiadmin (talk | contribs) (Created page with "* '''Estruturas de seleção com SWITCH e CASE:''' <source lang="c"> int escolha; switch (escolha) { case 1: printf("Voce escolheu 1"); break; case 2: printf("Voce escolheu 2"); break; case 3: printf("Voce escolheu 3"); break; default: printf("Voce escolheu %d (nenhuma das anteriores)", escolha); } </source> '''Diferença entre switch case para if else.''' Não há diferenças quanto ao comportamento do programa. O que muda é a sintaxe e o dese...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
  • Estruturas de seleção com SWITCH e CASE:
int escolha;
switch (escolha) {

  case 1:
  printf("Voce escolheu 1");
  break;

  case 2:
  printf("Voce escolheu 2");
  break;

  case 3:
  printf("Voce escolheu 3");
  break;

  default:
  printf("Voce escolheu %d (nenhuma das anteriores)", escolha);
}

Diferença entre switch case para if else. Não há diferenças quanto ao comportamento do programa. O que muda é a sintaxe e o desempenho em algumas situações (desempenho não é uma preocupação na introdução). A grande diferença está no uso. Com switch case não há operadores booleanos and, or e not. Também não há expressões como "maior ou igual" e "menor ou igual". Ele funciona como uma lista de opções, onde cada opção é um valor inteiro. switch case é melhor de entender quando há escolhas mutuamente exclusivas. Isto é, uma não tem relação de dependência com as demais.

  1. Mais de um caso pode corresponder à mesma escolha, por exemplo: deixe um 'case 1:' logo na linha acima do 'case 2:' Isso fará o printf() ser executado tanto no caso 1 quanto no 2;
  2. Sem o comando 'break' o programa não termina a execução no caso satisfeito e continua para o próximo caso logo abaixo. É estranho comparado a else if, mas na linguagem funciona assim mesmo. Numa introdução não são feitos programas que se utilizem deste fato;
  3. O comando 'default' é equivalente ao 'else'. Não tem um 'break' pois ele sempre é verificado por último.
  4. Comparações compostas com mais de uma variável não são usadas com blocos switch case. Seria muito custoso reescrever if else com comparações compostas para o formato switch case. Quando mais de um valor corresponde a uma escolha, seria loucura cobrir todos os casos um por um.