Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

1c / Лабораторная работа 11

.docx
Скачиваний:
18
Добавлен:
14.05.2015
Размер:
19.85 Кб
Скачать

Лабораторная работа №11

Тема: Работа со строками в C++.

Цель: Получить навыки практической работы с функциями строк в C++.

Задание

  1. Изучить сведения о работе со строками в С++.

  2. В соответствии с заданным вариантом разработать программу. Название проекта – StrokaX, где X – номер варианта (например, Stroka10).

  3. Составить отчет о работе, включающий задание, постановку задачи, блок-схему алгоритма, код программы, тестовый пример, копии экрана с результатом.

Учебная информация

Строка – это ряд (массив) символов, хранящихся в последовательно расположенных байтах памяти. Последний символ – нуль – символ. Используется для обозначения конца строки. Строки могут быть переменными и константами.

Строку можно инициализировать постоянным значением при ее определении.

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