
- •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 Динамічне виділення пам'яті
7.3 Багатовимірні масиви
Дво-, тривимірні та інші масиви з більшою кількістю вимірів називаються багатовимірними масивами. Індексом є уже сукупність чисел, кількість яких визначає скільки саме вимірів матиме масив. Оголошуються вони аналогічно до одновимірних. Двовимірний масив можна уявити як таблицю n×m.
Прототип двовимірного масиву має такий вигляд:
<тип даних> <ім’я змінної> [n][m];
Для двовимірних масивів уже вводиться поняття головної та побічної діагоналі. Зобразимо це на рисунку. Червоною стрілкою показаний напрямок головної діагоналі, а блакитною – побічної.
Рисунок 7.2 – Зображення двовимірного масиву
Усі властивості одновимірних масивів зберігаються і для багатовимірних масивів. Тривимірний масив уже можна уявити як об’ємну фігуру – паралелепіпед. Більше трьох вимірів можна вважати математичною абстракцією.
Найчастіші дії, що проводяться над масивами – це:
пошук деякого значення;
сортування елементів в порядку зростання або спадання;
підрахунок кількості елементів у масиві, що задовольняють дану умову.
Приклад 6.Всім елементам, що знаходяться вище головної діагоналі присвоїти значення ‘1’, елементам, що знаходяться нижче головної діагоналі – ‘-1’, а тим що на самій діагоналі – ‘0’.
#include <stdio.h>
#include <stdlib.h>
int main(){
int MAS[4][4];
int n=5;
for (int i=0;i<n;i++){
for (int j=0; j<n; j++){
if (i==j) MAS[i][j]=0;
if (i>j) MAS[i][j]=-1;
if (i<j) MAS[i][j]=1;
printf("%3i ", MAS[i][j]);
}
printf("\n");
}
system("pause");
return 0;
}
Результат роботи програми:
6. Функції
6.1 Основні поняття
Функція– це частина програми, що виконується, після її виклику.
Синтаксис виклику функції наступний:
<ім’я функції> (аргумент1, аргумент2,…)
де ім’я функції– індетифікатор, за допомогою якого здійснюється виклик функції;
аргумент1, аргумент2,…–список аргументів функції. Аргументом називають значення яке передається у функцію.
Виклик функції може бути частиною виразу чи аргументом іншої функції.
Стандартна бібліотека С містять широкий набір функцій, які можна використати у програмі підключивши відповідні загаловочні файли, наприклад:
- <math.h> - виконання загальних математичних обчислень;
- <string.h> - обробка рядків та символів;
- <stdio.h> - введення/виведення інформації;
- <stdlib.h> - виділення пам'яті, контроль процесу виконання програми.
Підключення заголовочних файлів до програми здійснюється за допомогою директиви #include.
В таблиці 6.1 наведені деякі функції заголовочного файлу <math.h>.
Таблиця 6.1 – Функції заголовочного файлу <math.h>
Функція |
Призначення |
Приклад |
abs(x) |
повертає модуль числа x |
abs(-14.0) рівне 14 |
acos(x) |
повертає арккосинус x |
acos(0.0) рівне 1.570796 |
asin(x) |
повертає арксинус x |
asin(0.0) рівне 0.0 |
atan(x) |
повертає арктангенс x |
atan(1.0) рівне 0.785398 |
ceil(x) |
повертає x округлений до більшого |
ceil(4.2) рівне 5.0 |
cos(x) |
повертає косинус x |
cos(3.14) рівне -0.999999 |
cosh(x) |
повертає гіперболічний косинус x |
cosh(0.0) рівне 1.0 |
exp(x) |
повертає експоненту x(е в степені х) |
exp(1.0) рівне 2.718282 |
floor(x) |
повертає x округлений до меншого |
floor(4.9) рівне 4.0 |
log(x) |
повертає натуральний логарифм x |
log(2.718282) рівне 1.0 |
log10(x) |
повертає логарифм x за основою 10 |
log10(1000) рівне 3.0 |
pow(x,y) |
повертає x піднесене до степеня y |
pow(2.0,5.0) рівне 32.0 |
round(x) |
повертає число, округлене за звичайним правилом |
round(4.2) рівне 4.0 round(4.9) рівне 5.0 |
sin(x) |
повертає синус x |
sin(0.0) рівне 0.0 |
sinh(x) |
повертає гіперболічний синус x |
sinh(0.0) рівне 0.0 |
sqrt(x) |
повертає квадратний корінь з x |
sqrt(4.0) рівне 2.0 |
tan(x) |
повертає тангенс x |
tan(0.785398) рівне 1.0 |
tanh(x) |
повертає гіперболічний тангенс x |
tanh(10.0) рівне 1.0 |
Окрім функцій стандартної бібліотеки С програміст може визначати власні функції.
Синтаксис визначення функції:
<тип> <ім’я функції> (параметр1, параметр2,…)