Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Linguagem C

Guia Abrangente de Operadores em C: Tipos, Funções e Exemplos

Um operador é um símbolo que diz ao compilador para realizar funções matemáticas ou lógicas específicas. A linguagem C é rica em operadores embutidos e fornece os seguintes tipos de operadores:

Neste capítulo, veremos como cada operador funciona.

Operadores Aritméticos

A tabela a seguir mostra todos os operadores aritméticos suportados pela linguagem C. Assuma que a variável A contém 10 e a variável B contém 20, então:

Mostrar Exemplos

Operador Descrição Exemplo
+ Adiciona dois operandos. A + B = 30
- Subtrai o segundo operando do primeiro. A - B = -10
* Multiplica ambos os operandos. A * B = 200
/ Divide o numerador pelo denominador. B / A = 2
% Operador Módulo e resto após uma divisão inteira. B % A = 0
++ Operador de incremento aumenta o valor inteiro em um. A++ = 11
-- Operador de decremento diminui o valor inteiro em um. A-- = 9

Operadores Relacionais

A tabela a seguir mostra todos os operadores relacionais suportados por C. Assuma que a variável A contém 10 e a variável B contém 20, então:

Mostrar Exemplos

Operador Descrição Exemplo
== Verifica se os valores de dois operandos são iguais ou não. Se sim, a condição torna-se verdadeira. (A == B) não é verdadeiro.
!= Verifica se os valores de dois operandos são iguais ou não. Se os valores não são iguais, a condição torna-se verdadeira. (A != B) é verdadeiro.
> Verifica se o valor do operando esquerdo é maior que o valor do operando direito. Se sim, a condição torna-se verdadeira. (A > B) não é verdadeiro.
< Verifica se o valor do operando esquerdo é menor que o valor do operando direito. Se sim, a condição torna-se verdadeira. (A < B) é verdadeiro.
>= Verifica se o valor do operando esquerdo é maior ou igual ao valor do operando direito. Se sim, a condição torna-se verdadeira. (A >= B) não é verdadeiro.
<= Verifica se o valor do operando esquerdo é menor ou igual ao valor do operando direito. Se sim, a condição torna-se verdadeira. (A <= B) é verdadeiro.

Operadores Lógicos

A tabela a seguir mostra todos os operadores lógicos suportados pela linguagem C. Assuma que a variável A contém 1 e a variável B contém 0, então:

Mostrar Exemplos

Operador Descrição Exemplo
&& Chamado de operador AND Lógico. Se ambos os operandos são não-zero, a condição torna-se verdadeira. (A && B) é falso.
|| Chamado de operador OR Lógico. Se qualquer um dos dois operandos é não-zero, a condição torna-se verdadeira. (A || B) é verdadeiro.
! Chamado de operador NOT Lógico. Usado para inverter o estado lógico de seu operando. Se uma condição é verdadeira, o operador NOT Lógico a tornará falsa. !(A && B) é verdadeiro.

Operadores Bitwise

Operador bitwise trabalha em bits e realiza operação bit a bit. As tabelas de verdade para &, | e ^ são as seguintes:

p q p & q p | q p ^ q
0 0 0 0 0
0 1 0 1 1
1 1 1 1 0
1 0 0 1 1

Assuma A = 60 e B = 13 em formato binário, eles serão como segue:

A = 0011 1100

B = 0000 1101

-----------------

A&B = 0000 1100

A|B = 0011 1101

A^B = 0011 0001

~A = 1100 0011

A tabela a seguir lista os operadores bitwise suportados por C. Assuma que a variável 'A' contém 60 e a variável 'B' contém 13, então:

Mostrar Exemplos

Operador Descrição Exemplo
& Operador AND Binário copia um bit para o resultado se ele existe em ambos os operandos. (A & B) = 12, i.e., 0000 1100
| Operador OR Binário copia um bit se ele existe em qualquer operando. (A | B) = 61, i.e., 0011 1101
^ Operador XOR Binário copia o bit se ele está definido em um operando mas não em ambos. (A ^ B) = 49, i.e., 0011 0001
~ Operador Complemento de Um Binário é unário e tem o efeito de 'inverter' bits. (~A ) = ~(60), i.e., -0111101
<< Operador Deslocamento à Esquerda Binário. O valor do operando esquerdo é movido à esquerda pelo número de bits especificado pelo operando direito. A << 2 = 240 i.e., 1111 0000
>> Operador Deslocamento à Direita Binário. O valor do operando esquerdo é movido à direita pelo número de bits especificado pelo operando direito. A >> 2 = 15 i.e., 0000 1111

Operadores de Atribuição

