Δομές ελέγχου

Η C υποστηρίζει τις παρακάτω δομές ελέγχου:
if (έκφραση) εντολή1 else εντολή2
Εκτέλεση της εντολής1 αν η έκφραση είναι αληθής (όχι 0). Το τμήμα else μπορεί να παραληφθεί.
while (έκφραση) εντολή
Εκτέλεση της εντολής όσο η έκφραση είναι αληθής.
do εντολή while (έκφραση)
Εκτέλεση της εντολής μέχρι η έκφραση να μην είναι αληθής (έλεγχος στο τέλος του βρόχου).
for (εντολή1; έκφραση; εντολή2) εντολή3
Εκτέλεση της εντολής1 και στη συνέχεια εκτέλεση της εντολής3 και της εντολής2 όσο η έκφραση είναι αληθής. Για παράδειγμα το
FOR I :=0 TO 9 
	WRITELN(i)
της Pascal γράφεται σε C ως
for (i = 0; i < 10; i++)
	printf("%d\n", i);
switch (έκφραση) {
case σταθερά1: 
	εντολή1; 
	break;
case σταθερά2: 
	εντολή2; 
	break; 
default:
	εντολήΝ;
	break;
}
Εκτέλεση της εντολής της οποίας η σταθερά ταιριάζει με την τιμή της έκφρασης. Αν η τιμή δεν ταιριάζει με καμία σταθερά τότε εκτελείται η εντολή της default.
break;
Τερματισμός της εκτέλεσης του εσώτερου while, do, ή for.
continue;
Επανεκτέλεση του εσώτερου while, do, ή for από την αρχή του βρόχου.
Σε όλες τις περιπτώσεις μια εντολή μπορεί να αντικατασταθεί από περισσότερες με την χρήση των { }.