Altro giorno altri operatori usati in C, non ce la faccio più.

Logo C AnsiOggi guarderemo gli operatori condizionali egli operatori di cambio priorità. Ed infine faremo un bel riassunto dei diritti di precedenza dei vari operatori fra di loro, dato che neanche io riesco più a capire chi è che comanda.

  • Operatore condizionali
    1. ?, utilizzato nelle espressioni condizionali, nelle quali il programma verifica la veridicità di una data espressione, assegnandole un valore in caso positivo, assegnandone un altro in caso negativo. Il caso

      if (espr_1)
          espr_2;
        else
          espr_3;

      esprime questo concetto. Se la prima espressione è vera lo è anche la seconda, altrimenti è vera la terza. Guardiamolo con dei valori, che è sempre più chiaro:

      if (x > y)
          k = x;
        else
          k = y;

      Appunto, se x è maggiore di y, allora k è uguale a x, se invece è minore o uguale, il valore di k sarà uguale al valore di y.

  • Operatore di cambio priorità
    1. (), probabilmente il più semplice. Come in matematica, il contenuto delle parentesi viene eseguito per primo. Se vogliamo che una porzione della nostra espressione venga eseguita prima delle altre, non dovremo fare altro che racchiuderla nelle parentesi

E ora una piccola tabella per capire chi prevale su chi, dato che di operatori è pieno il mondo, dovremo ben sapere in che ordine il compilatore li leggerà. Ogni riga ha prevalenza sulla successiva e si legge da sinistra a destra, salvo dove diversamente specificato. Gli operatori unari + – & * hanno diritto di precedenza sui loro omonimi binari. In questo elenco ci sono alcuni operatori che non ho trattato, perchè troppo avanzati. Quando avrò iniziato a capirci qualcosa di più, farò un articolo integrativo, parola di lupetto.

N.B. Ho diviso ogni operatore dall’altro, tramite delle graffe { }

{()}  {[]} {->} {.}
{!} {~} {++} {- -} {+} {-} {*} {&} {(tipo)} {sizeof } (da destra a sinistra)
{*} {/} {%}
{*} {-}
{<<} {>>}
{<} {<=} {>} {>=}
{==} {!=}
{&}
{^}
{|}
{&&}
{||}
{?:}                      (da destra a sinistra)
{=} {+=} {-=} {*=} {/=} {&=} {^=} {|=} {<<=} {>>=} (da destra a sinistra)
{,}
Interagisci con l'articolo !
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • MySpace
  • Print
  • Technorati
  • Twitter
  • Live
  • Wikio IT
  • email
  • Add to favorites
  • FriendFeed
  • RSS
  • LinkedIn
  • Tumblr

Articoli correlati