The ability to alter at run-time which statements are executed and how many times is essential to programming. Each and every programming language accomplishes this in some way. C and C++ have received the benefit of much trial and error in regard to what is considered good flow of control. They conform to the structured programming school of thought.
Consider the following exhibits for further reading:
a) The history of the controversy, from assembly language to structured programming
b) The tenets of structured programming
c) Structured programming and Object-oriented programming
or
x) Flow of Control Statements
Links:
A History of Flow of Control
What is Structured Programming?
Structured Programming and Object Oriented Programming
Flow of Control Statements