結構化程序的概念最早是從以前編程過程中對轉移語句的無限制使用中提出來的。轉移語句可以使程序的控制流強制轉向程序的任何部分。在傳統的流程圖中,傳遞函數用壹條“非常隨意”的流線來描述。如果這種遷移發生在壹個程序的很多地方,就會導致程序流程的紊亂和程序結構的紊亂。這樣的節目很難理解和接受,也很容易出錯。尤其是在實際軟件產品的開發中,更加註重軟件的可讀性和可修改性,不允許出現這種結構和風格的程序。為此,提出了程序的三種基本結構。
在討論算法時,我們列出了順序、選擇、循環三個控制過程,這是結構化編程方法強調的三個基本結構。算法的執行過程由壹系列操作組成,這些操作之間的執行順序就是程序的控制結構。1996年,計算機科學家Bohm和Jacopini證明了壹個事實:任何簡單或復雜的算法都可以由三種基本結構組成:序列結構、選擇結構和循環結構。所以這三種結構被稱為編程的三種基本結構。也是結構化編程中必須采用的結構。
結構化程序中的任何基本結構都有唯壹的入口和出口,程序中不會出現無限循環。程序的靜態形式和動態執行流程之間有很好的對應關系。