|
|||
Comum à maioria das linguagens, este operador ( =) faz a variável da esquerda assumir o valor da variável, constante ou expressão da direita. Exemplo:var = var + 2;Portanto, o conteúdo de var é aumentado de 2.
Exemplo: var = 10 % 3; (o valor de var será 1)
Eles avaliam o relacionamento entre duas expressões e dão o resultado 1 se verdadeiro ou 0 se falso.
Exemplo: var = 2;
Ou seja, o valor de var continua 2.Um lapso comum é confundir o operador de comparação ( ==) com o operador de igualdade (=). Exemplo:var = 1;
E o valor de var será 3, o que certamente não era esperado. Isso ocorre porque var=2 atribui 2 a var e, desde que foi executado, a expressão retornará um valor verdadeiro para a declaração if, permitindo a execução da linha seguinte. Portanto, o correto seriaif( var==2 )Deve ser lembrado que, mesmo sem operadores, a linguagem C considera verdadeiro qualquer valor não nulo. Por exemplo, após a execução das linhas var = 2;
o valor de var será 3.
O operador de igualdade (=) pode ser combinado com outros para simplificar expressões.
Notar que o outro operador deve sempre ser colocado à esquerda do sinal =.Alguns operadores dessa tabela serão citados mais adiante.
São dois operadores bastante úteis para simplificar expressões: ++ (incremento de 1)
Podem ser colocados antes ou depois da variável a modificar. Se inseridos antes, modificam o valor antes da expressão ser usada e, se inseridos depois, modificam depois do uso. Alguns exemplos: x = 2;
No caso acima, o valor de var será 3 e o de x será 3.x = 2;
No caso acima, o valor de var será 2 e o de x será 3.
Manipulam bits em valores inteiros. Nos exemplos a seguir, são considerados dados de 8 bits de valores inteiros e sem sinal. ~ (complemento)Atuando em apenas um valor, muda os bits de valor 1 para 0 e vice-versa. Exemplo: se a variável var tem o valor 170 (10101010), após ~var, ela terá 85 (01010101).<< (deslocamento à esquerda)Desloca, para a esquerda, os bits do operando esquerdo no valor dado pelo operando direito. Equivale à multiplicação pela potência de 2 dada por este último. Exemplo: se a variável var tem o valor 3 (00000011), após var << 2, ela será 12 (00001100).Continua no topo da página (coluna direita) |
>> (deslocamento à direita)Desloca, para a direita, os bits do operando esquerdo no valor dado pelo operando direito. Equivale à divisão pela potência de 2 dada por este último. Exemplo: se a variável var tem o valor 12 (00001100), após var >> 2, terá 3 (00000011).& (E)Faz o valor do bit igual a 1 se ambos os bits correspondentes nos operandos são 1 e 0 nos demais casos. Exemplo: se a variável var tem o valor 12 (00001100) e fazendo a operação com 6 (00000110), o resultado, var & 6, será 4 (00000100).^ (OU exclusivo)Faz o valor do bit igual a 1 se apenas um dos bits correspondentes nos operandos é 1 e 0 nos demais casos. Exemplo: se a variável var tem o valor 12 (00001100) e fazendo a operação com 6 (00000110), o resultado, var ^ 6, será 10 (00001010).| (OU inclusivo)Faz o valor do bit igual a 1 se um ou ambos os bits correspondentes nos operandos é 1 e 0 nos demais casos. Exemplo: se a variável var tem o valor 12 (00001100) e fazendo a operação com 6 (00000110), o resultado, var | 6, será 14 (00001110).
Usados normalmente com expressões booleanas, isto é, expressões que retornam verdadeiro ou falso (1 ou 0), para fins de testes em declarações condicionais. && (E lógico)Retorna verdadeiro se ambos os operandos são verdadeiros e falso nos demais casos. Exemplo: if( a>3 && b<4).|| (OU lógico)Retorna verdadeiro se um ou ambos os operandos são verdadeiros e falso se ambos são falsos. Exemplo: if( a>3 || b<4).! (NÃO lógico)Usada com apenas um operando. Retorna verdadeiro se ele é falso e vice-versa. Exemplo: if( !var ). Notar que essa expressão é equivalente a if( var==0 ).
Tem a forma genérica variável = (expr1) ? (expr2) : (expr3)Substitui declarações tipo if-else. Exemplo:x = (var==0) ? 2 : 3;O exemplo acima é equivalente a if( var==0 )
& (endereço do operando)* (valor no endereço do operando)São usados basicamente com ponteiros. Mais informações na página correspondente.
Em C, a vírgula (,) pode ser apenas uma pontuação. Por exemplo, para separar argumentos de uma função: int func(int a, int b)Mas pode ser também um operador como o seguinte var = a, a = b;As expressões são executadas da esquerda para a direita. Assim, na linha anterior, primeiro var assume o valor de a e, depois, a assume o valor de b.É comum o seu uso dentro de uma declaração forfor( a=10, b=1; a>0, b<10; a--, b++ ) ...
Retorna o número de bytes ocupados pelo operando, que pode ser uma variável ou um tipo genérico de dado. Exemplos a seguir sizeof( float ); retorna 4, que é o número de bytes de dados tipo float.char str[] = "valor";sizeof (str); retorna 6 (5 caracteres mais o nulo do final da string).
|
|
Melhor visto com 1024x768 px Termos de uso |