Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Оператор розгалуження if



Оператор розгалуження призначений для виконання тих або інших дій в залежності від істинності або хибності деякої умови. Основний оператор цього блоку в Сі - if... else не має ключового слова then, як у Паскалі, проте обов'язково вимагає, щоб умова, що перевіряється, розміщувалася б у круглих дужках. Оператор, що слідує за логічним виразом, є then- частиною оператору if...else.

Синтаксис оператора:

if (<умова>)

<оператор1>;

[else <оператор2;>]

Рис. 1.6. Синтаксис оператора if

Умова хибна, якщо вона дорівнює нулю, в інших випадках вона істинна. Це означає, що навіть від'ємні значення розглядаються як істинні. До того ж, умова, що перевіряється, повинна бути скалярною, тобто зводитися до простого значення, яке можливо перевірити на рівність нулю. Взагалі не рекомендується використання змінних типу float або double в логічних виразах перевірки умов з причини недостатньої точності подібних виразів. Більш досвідчені програмісти скорочують оператори типу:

if (вираз!=0) оператор;

до наступного:

if (вираз) оператор;

Обидва логічні вирази функціонально еквівалентні, тому що будь-яке ненульове значення розцінюється як істина. Це можна довести наступними програмами:

Приклад 1.

/* програма виводить результат ділення двох дійсних чисел */

#include<stdio.h>

#include<conio.h>

void main()

{

float a,b,c;

printf("Введiть число a:\n");

scanf("%f",&a);

printf("Введiть число b:\n");

scanf("%f",&b);

if (b==0) printf("Дiлення да нуль!\n");

else

{

c=a/b;

printf("a: b == %g",c);

};

}

Приклад 2.

/* застосування умовного розгалужування */

#include <stdio.h>

main()

{

int number;

int ok;

printf("Введіть число з інтервалу 1..100: ");

scanf("%d",&number);

ok=(1<=number) && (number<=100);

if (!ok)

printf("Не коректно!!\n");

return ok;

}

Змінній ok присвоюється значення результату виразу: ненульове значення, якщо істина, і в протилежному випадку - нуль. Умовний оператор if(!ok) перевіряє, якщо ok дорівнюватиме нулю, то!ok дасть позитивний результат й відтоді буде отримано повідомлення про некоректність, виходячи з контексту наведеного прикладу.





Дата публикования: 2015-01-23; Прочитано: 386 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.01 с)...