Expressões no CAs Expressões são combinações de variáveis, de constantes e de operadores. Quando montamos expressões devemos levar em consideração a ordem com que os operadores são executados, conforme a tabela de precedências da linguagem C. Abaixo estão alguns exemplos de expressões:

Anos=Dias/365.25;
i = i+3;
c= a*b + d/e;
c= a*(b+d)/e;

[clearboth]
[toggle title=”Conversão de tipos em expressões”]

Quando o C avalia expressões onde temos variáveis de diferentes tipos o compilador verifica se as conversões são possíveis. Caso não sejam possiveis, o compilador não compilará o programa, surgindo assim uma mensagem de erro. Se as conversões forem possíveis o compilador irá faze-las e compilar o programa, seguindo as regras abaixo:

  1. Todas as variáveis do tipo chars e short ints são convertidas para ints. Todas as variáveis floats são convertidas para doubles;
  2. Nos 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.

[/toggle][toggle title=”Expressões que Podem ser Abreviadas”]

O C admite as seguintes equivalências, que podem ser utilizadas para simplificar expressões ou para facilitar o entendimento de um programa:

[styled_table]

Expressão Original Expressã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…

[/styled_table]

O operador ‘, (vírgula) determina uma lista de expressões que devem ser executadas sequencialmente. O valor retornado por uma expressão com o operador ‘,’ (vírgula) é sempre dado pela expressão que se encontra mais à direita. No exemplo abaixo:[/toggle] [toggle title=”Encadeando expressões: o operador ‘,’ (vírgula)”]

x=(a=2,a+3);

A variável receberá o valor 5. Podemos encadear quantos operadores ‘,’ (vírgula) forem necessários.

[/toggle][toggle title=”Tabela de Precedências do C”]

Abaixo encontra-se uma tabela de precedência dos operadores em C. Alguns dos operadores ainda não foram estudados mas serão explicados nos próximos tutoriais.

[styled_table]

Maior preferência no C e C++ () [] ->
! ~ ++ — . -(unário) (cast)
*(unário) &(unário) sizeof
* / %
+ –
<< >>
<<= >>=
Menor preferência no C e C++ == !=
&^|
&&
||
?
= += -= *= /=
,

[/styled_table] [/toggle][toggle title=”Dica”]

Dica: Não é necessário saber a tabela de precedências de cor, mas é útil conhecer as principais relações. É aconselhável que ao escrever o seu código, tente isolar as expressões com parênteses, para tornar o seu programa mais legível.[/toggle]

Gostou do Tutorial? Então deixe um comentário!