Os materiais didáticos aqui disponibilizados estão licenciados através de Creative Commons Atribuição-SemDerivações-SemDerivados CC BY-NC-ND. Você possui a permissão para visualizar e compartilhar, desde que atribua os créditos do autor. Não poderá alterá-los e nem utilizá-los para fins comerciais.
Atribuição-SemDerivações-SemDerivados
CC BY-NC-ND
Cursos / Eletrônica / Projeto de Sistemas Microcontrolados / Aula
Os comandos de seleção são aplicados quando se deseja realizar um determinado tipo de ação, com base no resultado de uma expressão condicional. Os comandos empregados pelos compiladores CCS e C18 são os mesmos dos compiladores C padrões, neste caso o if e o switch.
Esse comando executa um ou mais comandos C, presentes num laço if, se uma dada expressão for verdadeira (diferente de ‘0’). Caso contrário, executa o bloco de comandos presentes no laço else.
Sintaxe
if(expressão)
{
// Bloco de comandos C a serem executados
}
else
{
// Bloco de comandos C a serem executados
}
O uso das chaves, { }, delimitam o início e o fim do comando if, else.
Exemplo
void main( ) // Função principal
{
int cont = 6; // Declara uma variável do tipo int.
short int cond; // Declara uma variável do tipo short.
if(cont<= 5) // Verifica se a expressão é verdadeira.
{ cond = 1; } // Indica uma condição verdadeira.
else
{ cond = 0; } // Indica uma condição falsa.
}
O comando switch verifica se o valor de uma dada expressão é verdadeiro, em uma lista de constantes. Se o valor for igual ao rótulo (constante_1, constante_2 e constante_n) de uma cláusula case, as instruções pertencentes a ele serão executadas. Mas, se nenhum case atender à condição, então, os comandos presentes na cláusula default serão executados.
Sintaxe
switch(expressão)
{
case constant_1:
// Bloco de comandos C a serem executados;
break;
case constant_2:
// Bloco de comandos C a serem executados;
break;
case constant_n:
/ / Bloco de comandos C a serem executados;
break;
default:
// Bloco de comandos C a serem executados;
}
De forma idêntica,o uso das chaves, { }, indica o início e o fim do comando switch.
Na sintaxe do comando switch, pode-se observar a existência da cláusula break, empregada para efetuar a saída imediata da cláusula case. Se a cláusula break não existir em algum dos case, as instruções serão executadas até que uma cláusula break seja encontrada ou o último case seja executado.
Exemplo
unsigned char int_para_char(int número) //Função secundária
{
unsigned char caractere_pro; //declara uma variável do tipo unsigned char
switch(numero)
{
case 0: caractere_pro = ‘0’;
break;
case 1: caractere_pro = ‘1’;
break;
case 2: caractere_pro = ‘2’;
break;
case 3: caractere_pro = ‘3’;
break;
default: caractere_pro = ‘ ’;
break;
}
return caractere_pro; // Sai da função e retorna o valor do caractere_pro
}
void main( ) // Função principal
{
unsigned int num; // Declara uma variável do tipo unsigned int.
unsigned char caractere; // Declara uma variável do tipo unsigned char.
num = 2; // Atribui o valor 2 decimal a variável num.
caractere = int_para_char(num); /* Chama a função int_para_char() e armazena o caractere retornado */
}
Versão 5.3 - Todos os Direitos reservados