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:
declaraçã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>
int 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");
        }
	return(0);
}

AUTO AVALIAÇÃO

Veja como você está.

Escreva um programa, utilizando os comandos for e switch, que leia uma string (use gets()) e substitua todos os espaços e tabulações ('\t') por caracteres de nova linha ('\n'). O for deve ser encerrado quando o caracter de final da string ('\0') for encontrado.


Página Anterior  Índice da Aula  Próxima Página


Curso de C do CPDEE/UFMG - 1996 - 1999