Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпора программирование (2 модуль).docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
40.96 Кб
Скачать

15.Объявления строковых данных (перечислить способы). Задание строки в форме строковой константы.

Существуют следующие способы описания и задания строк:

  1. Строковая константа

  2. Символьный массив как строка

  3. Указатель на символьный тип как на строку

  4. Многомерный символьный массив как набор строк

  5. Массив указателей на символьный тип как массив строк

Строковая константа. В кавычках записываются символы и ставится нуль-символ «\0». Количество байт, занимаемые строковой константой равны количеству символов в строке + нуль-символ.

16.Задание строки в виде массива символьного типа.

  1. Явное указание длины массива char имя[N] . Если количество элементов будет больше описанного, то выдаст ошибку.

  2. При неявном указании длины массива char имя[]= “послед. символов\0” . При таком описании к каждому символу строки можно обращаться, используя имя массива имя[i] .

17.Описание строки в виде указателя на символьный тип

char *имя = “посл. символов\0” .

Обращаться к каждому символу по формуле *(имя + i).

Если инициализация не выполнена, необходимо выделять динамическую память под данный указатель. При таком описании к отдельному символу строки можно обращаться имя[i] .

18.Описание набора строк в виде многомерного символьного массива.

char имя[m][n] = { “строка1”, “строка 2”, … , “строка L” }

19.Описание набора строк в виде массива указателей на символьный тип.

Для объявления нескольких строк можно использовать указатели.

char *имя[M]={“строка1”, “строка2”, … , “строка L”} , где LM .

Обращение по формуле *(имя[i] + j) .

20.Ввод-вывод строковых данных.

Перед вводом строковых данных обязательно следует выделить память для вводимой строки. Существует 2 способа:

  1. Задать количество символов строки при описании char st[30];

  2. Если описан указатель на строку, то необходимо выделить динамическую память, используя соответствующие операторы.

char *pst; pst=new char[30];

или

char *pp;

pp=new char*[10];

for(int i=0; i<10; i++)

pp[i]=new char[25];

Для ввода используеются 2 функции:

  1. scanf() с форматом %S

Вводит до первого пробела/Enter/Tab…

  1. gets(имя строковой переменной)

Вводит до нажатия Enter

Для вывода строковых данных используют 2 функции:

  1. printf() с форматом %S

Для установки курсора в начало следующей строки не обходимо добавить ‘\n’ при выводе.(в отличии от puts())

  1. puts(имя строковой переменной). После вывода строки устанавливает курсор в начало следующей строки.

21.Основные функции для работы со строками.

  1. strlen(s) – определяет длину строки и возвращает количество символов без нулевого символа.

  2. strcat(s1,s2) – производит соединение двух строковых переменных s1 и s2. При этом s2 присоединятется к s1. 1-й аругмент – только строковая переменная, 2-й – переменная или строковая константа.

  3. strncat(s1,s2,n) – соединяет n литер из строки s2 со строкой s1. Функция приписывает к строке s1 первые n символов из s2 и Не добавляет нуль-символ.

  4. strcmp(s1,s2) – производит сравнение двух строк s1 и s2. При сравнении происходит посимвольное вычитание кодов символов. Сравнение выполняется до первого появления неравных символов.

  5. strncmp(s1,s2,n) – производит сравнение n начальных символов двух строк s1 и s2.

  6. strcpy(s1, s2) - выполняет копирование символов строки s2 в строку s1 и возвращает строку s1.

  7. strncpy(s1, s2, n) - выполняет копирование n символов строки s2 в строку s1 и возвращает строку s1. Не дописывает нуль-символ.

  8. strchr(s,c) – возвращает указатель на первый встреченный в строке ‘sсимвол ‘c’. Если такого символа в строке не оказалось, возвращает NULL.

  9. strrchr(s,c) – возвращает указатель на последний встреченный в строке ‘sсимвол ‘c’.

  10. strstr(s1,s2) – возвращает указатель на первое вхождение строки s2 в строку s1.

  11. strtok(s1, z) – разбивает строку s1 на отдельные лексемы, которые разделены символами из строки z.

  12. sprinf(str, “format”, var) – используется для преобразования числовых значений в строковые. str – указатель на строку, в которую будут сохранены форматированные символы. format– форматные спецификации. var – перечень форматируемых переменных.

Для использования строковых функций необходимо подключить файл string.h