![](/user_photo/2706_HbeT2.jpg)
- •Національний університет “Львівська політехніка” Інститут підприємництва та перспективних технологій
- •Короткі теоретичні відомості
- •1.1. Десяткова система числення
- •1.2. Двійкова система числення
- •1.3. Вісімкова та шістнадцяткова системи числення
- •Алгоритми переведення чисел з однієї позиційної системи числення в іншу
- •Постановка завдання
- •4. Висновки
- •5. Контрольні запитання
- •Лабораторні роботи №2-3. Тема: "Знайомство з с. Виконання програми простої структури"
- •1. Короткі теоретичні відомості
- •1.1. Структура програми
- •1.2. Константи й змінні
- •1.3. Операції
- •1.4. Вирази
- •2. Постановка завдання
- •3. Варіанти
- •4. Методичні вказівки
- •6. Висновки
- •7. Контрольні запитання
- •Лабораторні роботи №4-5. Тема: "Використання основних операторів мови с"
- •Короткі теоретичні відомості
- •Складені оператори
- •Оператори вибору
- •Оператори циклів
- •Оператори переходу
- •2. Постановка завдання
- •3. Варіанти
- •5. Методичні вказівки
- •6. Висновки
- •7. Контрольні запитання
- •Лабораторна робота №6. Тема: "Обчислення функцій з використанням їхнього розкладу в степеневий ряд"
- •1. Короткі теоретичні відомості
- •2. Постановка завдання
- •3. Варіанти
- •4. Методичні вказівки
- •5. Отримані результати. Лабораторні роботи № 7.
- •Короткі теоретичні відомості
- •1.1. Функції
- •1.2 Бібліотека математичних функцій.
- •2. Постановка завдання
- •Лабораторна робота № 8. Тема: "Робота з одновимірними масивами"
- •Короткі теоретичні відомості
- •1.2. Ініціалізація масиву
- •1.3. Вказівники
- •1.4. Вказівники й масиви
- •2. Варіанти завдань
- •3. Методичні вказівки
- •Короткі теоретичні відомості
- •1.2. Масиви й рядки як параметри функцій
- •2. Постановка завдання
- •3. Варіанти
- •4. Методичні вказівки
- •Висновки
- •6. Контрольні запитання
- •4) Як здійснюється передача багатовимірних масивів у функцію? Лабораторні роботи №11-12. Тема: "Символьна інформація"
- •1. Короткі теоретичні відомості
- •2. Постановка завдання
- •3. Варіанти
- •Тема: " Використання бібліотечних функцій для обробки символьної інформації."
- •Короткі теоретичні відомості
- •2. Варіанти індивідуальних завдань
- •Методичні вказівки
- •Контрольні запитання
- •Лабораторна робота № 15 Тема: "Динамічні масиви"
- •Короткі теоретичні відомості
- •Формування динамічних масивів з використанням бібліотечних функцій
- •Формування динамічних масивів з використанням операцій new й delete
- •2. Постановка завдання
- •3. Порядок виконання роботи
- •4. Варіанти завдань
- •Лабораторна робота № 16. Тема: "Інформаційні динамічні структури"
- •Короткі теоретичні відомості
- •2. Постановка завдання
- •Порядок виконання роботи
- •4. Варіанти завдань
- •Список літератури
1.2. Константи й змінні
Константа - це значення, яке не може бути змінене. Синтаксис мови визначає 5 типів констант:
символи;
константи перелічуваного типу;
дійсні числа;
цілі числа;
нульовий вказівник (NULL).
Змінні можна змінювати. При заданні значення змінної у відповідну їй область пам'яті записується код цього значення. Доступ до значення можливий через ім'я змінної, а доступ до ділянки пам'яті – через її адресу. Кожна змінна перед використанням у програмі повинна бути визначена, тобто їй повинна бути виділена пам'ять. Розмір ділянки пам'яті, виділеної для змінної й інтерпретація вмістимого залежать від типу, зазначеного у визначенні змінної. Найпростіша форма визначення змінних:
тип список_імен_змінних;
Основні типи даних
тип даних |
Назва |
розмір, біт |
діапазон значень |
unsigned char |
беззнаковий цілий довжиною не менш 8 біт |
8 |
0. . 255 |
char |
цілий довжиною не менш 8 біт |
8 |
-128. . 127 |
enum |
перелічуваний |
16 |
-32768 . . 32767 |
unsigned int |
беззнаковий цілий |
16 |
0. . 65535 |
short int (short) |
короткий цілий |
16 |
-32768 . . 32767 |
unsigned short |
беззнаковий короткий цілий |
16 |
0. . 65535 |
int |
цілий |
16 |
-32768 . . 32767 |
unsigned long |
беззнаковий довгий цілий |
32 |
0. . 4294967295 |
long |
довгий цілий |
32 |
-214748348 . . 2147483647 |
float |
дійсний одинарної точності |
32 |
3.4Е-38 . . 3.4Е+38 |
double |
дійсний подвійної точності |
64 |
1.7Е-308 . . 1.7Е+308 |
long double |
дійсний максимальної точності |
80 |
3.4Е-4932 . . 1.1Е+4932 |
Відповідно до синтаксису мови змінні автоматичної пам'яті після визначення за замовчуванням мають невизначені значення. Змінним можна присвоювати початкові значення, явно вказуючи їх у визначеннях:
тип ім'я_змінної = початкове_значення;
Цей прийом називається ініціалізацією.
Приклади:
float pi = 3.14 , cc=1.3456;
unsigned int year = 1999;
1.3. Операції
Унарні:
& |
отримання адреси операнда |
* |
звертання за адресою (розіменування) |
- |
унарний мінус, змінює знак арифметичного операнда |
~ |
порозрядне інвертування внутрішнього двійкового коду (побітове заперечення) |
! |
логічне заперечення (НЕ). В ролі логічного значення використовується 0 - неправда й не 0 - істина, запереченням 0 буде 1, запереченням будь-якого ненульового числа буде 0. |
++ |
збільшення на одиницю: префіксна операція - збільшує операнд до його використання, постфіксна операція збільшує операнд після його використання. |
-- |
зменшення на одиницю: префіксна операція - зменшує операнд до його використання, постфіксна операція зменшує операнд після його використання. |
sizeof |
обчислення розміру (у байтах) для об'єкта такого типу, як і операнд |
Бінарні операції.
Адитивні:
+ |
бінарний плюс (додавання арифметичних операндів) |
- |
бінарний мінус (віднімання арифметичних операндів) |
Мультиплікативні:
* |
множення операндів арифметичного типу |
/ |
ділення операндів арифметичного типу (якщо операнди цілочисельні, то виконується цілочисельне ділення) |
% |
отримання залишку від ділення цілочисельних операндів |
Операції зсуву (визначені тільки для цілочисельних операндів).
Формат виразу з операцією зсуву:
операнд_лівий операція_зсуву операнд_правий
<< |
зсув вліво бітового представлення значення лівого цілочисельного операнда на кількість розрядів, що дорівнює значенню правого операнда |
>> |
зсув вправо бітового представлення значення правого цілочисельного операнда на кількість розрядів, що дорівнює значенню правого операнда |
Порозрядні операції:
& |
порозрядна кон’юнкція (І) бітових представлень значень цілочисельних операндів |
| |
порозрядна диз'юнкція (АБО) бітових представлень значень цілочисельних операндів |
^ |
порозрядне виключаюче АБО бітових представлень значень цілочисельних операндів |
Операції порівняння:
< |
менше, ніж |
> |
більше, ніж |
<= |
менше або дорівнює |
>= |
більше або дорівнює |
== |
дорівнює |
!= |
не дорівнює |
Логічні бінарні операції:
&& |
кон’юнкція (І) цілочисельних операндів або відношень, цілочисельний результат неправда(0) або істина(1) |
|| |
диз'юнкція (АБО) цілочисельних операндів або відношень, цілочисельний результат неправда(0) або істина(1) |
Умовна операція.
На відміну від унарних і бінарних операцій у ній використовується три операнди.
Вираз1 ? Вираз2 : Вираз3;
Першим обчислюється значення виразу1. Якщо воно істинне, то обчислюється значення виразу2, яке і буде результатом. Якщо при обчисленні виразу1 отримаємо 0, то результатом буде значення виразу3.
Наприклад:
x<0 ? -x : x ; //обчислюється абсолютне значення x.
Операція явного (перетворення) приведення типу.
Існує дві форми: канонічна й функціональна:
(ім'я_типу) операнд
ім'я_типу (операнд)
Пріоритети операцій.
Ранг |
Операції |
1 |
( ) [ ] -> . |
2 |
! ~ - ++ -- & * (тип) sizeof тип( ) |
3 |
* / % (мультиплікативні бінарні) |
|
+ - (адитивні бінарні) |
5 |
<< >> (порозрядного зсуву) |
6 |
< > <= >= (відношення) |
7 |
== != (відношення) |
8 |
& (порозрядна кон’юнкція «І») |
9 |
^ (порозрядне виключаюче «АБО») |
10 |
| (порозрядна диз'юнкція «АБО») |
11 |
&& (кон’юнкція «І») |
12 |
|| (диз'юнкція «АБО») |
13 |
?: (умовна операція) |
14 |
= *= /= %= -= &= ^= |= <<= >>= (операція присвоювання) |
15 |
, (операція кома) |