A nyelvben üres utasítás nem létezik, mivel minden kifejezés, a ;-nek szeparátor szerepe van. Az értékadás hasonlóan működik, mint C#-ban, értéke void (nincs többszörös értékadás).
A szekvencia elemeinek elválasztására a ; jelet használja a nyelv. A szekvenciát a {} jelöléssel jelöljük. Lehetőségünk van nevesített blokkok létrehozására is. A blokk nevét felhasználva definiálhatunk visszatérési értéket is. Például:
Ezzel a módszerrel szimulálhatjuk a break, continue és return utasításokat is.
A Nemerle több elágazást ismer. Első fajtája a klasszikus if utasítás, mely abban különbözik a legtöbb C alapú nyelvekben lévőtől, hogy kötelező az else ág kiírása. Szintaxisa:
Ha nem kívánunk else ágat az elágazásban, akkor a when kulcsszót használhatjuk, ekkor elmarad az else ág, ileltve ha csak az else ágat szeretnénk, akkor az unless kulcsszó használatos.
A Nemerle nyelv nem ismeri a C# switch szerkezetét, helyette a match kifejezést használja, ami sokkal több lehetőséget nyújt a switch-nél. Szintaxisa:
Pár használati eset a teljesség igénye nélkül:
További lehetőségek: típushoz illesztés, reguláris kifejezéshez illesztés.
Több fajta ciklus létezik a nyelvben, amelyek mindegyike macróval van definiálva, ezek közül a legfontosabbak: for, while, do .. while. Ezek a ciklusok ugyanúgy működnek, mint C#-ban. További ciklusok például:
A Nemerlében implicite nem léteznek a return, break és continue utasítások, csak szimulálni lehet működésüket. Viszont a Nemerle.Imperative névtér használatával ezen utasítások is elérhetővé válnak.