Independientemente del tipo de estructura de control que se utilice para la repetición de un grupo de sentencias, existen básicamente dos tipos de repetición:
- Repetición controlada por contador.
- Repetición controlada por centinela.
Ambos tipos de repetición pueden ser implementados en C utilizando cualquiera de las estructuras de control while, do-while y for, por lo que no hay una relación de correspondencia única entre el tipo de repetición y la estructura de control de repetición que se utilice. Sin embargo, debido a la naturaleza y al funcionamiento de las estructuras de control de repetición, el enfoque de repetición controlada por contador se implementa de manera más natural utilizando los ciclos while y for; mientras que la repetición controlada por centinela, se implementa de forma ligeramente más natural utilizando la estructura de control de repetición do-while, pero esto es más una conveniencia que una asociación.