[С++ ]
Оператори управління ходом виконання дозволяють виконувати або не виконувати ділянки програми в залежності від певних умов.
 
Оператор розгалуження передбачає  перевірку умови, в залежності від виконання якої (true) буде виконуватися один блок, а невиконання (false) – другий. Наявність другого блоку не є обов’язковою.  Якщо у блоці має виконуватись один оператор, то оформлення його у вигляді складеного оператору (з фігурними дужками) не обов’язково.
 
Приклад:
if (a < 10)
{
  j++;
  b = a + c;
}
else
  j--;
 
Оператор вибору (switch) – це оператор управління ходом виконання, який на основі умови передає керування одному із варіантів.
 
int caseSwitch = 1;
switch (caseSwitch)
{
    case 1:
        Console.WriteLine("Case 1");
        break;
    case 2:
        Console.WriteLine("Case 2");
        break;
    default:
        Console.WriteLine("Default case");
        break;
Оператори циклів дозволяють повторно виконувати оператор (у тому числі складений оператор – блок) поки виконується певна умова, C# підтримує наступні варіанти циклів:
— цикл do..while – передбачає повторне виконання оператору, доки вираз не прийме значення false
int x = 0;
do
{
   Console.WriteLine(x);
   x++;
} while (x < 5);
—цикл while – передбачає виконання оператору,  доки вираз не прийме значення false:
int n = 1;
while (n++ < 6)
{
   Console.WriteLine("Current value of n is {0}", n);
}
—цикл for (параметризований цикл) – передбачає виконання оператору, доки вираз не прийме значення false, при чому у операторі циклу задається змінна, значення якої буде змінюватися при кожній ітерації:
for (int i = 1; i <= 5; i++)
{
     Console.WriteLine(i);
}
 
Оператори переходу здійснюють безумовний перехід на певну ділянку коду.
Операторами переходу є:
—break – призначений для завершення найближчого внутрішнього циклу чи оператору switch і переходу до наступного оператору, який йде за ним;
—continue – передає керування на наступну ітерацію циклу, в якому він знаходиться;
—return – перериває виконання методу, в якому він знаходиться і повертає керування методу, який його викликав. Якщо метод має повертати значення, то при виклику оператора слід вказати значення, що повертається, виклик оператору є обов’язковим. Якщо метод не передбачає повернення значення, то виклик цього оператору не є обов’язковим;
—goto – здійснює перехід на певний іменований оператор (мітку).  У сучасних програмах на C# найчастіше використовується лише в операторі switch для того, щоб перейти на інший варіант. У багатьох інших випадках використання цього оператору є вкрай небажаним, оскільки ставить під загрозу структуру програми.