Un'espressione può essere una delle seguenti:
Le espressioni possono essere raggruppate utilizzando parentesi e possono essere ricorsive. In altre parole un'espressione può essere costituita da espressioni secondarie.
Un'espressione aritmetica è qualsiasi combinazione di operandi numerici e di un operatore aritmetico o di un operatore in bit.
a + b
c++
m << 1
Un'espressione di assegnazione è costituita da una variabile sul lato sinistro di un operatore di assegnazione e da un'espressione sul lato destro.
a = x + 42
b += c
s = "Hello"
Un'espressione di stringa è una qualsiasi combinazione di operandi di stringa e carattere e da un operatore di stringa.
s + ".brd"
t + 'x'
Un'espressione virgola è una sequenza di espressioni, delimitate dall'operatore virgola.
Le espressioni virgola vengono valutate da sinistra a destra e il risultato di un'espressione virgola corrisponde al tipo e al valore dell'espressione all'estrema destra.
i++, j++, k++
Un'espressione condizionale utilizza l'operatore condizionale per prendere una decisione all'interno di un'espressione.
int a;
// ...code that calculates 'a'
string s = a ? "True" : "False";
Una chiamata di funzione trasferisce il flusso del programma a una funzione definita dall'utente o a una funzione integrata. I parametri formali definiti nella definizione della funzione vengono sostituiti con i valori delle espressioni utilizzate come argomenti effettivi della chiamata di funzione.
int p = strchr(s, 'b');