- •Тема 1. Основные этапы решения задач на эвм 5
- •Тема 2. Жизненный цикл программы. Критерии качества программы. 15
- •Тема 3. Схемы алгоритмов, данных, программ 29
- •Тема 1. Основные этапы решения задач на эвм Постановка задачи разработки программного обеспечения
- •Анализ формальной постановки задачи
- •Выбор или разработка математической модели и метода решения
- •Разработка алгоритма
- •Базовые структуры алгоритма
- •3.2. Цикл с постусловием.
- •Тема 2. Жизненный цикл программы. Критерии качества программы.
- •Техническое задание и спецификация программы
- •Разработка проекта программной системы
- •Программирование (кодирование) или программная реализация алгоритмов
- •Тестирование и отладка
- •Эксплуатация и сопровождение
- •Критерии качества программного обеспечения
- •Тема 3. Схемы алгоритмов, данных, программ
- •Символы данных
- •Отображает данные, вводимые в ручную, во время обработки с устройств любого типа (клавиатура, переключатели, кнопки, световое перо, полоски со штрих кодом и т.Д.).
- •Символы процесса
- •Символы линий
- •Специальные символы
- •Правила применения символов в схемах
- •Правила выполнения соединений
- •Специальные условные обозначения
- •Тема 4. Язык программирования высокого уровня Си Общие сведения о языке Си
- •Алфавит языка Си
- •Грамматика для описания языка, синтаксические диаграммы
- •Структура программы на языке Си
- •Void main() //функция main
- •Имена объектов в программе
- •Выражения, операции и приоритеты
- •Тема 5. Стандартные типы данных
- •Тема 6. Составные типы данных Данные регулярного типа (массивы)
- •Int b [n]; // вектор из 10 целых элементов
- •9 Strcpy(s1,&s2[k]); //копирует правую подстроку из s2 в s1
- •9 Strncpy(s1,&s[2],n); //копирует среднюю подстроку из s2 в s1
- •Void main() /*пример функции*/
- •If(strcmp(s, "пароль"))
- •If(!strсmp("quit", s)) break;
- •Данные комбинированного типа (структуры)
- •Int month;
- •Int year;
- •Перечисления
- •Объединения
- •Указатели
- •Void *addres;
- •Int arrey[25];
- •Тема 7. Представление основных управляющих структур программирования Оператор присваивания
- •Составной оператор
- •Оператор перехода Goto
- •Условный оператор If
- •Оператор выбора switch
- •Операторы цикла while, do – while, for
- •Int I,j,imax,jmax,imin,jmin;
- •Операторы прерывания циклов
- •If (!flag) printf("Отрицательных чисел нет"); Форматированный ввод данных
- •Форматированный вывод данных
- •Преобразование типов
- •Инициализация данных
- •Тема 8. Функции
- •Определение функций в языке Си
- •Int rus (unsigned char r)
- •Void change (int X, int y)
- •Void change (int *X, int *y)
- •Вызов функций в языке Си
- •Int *fun (intx,int *y);
- •Int main()
- •Рекурсивные функции
- •Int nodWhile (int m, int n)
- •Int nodWhile (int m, int n)
- •Int main()
- •Int fCalculated[nFib];
- •Int FibDinam (int n)
- •Int main()
- •Int Summa(int n, int a[100])
- •Int main()
- •Тема 9. Файлы
- •Int fseek(file *fp, long count, int access);
- •Int ferror(file *fp);
- •Int remove(char *file_name);
- •Void rewind(file *fp);
- •Int main()
- •Тема 10. Приемы программирования. Примеры алгоритмов Алгоритмы сортировки
- •Исходный массив
- •Void SortBubble (int count, int* pArr)
- •Исходный массив
- •Void SortSelect(int count, int* pArr)
- •Int i1,temp;
- •Int jmax;
- •Void SortInsert (int count, int* pArr)
- •Int temp, j;
- •Алгоритмы поиска
- •Int bfSearch(char *s, char *p)
- •Int bmtarr[255];
- •Int bmSearch(int startpos, char *s, char *p)
- •Int BinarySearch (int lb, int ub, int key, int* pArr)
- •Динамические структуры данных
- •Линейные списки
- •Int value; // значение элемента
- •Void PrintSearchList (list head, int val)
- •If (lfound) printf("Элемент в списке найден!");
- •Стек, очередь, дек
- •Int prior(char);
- •Void main(void)
- •Int k, point;
- •Int prior(char a)
- •Деревья
- •Int info; //информационное поле
- •Приложение 1. Стандартные библиотеки языка Си
- •Приложение 2. Примеры реализации алгоритмов
- •Int main()
- •Int arr[10]; // Массив arr из 10 целочисленных элементов
- •Int I; // Счетчик для циклов
- •Int main()
- •Int main()
- •Int main()
- •Int Temp;
- •Int CurrentYear, Diff, Day1, Day2, Month1, Month2, I, Visokos;
- •Int main()
- •InsertSort(d, max); // Сортируем массив b методом вставок
- •Int number;
- •Int main()
- •Не рекурсивный алгоритм решения задачи Ханойская башня.
- •Int main()
- •Рекурсивный алгоритм решения задачи Ханойская башня.
- •Void move(int I, int j, int d)
- •Void hanoy(int I, int j, int k, int d)
- •Int main()
- •Int Cubic(double *X,double a,double b,double c);
- •Int Cubic (double *X, double a, double b, double c)
- •Void lu_backsub (double **a, int n, int *indx, double *b)
- •Void lu_invert (double **a, int n, int *indx, double **inv, double *col)
- •Int BracketRoot (double x0, double *a, double *b, double d0, double di, double dmax, double (*fun)(double));
- •Int BracketRoot (double x0, double *a, double *b, double d0,
- •Int main()
- •Int expo, I;
- •If (expo & 1)
- •Int main()
- •Приложение 3. Лабораторные работы Лабораторная работа №1
- •Лабораторная работа №2
- •Лабораторная работа №3
- •Лабораторная работа №4
- •Лабораторная работа №5
- •Лабораторная работа №6
- •Лабораторная работа №7
- •Лабораторная работа №8
- •Лабораторная работа №9
- •Лабораторная работа №10
- •Лабораторная работа №11
- •Лабораторная работа №12
- •Список литературы
Приложение 1. Стандартные библиотеки языка Си
В языке Си стандартные функции собраны в различных библиотеках. Для использования этих функций необходимо подключить к проекту соотаетствующие библиотеки с помощью конструкции #include. Ниже представлены некоторые библиотеки языка Си, а также их состав.
Таблица 19.
Библиотеки языка Си
Имя |
Назначение библиотеки |
complex.h |
Набор функций для работы с комплексными числами |
ctype.h |
Содержит функции, используемые для классификации символов по их типам или для конвертации между верхним и нижним регистрами независимо от используемой кодировки |
errno.h |
Для проверки кодов ошибок, возвращаемых библиотечными функциями |
iostream |
Содержит функции контроля чтения и записи стандартных потоков |
limits.h |
Содержит заранее заданные константы, определяющие специфику реализации свойств целых типов |
signal.h |
Функции для управления различными исключительными условиями |
math.h |
Функции для вычисления основных математических функций |
stdio.h |
Реализует основные возможности ввода и вывода в языке Си |
stdlib.h |
Вспомогательные функции, которые могут быть использованы в разнообразных программах |
string.h |
Для работы с различными видами строк |
time.h |
Для конвертации между различными форматами времени и даты |
Таблица 20.
Состав библиотеки complex.h
Имя функции |
Описание |
cabs, cabsf, cabsl |
Абсолютное значение комплексного числа |
cacos, cacosf, cacosl |
Комплексный арккосинус |
cacosh, cacoshf, cacoshl |
Комплексный гиперболический арккосинус |
carg, cargf, cargl |
Аргумент комплексного числа |
casin, casinf, casinl |
Комплексный арксинус |
casinh, casinhf, casinhl |
Комплексный гиперболический арксинус |
catan, catanf, catanl |
Комплексный арктангенс |
catanh, catanhf, catanhl |
Комплексный гиперболический арктангенс |
ccos, ccosf, ccosl |
Комплексный косинус |
ccosh, ccoshf, ccoshl |
Комплексный гиперболический косинус |
cexp, cexpf, cexpl |
Комплексная экспонента |
cimag, cimagf, cimagl |
Мнимая часть комплексного числа |
clog, clogf, clogl |
Натуральный логарифм комплексного числа |
conj, conjf, conjl |
Комплексное сопряжённое число |
cpow, cpowf, cpowl |
Степень комплексного числа |
cproj, cprojf, cprojl |
Проекция на римановскую сферу |
creal, crealf, creall |
Действительная часть комплексного числа |
csin, csinf, csinl |
Комплексный синус |
csinh, csinhf, csinhl |
Комплексный гиперболический синус |
csqrt, csqrtf, csqrtl |
Комплексный квадратный корень |
ctan, ctanf, ctanl |
Комплексный тангенс |
ctanh, ctanhf, ctanhl |
Комплексный гиперболический тангенс |
Таблица 21.
Состав библиотеки ctype.h
Имя функции |
Проверяет, является ли аргумент… |
isalnum |
…буквой или цифрой |
isalpha |
…буквой |
iscntrl |
…управляющим символом |
isdigit |
…цифрой |
isgraph |
…символом, имеющим графическое представление |
islower |
…буквой в нижнем регистре |
isprint |
…символом, который может быть напечатан |
ispunct |
…символом, имеющим графическое представление, но не являющимся при этом буквой или цифрой |
isspace |
…разделительным символом |
isupper |
…буквой в верхнем регистре |
isxdigit |
…цифрой шестнадцатиричной системы счисления |
Таблица 22.
Состав библиотеки errno.h
Имя функции |
Описание |
E2BIG |
Список аргументов слишком длинный |
EACCES |
Отказ в доступе |
EAGAIN |
Ресурс временно недоступен |
EBADF |
Неправильный дескриптор файла |
EBADMSG |
Неправильное сообщение |
EBUSY |
Ресурс занят |
ECANCELED |
Операция отменена |
ECHILD |
Нет дочернего процесса |
EDEADLK |
Обход тупика ресурсов |
EDOM |
Ошибка области определения |
EEXIST |
Файл существует |
EFAULT |
Неправильный адрес |
EFBIG |
Файл слишком велик |
EINPROGRESS |
Операция в процессе выполнения |
EINTR |
Прерванный вызов функции |
EINVAL |
Неправильный аргумент |
EIO |
Ошибка ввода-вывода |
EISDIR |
Это каталог |
EMFILE |
Слишком много открытых файлов |
EMLINK |
Слишком много связей |
EMSGSIZE |
Неопределённая длина буфера сообщения |
ENAMETOOLONG |
Имя файла слишком длинное |
ENFILE |
Слишком много открытых файлов в системе |
ENODEV |
Нет такого устройства |
ENOENT |
Нет такого файла в каталоге |
ENOEXEC |
Ошибка формата исполняемого файла |
ENOLCK |
Блокировка недоступна |
ENOMEM |
Недостаточно памяти |
ENOSPC |
Памяти на устройстве не осталось |
ENOSYS |
Функция не реализована |
ENOTDIR |
Это не каталог |
ENOTEMPTY |
Каталог непустой |
ENOTSUP |
Не поддерживается |
ENOTTY |
Неопределённая операция управления вводом-выводом |
ENXIO |
Нет такого устройства или адреса |
EPERM |
Операция не разрешена |
EPIPE |
Разрушенный канал |
ERANGE |
Результат слишком велик |
EROFS |
Файловая система только на чтение |
ESPIPE |
Неправильное позиционирование |
ESRCH |
Нет такого процесса |
ETIMEDOUT |
Операция задержана |
EXDEV |
Неопределённая связь |
Таблица 23.
Состав библиотеки iostream.h
Имя функции |
Описание |
cin |
Соответствует стандартному вводу. В общем случае он позволяет читать данные с терминала пользователя |
cout |
Соответствует стандартному выводу. В общем случае он позволяет выводить данные на терминал пользователя |
cerr |
Соответствует стандартному выводу для ошибок. В этот поток мы направляем сообщения об ошибках программы |
Таблица 24.
Состав библиотеки limits.h
Имя |
Описание |
Типичное значение 32-битной программы |
Типичное значение 64-битной программы |
Стандартный минимум или максимум диапазона значений |
CHAR_BIT |
Число бит в байте |
8 |
8 |
≥ 8 |
SCHAR_MIN |
Минимальное значение для знакового char |
−128 |
−128 |
≤ -127 |
SCHAR_MAX |
Максимальное значение для знакового char |
+127 |
+127 |
≥ +127 |
UCHAR_MAX |
Максимальное значение для беззнакового char |
+255 |
+255 |
≥ +255 |
CHAR_MIN |
Минимальное значение для char |
−128 |
−128 |
≤ -127(если char представлено как знаковый char; иначе 0) |
CHAR_MAX |
Максимальное значение для char |
+127 |
+127 |
≥ +127 (если char представлено как знаковый char; иначе +255) |
MB_LEN_MAX |
Максимальная многобайтовая длина символа по всем локалям |
различается, обычно от 4 |
различается, обычно от 4 |
≥ 1 |
SHRT_MIN |
Минимальное значение для short int |
−32,768 |
−32,768 |
≤ -32,767 |
SHRT_MAX |
Максимальное значение для short int |
+32,767 |
+32,767 |
≥ +32,767 |
USHRT_MAX |
Максимальное значение для беззнакового short int |
+65,535 |
+65,535 |
≥ +65,535 |
INT_MIN |
Минимальное значение для int |
−2,147,483,648 |
−2,147,483,648 |
≤ -32,767 |
INT_MAX |
Максимальное значение для int |
+2,147,483,647 |
+2,147,483,647 |
≥ +32,767 |
UINT_MAX |
Максимальное значение для беззнакового int |
+4,294,967,295 |
+4,294,967,295 |
≥ +65,535 |
LONG_MIN |
Минимальное значение для long int |
−2,147,483,648 |
−9,223,372,036,854,775,808 |
≤ -2,147,483,647 |
LONG_MAX |
Максимальное значение для long int |
+2,147,483,647 |
+9,223,372,036,854,775,807 |
≥ +2,147,483,647 |
ULONG_MAX |
максимальное значение для беззнакового long int |
+4,294,967,295 |
+18,446,744,073,709,551,615 |
≥ +4,294,967,295 |
LLONG_MIN |
Минимальное значение для long long int |
−9,223,372,036,854,775,808 |
−9,223,372,036,854,775,808 |
≤ -9,223,372,036,854,775,807 |
LLONG_MAX |
Максимальное значение для long long int |
+9,223,372,036,854,775,807 |
+9,223,372,036,854,775,807 |
≥ +9,223,372,036,854,775,807 |
ULLONG_MAX |
максимальное значение для беззнакового long long int |
+18,446,744,073,709,551,615 |
+18,446,744,073,709,551,615 |
≥ +18,446,744,073,709,551,615 |
Таблица 25.
Состав библиотеки limits.h
Константа |
Значение |
Стандарты |
SIGHUP |
Отбой |
POSIX |
SIGINT |
Прерывание |
ANSI |
SIGQUIT |
Выход |
POSIX |
SIGILL |
Недопустимая инструкция |
ANSI |
SIGABRT |
Самоостановка |
ANSI |
SIGTRAP |
Перехват события |
POSIX |
SIGIOT |
Перехват ввода-вывода |
4.2 BSD |
SIGEMT |
Перехват эмуляции |
4.2 BSD |
SIGFPE |
Исключение с плавающей запятой |
ANSI |
SIGKILL |
Неперехватываемый сигнал завершения |
POSIX |
SIGBUS |
Ошибка шины |
4.2 BSD |
SIGSEGV |
Нарушение сегментации |
ANSI |
SIGSYS |
Неправильный аргумент в системный вызов |
4.2 BSD |
SIGPIPE |
Нарушение канала |
POSIX |
SIGALRM |
Истечение времени |
POSIX |
SIGTERM |
Заверешние |
ANSI |
SIGUSR1 |
Пользовательский сигнал 1 |
POSIX |
SIGUSR2 |
Пользовательский сигнал 2 |
POSIX |
SIGCHLD |
Изменение статуса дочернего процесса |
POSIX |
SIGCLD |
Аналогично SIGCHLD |
System V |
SIGPWR |
Перезапуск после проблемы с питанием |
System V |
SIGXCPU |
Ограничение процессорного времени |
POSIX |
Таблица 26.
Состав библиотеки math.h
Имя функции |
Описание |
acos |
арккосинус |
asin |
арксинус |
atan |
арктангенс |
atan2 |
арктангенс с двумя параметрами |
ceil |
округление до ближайшего большего целого числа |
cos |
косинус |
cosh |
гиперболический косинус |
exp |
вычисление экспоненты |
fabs |
абсолютная величина (числа с плавающей точкой) |
floor |
округление до ближайшего меньшего целого числа |
fmod |
вычисление остатка от деления нацело для чисел с плавающей точкой |
frexp |
разбивает число с плавающей точкой на мантиссу и показатель степени. |
ldexp |
умножение числа с плавающей точкой на целую степень двух |
log |
натуральный логарифм |
log10 |
логарифм по основанию 10 |
modf(x,p) |
извлекает целую и дробную части (с учетом знака) из числа с плавающей точкой |
pow(x,y) |
результат возведения x в степень y, xy |
sin |
синус |
sinh |
гиперболический синус |
sqrt |
квадратный корень |
tan |
тангенс |
tanh |
гиперболический тангенс |
Таблица 27.
Состав библиотеки stdio.h
Имя функции |
Описание |
Функции для файловых операций |
|
fclose |
закрывает файл, ассоциированный с переданным ей значением FILE * |
fopen, freopen, fdopen |
открывают файл для определенных типов чтения и записи |
remove |
удаляет файл (стирая его) |
rename |
переименовывает файл |
rewind |
работает аналогично fseek(stream, SEEK_SET), вызванному для потока, со сбросом индикатора ошибок |
tmpfile |
создает и открывает временный файл, удаляемый при закрытии через fclose() |
Функции для операций ввода-вывода |
|
clearerr |
очищает EOF и индикаторы ошибок для данного потока |
feof |
проверяет, установлен ли индикатор EOF для данного потока |
ferror |
проверяет, установлен ли индикатор ошибок для данного потока |
fflush |
принудительно записывает вывод, предназначенный для помещения в буфер, в файл, ассоциированный с данным потоком |
fgetpos |
сохраняет позицию указателя файла потока, ассоциированный с его первым аргументом (FILE *), в его второй аргумент (fpos_t *) |
fgetc |
возвращает один символ из файла |
fgets |
получает строку из файла (оканчивающуюся символом перевода строки или конца файла) |
fputc |
записывает один символ в файл |
fputs |
записывает строку в файл |
ftell |
возвращает указатель позиции файла, который может быть передан fseek |
fseek |
производит поиск по файлу |
fsetpos |
устанавливает указатель позиции файла потока, ассоциированный с его первым аргументом (FILE *), как хранимый во втором его аргументе (fpos_t *) |
fread |
читает данные из файла |
fwrite |
записывает данные в файл |
getc |
считывает и возвращает символ из данного потока и изменяет укащатель позиции файла; позволяет использоваться как макрос с теми же эффектами, что и fgetc, кроме того, что может вычислять поток более одного раза |
getchar |
имеет аналогичный эффект, что и getc(stdin) |
gets |
считывает символы из stdin до символа перевода строки и хранит их в своем единственном аргументе |
printf, vprintf |
используются для вывода в стандартный поток вывода |
fprintf, vfprintf |
используются для вывода в файл |
sprintf, snprintf, vsprintf |
используются для вывода в массив типа char (Строка в языке Си) |
perror |
записывает сообщение об ошибке в stderr |
putc |
записывает и возвращает символ в поток и изменяет указатель позиции файла на него; можно использовать как макрос с теми же свойствами, что и fputc, кроме того, что он может обрабатывать поток более одного раза |
putchar, fputchar |
аналогичны putc(stdout) |
scanf, vscanf |
используются для ввода из стандартного потока ввода |
fscanf, vfscanf |
используются для ввода из файла |
sscanf, vsscanf |
используются для ввода из массива char (то есть Строка в языке Си) |
setvbuf |
устанавливает режим буферизации для данного потока |
tmpnam |
создает временное имя файла |
ungetc |
помещает символ обратно в поток |
puts |
выводит символьную строку в stdout |
Таблица 28.
Состав библиотеки stdlib.h
Имя функции |
Описание |
Реализация |
abort |
Ненормальное завершение программы |
void abort(void); |
abs |
Модуль целого числа |
int abs(int i); |
assert |
Макроопределение для вывода отладочных диагностических сообщений |
void assert(int expression); |
atexit |
Запрос вызова функции при завершении работы программы |
int atexit(void (*function)(void); |
atof, atoff |
Преобразование строки в значение типа double или float |
double atof(const char *s); float atoff(const char *s); |
atii, atol |
Строка в целое |
int atoi(const char *s); long atol(const char *s); |
atol |
Преобразовывает строку в long |
long atol(const char *s); |
bsearsh |
Двоичный поиск |
void *bsearch(const void *key, const void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *)); |
calloc |
Выделяет пространство для массивов |
void *calloc(size_t n, size_t s); void *calloc_r(void *reent, size_t <n>, <size_t> s); |
div |
Деление двух целых |
div_t div(int n, int d); |
ecvt, ecvtf, fcvt, fcvtf |
Преобразование double или float в строку |
char *ecvt(double val, int chars, int *decpt, int *sgn); char *ecvtf(float val, int chars, int *decpt, int *sgn); |
gvcvt, gcvtf |
Форматируют double и float как строку |
char *gcvt(double val, int precision, char *buf); char *gcvtf(float val, int precision, char *buf); |
ecvtbuf, fcvtbuf |
Double или float в строку |
char *ecvtbuf(double val, int chars, int *decpt, int *sgn, char *buf); char *fcvtbuf(double val, int decimals, int *decpt, int *sgn, char *buf); |
exit |
Завершение выполнения программы |
void exit(int code); |
getenv |
Поиск переменной окружения |
char *getenv(const char *name); |
labs |
Модуль длинного целого |
long labs(long i); |
ldiv |
Деление двyх длинных целых |
ldiv_t ldiv(long n, long d); |
malloc, realloc, free |
Управление памятью |
void *malloc(size_t nbytes); void *realloc(void *aptr, size_t nbytes); void free(void *aptr); |
mbtowc |
Минимальный преобразователь мультибайтов в широкие символы |
int mbtowc(wchar_t *pwc, const char *s, size_t n); |
qsort |
Сортировка массива |
void qsort(void *base, size_t nmemb, size_t size,int (*compar)(const void *, const void *) ); |
rand, srand |
Псевдо-случайные числа |
int rand(void); void srand(unsigned int seed); int _rand_r(void *reent); void _srand_r(void *reent, unsigned int seed);
|
strtod, strtodf |
Строка в double или float |
double strtod(const char *str, char **tail); float strtodf(const char *str, char **tail); double _strtod_r(void *reent, const char *str, char **tail); |
strtol |
Строка в long |
ong strtol(const char *s, char **ptr,int base); |
strtoul |
Строка в unsigned long |
unsigned long strtoul(const char *s, char **ptr, int base); |
system |
Выполняет командную строку |
int system(char *s); int _system_r(void *reent, char *s); |
wctomb |
Минимальный преобразователь широких символов в мультибайты |
int wctomb(char *s, wchar_t wchar); |
Таблица 29.
Состав библиотеки string.h
Имя функции |
Описание |
void *memcpy(void *dest, const void *src, size_t n); |
Копирует n байт из области памяти src в dest, которые не должны пересекаться, в противном случае результат неопределен (возможно как правильное копирование, так и нет) |
void *memmove(void *dest, const void *src, size_t n); |
Копирует n байт из области памяти src в dest, которые в отличие от memcpy могут перекрываться |
void *memchr(const void *s, char c, size_t n); |
Возвращает указатель на первое вхождение c в первых n байтах s, или NULL, если не найдено |
int memcmp(const void *s1, const void *s2, size_t n); |
Сравнивает первые n символов в областях памяти |
void *memset(void *, int z, size_t); |
Заполняет область памяти одним байтом z |
char *strcat(char *dest, const char *src); |
Дописывает строку src в конец dest |
char *strncat(char *, const char *, size_t); |
Дописывает не более n начальных симолов строки src (или всю src, если ее длина меньше) в конец dest |
char *strchr(const char *, int); |
Ищет символ в строке, начиная с головы и возращает его адрес, или NULL если не найден |
char *strrchr(const char *, int); |
Ищет символ в строке, начиная с хвоста и возращает его адрес, или NULL если не найден |
int strcmp(const char *, const char *); |
Лексикографическое сравнение строк |
int strncmp(const char *, const char *, size_t); |
Лексикографическое сравнение первых n байтов строк |
int strcoll(const char *, const char *); |
Лексикографическое сравнение строк с учетом локали collating order |
char *strcpy(char *toHere, const char *fromHere); |
Копирует строку из одного места в другое |
char *strncpy(char *toHere, const char *fromHere, size_t); |
Копирует до n байт строки из одного места в другое |
char *strerror(int); |
Возвращает строковое представление сообщения об ошибке errno (не потоко-безопасная) |
size_t strlen(const char *); |
Возвращает длину строки |
size_t strspn(const char *s, const char *accept); |
Определяет максимальную длину начальной подстроки, состоящей исключительно из байтов, перечисленных в accept |
size_t strcspn(const char *s, const char *reject); |
Определяет максимальную длину начальной подстроки, состоящей исключительно из байтов, не перечисленных в reject |
char *strpbrk(const char *s, const char *accept); |
Находит первое вхождение любого символа, не перечисленного в accept |
char *strstr(const char *haystack, const char *needle); |
Находит первое вхождение строки needle в haystack |
char *strtok(char *, const char *); |
Преобразует строку в последовательность токенов. Не потоко-безопасная, нереентрантная. |
size_t strxfrm(char *dest, const char *src, size_t n); |
Создает оттранслированную копию строки, такую, что дословное сравнение ее (strcmp) будет эквивалентно сравнению с коллатором. |
Таблица 30.
Состав библиотеки time.h
Имя функции |
Описание |
int tm_sec; |
Секунды от начала минуты (0,61) |
int tm_min; |
Минуты от начала часа (0,59) |
int tm_hour; |
Часы от полуночи (0,23) |
int tm_mday; |
Число месяца (1,31) |
int tm_mon; |
Месяцы после января (0,11) |
int tm_year; |
Годы с 1900 |
int tm_wday; |
Дни с воскресенья (0,6) |
int tm_yday; |
Дни с первого января (0,365) |
int tm_isdst; |
Признак летнего времени |