Wyjaśnienie na temat stałych wyrażonych w liczbach całkowitych

Gdzieś przeczytałem, że wyrażenia stałe w liczbach całkowitych składają się ze stałych całkowitych, takich jak:

(5 + 5) //integer constant expression

To był jedyny przykład, jaki widziałem.

Teraz ze standardu, który mówi:

(C99 6.6 / 6) Stałe wyrażenie całkowite ma typ całkowity i ma tylko operandy będące stałymi całkowitymi, stałe wyliczeniowe, stałe znakowe, wyrażenia sizeof, których wyniki są stałymi całkowitymi, i stałe zmienne, które są bezpośrednimi argumentami rzutów. Operatory rzutowania w wyrażeniu stałym liczby całkowitej przekształcają tylko typy arytmetyczne na typy całkowite, z wyjątkiem części operandu dla operatora sizeof.

Czy wszystkie te wyrażenia całkowite są poniżej, jeśli mam rację?

int i; float f = 3.14f;

i = 42;
i = f;
i = (int)(5/3.14f);

questionAnswers(1)

yourAnswerToTheQuestion