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
Em relação aos operadores, C é, talvez, a linguagem que possui um maior número, pois, além de apresentar todos os operadores comuns de uma linguagem de alto nível, apresenta, também, operadores usuais às linguagens de baixo nível. Os operadores que serão apresentados nesta seção estão classificados nas seguintes categorias: Atribuição; Aritmético; Bit a bit; Lógico ou Booleano; Relacional; Acesso a endereço ou de manipulação com ponteiro.
O operador de atribuição “=” é a categoria mais utilizada em C, pois é empregado sempre que houver a necessidade de passar um dado a uma determinada variável ou para atribuir um valor a uma constante.
Sintaxe
<identificador> = <expressão>;
Onde, identificador é o nome da variável ou constante e expressão pode ser outra variável ou constante, uma operação matemática, uma expressão ou um valor.
Exemplos:
x = 10;
y = x;
São operadores responsáveis por realizarem operações matemáticas entre variáveis e/ou constantes do mesmo tipo ou de tipos diferentes. No Quadro 6, estão representados os operadores matemáticos aceitos no C, bem como sua precedência (da maior para a menor), e no Quadro 7, são mostrados alguns exemplos.
Operador | Acão | Precedência |
-- , ++ | Decremento e Incremento | Maior |
- | Menos unário | ![]() |
* , / | Multiplicação e Divisão | |
% | Módulo (resto de divisão inteira) | |
- , + | Subtração e Adição | Menor |
Sintaxe
<operando 1> <operador aritmético> <operando 2>;
Expressão | Resultado |
1 + 2 | 3 |
5.0 – 1 | 4.0 |
2 * 1.5 | 3.0 |
5.0 / 2.0 | 2.5 (divisão real) |
5 / 2 | 2 (divisão inteira) |
5 % 2 | 1 (resto da divisão inteira) |
Um erro comum de programação é usar o operador %(módulo) com operandos não inteiros, ou seja, que não são do tipo int.
Esses operadores são utilizados para manipular operações com bits de variáveis dos tipos inteiros int e long e do tipo char. As operações possíveis são as mostradas no Quadro 8.
Operador | Ação |
& | AND (E) |
| | OR (Ou) |
^ | XOR (ou exclusivo) |
~ | NOT (inverte o estado dos bits) |
>> | Deslocamento de bits à direita |
<< | Deslocamento de bits à esquerda |
Exemplos
unsigned char x, y, z; //Declaração de 3 variáveis unsigned char.
unsigned int resposta; //Declaração de uma variável int de 16 bits
x = 0b00101001; // Atribui o valor binário 0010 1001 à variável x.
y = 0b10001000; // Atribui o valor binário 1000 1000 à variável y.
z = 0b01110101; // Atribui o valor binário 0111 0101 à variável z.
resposta = x & y; // resposta = 0000 0000 0000 1000
resposta = y | z; // resposta = 0000 0000 1111 1101
resposta = ((resposta&0x00ff)&y)<<8; // resposta = 1000 1000 0000 0000
resposta |= x; // resposta = 1000 1000 0010 1001
resposta = ~resposta // resposta = 0111 0111 1101 0110
Versão 5.3 - Todos os Direitos reservados