Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив WinRAR / 2_Посібник_С_002.doc
Скачиваний:
39
Добавлен:
17.05.2015
Размер:
2.7 Mб
Скачать

4.9 Логічні операції

До логічних операцій відносяться операція логічного «І» (&&) та операція логічного «АБО» (||). В кожній операції можуть брати участь операнди різних типів. Результатом логічної операції є 0 чи 1, тип результату int.

Результатом застосування операції логічного «І» (&&) до операндів, що мають нульові значення, є 0. Якщо один з операндів дорівнює 0, то результатом операції є 0. Якщо обидва операнда мають ненульове значення результат операції дорівнює 1.

Результатом застосування операції логічного «АБО» (||) до операндів, що мають нульові значення, є 0. У випадку якщо один з операндів має не нульове значення результат операції дорівнює 1.

Таблиці істинності логічних операцій зображенні у таблиці 4.6.

Таблиця 4.6 – Таблиці істинності логічних операцій «І» та «АБО»

A

B

A && B

A || B

0

0

0

0

0

не «0»

0

1

не «0»

0

0

1

не «0»

не «0»

1

1

Приклад 14.Логічні операції

int A=10, B=0, C=4, D;

D = A && B; /* D = 0*/

D = A || B; /*D = 1*/

D = A && C; /* D = 1*/

D = A || C; /* D = 1*/

За допомогою логічних операцій «І» та «АБО» та операторів порівняння можна конструювати вирази, для перевірки входження в діапазон (діапазони) значень змінних. Такі вирази як правило використовують в операторах керування для конструювання складних умов. Приклад таких виразів представлений у таблиці 4.7.

Таблиця 4.7 – Приклади виразів представлення діапазону значень

Графічне представлення

Математичне представлення

Представлення в мові С

1

x<a&&x>b

2

x>a||x<b

3

x<=a||x>b&&x<c

4

x>a&&x<b||x>=c&&x<=d

У першому пункті табл. 4.7 представлений вираз який повертає 1 у випадку якщо значення змінної x входить у діапазон. У другому пункті таблиці представлений вираз який повертає 1 якщо значення змінноїx входить у один з діапазонів чи . У третьому пункті таблиці представлений вираз який повертає 1, якщо значення змінноїx входить у один з діапазонів або . У четвертому пункті таблиці представлений вираз який повертає 1, якщо значення змінноїx входить у один з діапазонів або .

Задача 1.Написати програму, яка буде зчитувати з клавіатури символ і виводити на екран 1 якщо цей символ мала буква англійського алфавіту, і 0 в протилежному випадку.

Для рішення задачі потрібно скористатися таблицею кодів ASCII, в якій малі букви англійського алфавіту кодуються числами, а саме в діапазоні чисел від 97 до 122 закодовані літери відaдоz.Для задання виразу який буде приймати значення 1 у випадку попадання значення введеного символу в потрібний діапазон доцільно використати вираз з пункту 1 таблиці 4.4.

#include <stdlib.h>

#include <stdio.h>

int main()

{

char x;

scanf("%c", &x);

printf("%i \n", x>=97 && x<=122);

system("PAUSE");

return 0;

}

Результат роботи програми, при введенні символу “r”:

Результат роботи програми, при введенні символу “R”:

Задача 2.Написати програму, яка буде зчитувати з клавіатури символ і виводити на екран 1 якщо цей символ мала чи велика буква англійського алфавіту, і 0 в протилежному випадку.

Для задання виразу який буде приймати значення 1 у випадку попадання значення введеного символу в потрібні діапазони доцільно використати вираз з пункту 4 таблиці 4.4.

#include <stdlib.h>

#include <stdio.h>

int main()

{

char x;

scanf("%c", &x);

printf("%i \n", x>=65 && x<=90 || x>=97 && x<=122);

system("PAUSE");

return 0;

}

Результат роботи програми, при введенні символу “a”:

Результат роботи програми, при введенні символу “A”:

Соседние файлы в папке Архив WinRAR