- •Мова програмування с Навчальний посібник
- •І. Теоретична частина Структура програми на мові с
- •Базові типи даних
- •I для опису цілих чисел без дробової частини nt
- •1. Char – символ
- •3. Float – число з плаваючою крапкою одинарної точності
- •4. Double – число з плаваючою крапкою подвійної точності
- •Арифметичні операції
- •Функції введення scanf() та виведення printf()
- •Оператори
- •Функції користувача
- •Функції із змінним числом аргументів
- •Функції стандартних бібліотек Функції для роботи із символами (ctype.H)
- •Функції для роботи з каталогами (dir.H)
- •Функції для роботи з ос (dos.H)
- •Функції для роботи з графічним режимом (graphics.H)
- •Математичні функції (math.H)
- •Функції для роботи з рядками (string.H)
- •Функції потокового вводу/виводу (stdio.H)
- •Функції вводу/виводу нижнього рівня (io.H)
- •Функції вводу/виводу консолі та порту (conio.H)
- •Структури
- •Об'єднання
- •Динамічний розподіл пам’яті
- •Іі. Практична частина Лабораторна робота №1 Тема: Основні конструкції мови с. Програмування простих алгоритмів
- •Лабораторна робота №2 Тема: Створення і використання функцій
- •Лабораторна робота №3 Тема: Використання структур
- •Лабораторна робота №4 Тема: Організація роботи з файлами
- •Рекомендована література
Функції для роботи з рядками (string.H)
Функція |
Опис |
Тип результату |
strcat(char *dest, const char *src); |
Об’єднання рядків |
char * |
strchr(const char * s, int c); |
Пошук символа у рядку |
char * |
strcmp(const char *s1, const char*s2); |
Порівняння рядків |
int |
strcpy(char *dest, const char *src); |
Копіювання одного рядка в інший |
char * |
strcspn(const char *s1, const char *s2); |
Знайти перше входження символу із заданого набору символів в рядку |
size_t |
strdup(const char *s); |
Дублювання рядка |
char * |
strerror(int errnum); |
Повертає покажчик на рядок з описом помилки |
char * |
strlen(const char *s); |
Повертає довжину рядка |
size_t |
strlwr(char *s); |
Перетворити рядок у нижній регістр |
char * |
strncat(char *dest, const char *src, size_t maxlen); |
Об’єднує один рядок з n символами іншого |
char * |
strncmp (const char *s1, const char *s2, size_t maxlen); |
Порівнює один рядок з n символами іншого |
int |
strncpy(char *dest, const char *src, size_t maxlen); |
Копіює перші n символів одного рядка в інший |
char * |
strnset(char *s, int ch, size_t n); |
Заповнити n символів рядка в задане значення |
char * |
strpbrk(const char *s1, const char *s2); |
Знайти перше входження будь-якого символу із заданого набору в рядку |
char * |
strrchr(const char *s, int c); |
Пошук першого входження заданого символу в рядку |
char * |
strrev(char *s); |
Інвертувати рядок |
char * |
strncat(char *dest, const char *src, size_t maxlen); |
Встановити всі символи рядка в задане значення |
char * |
strspn(const char *s1, const char *s2); |
Шукає перший символ одного рядка, відсутній в іншому |
size_t |
strstr(const char *s1, const char *s2); |
Шукає частину рядка в іншому рядку |
char * |
strupr(char *s); |
Перетворити рядок у верхній регістр |
char * |
Приклад функції перетворення рядка з числами, розділеними пробілами, в масив цілих чисел.
int GetMasInt(char* v, int* V, int* n) { char temp[5]; /* масив символів одного числа */ int i=0,j=0,k=0, l=strlen(v); while (i<l) {
/* утворення масиву символів одного числа */ while (i<l && v[i]!=' ') {temp[j++]=v[i++];temp[j]='\0';}
/* пропуск пробілів */ while (i<l && v[i]==' ') i++;
/* утворення k-того елемента масиву цілих чисел */ V[k++]=atoi(temp); j=0; } return k;
} Приклад функції перетворення масиву цілих чисел в рядок з числами, розділеними пробілами.
void GetStr(int* V,int n, char* v) { v[0]=’\0’; /* ознака кінця рядка */ for(int i=0;i<n;i++) {
/* утворення і-того числа з фрагменту рядка */ itoa(V[i],v+strlen(v),10);
/* вставка пробілу */ strcat(v, " "); }
return; }