Рядки в C ++.pptx
- Количество слайдов: 17
Типи даних Цілі числа int 3 основні типи Дійсні числа float Символьні дані char Булигіна Л. В.
Символи та рядки
2 способи опису рядків: Масив символів Тип char s [100]; string s; Ознакою кінця рядка є нульовий символ Спеціальний тип, бібліотека STL
Опис та ініціалізація символів та рядків char c; сhar c=‘Q’; char str 1 [10]; char str 2 [10] = "Hello"; char str 3 [10] = {'H', 'e', 'l', 'o', ' 0'}; char str 5 [] = "Very long line"; char * str 6; q w a s z Ctrl e &123 r d x t f c y g v u h b i j n o k m p l , ⌫ ‘ Enter . ? < > ⌨
Введення-виведення символи • getchar() • scanf(“%c”, &c); слова • cin • scanf(“%s”, s); рядки • gets • getline() Рядок можна обробляти як масив символів, використовуючи алгоритми обробки масивів або за допомогою функцій обробки.
#include #include #include
Довжина рядка strlen (ім'я рядка) визначає довжину зазначеного рядка, без урахування нуль-символу Копіювання рядків strcpy (s 1, s 2) виконує побайтное копіювання символів з рядка s 2 в рядок s 1 strncpy (s 1, s 2, n) виконує побайтне копіювання n символів з рядка s 2 в рядок s 1. повертає значення s 1 Конкатенація(склеювання) рядків strcat (s 1, s 2) об'єднує рядок s 2 з рядком s 1. Результат зберігається в s 1 strncat (s 1, s 2, n) об'єднує n символів рядка s 2 з рядком s 1. Результат зберігається в s 1 Порівняння рядків strcmp (s 1, s 2) порівнює рядок s 1 з рядком s 2 і повертає результат типу int: 0 -якщо рядки еквівалентні, > 0 - якщо s 1 s 2 З урахуванням регістра strncmp (s 1, s 2) порівнює n символів рядка s 1 з рядком s 2 і повертає результат типу int: 0 -якщо рядки еквівалентні, > 0 - якщо s 1 s 2 stricmp (s 1, s 2) порівнює рядок s 1 з рядком s 2 і повертає результат типу int: 0 -якщо рядки еквівалентні, > 0 - якщо s 1 s 2 Без урахування регістру
Код символа #include
Обробка символів isalnum (c) повертає значення true, якщо с є буквою або цифрою, і false в інших випадках isalpha (c) true, якщо с є буквоюisdigit (c) повертає значення true, якщо с є цифрою islower (c) true, якщо с є буквою нижнього регістра isupper (c) true, якщос є буквою верхнього регіструisspace (c) true, якщо є пробілом toupper (c) якщо символ с є символом нижнього регістру, то функція повертає перетворений символ у верхньому регістрі, інакше символ повертається без змін.
Функції пошуку strchr (s, c) пошук першого входження символу з в рядку s. У разі вдалого пошуку повертає вказівник на місце першого входження символу с. Якщо символ не знайдений, то повертається нуль. strspn (s 1, s 2) повертає довжину початкового сегмента рядка s 1, який містить тільки ті символи, які входять в рядок s 2 strprbk (s 1, s 2) Повертає покажчик першого входження будь-якого символу рядка s 2 в рядку s 1
Функції перетворення atof (s 1) перетворить рядок s 1 в тип double atoi (s 1) перетворить рядок s 1 в тип int atol (s 1) перетворить рядок s 1 в тип long int
ва ер р
Тип string s 1; string s 2 ( «Hello» ); Введення-виведення слова • cin рядки • getline()
Операції над рядками Над рядками типу string визначені операції: • присвоювання, наприклад s 1 = s 2; • об'єднання рядків (s 1 + = s 2 або s 1 = s 1 + s 2) - додає до рядка s 1 рядок s 2, результат зберігається в рядку s 1 • порівняння рядків на основі лексикографічного порядку: s 1 = s 2, s 1! = s 2, s 1 s 2, s 1 <= s 2, s 1> = s 2 - результатом буде логічне значення
Функції s. substr (pos, length) - повертає підрядок з рядка s, починаючи з номера pos довгою length символів; s. empty () - повертає значення true, якщо рядок s порожній, false - в іншому випадку; s. insert (pos, s 1) - вставляє рядок s 1 у рядок s, починаючи з позиції pos; s. erase (pos, length) - видаляє з рядка s підрядок length довжиною pos символів; s. find (s 1, pos) - повертає номер першого входження рядка s 1 у рядок s, пошук починається з номера pos, параметр pos може бути відсутнім, в цьому випадку пошук іде з початку рядка;
Ввести слово #include #include #include #include #include
Символи та рядки