Decision making statements and looping structures allow programmers to control the flow of programs. There are three common types of loops: for loops which execute a block of code a specified number of times based on an initialization, condition, and increment/decrement; while loops which repeatedly execute a block of code as long as a condition is true; and do-while loops which first execute the block and then check the condition, repeating until it is false. Examples of each loop type are provided in C code.