Cursos / Eletrônica / Projeto de Sistemas Microcontrolados / Aula

arrow_back Aula 06 - Fundamentos de Linguagem C - Parte I

Operadores

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.

Operador de atribuição

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

AخA
1
<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:

2
1
x  = 10;
2
y  = x;

Operadores aritméticos

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
Quadro 6 – Operadores aritméticos

Sintaxe

1
1
<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)
Quadro 7 – Exemplos de uso de alguns operadores aritméticos com seus respectivos resultados

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.

Operadores bit a bit

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
Quadro 8 – Operações bit a bit

Exemplos

x
1
unsigned char x, y, z;         //Declaração de 3 variáveis unsigned char.
2
unsigned int resposta;       //Declaração de uma variável int de 16 bits
3
4
5
x = 0b00101001; // Atribui o valor binário 0010 1001 à variável x.
6
y = 0b10001000; // Atribui o valor binário 1000 1000 à variável y.
7
z = 0b01110101; // Atribui o valor binário 0111 0101 à variável z.
8
9
10
resposta = x & y;                                  // resposta = 0000 0000 0000 1000
11
resposta = y | z;                                    // resposta = 0000 0000 1111 1101
12
resposta = ((resposta&0x00ff)&y)<<8;  // resposta = 1000 1000 0000 0000
13
resposta |= x;                                        // resposta = 1000 1000 0010 1001
14
resposta = ~resposta                            // resposta = 0111 0111 1101 0110

Versão 5.3 - Todos os Direitos reservados