- •1.1.2 Структура функцій програми
- •1.1.3 Правила синтаксису
- •1.1.4. Типи даних
- •1.1.5. Функції введення та виведення даних
- •1.2 Приклад програми Умова задачі
- •Особливості використання функцій вводу та виводу
- •1.3 Технологія виконання лабораторної роботи
- •1.4. Варіанти завдань
- •1.5 Контрольні запитання
- •Розгалужені обчислювальні процеси Лабораторна робота 2
- •2.1 Теоретичні відомості
- •2.1.1. Вибір із двох альтернатив
- •2.1.2. Вкладеність конструкцій вибору
- •2.1.3. Операторний блок
- •2.1.4. Поліваріантний вибір
- •2.2. Приклади програм
- •2.3. Варіанти завдань
- •2.4 Контрольні запитання
- •Циклічні обчислювальні процеси Лабораторна робота 3
- •3.1 Теоретичні відомості
- •3.1.1. Цикл із передумовою
- •3.1.2. Цикл із постумовою
- •3.1.3. Цикл із лічильником
- •3.1.4. Переривання та продовження циклу
- •3.2. Приклад алгоритму та програми
- •3.3. Варіанти завдань
- •3.4 Контрольні запитання
- •Цикли з розгалуженням Лабораторна робота 4
- •4.1 Теоретичні відомості
- •4.1.1. Рекурентні співвідношення
- •4.1.2. Функції користувача
- •4.2. Приклад алгоритму та програми
- •Алгоритм задачі
- •Код програми
- •4.3. Варіанти завдань
- •4.4 Контрольні запитання
- •Рекурсивні функції Лабораторна робота 5
- •5.1 Теоретичні відомості
- •5.2. Приклад алгоритму та програми
- •5.3. Варіанти завдань
- •6.1.2. Оголошення та ініціалізація
- •6.1.3. Операції над покажчиками
- •6.1.4. Методи розв’язанні нелінійних рівнянь
- •6.2. Приклад алгоритму та програми
- •6.3. Варіанти завдань
- •6.4 Контрольні запитання
- •Одновимірні масиви Лабораторна робота 7
- •7.1 Теоретичні відомості
- •7.2. Приклад алгоритму та програми
- •Алгоритм програми
- •Код програми
- •7.3. Варіанти завдань
- •7.4 Контрольні запитання
- •Багатовимірні масиви Лабораторна робота 8
- •8.1 Теоретичні відомості
- •8.1.1. Оголошення багатовимірних масивів. Доступ до елементів
- •8.1.2. Базові операції обробки двовимірних масивів
- •8.2. Приклад алгоритму та програми
- •8.3. Варіанти завдань
- •9.1.2. Деякі функції обробки рядків
- •9.2. Приклад алгоритму та програми
- •9.3. Варіанти завдань
- •9.4 Контрольні запитання
- •Структури та масиви структур Лабораторна робота 10
- •10.1 Теоретичні відомості
- •10.2. Приклад алгоритму та програми
- •Алгоритм задачі
- •Приклад коду
- •10.3. Варіанти завдань
- •10.4 Контрольні запитання
9.1.2. Деякі функції обробки рядків
Умовні позначення: destination - рядок призначення; source - початковий рядок; maxlen - максимальна довжина рядка (підрядка); n - кількість символів; s, s1, s2 - поточні рядки; с - символ для пошуку; endptr - помилка під час перетворення рядка; radix - основа системи числення.
Таблиця 4.1 Прототипи функцій з файлу string.h
Назва |
Призначення |
Формат |
Значення, що повертається |
strupr |
Перетворення малих літер на великі |
char *strupr(char *s); |
Покажчик на змінений рядок |
strlwr |
Перетворення великих літер на малі |
char *strlwr(char *s); |
Покажчик на змінений рядок |
strcpy |
Копіювання рядка |
char *stpcpy(char *destination, const char *source); |
Покажчик на рядок-копію |
strncpy |
Копіювання частини рядка |
char *strncpy(char *destination, const char *source, size_t maxlen); |
Покажчик на рядок-копію |
strlen |
Довжина рядка |
size_t strlen(const char *s); |
Кількість символів у рядку без урахування символа '\0' |
strcat |
Конкатенація рядків(об’єднання) |
char *strcat(char *destination, const char *source); |
Покажчик на об’єднаний рядок |
strncat |
Додавання частини рядка до іншого рядка |
char *strncat(char *destination, const char *source, size_t maxlen); |
Покажчик на об’єднаний рядок |
strtod |
Перетворення рядка у число типу double |
double strtod(const char *s, char **endptr); |
Число типу double |
strtol |
Перетворення рядка у число типу long |
long strtol(const char *s, char **endptr, int radix); |
Число типу long |
strrchr |
Пошук останнього входження заданого символа |
char *strrchr(char *s, int c); |
Покажчик на останнє місцезнаходження заданого символа |
strstr |
Пошук першого входження заданого підрядка |
char *strstr(char *s1, const char *s2); |
Покажчик на перше місцезнаходження заданого символа |
strcspn |
Пошук першого сегмента, що не містить символів з заданого набору символів |
size_t strcspn(const char *s1, const char *s2); |
Довжина початкової ланки s1, яка не містить символи з рядка s2 |
strcmpi |
Порівняння рядків без розбіжності у регістрах літер |
int strcmpi(const char *s1, const char *s2); |
Значення 0, якщо рядки рівні, значення менше за 0, якщо перший рядок менший за другий, значення більше за 0, якщо перший рядок більший за другий |
strcmp |
Порівняння рядків |
int strcmp(const char *s1,const char *s2); |
Значення 0, якщо рядки рівні, значення менше за 0, якщо перший рядок менший за другий, значення більше за 0, якщо перший рядок більший за другий |
strncmp |
Порівняння частини рядка з частиною іншого рядка |
int strncmp(const char *s1, const char *s2, size_t n); |
Значення 0, якщо рядки рівні, значення менше за 0, якщо перший рядок менший за другий, значення більше за 0, якщо перший рядок більший за другий |
strncmpi |
Порівняння частин рядків без розбіжності у регістрах літер |
int strncmpi(const char *s1, const char *s2, size_t n); |
Значення 0, якщо рядки рівні, значення менше за 0, якщо перший рядок менший за другий, значення більше за 0, якщо перший рядок більший за другий |
strdup |
Копіювання рядка у створювану область пам’яті |
char *strdup(const char *s); |
Покажчик на область пам’яті, що містить копію рядка |
strrev |
Перевертання рядка |
char *strrev(char *s); |
Покажчик на рядок, що змінився |
strnset |
Заміна заданої кількості символів на вказаний символ |
char *strnset(char *s, int ch, size_t n); |
Покажчик на рядок, що змінився |
strtok |
Визначення лексем, відділених роздільниками |
char *strtok(char *source, const char *separator); |
Покажчик на знайдену лексему. У процесі повторного виклику функції для пошуку нових лексем перший параметр функції має бути NULL. |
atoi |
Перетворення рядка у ціле число |
#include <stdlib.h> int atoi(const char *s); |
Число, що утворилося, або 0, якщо перетворення неможливе |
atof |
Перетворення рядка у дійсне число |
#include <math.h> double atof(const char *s); |
Число, що утворилося, або 0, якщо перетворення неможливе |
itoa |
Перетворення цілого числа у рядок |
#include <stdlib.h> char *itoa(int value, char *string, int radix); |
Покажчик на рядок |