Просматривая источники ядра Linux, я нашел часть кода, где блок операторов, окруженных скобками, рассматривается как выражение a la lisp (или ML), то есть выражение, значение которого является значением последнего оператора.
Например:
int a = ({
int i;
int t = 1;
for (i = 2; i<5; i++) {
t*=i;
}
t;
});