A tabela a seguir lista os operadores de atribuição suportados pela linguagem C:

Mostrar Exemplos

Operador Descrição Exemplo
= Operador de atribuição simples. Atribui valores dos operandos do lado direito ao operando do lado esquerdo. C = A + B atribuirá o valor de A + B a C
+= Operador de adição E atribuição. Adiciona o operando direito ao operando esquerdo e atribui o resultado ao operando esquerdo. C += A é equivalente a C = C + A
-= Operador de subtração E atribuição. Subtrai o operando direito do operando esquerdo e atribui o resultado ao operando esquerdo. C -= A é equivalente a C = C - A
*= Operador de multiplicação E atribuição. Multiplica o operando direito com o operando esquerdo e atribui o resultado ao operando esquerdo. C *= A é equivalente a C = C * A
/= Operador de divisão E atribuição. Divide o operando esquerdo pelo operando direito e atribui o resultado ao operando esquerdo. C /= A é equivalente a C = C / A
%= Operador de módulo E atribuição. Obtém o módulo usando dois operandos e atribui o resultado ao operando esquerdo. C %= A é equivalente a C = C % A
<<= Operador de deslocamento à esquerda E atribuição. C <<= 2 é o mesmo que C = C << 2
>>= Operador de deslocamento à direita E atribuição. C >>= 2 é o mesmo que C = C >> 2
&= Operador de atribuição AND bitwise. C &= 2 é o mesmo que C = C & 2
^= Operador de atribuição OR exclusivo bitwise. C ^= 2 é o mesmo que C = C ^ 2
|= Operador de atribuição OR inclusivo bitwise. C |= 2 é o mesmo que C = C | 2

Operadores Diversos - sizeof & ternário

Além dos operadores discutidos acima, existem alguns outros operadores importantes incluindo sizeof e ? : suportados pela linguagem C.

Mostrar Exemplos

Operador Descrição Exemplo
sizeof() Retorna o tamanho de uma variável. sizeof(a), onde a é inteiro, retornará 4.
& Retorna o endereço de uma variável. &a; retorna o endereço real da variável.
* Ponteiro para uma variável. *a;
? : Expressão Condicional. Se Condição é verdadeira ? então valor X : caso contrário valor Y

Precedência de Operadores em C

A precedência de operadores determina o agrupamento de termos em uma expressão e decide como uma expressão é avaliada. Certos operadores têm precedência maior que outros; por exemplo, o operador de multiplicação tem precedência maior que o operador de adição.

Por exemplo, x = 7 + 3 * 2; aqui, x recebe 13, não 20 porque o operador * tem precedência maior que +, então ele primeiro é multiplicado com 3*2 e depois adiciona a 7.

Aqui, operadores com a maior precedência aparecem no topo da tabela, aqueles com a menor aparecem na parte inferior. Dentro de uma expressão, operadores de maior precedência serão avaliados primeiro.

Mostrar Exemplos

Categoria Operador Associatividade
Pós-fixado () [] -> . ++ - - Da esquerda para a direita
Unário + - ! ~ ++ - - (type)* & sizeof Da direita para a esquerda
Multiplicativo * / % Da esquerda para a direita
Aditivo + - Da esquerda para a direita
Deslocamento << >> Da esquerda para a direita
Relacional < <= > >= Da esquerda para a direita
Igualdade == != Da esquerda para a direita
AND Bitwise & Da esquerda para a direita
XOR Bitwise ^ Da esquerda para a direita
OR Bitwise | Da esquerda para a direita
AND Lógico && Da esquerda para a direita
OR Lógico || Da esquerda para a direita
Condicional ?: Da direita para a esquerda
Atribuição = += -= *= /= %=>>= <<= &= ^= |= Da direita para a esquerda
Vírgula , Da esquerda para a direita

Linguagem C

  1. Operadores em C# – Guia Completo dos Operadores em C#
  2. Dominando Operadores Bitwise e Bit Shift em C#: Guia Abrangente
  3. Dominando Operadores em C++: Guia Completo com Exemplos Práticos
  4. Dominando Operadores em Programação C: Um Guia Abrangente
  5. Dominando Operadores em Python: Guia Completo
  6. Dominando Operadores Java: Tipos, Sintaxe e Exemplos Práticos
  7. Dominando Operadores Bitwise em C: AND, OR, XOR, Shifts e Complemento
  8. Operadores Verilog: Aritméticos, Relacionais, Lógicos e Bitwise Essenciais para Síntese
  9. Java Essencial: Guia Completo dos Operadores Principais
  10. Guia Completo de Operadores em C++: Tipos, Uso e Boas Práticas