1c / Лабораторная работа 11
.docxЛабораторная работа №11
Тема: Работа со строками в C++.
Цель: Получить навыки практической работы с функциями строк в C++.
Задание
-
Изучить сведения о работе со строками в С++.
-
В соответствии с заданным вариантом разработать программу. Название проекта – StrokaX, где X – номер варианта (например, Stroka10).
-
Составить отчет о работе, включающий задание, постановку задачи, блок-схему алгоритма, код программы, тестовый пример, копии экрана с результатом.
Учебная информация
Строка – это ряд (массив) символов, хранящихся в последовательно расположенных байтах памяти. Последний символ – нуль – символ. Используется для обозначения конца строки. Строки могут быть переменными и константами.
Строку можно инициализировать постоянным значением при ее определении.
char str[]=”Visual C++”;
Здесь строковая константа описана как обыкновенная фраза.
char str[]={‘V’, ‘I’, ‘s’, ‘u’, ‘a’, ‘l’, ‘ ‘, ‘C’, ‘+’, ‘+’};
А можно как последовательность символьных констант.
Строковые библиотечные функции
Среди стандартных библиотек C/C++ существует библиотеки функций для обработки строк. Это string.h и stdlib.h. Библиотеки предоставляет возможности копирования, сравнения, объединения строк, поиска подстроки, определения длины строки и т.д.
Наиболее часто используемый функции
|
Функция |
Прототип и краткое описание |
1 |
strcat |
char *strcat(char *sp, int *si) Добавляет строку si в конец строки sp (конкатенация строк) |
2 |
strcmp |
int strcmp(char *st1, char *st2); Лексикографески сравнивает строки st1 и st2. Результат отрицателен, если st1< st2; равен нулю, если st1 ==st2; положителен, если st1 > st2 (сравнение беззнаковое). |
3 |
strcpy |
char *strcpy(char *st1, char *st2); Копирует строку st2 в строку st1. |
4 |
strlen |
unsigned int strlen(char *st); Вычисляет длину строки st (в байтах, не учитывая символ ‘\0’). |
5 |
strrev |
сhar *strrev(char *st); Переворачивает строку st (т.е. меняет порядок символов на противоположный). |
6 |
strncat |
char *strncat(char *st1, char *st2, int kol); Добавляет kol первых символов строки st2 в строку st1. |
7 |
strnset |
char *strnset(char *st, int c, int kol); Заменяет первые kol символов строки st символом c. |
8 |
atof |
double atof(chat *str) Преобразует строку str в вещественное число типа double |
9 |
atoi |
int atoi(char *str) Преобразует строку str в десятичное целое число |
10 |
itoa |
char *itoa(long v, char 8str, int baz) Преобразует целое v в строку str. |
11 |
strset |
int strset (char *str, int c) Заполняет строку str символом c |
Пример. Добавить строку s1 в конец строки s2
Задание: Привести пример использования функции. Функцию выбрать по варианту (таблица 1).
Таблица распределения заданий по вариантам
Таблица 1
Номер по списку |
Задание |
1. |
1 |
2. |
2 |
3. |
3 |
4. |
4 |
5. |
5 |
6. |
6 |
7. |
7 |
8. |
8 |
9. |
9 |
10. |
10 |