یک عبارت مثل x = 0 یا i++ یا printf(...) وقتی با سمیکالن (;) دنبال شود، به یک دستور (Statement) تبدیل میشود، مانند:
x = 0;
i++;
printf(...);
در زبان C، سمیکالن پایاندهندهی دستور است، نه جداکنندهی دستورات (برخلاف زبانی مثل Pascal).
آکولادها { و } برای گروهبندی چند دستور و اعلان بهصورت یک دستور مرکب (Compound Statement) یا بلوک (Block) استفاده میشوند، تا از نظر نحوی معادل یک دستور تکی باشند.
آکولادهایی که دستورات داخل یک تابع را احاطه کردهاند، نمونهی واضحی از بلوک هستند؛ همچنین آکولادهایی که دور چند دستور بعد از if، else، while یا for قرار میگیرند.
(میتوان داخل هر بلوکی متغیر تعریف کرد؛ دربارهی این مورد در فصل ۴ صحبت میکنیم.)
بعد از آکولاد بستهی } در پایان بلوک، سمیکالن قرار نمیگیرد.