Loops provide a way to repeat commands and control how many times they are repeated. Say you wanted to print the alphabet to the screen, you could do this with a call to printf(). This is one solution but it doesn't scale very well, what if you wanted to print all the numbers between one and one thousand in a column? this could be handled by one big printf() or loads of printf() calls but repetitive work should be done by the computer, leaving you more time to work on the interesting parts of your program.