Що таке умовне твердження в C?
Умовні твердження в програмуванні на С використовуються для прийняття рішень на основі умов. Умовні оператори виконуються послідовно, коли навколо операторів немає умови. Якщо ви поставите якусь умову для блоку операторів, потік виконання може змінитися на основі результату, обчисленого умовою. Цей процес називається прийняттям рішень у "C."
У програмуванні "С" умовні оператори можливі за допомогою наступних двох конструкцій:
1. Якщо твердження
2. Заява if-else
Це також називається розгалуженням, оскільки програма вирішує, який оператор виконати на основі результату оціненої умови.
У цьому підручнику ви дізнаєтесь-
- Що таке умовне твердження?
- Якщо заява
- Реляційні оператори
- Заява If-Else
- Умовні вирази
- Вкладені оператори If-else
- Вкладені оператори Else-if
Якщо заява
Це одне з потужних умовних тверджень. Якщо оператор відповідає за зміну потоку виконання програми. Якщо оператор завжди використовується з умовою. Стан оцінюється спочатку перед виконанням будь-якого оператора всередині тіла If. Синтаксис оператора if такий:
if (condition)instruction;
Умова має значення true або false. Істина завжди є ненульовим значенням, а false - значенням, що містить нуль. Інструкції можуть представляти собою одну інструкцію або блок коду, укладений фігурними дужками {}.
Наступна програма ілюструє використання конструкції if у програмуванні 'C':
#includeint main(){int num1=1;int num2=2;if(num1 Вихід:
num1 is smaller than num2Наведена програма ілюструє використання конструкції if для перевірки рівності двох чисел.
- У наведеній вище програмі ми ініціалізували дві змінні num1, num2 зі значенням 1, 2 відповідно.
- Потім ми використовували if із тестом-виразом, щоб перевірити, яке число найменше, а яке найбільше. Ми використовували реляційний вираз у конструкції if. Оскільки значення num1 менше, ніж num2, умова отримає значення true.
- Таким чином, він надрукує оператор усередині блоку If. Після цього контроль вийде за межі блоку, і програма буде завершена з успішним результатом.
Реляційні оператори
C має шість реляційних операторів, які можна використовувати для формулювання булевого виразу для прийняття рішення та умов тестування, що повертає true або false:
<менше ніж
<= менше або дорівнює
> більше ніж
> = більше або дорівнює
== дорівнює
! = не дорівнює
Зверніть увагу, що рівний тест (==) відрізняється від оператора присвоєння (=), оскільки це одна з найпоширеніших проблем, з якою стикається програміст, змішуючи їх.
Наприклад:
int x = 41;x =x+ 1;if (x == 42) {printf("You succeed!");}Вихід:
You succeedМайте на увазі, що умова, яка отримує ненульове значення, вважається істинною.
Наприклад:
int present = 1;if (present)printf("There is someone present in the classroom \n");Вихід:
There is someone present in the classroomЗаява If-Else
Оператор if-else є розширеною версією If. Загальна форма if-else має такий вигляд:
if (test-expression){True block of statements}Else{False block of statements}Statements;n у цьому типі конструкції, якщо значення тесту-виразу істинне, тоді буде виконано істинний блок операторів. Якщо значення тесту-виразу має значення false, тоді буде виконано фальшивий блок операторів. У будь-якому випадку, після виконання, керування буде автоматично перенесено в оператори, що з'являються поза блоком If.
Наступні програми ілюструють використання конструкції if-else:
Ми ініціалізуємо змінну з деяким значенням і напишемо програму, щоб визначити, чи є значення менше десяти чи більше десяти.
Давайте розпочнемо.
#includeint main(){int num=19;if(num<10){printf("The value is less than 10");}else{printf("The value is greater than 10");}return 0;} Вихід:
The value is greater than 10
- Ми ініціалізували змінну зі значенням 19. Ми повинні з’ясувати, чи більше це число, чи менше, ніж 10, використовуючи програму „С”. Для цього ми використали конструкцію if-else.
- Тут ми навели умову num <10, оскільки ми маємо порівняти наше значення з 10.
- Як ви можете бачити, перший блок завжди є істинним блоком, що означає, що якщо значення тестового виразу істинне, тоді буде виконаний перший блок, який є If.
- Другий блок - це блок else. Цей блок містить оператори, які будуть виконані, якщо значення тестового виразу стане хибним. У нашій програмі значення num перевищує десять, отже умова перевірки стає хибною, інакше виконується блок. Таким чином, наш результат буде надходити з блоку else, який має значення "Значення більше 10". Після if-else програма завершиться з успішним результатом.
У програмуванні 'C' ми можемо використовувати декілька конструкцій if-else один в одному, які називаються вкладанням операторів if-else.
Умовні вирази
Існує ще один спосіб висловити оператор if-else шляхом введення оператора ?: . У умовному виразі оператор ?: Має лише одне твердження, пов’язане з if та іншим.
Наприклад:
#includeint main() {int y;int x = 2;y = (x >= 6) ? 6 : x;/* This is equivalent to: if (x >= 5) y = 5; else y = x; */printf("y =%d ",y);return 0;} Вихід:
y =2Вкладені оператори If-else
Коли потрібна серія рішень, використовується вкладений if-else. Вкладання означає використання однієї конструкції if-else у межах іншої.
Давайте напишемо програму, щоб проілюструвати використання вкладеного if-else.
#includeint main(){int num=1;if(num<10){if(num==1){printf("The value is:%d\n",num);}else{printf("The value is greater than 1");}}else{printf("The value is greater than 10");}return 0;} Вихід:
The value is:1Вищевказана програма перевіряє, чи число менше або більше 10, і друкує результат, використовуючи вкладену конструкцію if-else.
- По-перше, ми оголосили змінну num зі значенням 1. Потім ми використали конструкцію if-else.
- У зовнішньому if-else надана умова перевіряє, чи не менше число 10. Якщо умова відповідає істині, тоді і лише тоді він виконає внутрішній цикл. У цьому випадку умова є істинною, отже, внутрішній блок обробляється.
- У внутрішньому блоці ми знову маємо умову, яка перевіряє, чи містить наша змінна значення 1 чи ні. Коли умова є істинним, тоді він обробить блок If, інакше він обробить блок else. У цьому випадку умова виконується, отже, якщо блок виконується і значення виводиться на вихідний екран.
- Наведена вище програма надрукує значення змінної та вийде з успіхом.
Спробуйте змінити значення змінної і подивіться, як поводиться програма.
ПРИМІТКА. У вкладеному if-else ми повинні бути обережними з відступом, оскільки в цьому процесі задіяні декілька конструкцій if-else, тому стає важко розібрати окремі конструкції. Правильне відступ полегшує читання програми.
Вкладені оператори Else-if
Вкладений else-if використовується, коли потрібні рішення про багатопуттєві шляхи.
Загальний синтаксис того, як інакше будуються сходи в програмуванні на C, є таким:
if (test - expression 1) {statement1;} else if (test - expression 2) {Statement2;} else if (test - expression 3) {Statement3;} else if (test - expression n) {Statement n;} else {default;}Statement x;Цей тип конструкції відомий як інша сходи. Цей ланцюг, як правило, схожий на драбину, отже, його також називають драбиною в іншому випадку. Тестові вирази оцінюються зверху вниз. Щоразу, коли істинний тест-вираз, якщо він знайдений, виконується зв’язаний з ним оператор. Коли всі n виразів-виразів стають хибними, тоді виконується оператор за замовчуванням else.
Давайте побачимо реальну роботу за допомогою програми.
#includeint main(){int marks=83;if(marks>75){printf("First class");}else if(marks>65){printf("Second class");}else if(marks>55){printf("Third class");}else{printf("Fourth class");}return 0;} Вихід:
First classВказана вище програма друкує оцінку відповідно до оцінок, набраних у тесті. У вищезазначеній програмі ми використовували конструкцію драбини else-if.
- Ми ініціалізували змінну знаками. У структурі сходів в іншому випадку ми забезпечили різні умови.
- Значення з міток змінної буде порівняно з першою умовою, оскільки істина, пов'язане з нею твердження, буде надруковано на екрані виводу.
- Якщо перша умова тесту виявляється помилковою, її порівнюють з другою умовою.
- Цей процес триватиме до тих пір, поки не буде оцінено весь вираз, інакше елемент керування вийде зі сходів else-if, і буде виведено оператор за замовчуванням.
Спробуйте змінити значення і помітити зміну результату.
Резюме
- Заяви про прийняття рішень або розгалуження використовуються для вибору одного шляху на основі результату оціненого виразу.
- Його також називають операторами керування, оскільки він керує потоком виконання програми.
- 'C' надає конструкції if, if-else для заяв, що приймають рішення.
- Ми також можемо вкластися if-else один в одного, коли потрібно перевірити кілька шляхів.
- Драбина else-if використовується, коли нам доводиться перевіряти різні способи на основі результату виразу.