- •2. Основні елементи мови с
- •3.1 Алфавіт мови програмування
- •3.2Лексеми
- •3.3Ключові слова
- •3.4Ідентифікатори
- •3.5 Класифікація типів даних
- •3.6 Літерали
- •3.7 Оператори
- •3.8 Коментарі
- •3.9 Директиви препроцесора
- •3.10 Організація програми
- •3. Операції та вирази
- •4.1 Загальні відомості
- •4.2 Арифметичні операції
- •4.3 Операції приведення типів
- •(Тип) ідентифікатор,
- •4.4 Операції присвоєння
- •4.5 Операції інкремента і декремента
- •4.6 Операції порівняння
- •4.7 Операції зсуву
- •4.8 Порозрядні операції
- •4.9 Логічні операції
- •4.10 Операція sizeof
- •Sizeof ( Вираз ),
- •4.11 Операція послідовного обчислення
- •4.12 Операція умови (?:)
- •Операнд-1 ? Операнд-2 : Операнд-3
- •4.13 Адресні операції
- •Тип * ім'я_покажчика;
- •4. Прості типи даних
- •5.1 Оголошення змінних
- •[ Модифікатори ] тип ім’я_змінної;
- •5.2 Час існування та область видимості змінних
- •5.3 Цілі типи даних
- •5.4 Дійсні типи даних
- •5. Оператори керування
- •5.1 Оператор розгалуження if
- •If ( Вираз ) true-оператор;
- •5.2 Оператор розгалуження if-else
- •If ( Вираз ) true-оператор; else false-оператор;
- •5.3 Оператор множинного розгалуження switch
- •5.4 Оператор циклу for
- •For ( Вираз 1 ; Вираз 2 ; Вираз 3 ) тіло циклу
- •5.5 Оператор циклу while
- •While ( Вираз ) тіло циклу
- •5.6 Оператор циклу do while
- •Тіло циклу while ( Вираз ) ;
- •5.7 Оператор break
- •5.8 Оператор continue
- •6 Введення та виведення даних
- •7.1 Функція виведення printf
- •Int printf( стрічка форматування, змінна1, змінна2, ... );
- •7.2Функція введення scanf
- •Int scanf (стрічка форматування, адреса змінної1, адреса змінної2, ... );
- •9.1 Введення та виведення у файл
- •7 Масиви
- •7.1 Загальні поняття
- •7.2 Одновимірні масиви
- •Тип даних ім’я змінної [n];
- •7.3 Багатовимірні масиви
- •6. Функції
- •6.1 Основні поняття
- •{Тіло функції}
- •6.2 Область видимості
- •6.3 Порожній тип void
- •6.4 Передача аргументів у функцію
- •6.5 Рекурсивні функції
- •6.6 Прототипи функцій
- •8. Рядки в с
- •4.1 Прототипи
- •4.2 Функції перетворення буферів
- •4.3 Функції перевірки літер
- •4.4 Рядок символів
- •4.5 Операції з рядками:
- •4.6 Символьні константи
- •9. Покажчики
- •5.1 Визначення та ініціалізація покажчиків
- •5.2 Визначення покажчиків:
- •5.3 Масиви
- •5.6 Копіювання рядка
- •5.7 Посилання та оператор &
- •5.9 Посилання в якості результатів функції
- •5.10 Покажчики на функцію
- •Тип_функціі (* імя_покажчика) (специфікація_параметрів);
- •5.11 Покажчики на void
- •5.12 Арифметика покажчиків
- •10. Структури, об’єднання, перерахування
- •7.1 Структури
- •7.2 Ключове слово typedef
- •7.3 Об’єднання
- •7.4Перераховуваний тип (Enum)
- •Enum dataType
- •Enum day
- •11 Динамічне виділення пам'яті
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”: