CURSO DE C
O Comando switch
O comando if-else
e o comando switch são os dois comandos de tomada de decisão.
Sem dúvida alguma o mais importante dos dois é o if,
mas o comando switch tem aplicações valiosas. Mais
uma vez vale lembrar que devemos usar o comando certo no local certo. Isto
assegura um código limpo e de fácil entendimento. O comando
switch é próprio para se testar uma variável
em relação a diversos valores pré-estabelecidos. Sua
forma geral é:
-
switch (variável)
-
{
case constante_1:
declaração_1;
break;
case constante_2:
declaração_2;
break;
.
.
.
case constante_n:
decalração_n;
break;
default
declaração_default;
}
Podemos fazer uma analogia entre o switch e a estrutura if-else-if
apresentada
anteriormente. A diferença fundamental é que a estrutura
switch não aceita expressões. Aceita apenas
constantes. O switch testa a variável e executa a declaração
cujo case corresponda ao valor atual da variável. A declaração
default é opcional e será executada apenas se a variável,
que está sendo testada, não for igual a nenhuma das constantes.
O comando break,
faz com que o switch seja interrompido assim que uma das declarações
seja executada. Mas ele não é essencial ao comando switch.
Se após a execução da declaração não
houver um break,
o programa continuará executando. Isto pode ser útil em algumas
situações, mas eu recomendo cuidado. Veremos agora um exemplo
do comando switch:
#include <stdio.h>
main ()
{
int num;
printf ("Digite um numero: ");
scanf ("%d",&num);
switch (num)
{
case 9:
printf ("\n\nO numero e igual a 9.\n");
break;
case 10:
printf ("\n\nO numero e igual a 10.\n");
break;
case 11:
printf ("\n\nO numero e igual a 11.\n");
break;
default:
printf ("\n\nO numero nao e nem 9 nem 10 nem 11.\n");
}
}
AUTO AVALIAÇÃO
Veja como você está.
Escreva um programa utilizando o comando switch que leia uma
string (use gets()) e substitua todos os espaços e tabulações ('\t')
por caracteres de nova linha. O loop deve encerrar quando encontrar
o caracter de final de linha '\0'.
Dúvidas? De uma olhadinha em nosso
FAQ