+
-
*
/
%
++
--
==
(és diferent del signe igual d'assignació)
!=
<=
>=
>
<
&&
||
!
=
*=
/=
%=
-=
+=
&
(també representa la direcció d'una variable)
valors)
|
^
~
(NOT bit a bit)
>>
(desplaçar un cert número de bits)
<<
Podem efectuar una operació condicional del tipus ``si <condició> llavors retorna <A> sinó retorna <B>'' mitjançant
<condiciķ>?<A>:<B>Per exemple, si volem quan i que en cas contrari,
x = (a>=b) ? a : 5;Un altre exemple,
(x>5) ? printf("a"):printf("b");En aquest cas si llavors surt i en cas contrari surt .
Aquest operador condicional es tornarà a tractar posteriorment amb la forma alternativa if...else.
Quan una expressió d'assignació està entre parèntesi es converteix en un operand per a l'assignació d'una segona expressió, el valor del qual és el resultat de la primera expressió. Per exemple,
a=(b+=10); /* primer b=b+10 resultat a=b */
Per acabar aquesta breu descripció d'operadors i tipus de dades, és necessari assenyalar que en expressions on estiguin involucrades variables i constants de diferents tipus, el C realitza una conversió automàtica de totes les variables de l'expressió al tipus més gran, i després opera. El resultat d'aquestes operacions es converteix posteriorment al tipus de la variable resultat. A la taula 4 hi podem veure un exemple.
Taller de simulaciķ medi ambiental