بنى الـتحكم اControl Structures
يعرف البرنامج بأنه عبارة عن مجموعـة من التعليمات، التي تعمل علـى حـل مشكلة ما وتكتـب هـذه التعليمات باستخدام إحـدى الغـات البرمجـة عاليـة المستوى عند طلب تنفيذ البرنامج فإن الحاسوب يقوم بقراءة هذه التعليمات وتنفيذها بطريقة تسلسلية حسب ترتيب هذه التعليمات في نص البرنامج، لكن تنفيذ البرنامج بالطريقة السابقة ليس الأسلوب المثالي في تصميم البرامج ، ففي معظم البرامج تستدعي الحاجة للانتقال عند تنفيذ البرامج من مكان لآخر أو من تعليمة لأخرى لا يشترط في هذه الحالة تنفيذ البرنامج بطريقة تسلسلية عملية الانتقال هذه تسمي بنقل التحكم "Control Transfer" . تعمل عملية نقل التحكم على التسريع من عمل البرامج وتساعد على سهولة تتبعها وصيانتها وكذا تطويرها ، ويتم ذلك وفق شروط محدد كانت لغات البرمجة عالية المستوى في عقد الستينات تسمح بعملية نقل التحكم بدون شروط باستخدام التعليمة goto كان هذا الإسلوب المتبع في البرمجة سببا لكثير من المشاكل تمثلت تلك المشاكل في صعوبة تتبع البرامج وصعوبة صيانتها وتطويرها ، وقد استدعى الأمر إجراء أبحاث علمية نحو تطوير لغات برمجية تقضي على تلك المشاكل لقد أثمرت جهود البحث العلمي في فترة الستينات عن تطوير أسلوب البرمجة الهيكلية الذي هو عبارة عن طريقة لكتابة برامج أكثر وضوحا من مثيلاتها غير المهيكلة وأكثر قابلية للفحص والتصحيح والتعديل، حيث کان من ثمار هذه الأبحاث إحداث نقلة نوعية في طرق البرمجة وظهور لغات برمجية جديدة يمكن بواسطتها خفض زمن وتكاليف تطوير وصيانة البرامج، وفي الغات الجديدة تم استبدال التعليمة goto ببنى التحكم.تتكون بنى التحكم من البنية التسلسلية -بنية الاختيار - البنية التكرارية، تـوفر لغة ++C سبع بني للتحكم هي البنية التسلسلية ، ثلاث أنـواع مـن بنـى الاختيار، ثلاثة أنواع من بنى التكرار، يتم كتابة البرنامج بلغة ++C من خلال جمع عدد من بنى التحكم المذكورة والمناسبة لخوارزمية البرنامج.