^ e ~ sao as operacoes logicas bit a bit. A forma geral dosoperadores de deslocamento e:valor>>numero_de_deslocamentosvalor<<numero_de_deslocamentosO numero_de_deslocamentos indica o quanto cada bit ira ser deslocado. Por exemplo,para a variavel i anterior, armazenando o numero 2:i << 3;fara com que i agora tenha a representacao binaria: 0000000000010000, isto e, o valorarmazenado em i passa a ser igual a 16.20AUTO AVALIACAOVeja como voce esta:Diga se as seguintes expressoes serao verdadeiras ou falsas:-> ((10>5)||(5>10))-> (!(5==6)&&(5!=6)&&((2>1)||(5<=4)))ExpressoesExpressoes sao combinacoes de variaveis, constantes e operadores. Quando montamosexpressoes temos que levar em consideracao a ordem com que os operadores sao executados,conforme a tabela de precedencias da linguagem C.Exemplos de expressoes:Anos=Dias/365.25;i = i+3;c= a*b + d/e;c= a*(b+d)/e;Conversao de tipos em expressoesQuando o C avalia expressoes onde temos variaveis de tipos diferentes o compiladorverifica se as conversoes sao possiveis. Se nao sao, ele nao compilara o programa, dando umamensagem de erro. Se as conversoes forem possiveis ele as faz, seguindo as regras abaixo:1. Todos os chars e short ints sao convertidos para ints. Todos os floatssao convertidos para doubles.2. Para pares de operandos de tipos diferentes: se um deles e long doubleo outro e convertido para long double; se um deles e double o outro e convertidopara double; se um e long o outro e convertido para long; se um e unsigned o outroe convertido para unsigned.Expressoes que Podem ser AbreviadasO C admite as seguintes equivalencias, que podem ser usadas para simplificar expressoesou para facilitar o entendimento de um programa:Expressao Original Expressao Equivalentex=x+k; x+=k;x=x-k; x-=k;x=x*k; x*=k;x=x/k; x/=k;x=x>>k; x>>=k;x=x<<k; x<<=k;x=x&k; x&=k;etc...Encadeando expressoes: o operador ,O operador , determina uma lista de expressoes que devem ser executadassequencialmente. Em sintese, a virgula diz ao compilador: execute as duas expressoesseparadas pela virgula, em sequencia. O valor retornado por uma expressao com o operador ,e sempre dado pela expressao mais a direita. No exemplo abaixo:x=(y=2,y+3);o valor 2 vai ser atribuido a y, se somara 3 a y e o retorno (5) sera atribuido a variavel x. Pode-se encadear quantos operadores , forem necessarios.O exemplo a seguir mostra um outro uso para o operador , dentro de um for:21#include<stdio.h>int main(){int x, y;for(x=0 , y=0 ; x+y < 100 ; ++x , y++) /* Duas variaveis de controle: x e y . Foiatribuido o valor zero a cada uma delas na inicializacao do for e ambas sao incrementadas naparte de incremento do for */printf("\n%d ", x+y); /* o programa imprimira os numeros pares de 2 a 98 */}Tabela de Precedencias do CEsta e a tabela de precedencia dos operadores em C. Alguns (poucos) operadores aindanao foram estudados, e serao apresentados em aulas posteriores.Maiorprecedencia () [] ->! ~ ++ -- . -(unario) (cast) *(unario)&(unario) sizeof* / %+ -<< >><<= >>=== !=&^|&&||?= += -= *= /=Menorprecedencia ,Uma dica aos iniciantes: Voce nao precisa saber toda a tabela de precedencias de cor.E util que voce conheca as principais relacoes, mas e aconselhavel que ao escrever o seucodigo, voce tente isolar as expressoes com parenteses, para tornar o seu programa maislegivel.Modeladores (Casts)Um modelador e aplicado a uma expressao. Ele forca a mesma a ser de um tipoespecificado. Sua forma geral e:(tipo)expressao