Faça Sua Pesquisa.

terça-feira, 14 de fevereiro de 2012

Expressões LING. C


  • Conversão de tipos em expressões
  • Expressões que Podem ser Abreviadas
  • Encadeando expressões: o operador ,
  • Tabela de Precedências do C

Expressões são combinações de variáveis, constantes e operadores. Quando montamos expressões temos que levar em consideração a ordem com que os operadores são executados, conforme a tabela de precedências da linguagem C.
Exemplos de expressões:
Anos=Dias/365.25;
i = i+3;
c= a*b + d/e;
c= a*(b+d)/e;

 Conversão de tipos em expressões

Quando o C avalia expressões onde temos variáveis de tipos diferentes o compilador verifica se as conversões são possíveis. Se não são, ele não compilará o programa, dando uma mensagem de erro. Se as conversões forem possíveis ele as faz, seguindo as regras abaixo:


  1. Todos os chars e short ints são convertidos para ints. Todos os floats são convertidos para doubles.
  2. Para pares de operandos de tipos diferentes: se um deles é long double o outro é convertido para long double; se um deles é double o outro é convertido para double; se um é long o outro é convertido para long; se um é unsigned o outro é convertido para unsigned.

Expressões que Podem ser Abreviadas

O C admite as seguintes equivalências, que podem ser usadas para simplificar expressões ou para facilitar o entendimento de um programa:
 
Expressão OriginalExpressão Equivalente
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;
x=x&k;x&=k;
etc...

Encadeando expressões: o operador ,

O operador , determina uma lista de expressões que devem ser executadas sequencialmente.  O valor retornado por uma expressão com o operador , é sempre dado pela expressão mais à direita. No exemplo abaixo:
x=(y=2,y+3);
o valor 2 vai ser atribuído a y, se somará 3 a y e o retorno (5) será atribuído à variável x . Pode-se encadear quantos operadores ,  forem necessários.
 

Tabela de Precedências do C

 Esta é a tabela de precedência dos operadores em C. Alguns (poucos) operadores ainda não foram estudados, e serão apresentados em aulas posteriores.
 
Maior precedência() [] ->
! ~ ++ -- . -(unário) (cast) *(unário) &(unário) sizeof
* / %
+ -
<<  >>
<<=  >>=
== !=
&
^
|
&&
||
?
=  +=  -=  *=  /=
Menor precedência,
Uma dica aos iniciantes: Você não precisa saber toda a tabela de precedências de cor. É útil que você conheça as principais relações, mas é aconselhável que ao escrever o seu código, você tente isolar as expressões com parênteses, para tornar o seu programa mais legível.

0 comentários:

Postar um comentário

TecCodigos Copyright © 2011 | Template created by O Pregador | Powered by Blogger