Ключове слово умовного оператора – if. Умовний оператор має повну й скорочену форми.
1. Скорочена форма оператора if
if (вираз-умова ){оператор; оператори;} /* скорочена форма */
В ролі виразу-умови можуть використовуватися арифметичні вирази, відношення й логічні вирази. Якщо значення виразу-умови відрізняється від нуля (тобто істинне), то виконуються оператори в фігурних дужках.
Наприклад,
if ((x<y)&&(x<z)) min=x;
2. Повна форма оператора if
if ( вираз-умова ) {оператор1; оператори1;} /* повна форма */
else {оператор2; ; оператори2;}
Якщо значення виразу-умови відрізняється від нуля (тобто істинне), то виконуються оператори1, при нульовому значенні виразу-умови виконуються оператори2. Наприклад,
if (d>=0)
{ x1=(-b-sqrt(d))/(2*a);
x2=(-b+sqrt(d))/(2*a); }
else {оператор виводу повідомлення про відсутність дійсних коренів; }
Оператор безумовного переходу. Оператор goto – це оператор безумовного переходу. Це оператор розгалуження, при якому відбувається перехід до цього місця програми, яке вказано в цьому операторі. Перехід безумовний, бо він відбувається завжди без виконання будь-яких умов.
Місце, де виконується перехід, відзначається текстовою міткою з двома крапками на початку рядка. Мітка може стояти як окремо в рядку, так і на початку рядка, який містить оператор. Мітки мають бути унікальними і не повинні повторюватися. Мітка і оператор goto повинні знаходитись в межах однієї функції , але можуть бути в різних блоках.
Приклад:
#include <stdio.h>
main()
{
int n; /* опис змінної */
start1: /* мітка */
/* блок операторів */
gotostart1;
start2: /* мітка */
gotoend;
start3: /* мітка */
end: /* мітка */}
Мітка в програмі може знаходитися як до, так і після оператора goto. Оператор gotoне рекомендують використовувати в програмах по таких 2-х причинах:
1. Його завжди можна замінити іншими операторами.
2. Він небезпечний. Можуть вийти випадкові непередбачені помилки. Виконання програми перескакує взад-вперед , вносячи в неї хаотичність.