Добавил:
Лабы/курсовые по программированию (С++/Verilog HDL), Теория и Практика Помехоустойчивого Кодирования Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1сем Дагаев / progr_su_3.ppt
Скачиваний:
10
Добавлен:
09.03.2022
Размер:
379.39 Кб
Скачать

Массивы строк

Массив указателей на строки:

char *strings[ ] = {''один'', ''два'', ''восемь''};

Двумерный массив символов:

char array[ ][7] = {''один'', ''два'', ''восемь''};

Обработка символов в строках

Заголовочный файл ctype.h isdigit( ) - распознает цифры

isspace( ) - распознает пробелы isalpha( ) - распознает буквы

islower( ) - распознает строчные буквы isupper( ) - распознает прописные буквы

tolower( ) - преобразует прописные буквы в строчные

toupper( ) - преобразует строчные буквы в прописные

Пример распознавания символов

char str[30] = ''2011 год''; int n = strlen(str);

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

if(isdigit(str[i])) printf(''цифра\n''); else

if(isspace(str[i])) printf(''пробел\n''); else printf(''%c\n'', toupper(str[i]));

Разбиение строки на лексемы

char* strtok(char* s1, const char*s2)

s1 — указатель на разбиваемую строку

s2 — строка, содержащая символы- разделители исходной строки

Возвращаемое значение при последовательных вызовах: указатель на очередную лексему.

Заголовочный файл string.h

Результат работы программы

Пример
использования функции strtok()

#include <stdio.h> #include <string.h> int main()

{

char str[100]; char*p = NULL; char* str1 = str; gets(str);

p = strtok(str1, "! "); // список разделителей - ! и пробел do

{

printf("\n %s",p); p=strtok(NULL,"! ");

}

while (p!= NULL); return 0;

}

Структуры

1.Объявление типа структуры

2.Объявление структурной переменной

Объявление типа (Person):

struct Person

{

char Name[30]; /*поле структуры*/ int Year; /*поле структуры*/

} ;

Объявление переменной (Nick): struct Person Nick;

Объявление тега структуры (синоним типа)

typedef struct Person

{

char Name[30]; int Year;

} PERSON;

PERSON Ann;

Анонимный тип структуры

struct

{

char Name[30]; int Year;

} Tom;

Tom — имя перемной структурного типа Выделено памяти: 30 + 4 = 34 (байта)

Инициализация структурной переменной

struct Person

{

char Name[30]; int Year;

} ;

struct Person Stud1 = {''John'', 1994}; struct Person Stud2 = {''Ann'', 1993};

Соседние файлы в папке 1сем Дагаев