- •Міністерство освіти та науки україни житомирський державний технологiчний університет
- •Загальні вказівки
- •Вимоги щодо оформлення робіт
- •Теоретичні відомості до першої лабораторної роботи.
- •Елементи мови Сі
- •1.1 Алфавіт
- •1.2. Ідентифікатори
- •1.3. Константи
- •1.4. Коментарі
- •Оператори
- •2.1. Оператор розгалуження if
- •2.2. Оператор switch
- •2.3. Оператор циклу з передумовою while
- •2.4. Оператор циклу з постумовою do … while
- •2.5. Оператор циклу for
- •2.6. Оператор розриву break
- •2.7. Оператор продовження continue
- •2.8. Оператор переходу goto
- •2.9. "Порожній" оператор
- •2.10. "Складений" оператор
- •Лабораторна робота №1 "Прості типи даних. Базові конструкції мови с"
- •Теоретичні відомості до другої лабораторної роботи
- •Лабораторна робота №2 "Цикли та розгалуження. Функції та їх застосування".
- •Теоретичні відомості до третьої лабораторної роботи
- •1.1. Оголошення та звертання в одновимірних масивах
- •1.2. Оголошення та звертання до багатовимірних масивів
- •Символьні рядки
- •2.1. Основні методи ініціалізації символьних рядків.
- •2.2. Функції роботи з рядками
- •Лабораторна робота №3
- •Теоретичні відомості до четвертої лабораторної роботи
- •Структури
- •1.1. Оголошення структури
- •1.2. Масиви структур
- •1.3. Динамічна пам’ять
- •Лабораторна робота №4
- •Теоретичні відомості до п’ятої лабораторної роботи
- •Лабораторна робота №5 "Робота з файлами. Обробка текстової інформації."
Теоретичні відомості до третьої лабораторної роботи
Масиви
Кінцева іменована послідовність однотипних величин називається масивом.
1.1. Оголошення та звертання в одновимірних масивах
Форма оголошення одновимірного масиву з явною вказівкою кількості елементів масиву:
тип ім'я_масива [кількість-елементів-масива];
Звертання до елементів одновимірного масиву в загальному випадку можна представити індексуванням, тобто у вигляді
ім'я-масива [вираз];
де ім'я-масиву - покажчик-константа;
вираз - індекс, число цілого типу; він визначає зсув - збільшення адреси заданого елемента масиву щодо адреси нульового елемента масиву.
Елементи одновимірного масиву розташовуються в ОП підряд: нульовий, перший і т д.
1.2. Оголошення та звертання до багатовимірних масивів
Багатомірний масив у мові Сі розглядається як сукупність масивів меншої розмірності. Наприклад, двовимірний масив - це сукупність одновимірних масивів (його рядків), тривимірний масив - це сукупність матриць, матриці - сукупності рядків, а рядок - сукупність елементів одновимірного масиву.
Елементи масивів розташовуються в ОП таким чином, що швидше змінюються самі праві індекси, тобто елементи одновимірного масиву розташовуються підряд, двовимірного - по рядках, тривимірного - по матрицях, а матриці - по рядках.
Для звертання до елементів багатомірного масиву можна використовувати нуль і більш індексів (індексних виразів):
ім'я-масиву [вираз1][вираз2] ...
При звертанні до багатомірних масивів одержання значення елемента масиву можливо тільки після визначення адреси елемента масиву, тобто при повній кількості індексів. При цьому обчислюються індексні вирази зліва на право, і доступ до значення виконується після обчислення останнього індексного виразу.
Приклад оголошення двовимірного масиву значень типу int:
int а[m][n] ;
Цей масив складається з m одновимірних масивів (рядків), у кожному з яких утримується n елементів (стовпців). При роботі з цим двовимірним масивом можна використовувати одно або 2 індексний вираз. Наприклад:
а[i][j]- містить 2 індекси; використовується для звертання до елемента i-рядка, j-стовпця масиву; обчислюються індексні вирази, визначається адреса елемента масиву і вилучається його значення;
a[i] - містить 1 індекс; визначає адресу одновимірного масиву: адреса початку i-рядка масиву;
а - не містить індексу і визначає адресу масиву, його нульового елемента.
Таким чином, звертання до двовимірних масивів за допомогою імені і тільки одного індексу визначає покажчик на початок відповідного рядка масиву (адреса його нульового елемента). Наприклад:
а[0] == &a[0][0] == a+0*n*sizeof(int);
а[1] == &а[1][0] == a+1*n*sizeof(int);
a[i] == &a[i][0] == a+i*n*sizeof(int).
Символьні рядки
В мові Сі немає спеціального типу даних, який можна було б використовувати для опису рядків. Замість цього рядки представляються у вигляді масиву елементів типу char. Це означає, що символи рядка розташовуються в пам'яті в сусідніх комірках, по одному символу в комірці.
Необхідно зазаначити, що останнім елементом масиву є символ '\0'. Це нульовий символ (байт, кожний біт якого рівний нулю). У мові Сі він використовується для того, щоб визначати кінець рядка.
Примітка. Нульовий символ - це не цифра 0; він не виводиться на друк і в таблиці символів ASCII (див. додаток) має номер 0. Наявність нульового символу передбачає, що кількість комірок масиву повинна бути принаймні на одну більше, ніж число символів, які необхідно розміщувати в пам'яті. Наприклад, оголошення
char str[10];
передбачає, що рядок містить може містити максимум 9 символів.
Стандартна бібліотека мови програмування Сі містить клас функцій для роботи з рядками, і всі вони починаються з літер str. Для того, щоб використовувати одну або декілька функції необхідно підключити файл string.h.
#include<string.h>