Operadores de programação C
Operadores de programação C
Neste tutorial, você aprenderá sobre diferentes operadores na programação C com a ajuda de exemplos.
Vídeo:operadores aritméticos em C
Um operador é um símbolo que opera em um valor ou variável. Por exemplo:+ é um operador para realizar a adição.
C tem uma ampla gama de operadores para realizar várias operações.
Operadores aritméticos C
Um operador aritmético realiza operações matemáticas como adição, subtração, multiplicação, divisão etc. em valores numéricos (constantes e variáveis).
Operador | Significado de Operador |
---|---|
+ | adição ou adição unária |
- | subtração ou menos unário |
* | multiplicação |
/ | divisão |
% | resto após divisão (divisão de módulo) |
Exemplo 1:operadores aritméticos
// Working of arithmetic operators
#include <stdio.h>
int main()
{
int a = 9,b = 4, c;
c = a+b;
printf("a+b = %d \n",c);
c = a-b;
printf("a-b = %d \n",c);
c = a*b;
printf("a*b = %d \n",c);
c = a/b;
printf("a/b = %d \n",c);
c = a%b;
printf("Remainder when a divided by b = %d \n",c);
return 0;
}
Saída
a+b = 13 a-b = 5 a*b = 36 a/b = 2 Remainder when a divided by b=1
Os operadores
+
, -
e *
calcula adição, subtração e multiplicação, respectivamente, como você poderia esperar. No cálculo normal,
9/4 = 2.25
. No entanto, a saída é 2
no programa. É porque ambas as variáveis a e b são inteiros. Portanto, a saída também é um número inteiro. O compilador negligencia o termo após o ponto decimal e mostra a resposta
2
em vez de 2.25
. O operador de módulo
%
calcula o restante. Quando a=9
é dividido por b=4
, o restante é 1
. O %
operador só pode ser usado com números inteiros. Suponha
a = 5.0
, b = 2.0
, c = 5
e d = 2
. Então, na programação C, // Either one of the operands is a floating-point number a/b = 2.5 a/d = 2.5 c/b = 2.5 // Both operands are integers c/d = 2
C Operadores de Incremento e Decremento
A programação C tem dois operadores incrementam
++
e decrementar --
para alterar o valor de um operando (constante ou variável) por 1. Incrementar
++
aumenta o valor em 1 enquanto diminui --
diminui o valor em 1. Esses dois operadores são operadores unários, o que significa que eles operam apenas em um único operando. Exemplo 2:operadores de incremento e decremento
// Working of increment and decrement operators
#include <stdio.h>
int main()
{
int a = 10, b = 100;
float c = 10.5, d = 100.5;
printf("++a = %d \n", ++a);
printf("--b = %d \n", --b);
printf("++c = %f \n", ++c);
printf("--d = %f \n", --d);
return 0;
}
Saída
++a = 11 --b = 99 ++c = 11.500000 --d = 99.500000
Aqui, os operadores
++
e --
são usados como prefixos. Esses dois operadores também podem ser usados como postfixes como a++
e a--
. Visite esta página para saber mais sobre como os operadores de incremento e decremento funcionam quando usados como postfix. Operadores de atribuição C
Um operador de atribuição é usado para atribuir um valor a uma variável. O operador de atribuição mais comum é
=
Operador | Exemplo | Igual a |
---|---|---|
= | a =b | a =b |
+= | a +=b | a =a+b |
-= | a -=b | a =a-b |
*= | a *=b | a =a*b |
/= | a /=b | a =a/b |
%= | a %=b | a =a%b |
Exemplo 3:Operadores de Atribuição
// Working of assignment operators
#include <stdio.h>
int main()
{
int a = 5, c;
c = a; // c is 5
printf("c = %d\n", c);
c += a; // c is 10
printf("c = %d\n", c);
c -= a; // c is 5
printf("c = %d\n", c);
c *= a; // c is 25
printf("c = %d\n", c);
c /= a; // c is 5
printf("c = %d\n", c);
c %= a; // c = 0
printf("c = %d\n", c);
return 0;
}
Saída
c = 5 c = 10 c = 5 c = 25 c = 5 c = 0
Operadores Relacionais C
Um operador relacional verifica a relação entre dois operandos. Se a relação for verdadeira, retorna 1; se a relação for falsa, retorna o valor 0.
Operadores relacionais são usados na tomada de decisão e loops.
Operador | Significado de Operador | Exemplo |
---|---|---|
== | Igual a | 5 == 3 é avaliado como 0 |
> | Maior que | 5 > 3 é avaliado como 1 |
Menor que | 5 < 3 é avaliado como 0 | |
!= | Não é igual a | 5 != 3 é avaliado como 1 |
>= | Maior ou igual a | 5 >= 3 é avaliado como 1 |
<= | Menor ou igual a | 5 <= 3 é avaliado como 0 |
Exemplo 4:Operadores Relacionais
// Working of relational operators
#include <stdio.h>
int main()
{
int a = 5, b = 5, c = 10;
printf("%d == %d is %d \n", a, b, a == b);
printf("%d == %d is %d \n", a, c, a == c);
printf("%d > %d is %d \n", a, b, a > b);
printf("%d > %d is %d \n", a, c, a > c);
printf("%d < %d is %d \n", a, b, a < b);
printf("%d < %d is %d \n", a, c, a < c);
printf("%d != %d is %d \n", a, b, a != b);
printf("%d != %d is %d \n", a, c, a != c);
printf("%d >= %d is %d \n", a, b, a >= b);
printf("%d >= %d is %d \n", a, c, a >= c);
printf("%d <= %d is %d \n", a, b, a <= b);
printf("%d <= %d is %d \n", a, c, a <= c);
return 0;
}
Saída
5 == 5 is 1 5 == 10 is 0 5 > 5 is 0 5 > 10 is 0 5 < 5 is 0 5 < 10 is 1 5 != 5 is 0 5 != 10 is 1 5 >= 5 is 1 5 >= 10 is 0 5 <= 5 is 1 5 <= 10 is 1
Operadores lógicos C
Uma expressão que contém o operador lógico retorna 0 ou 1 dependendo se a expressão resulta em verdadeiro ou falso. Os operadores lógicos são comumente usados na tomada de decisões em programação C.
Operador | Significado | Exemplo |
---|---|---|
&& | E lógico. Verdadeiro somente se todos os operandos forem verdadeiros | Se c =5 e d =2 então, expressão ((c==5) && (d>5)) igual a 0. |
|| | OU lógico. True somente se um dos operandos for true | Se c =5 e d =2 então, expressão ((c==5) || (d>5)) é igual a 1. |
! | NÃO Lógico. Verdadeiro somente se o operando for 0 | Se c =5 então, expressão !(c==5) igual a 0. |
Exemplo 5:operadores lógicos
// Working of logical operators
#include <stdio.h>
int main()
{
int a = 5, b = 5, c = 10, result;
result = (a == b) && (c > b);
printf("(a == b) && (c > b) is %d \n", result);
result = (a == b) && (c < b);
printf("(a == b) && (c < b) is %d \n", result);
result = (a == b) || (c < b);
printf("(a == b) || (c < b) is %d \n", result);
result = (a != b) || (c < b);
printf("(a != b) || (c < b) is %d \n", result);
result = !(a != b);
printf("!(a != b) is %d \n", result);
result = !(a == b);
printf("!(a == b) is %d \n", result);
return 0;
}
Saída
(a == b) && (c > b) is 1 (a == b) && (c < b) is 0 (a == b) || (c < b) is 1 (a != b) || (c < b) is 0 !(a != b) is 1 !(a == b) is 0
Explicação do programa de operador lógico
(a == b) && (c > 5)
é avaliado como 1 porque ambos os operandos(a == b)
e(c > b)
é 1 (verdadeiro).(a == b) && (c < b)
é avaliado como 0 porque o operando(c < b)
é 0 (falso).(a == b) || (c < b)
é avaliado como 1 porque(a = b)
é 1 (verdadeiro).(a != b) || (c < b)
é avaliado como 0 porque ambos os operandos(a != b)
e(c < b)
são 0 (falso).!(a != b)
é avaliado como 1 porque o operando(a != b)
é 0 (falso). Portanto, !(a !=b) é 1 (verdadeiro).!(a == b)
é avaliado como 0 porque(a == b)
é 1 (verdadeiro). Portanto,!(a == b)
é 0 (falso).
Operadores bit a bit C
Durante a computação, operações matemáticas como:adição, subtração, multiplicação, divisão, etc, são convertidas em nível de bits, o que torna o processamento mais rápido e economiza energia.
Os operadores bit a bit são usados na programação C para realizar operações em nível de bit.
Operadores | Significado dos operadores |
---|---|
& | Bit a bit E |
| | OU bit a bit |
^ | OU exclusivo bit a bit |
~ | Complemento bit a bit |
<< | Deslocar para a esquerda |
>> | Deslocar para a direita |
Visite o operador bit a bit em C para saber mais.
Outros operadores
Operador de vírgula
Operadores de vírgula são usados para vincular expressões relacionadas. Por exemplo:
int a, c = 5, d;
O operador sizeof
O
sizeof
é um operador unário que retorna o tamanho dos dados (constantes, variáveis, array, estrutura, etc). Exemplo 6:operador sizeof
#include <stdio.h>
int main()
{
int a;
float b;
double c;
char d;
printf("Size of int=%lu bytes\n",sizeof(a));
printf("Size of float=%lu bytes\n",sizeof(b));
printf("Size of double=%lu bytes\n",sizeof(c));
printf("Size of char=%lu byte\n",sizeof(d));
return 0;
}
Saída
Size of int = 4 bytes Size of float = 4 bytes Size of double = 8 bytes Size of char = 1 byte
Outros operadores, como o operador ternário
?:
, operador de referência &
, operador de desreferência *
e operador de seleção de membros ->
será discutido em tutoriais posteriores. Linguagem C