Apostila C da UFMG - Universidade do Minho
Apostila C da UFMG - Universidade do Minho
Apostila C da UFMG - Universidade do Minho
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
4.2 - O Coman<strong>do</strong> switch<br />
O coman<strong>do</strong> if-else e o coman<strong>do</strong> switch são os <strong>do</strong>is coman<strong>do</strong>s de toma<strong>da</strong> de decisão. Sem dúvi<strong>da</strong> alguma o mais<br />
importante <strong>do</strong>s <strong>do</strong>is é o if, mas o coman<strong>do</strong> switch tem aplicações valiosas. Mais uma vez vale lembrar que devemos<br />
usar o coman<strong>do</strong> certo no local certo. Isto assegura um código limpo e de fácil entendimento. O coman<strong>do</strong> switch é<br />
próprio para se testar uma variável em relação a diversos valores pré-estabeleci<strong>do</strong>s. Sua forma geral é:<br />
switch (variável)<br />
{<br />
case constante_1:<br />
declaração_1;<br />
break;<br />
case constante_2:<br />
declaração_2;<br />
break;<br />
.<br />
.<br />
.<br />
case constante_n:<br />
decalração_n;<br />
break;<br />
default<br />
declaração_default;<br />
}<br />
Podemos fazer uma analogia entre o switch e a estrutura if-else-if apresenta<strong>da</strong> anteriormente. A diferença<br />
fun<strong>da</strong>mental é que a estrutura switch não aceita expressões. Aceita apenas constantes. O switch testa a variável e<br />
executa a declaração cujo case correspon<strong>da</strong> ao valor atual <strong>da</strong> variável. A declaração default é opcional e será<br />
executa<strong>da</strong> apenas se a variável, que está sen<strong>do</strong> testa<strong>da</strong>, não for igual a nenhuma <strong>da</strong>s constantes.<br />
O coman<strong>do</strong> break, faz com que o switch seja interrompi<strong>do</strong> assim que uma <strong>da</strong>s declarações seja executa<strong>da</strong>. Mas ele<br />
não é essencial ao coman<strong>do</strong> switch. Se após a execução <strong>da</strong> declaração não houver um break, o programa continuará<br />
executan<strong>do</strong>. Isto pode ser útil em algumas situações, mas eu recomen<strong>do</strong> cui<strong>da</strong><strong>do</strong>. Veremos agora um exemplo <strong>do</strong><br />
coman<strong>do</strong> switch:<br />
#include <br />
main ()<br />
{<br />
int num;<br />
printf ("Digite um numero: ");<br />
scanf ("%d",&num);<br />
switch (num)<br />
{<br />
case 9:<br />
printf ("\n\nO numero e igual a 9.\n");<br />
break;<br />
case 10:<br />
printf ("\n\nO numero e igual a 10.\n");<br />
break;<br />
case 11:<br />
printf ("\n\nO numero e igual a 11.\n");<br />
break;<br />
default:<br />
printf ("\n\nO numero nao e nem 9 nem 10 nem 11.\n");<br />
}<br />
}<br />
Pág. 27