Учебники

Стандартная библиотека C — Краткое руководство

Библиотека C — <assert.h>

Заголовочный файл assert.h в стандартной библиотеке C предоставляет макрос assert, который можно использовать для проверки предположений, сделанных программой, и распечатки диагностического сообщения, если это предположение ложно.

Определенный макрос assert ссылается на другой макрос NDEBUG, который не является частью <assert.h>. Если NDEBUG определен как имя макроса в исходном файле, в момент включения <assert.h> макрос assert определяется следующим образом:

#define assert(ignore) ((void)0)

Макросы библиотеки

Ниже приведена единственная функция, определенная в заголовке assert.h —

Sr.No. Описание функции
1 void assert (выражение int)

На самом деле это макрос, а не функция, которую можно использовать для добавления диагностики в вашу C-программу.

На самом деле это макрос, а не функция, которую можно использовать для добавления диагностики в вашу C-программу.

Библиотека C — <ctype.h>

Заголовочный файл ctype.h Стандартной библиотеки C объявляет несколько функций, которые полезны для тестирования и отображения символов.

Все функции принимают int как параметр, значение которого должно быть EOF или представляться как беззнаковый символ.

Все функции возвращают ненулевое значение (true), если аргумент c удовлетворяет описанному условию, и ноль (false), если нет.

Функции библиотеки

Ниже приведены функции, определенные в заголовке ctype.h.

Sr.No. Описание функции
1 int isalnum (int c)

Эта функция проверяет, является ли переданный символ буквенно-цифровым.

2 int isalpha (int c)

Эта функция проверяет, является ли переданный символ буквенным.

3 int iscntrl (int c)

Эта функция проверяет, является ли переданный символ управляющим.

4 int isdigit (int c)

Эта функция проверяет, является ли переданный символ десятичной цифрой.

5 int isgraph (int c)

Эта функция проверяет, имеет ли переданный символ графическое представление, используя локаль.

6 int islower (int c)

Эта функция проверяет, является ли переданный символ строчной буквой.

7 int isprint (int c)

Эта функция проверяет, является ли переданный символ пригодным для печати.

8 int ispunct (int c)

Эта функция проверяет, является ли переданный символ символом пунктуации.

9 int isspace (int c)

Эта функция проверяет, является ли переданный символ пробелом.

10 int isupper (int c)

Эта функция проверяет, является ли переданный символ заглавной буквой.

11 int isxdigit (int c)

Эта функция проверяет, является ли переданный символ шестнадцатеричной цифрой.

Эта функция проверяет, является ли переданный символ буквенно-цифровым.

Эта функция проверяет, является ли переданный символ буквенным.

Эта функция проверяет, является ли переданный символ управляющим.

Эта функция проверяет, является ли переданный символ десятичной цифрой.

Эта функция проверяет, имеет ли переданный символ графическое представление, используя локаль.

Эта функция проверяет, является ли переданный символ строчной буквой.

Эта функция проверяет, является ли переданный символ пригодным для печати.

Эта функция проверяет, является ли переданный символ символом пунктуации.

Эта функция проверяет, является ли переданный символ пробелом.

Эта функция проверяет, является ли переданный символ заглавной буквой.

Эта функция проверяет, является ли переданный символ шестнадцатеричной цифрой.

Библиотека также содержит две функции преобразования, которые принимают и возвращают «int».

Sr.No. Описание функции
1 int tolower (int c)

Эта функция преобразует прописные буквы в строчные.

2 int toupper (int c)

Эта функция преобразует строчные буквы в прописные.

Эта функция преобразует прописные буквы в строчные.

Эта функция преобразует строчные буквы в прописные.

Классы персонажей

Sr.No. Класс персонажа и описание
1

Digits

Это набор целых чисел {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}.

2

Шестнадцатеричные цифры

Это набор {0 1 2 3 4 5 6 7 8 9 ABCDEF abcdef}.

3

Строчные буквы

Это набор строчных букв {abcdefghijklmnopqrstu vwxyz}.

4

Заглавные буквы

Это набор заглавных букв {ABCDEFGHIJKLMNOPQRSTU VWXYZ}.

5

Буквы

Это набор строчных и прописных букв.

6

Буквенно-цифровые символы

Это набор цифр, строчных и прописных букв.

7

Знаки пунктуации

Это набор! «# $% & ‘() * +, -. /:; <=>? @ [\] ^ _` {|} ~

8

Графические символы

Это набор буквенно-цифровых символов и знаков пунктуации.

9

Космические персонажи

Это набор табуляции, новой строки, вертикальной табуляции, перевода формы, возврата каретки и пробела.

10

Печатные символы

Это набор буквенно-цифровых символов, знаков пунктуации и пробелов.

11

Управляющие персонажи

В ASCII эти символы имеют восьмеричные коды от 000 до 037 и 177 (DEL).

12

Пустые символы

Это пробелы и вкладки.

13

Буквенные символы

Это набор строчных и прописных букв.

Digits

Это набор целых чисел {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}.

Шестнадцатеричные цифры

Это набор {0 1 2 3 4 5 6 7 8 9 ABCDEF abcdef}.

Строчные буквы

Это набор строчных букв {abcdefghijklmnopqrstu vwxyz}.

Заглавные буквы

Это набор заглавных букв {ABCDEFGHIJKLMNOPQRSTU VWXYZ}.

Буквы

Это набор строчных и прописных букв.

Буквенно-цифровые символы

Это набор цифр, строчных и прописных букв.

Знаки пунктуации

Это набор! «# $% & ‘() * +, -. /:; <=>? @ [\] ^ _` {|} ~

Графические символы

Это набор буквенно-цифровых символов и знаков пунктуации.

Космические персонажи

Это набор табуляции, новой строки, вертикальной табуляции, перевода формы, возврата каретки и пробела.

Печатные символы

Это набор буквенно-цифровых символов, знаков пунктуации и пробелов.

Управляющие персонажи

В ASCII эти символы имеют восьмеричные коды от 000 до 037 и 177 (DEL).

Пустые символы

Это пробелы и вкладки.

Буквенные символы

Это набор строчных и прописных букв.

Библиотека C — <errno.h>

Заголовочный файл errno.h Стандартной библиотеки C определяет целочисленную переменную errno , которая устанавливается системными вызовами и некоторыми библиотечными функциями в случае ошибки, чтобы указать, что пошло не так. Этот макрос расширяется до модифицируемого lvalue типа int, поэтому он может быть прочитан и изменен программой.

Значение errno устанавливается в ноль при запуске программы. Некоторые функции стандартной библиотеки C изменяют свое значение, отличное от нуля, чтобы сигнализировать о некоторых типах ошибок. Вы также можете изменить его значение или сбросить на ноль для вашего удобства.

Заголовочный файл errno.h также определяет список макросов, указывающих различные коды ошибок, которые будут расширены до целочисленных константных выражений с типом int .

Макросы библиотеки

Ниже приведены макросы, определенные в заголовке errno.h.

Sr.No. Макрос и описание
1 extern int errno

Это макрос, устанавливаемый системными вызовами и некоторыми библиотечными функциями в случае ошибки, чтобы указать, что пошло не так.

2 Ошибка домена EDOM

Этот макрос представляет ошибку домена, которая возникает, если входной аргумент находится за пределами домена, для которого определена математическая функция и для errno задано значение EDOM.

3 ERANGE Range Error

Этот макрос представляет ошибку диапазона, которая возникает, если входной аргумент находится за пределами диапазона, в котором определена математическая функция и для errno установлено значение ERANGE.

Это макрос, устанавливаемый системными вызовами и некоторыми библиотечными функциями в случае ошибки, чтобы указать, что пошло не так.

Этот макрос представляет ошибку домена, которая возникает, если входной аргумент находится за пределами домена, для которого определена математическая функция и для errno задано значение EDOM.

Этот макрос представляет ошибку диапазона, которая возникает, если входной аргумент находится за пределами диапазона, в котором определена математическая функция и для errno установлено значение ERANGE.

Библиотека C — <float.h>

Заголовочный файл float.h Стандартной библиотеки C содержит набор различных зависящих от платформы констант, связанных со значениями с плавающей запятой. Эти константы предложены ANSI C. Они позволяют создавать более переносимые программы. Прежде чем проверять все константы, полезно понять, что число с плавающей запятой состоит из следующих четырех элементов:

Sr.No. Компонент и описание компонента
1

S

знак (+/-)

2

б

основание или основание представления степени, 2 для двоичного числа, 10 для десятичного числа, 16 для шестнадцатеричного числа и так далее …

3

е

экспонента, целое число между минимальным e min и максимальным e max .

4

п

точность, число цифр base-b в значим.

S

знак (+/-)

б

основание или основание представления степени, 2 для двоичного числа, 10 для десятичного числа, 16 для шестнадцатеричного числа и так далее …

е

экспонента, целое число между минимальным e min и максимальным e max .

п

точность, число цифр base-b в значим.

Основываясь на вышеупомянутых 4 компонентах, значение с плавающей запятой будет иметь следующее значение:

floating-point = ( S ) p x b e

or

floating-point = (+/-) precision x base exponent

Макросы библиотеки

Следующие значения зависят от реализации и определяются с помощью директивы #define, но эти значения могут быть не ниже указанных здесь. Обратите внимание, что во всех случаях FLT относится к типу float , DBL относится к double , а LDBL относится к long double .

Sr.No. Макрос и описание
1

FLT_ROUNDS

Определяет режим округления для сложения с плавающей запятой и может иметь любое из следующих значений:

  • -1 — неопределимо
  • 0 — к нулю
  • 1 — до ближайшего
  • 2 — к положительной бесконечности
  • 3 — к отрицательной бесконечности
2

FLT_RADIX 2

Это определяет базовое представление степени экспоненты. Base-2 — это двоичное, base-10 — нормальное десятичное представление, base-16 — Hex.

3

FLT_MANT_DIG

DBL_MANT_DIG

LDBL_MANT_DIG

Эти макросы определяют количество цифр в номере (в базе FLT_RADIX).

4

FLT_DIG 6

DBL_DIG 10

LDBL_DIG 10

Эти макросы определяют максимальное количество десятичных цифр (основание-10), которое может быть представлено без изменений после округления.

5

FLT_MIN_EXP

DBL_MIN_EXP

LDBL_MIN_EXP

Эти макросы определяют минимальное отрицательное целочисленное значение для показателя степени в базе FLT_RADIX.

6

FLT_MIN_10_EXP -37

DBL_MIN_10_EXP -37

LDBL_MIN_10_EXP -37

Эти макросы определяют минимальное отрицательное целочисленное значение для показателя степени в основании 10.

7

FLT_MAX_EXP

DBL_MAX_EXP

LDBL_MAX_EXP

Эти макросы определяют максимальное целочисленное значение для показателя степени в базе FLT_RADIX.

8

FLT_MAX_10_EXP +37

DBL_MAX_10_EXP +37

LDBL_MAX_10_EXP +37

Эти макросы определяют максимальное целочисленное значение для показателя степени в основании 10.

9

FLT_MAX 1E + 37

DBL_MAX 1E + 37

LDBL_MAX 1E + 37

Эти макросы определяют максимальное конечное значение с плавающей точкой.

10

FLT_EPSILON 1E-5

DBL_EPSILON 1E-9

LDBL_EPSILON 1E-9

Эти макросы определяют наименее значимые представляемые цифры.

11

FLT_MIN 1E-37

DBL_MIN 1E-37

LDBL_MIN 1E-37

Эти макросы определяют минимальные значения с плавающей точкой.

FLT_ROUNDS

Определяет режим округления для сложения с плавающей запятой и может иметь любое из следующих значений:

FLT_RADIX 2

Это определяет базовое представление степени экспоненты. Base-2 — это двоичное, base-10 — нормальное десятичное представление, base-16 — Hex.

FLT_MANT_DIG

DBL_MANT_DIG

LDBL_MANT_DIG

Эти макросы определяют количество цифр в номере (в базе FLT_RADIX).

FLT_DIG 6

DBL_DIG 10

LDBL_DIG 10

Эти макросы определяют максимальное количество десятичных цифр (основание-10), которое может быть представлено без изменений после округления.

FLT_MIN_EXP

DBL_MIN_EXP

LDBL_MIN_EXP

Эти макросы определяют минимальное отрицательное целочисленное значение для показателя степени в базе FLT_RADIX.

FLT_MIN_10_EXP -37

DBL_MIN_10_EXP -37

LDBL_MIN_10_EXP -37

Эти макросы определяют минимальное отрицательное целочисленное значение для показателя степени в основании 10.

FLT_MAX_EXP

DBL_MAX_EXP

LDBL_MAX_EXP

Эти макросы определяют максимальное целочисленное значение для показателя степени в базе FLT_RADIX.

FLT_MAX_10_EXP +37

DBL_MAX_10_EXP +37

LDBL_MAX_10_EXP +37

Эти макросы определяют максимальное целочисленное значение для показателя степени в основании 10.

FLT_MAX 1E + 37

DBL_MAX 1E + 37

LDBL_MAX 1E + 37

Эти макросы определяют максимальное конечное значение с плавающей точкой.

FLT_EPSILON 1E-5

DBL_EPSILON 1E-9

LDBL_EPSILON 1E-9

Эти макросы определяют наименее значимые представляемые цифры.

FLT_MIN 1E-37

DBL_MIN 1E-37

LDBL_MIN 1E-37

Эти макросы определяют минимальные значения с плавающей точкой.

пример

В следующем примере показано использование нескольких констант, определенных в файле float.h.

Live Demo

#include <stdio.h>
#include <float.h>

int main () {
   printf("The maximum value of float = %.10e\n", FLT_MAX);
   printf("The minimum value of float = %.10e\n", FLT_MIN);

   printf("The number of digits in the number = %.10e\n", FLT_MANT_DIG);
}

Давайте скомпилируем и запустим вышеуказанную программу, которая даст следующий результат —

The maximum value of float = 3.4028234664e+38
The minimum value of float = 1.1754943508e-38
The number of digits in the number = 7.2996655210e-312

Библиотека C — <limit.h>

Заголовок limit.h определяет различные свойства различных типов переменных. Макросы, определенные в этом заголовке, ограничивают значения различных типов переменных, таких как char, int и long.

Эти ограничения указывают на то, что переменная не может хранить любое значение за пределами этих ограничений, например, беззнаковый символ может хранить до максимального значения 255.

Макросы библиотеки

Следующие значения зависят от реализации и определяются с помощью директивы #define, но эти значения могут быть не ниже указанных здесь.

макрос Значение Описание
CHAR_BIT 8 Определяет количество бит в байте.
SCHAR_MIN -128 Определяет минимальное значение для подписанного символа.
SCHAR_MAX +127 Определяет максимальное значение для подписанного символа.
UCHAR_MAX 255 Определяет максимальное значение для беззнакового символа.
CHAR_MIN -128 Определяет минимальное значение для типа char, и его значение будет равно SCHAR_MIN, если char представляет отрицательные значения, в противном случае — ноль.
CHAR_MAX +127 Определяет значение для типа char, и его значение будет равно SCHAR_MAX, если char представляет отрицательные значения, в противном случае UCHAR_MAX.
MB_LEN_MAX 16 Определяет максимальное количество байтов в многобайтовом символе.
SHRT_MIN -32768 Определяет минимальное значение для короткого int.
SHRT_MAX +32767 Определяет максимальное значение для короткого int.
USHRT_MAX 65535 Определяет максимальное значение для беззнакового короткого типа int.
INT_MIN -2147483648 Определяет минимальное значение для int.
INT_MAX +2147483647 Определяет максимальное значение для int.
UINT_MAX 4294967295 Определяет максимальное значение для беззнакового целого.
LONG_MIN -9223372036854775808 Определяет минимальное значение для длинного int.
LONG_MAX +9223372036854775807 Определяет максимальное значение для длинного int.
ULONG_MAX 18446744073709551615 Определяет максимальное значение для беззнакового long int.

пример

В следующем примере показано использование нескольких констант, определенных в файле limit.h .

Live Demo

#include <stdio.h>
#include <limits.h>

int main() {

   printf("The number of bits in a byte %d\n", CHAR_BIT);

   printf("The minimum value of SIGNED CHAR = %d\n", SCHAR_MIN);
   printf("The maximum value of SIGNED CHAR = %d\n", SCHAR_MAX);
   printf("The maximum value of UNSIGNED CHAR = %d\n", UCHAR_MAX);

   printf("The minimum value of SHORT INT = %d\n", SHRT_MIN);
   printf("The maximum value of SHORT INT = %d\n", SHRT_MAX); 

   printf("The minimum value of INT = %d\n", INT_MIN);
   printf("The maximum value of INT = %d\n", INT_MAX);

   printf("The minimum value of CHAR = %d\n", CHAR_MIN);
   printf("The maximum value of CHAR = %d\n", CHAR_MAX);

   printf("The minimum value of LONG = %ld\n", LONG_MIN);
   printf("The maximum value of LONG = %ld\n", LONG_MAX);
  
   return(0);
}

Давайте скомпилируем и запустим вышеуказанную программу, которая даст следующий результат —

The maximum value of UNSIGNED CHAR = 255                                    
The minimum value of SHORT INT = -32768                                     
The maximum value of SHORT INT = 32767                                      
The minimum value of INT = -2147483648                                      
The maximum value of INT = 2147483647                                       
The minimum value of CHAR = -128                                            
The maximum value of CHAR = 127                                             
The minimum value of LONG = -9223372036854775808                            
The maximum value of LONG = 9223372036854775807

Библиотека C — <locale.h>

Заголовок locale.h определяет специфичные для местоположения настройки, такие как форматы даты и символы валюты. Вы найдете несколько макросов, определенных вместе с важной структурой struct lconv и двумя важными функциями, перечисленными ниже.

Макросы библиотеки

Ниже приведены макросы, определенные в заголовке, и эти макросы будут использоваться в двух функциях, перечисленных ниже:

Sr.No. Макрос и описание
1

LC_ALL

Устанавливает все.

2

LC_COLLATE

Влияет на функции strcoll и strxfrm.

3

LC_CTYPE

Влияет на все функции персонажа.

4

LC_MONETARY

Влияет на денежную информацию, предоставляемую функцией localeconv.

5

LC_NUMERIC

Влияет на форматирование десятичной точки и информацию, предоставляемую функцией localeconv.

6

LC_TIME

Влияет на функцию strftime.

LC_ALL

Устанавливает все.

LC_COLLATE

Влияет на функции strcoll и strxfrm.

LC_CTYPE

Влияет на все функции персонажа.

LC_MONETARY

Влияет на денежную информацию, предоставляемую функцией localeconv.

LC_NUMERIC

Влияет на форматирование десятичной точки и информацию, предоставляемую функцией localeconv.

LC_TIME

Влияет на функцию strftime.

Функции библиотеки

Ниже приведены функции, определенные в заголовке locale.h —

Sr.No. Описание функции
1 char * setlocale (категория int, const char * locale)

Устанавливает или читает информацию, зависящую от местоположения.

2 struct lconv * localeconv (void)

Устанавливает или читает информацию, зависящую от местоположения.

Устанавливает или читает информацию, зависящую от местоположения.

Устанавливает или читает информацию, зависящую от местоположения.

Структура библиотеки

typedef struct {
   char *decimal_point;
   char *thousands_sep;
   char *grouping;	
   char *int_curr_symbol;
   char *currency_symbol;
   char *mon_decimal_point;
   char *mon_thousands_sep;
   char *mon_grouping;
   char *positive_sign;
   char *negative_sign;
   char int_frac_digits;
   char frac_digits;
   char p_cs_precedes;
   char p_sep_by_space;
   char n_cs_precedes;
   char n_sep_by_space;
   char p_sign_posn;
   char n_sign_posn;
} lconv

Ниже приводится описание каждого из полей —

Sr.No. Поле и описание
1

десятичная точка

Десятичный знак, используемый для неденежных значений.

2

thousands_sep

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

3

группировка

Строка, которая указывает размер каждой группы цифр в неденежных количествах. Каждый символ представляет целочисленное значение, которое обозначает количество цифр в текущей группе. Значение 0 означает, что предыдущее значение должно использоваться для остальных групп.

4

int_curr_symbol

Это строка используемых международных символов валюты. Первые три символа — это те, которые определены ISO 4217: 1987, а четвертый — символ, который отделяет символ валюты от денежного количества.

5

символ валюты

Местный символ используется для валюты.

6

mon_decimal_point

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

7

mon_thousands_sep

Символ группирования тысяч, используемый для денежных значений.

8

mon_grouping

Строка, элементы которой определяют размер группировки цифр в денежных значениях. Каждый символ представляет целочисленное значение, которое обозначает количество цифр в текущей группе. Значение 0 означает, что предыдущее значение должно использоваться для остальных групп.

9

positive_sign

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

10

negative_sign

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

11

int_frac_digits

Количество цифр, отображаемых после десятичной точки в международных денежных значениях.

12

frac_digits

Количество цифр после десятичной запятой в денежных значениях.

13

P_cs_precedes лемент

Если равно 1, то currency_symbol появляется перед положительным денежным значением. Если равно 0, то currency_symbol появляется после положительного денежного значения.

14

p_sep_by_space

Если равно 1, то currency_symbol отделяется пробелом от положительного денежного значения. Если равно 0, то между currency_symbol и положительным денежным значением нет пробела.

15

n_cs_precedes

Если равно 1, то currency_symbol предшествует отрицательному денежному значению. Если равно 0, то currency_symbol следует отрицательное денежное значение.

16

n_sep_by_space

Если равно 1, то currency_symbol отделяется пробелом от отрицательного денежного значения. Если равно 0, то между currency_symbol и отрицательным денежным значением нет пробела.

17

p_sign_posn

Представляет позицию positive_sign в положительном денежном выражении.

18

n_sign_posn

Представляет позицию отрицательного знака в отрицательном денежном выражении.

десятичная точка

Десятичный знак, используемый для неденежных значений.

thousands_sep

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

группировка

Строка, которая указывает размер каждой группы цифр в неденежных количествах. Каждый символ представляет целочисленное значение, которое обозначает количество цифр в текущей группе. Значение 0 означает, что предыдущее значение должно использоваться для остальных групп.

int_curr_symbol

Это строка используемых международных символов валюты. Первые три символа — это те, которые определены ISO 4217: 1987, а четвертый — символ, который отделяет символ валюты от денежного количества.

символ валюты

Местный символ используется для валюты.

mon_decimal_point

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

mon_thousands_sep

Символ группирования тысяч, используемый для денежных значений.

mon_grouping

Строка, элементы которой определяют размер группировки цифр в денежных значениях. Каждый символ представляет целочисленное значение, которое обозначает количество цифр в текущей группе. Значение 0 означает, что предыдущее значение должно использоваться для остальных групп.

positive_sign

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

negative_sign

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

int_frac_digits

Количество цифр, отображаемых после десятичной точки в международных денежных значениях.

frac_digits

Количество цифр после десятичной запятой в денежных значениях.

P_cs_precedes лемент

Если равно 1, то currency_symbol появляется перед положительным денежным значением. Если равно 0, то currency_symbol появляется после положительного денежного значения.

p_sep_by_space

Если равно 1, то currency_symbol отделяется пробелом от положительного денежного значения. Если равно 0, то между currency_symbol и положительным денежным значением нет пробела.

n_cs_precedes

Если равно 1, то currency_symbol предшествует отрицательному денежному значению. Если равно 0, то currency_symbol следует отрицательное денежное значение.

n_sep_by_space

Если равно 1, то currency_symbol отделяется пробелом от отрицательного денежного значения. Если равно 0, то между currency_symbol и отрицательным денежным значением нет пробела.

p_sign_posn

Представляет позицию positive_sign в положительном денежном выражении.

n_sign_posn

Представляет позицию отрицательного знака в отрицательном денежном выражении.

Следующие значения используются для p_sign_posn и n_sign_posn

Значение Описание
0 Круглые скобки заключают в себе значение и currency_symbol.
1 Знак предшествует значению и currency_symbol.
2 Знак следует за значением и currency_symbol.
3 Знак непосредственно предшествует значению и currency_symbol.
4 Знак сразу следует за значением и currency_symbol.

Библиотека C — <math.h>

Заголовок math.h определяет различные математические функции и один макрос. Все функции, доступные в этой библиотеке, принимают аргумент double и возвращают результат double .

Макросы библиотеки

В этой библиотеке определен только один макрос —

Sr.No. Макрос и описание
1

HUGE_VAL

Этот макрос используется, когда результат функции не может быть представлен в виде числа с плавающей запятой. Если величина правильного результата слишком велика для представления, функция устанавливает значение errno на ERANGE, чтобы указать ошибку диапазона, и возвращает конкретное, очень большое значение, названное макросом HUGE_VAL или его отрицанием (- HUGE_VAL).

Если величина результата слишком мала, вместо этого возвращается нулевое значение. В этом случае errno может быть или не быть установлен в ERANGE.

HUGE_VAL

Этот макрос используется, когда результат функции не может быть представлен в виде числа с плавающей запятой. Если величина правильного результата слишком велика для представления, функция устанавливает значение errno на ERANGE, чтобы указать ошибку диапазона, и возвращает конкретное, очень большое значение, названное макросом HUGE_VAL или его отрицанием (- HUGE_VAL).

Если величина результата слишком мала, вместо этого возвращается нулевое значение. В этом случае errno может быть или не быть установлен в ERANGE.

Функции библиотеки

Ниже приведены функции, определенные в заголовке math.h —

Sr.No. Описание функции
1 двойной акос (двойной х)

Возвращает арккосинус x в радианах.

2 двойной асин (двойной х)

Возвращает арксинус x в радианах.

3 двойной атан (двойной х)

Возвращает арктангенс х в радианах.

4 двойной atan2 (двойной у, двойной х)

Возвращает арктангенс в радианах y / x на основе знаков обоих значений, чтобы определить правильный квадрант.

5 двойной cos (double x)

Возвращает косинус радиального угла x.

6 двойной кош (двойной х)

Возвращает гиперболический косинус x.

7 двойной грех (двойной х)

Возвращает синус радиального угла x.

8 двойной грех (двойной х)

Возвращает гиперболический синус x.

9 двойной танх (двойной х)

Возвращает гиперболический тангенс x.

10 двойной опыт (двойной х)

Возвращает значение е, возведенное в x-ю степень.

11 double frexp (double x, int * exponent)

Возвращаемое значение — это мантисса, а целое число, на которое указывает показатель степени, — это показатель степени. Результирующее значение равно x = мантисса * 2 ^ экспонента.

12 double ldexp (double x, int exponent)

Возвращает x, умноженное на 2, возведенное в степень степени.

13 двойной журнал (двойной х)

Возвращает натуральный логарифм (логарифм base-e) x .

14 двойной log10 (двойной х)

Возвращает общий логарифм (логарифм с основанием 10) для x .

15 double modf (double x, double * integer)

Возвращаемое значение является компонентом дроби (часть после десятичной дроби) и устанавливает целочисленное значение для целочисленного компонента.

16 двойной пау (двойной х, двойной у)

Возвращает x, возведенное в степень y .

17 двойной квадрат (двойной х)

Возвращает квадратный корень из х .

18 двойной потолок (двойной х)

Возвращает наименьшее целочисленное значение, большее или равное x .

19 двойные fabs (двойной х)

Возвращает абсолютное значение х .

20 двойной пол (двойной х)

Возвращает наибольшее целочисленное значение, меньшее или равное x .

21 двойной fmod (двойной х, двойной у)

Возвращает остаток от x, деленный на y .

Возвращает арккосинус x в радианах.

Возвращает арксинус x в радианах.

Возвращает арктангенс х в радианах.

Возвращает арктангенс в радианах y / x на основе знаков обоих значений, чтобы определить правильный квадрант.

Возвращает косинус радиального угла x.

Возвращает гиперболический косинус x.

Возвращает синус радиального угла x.

Возвращает гиперболический синус x.

Возвращает гиперболический тангенс x.

Возвращает значение е, возведенное в x-ю степень.

Возвращаемое значение — это мантисса, а целое число, на которое указывает показатель степени, — это показатель степени. Результирующее значение равно x = мантисса * 2 ^ экспонента.

Возвращает x, умноженное на 2, возведенное в степень степени.

Возвращает натуральный логарифм (логарифм base-e) x .

Возвращает общий логарифм (логарифм с основанием 10) для x .

Возвращаемое значение является компонентом дроби (часть после десятичной дроби) и устанавливает целочисленное значение для целочисленного компонента.

Возвращает x, возведенное в степень y .

Возвращает квадратный корень из х .

Возвращает наименьшее целочисленное значение, большее или равное x .

Возвращает абсолютное значение х .

Возвращает наибольшее целочисленное значение, меньшее или равное x .

Возвращает остаток от x, деленный на y .

Библиотека C — <setjmp.h>

Заголовок setjmp.h определяет макрос setjmp () , одну функцию longjmp () и одну переменную типа jmp_buf для обхода обычного вызова функции и возврата.

Переменные библиотеки

Ниже приведен тип переменной, определенный в заголовке setjmp.h —

Sr.No. Переменная и описание
1

jmp_buf

Это тип массива, используемый для хранения информации для макроса setjmp () и функции longjmp () .

jmp_buf

Это тип массива, используемый для хранения информации для макроса setjmp () и функции longjmp () .

Макросы библиотеки

В этой библиотеке определен только один макрос —

Sr.No. Макрос и описание
1 int setjmp (среда jmp_buf)

Этот макрос сохраняет текущую среду в переменную среду для последующего использования функцией longjmp () . Если этот макрос возвращается непосредственно из вызова макроса, он возвращает ноль, но если он возвращается из вызова функции longjmp () , то возвращается ненулевое значение.

Этот макрос сохраняет текущую среду в переменную среду для последующего использования функцией longjmp () . Если этот макрос возвращается непосредственно из вызова макроса, он возвращает ноль, но если он возвращается из вызова функции longjmp () , то возвращается ненулевое значение.

Функции библиотеки

Ниже приводится единственная функция, определенная в заголовке setjmp.h:

Sr.No. Описание функции
1 void longjmp (окружение jmp_buf, значение int)

Эта функция восстанавливает среду, сохраненную последним вызовом макроса setjmp () при том же вызове программы с соответствующим аргументом jmp_buf .

Эта функция восстанавливает среду, сохраненную последним вызовом макроса setjmp () при том же вызове программы с соответствующим аргументом jmp_buf .

Библиотека C — <signal.h>

Заголовок signal.h определяет тип переменной sig_atomic_t , два вызова функций и несколько макросов для обработки различных сигналов, сообщаемых во время выполнения программы.

Переменные библиотеки

Ниже приведен тип переменной, определенный в заголовке signal.h —

Sr.No. Переменная и описание
1

sig_atomic_t

Это тип int и используется в качестве переменной в обработчике сигнала. Это интегральный тип объекта, к которому можно обращаться как к элементарному объекту, даже при наличии асинхронных сигналов.

sig_atomic_t

Это тип int и используется в качестве переменной в обработчике сигнала. Это интегральный тип объекта, к которому можно обращаться как к элементарному объекту, даже при наличии асинхронных сигналов.

Макросы библиотеки

Ниже приведены макросы, определенные в заголовке signal.h, и эти макросы будут использоваться в двух функциях, перечисленных ниже. Макросы SIG_ используются с функцией сигнала для определения функций сигнала.

Sr.No. Макрос и описание
1

SIG_DFL

Обработчик сигналов по умолчанию.

2

SIG_ERR

Представляет ошибку сигнала.

3

SIG_IGN

Сигнал игнорировать.

SIG_DFL

Обработчик сигналов по умолчанию.

SIG_ERR

Представляет ошибку сигнала.

SIG_IGN

Сигнал игнорировать.

Макросы SIG используются для представления номера сигнала в следующих условиях:

Sr.No. Макрос и описание
1

SIGABRT

Аварийное завершение программы.

2

SIGFPE

Ошибка с плавающей точкой, например деление на ноль.

3

SIGILL

Незаконная операция.

4

SIGINT

Сигнал прерывания, такой как Ctrl-C.

5

SIGSEGV

Неверный доступ к хранилищу из-за нарушения сегмента.

6

SIGTERM

Запрос на прекращение.

SIGABRT

Аварийное завершение программы.

SIGFPE

Ошибка с плавающей точкой, например деление на ноль.

SIGILL

Незаконная операция.

SIGINT

Сигнал прерывания, такой как Ctrl-C.

SIGSEGV

Неверный доступ к хранилищу из-за нарушения сегмента.

SIGTERM

Запрос на прекращение.

Функции библиотеки

Ниже приведены функции, определенные в заголовке signal.h —

Sr.No. Описание функции
1 void (* сигнал (int sig, void (* func) (int))) (int)

Эта функция устанавливает функцию для обработки сигнала, т.е. обработчик сигнала.

2 Int рейз (Int Sig)

Эта функция вызывает генерирование сигнала sig . Аргумент sig совместим с макросами SIG.

Эта функция устанавливает функцию для обработки сигнала, т.е. обработчик сигнала.

Эта функция вызывает генерирование сигнала sig . Аргумент sig совместим с макросами SIG.

Библиотека C — <stdarg.h>

Заголовок stdarg.h определяет тип переменной va_list и три макроса, которые можно использовать для получения аргументов в функции, когда число аргументов неизвестно, т.е. переменное количество аргументов.

Функция переменных аргументов определяется с помощью многоточия (, …) в конце списка параметров.

Переменные библиотеки

Ниже приведен тип переменной, определенный в заголовке stdarg.h.

Sr.No. Переменная и описание
1

va_list

Этот тип подходит для хранения информации, необходимой для трех макросов va_start (), va_arg () и va_end () .

va_list

Этот тип подходит для хранения информации, необходимой для трех макросов va_start (), va_arg () и va_end () .

Макросы библиотеки

Ниже приведены макросы, определенные в заголовке stdarg.h.

Sr.No. Макрос и описание
1 void va_start (va_list ap, last_arg)

Этот макрос инициализирует переменную ap для использования с макросами va_arg и va_end . Last_arg — это последний известный фиксированный аргумент, передаваемый в функцию, т.е. аргумент перед многоточием.

2 тип va_arg (va_list ap, тип)

Этот макрос извлекает следующий аргумент в списке параметров функции с типом type .

3 void va_end (va_list ap)

Этот макрос позволяет функции с переменными аргументами использовать макрос va_start для возврата. Если va_end не вызывается до возврата из функции, результат не определен.

Этот макрос инициализирует переменную ap для использования с макросами va_arg и va_end . Last_arg — это последний известный фиксированный аргумент, передаваемый в функцию, т.е. аргумент перед многоточием.

Этот макрос извлекает следующий аргумент в списке параметров функции с типом type .

Этот макрос позволяет функции с переменными аргументами использовать макрос va_start для возврата. Если va_end не вызывается до возврата из функции, результат не определен.

Библиотека C — <stddef.h>

Заголовок stddef.h определяет различные типы переменных и макросы. Многие из этих определений также появляются в других заголовках.

Переменные библиотеки

Ниже приведены типы переменных, определенные в заголовке stddef.h.

Sr.No. Переменная и описание
1

ptrdiff_t

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

2

size_t

Это целочисленный тип без знака и результат ключевого слова sizeof .

3

wchar_t

Это интегральный тип размера константы широкого символа.

ptrdiff_t

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

size_t

Это целочисленный тип без знака и результат ключевого слова sizeof .

wchar_t

Это интегральный тип размера константы широкого символа.

Макросы библиотеки

Ниже приведены макросы, определенные в заголовке stddef.h.

Sr.No. Макрос и описание
1 НОЛЬ

Этот макрос является значением константы нулевого указателя.

2 offsetof (тип, член-указатель)

Это приводит к постоянному целому числу типа size_t, которое является смещением в байтах элемента структуры от начала структуры. Член задается указателем члена , а имя структуры указывается в типе .

Этот макрос является значением константы нулевого указателя.

Это приводит к постоянному целому числу типа size_t, которое является смещением в байтах элемента структуры от начала структуры. Член задается указателем члена , а имя структуры указывается в типе .

Библиотека C — <stdio.h>

Заголовок stdio.h определяет три типа переменных, несколько макросов и различные функции для выполнения ввода и вывода.

Переменные библиотеки

Ниже приведены типы переменных, определенные в заголовке stdio.h.

Sr.No. Переменная и описание
1

size_t

Это целочисленный тип без знака и результат ключевого слова sizeof .

2

ФАЙЛ

Это тип объекта, подходящий для хранения информации для файлового потока.

3

fpos_t

Это тип объекта, подходящий для хранения любой позиции в файле.

size_t

Это целочисленный тип без знака и результат ключевого слова sizeof .

ФАЙЛ

Это тип объекта, подходящий для хранения информации для файлового потока.

fpos_t

Это тип объекта, подходящий для хранения любой позиции в файле.

Макросы библиотеки

Ниже приведены макросы, определенные в заголовке stdio.h.

Sr.No. Макрос и описание
1

НОЛЬ

Этот макрос является значением константы нулевого указателя.

2

_IOFBF, _IOLBF и _IONBF

Это макросы, которые расширяются до целочисленных константных выражений с различными значениями и подходят для использования в качестве третьего аргумента функции setvbuf .

3

BUFSIZ

Этот макрос является целым числом, которое представляет размер буфера, используемого функцией setbuf .

4

EOF

Этот макрос является отрицательным целым числом, которое указывает, что достигнут конец файла.

5

FOPEN_MAX

Этот макрос представляет собой целое число, представляющее максимальное количество файлов, которые система может гарантировать одновременное открытие.

6

FILENAME_MAX

Этот макрос является целым числом, представляющим самую длинную длину массива символов, подходящую для хранения максимально длинного имени файла. Если реализация не накладывает ограничений, то это значение должно быть рекомендуемым максимальным значением.

7

L_tmpnam

Этот макрос является целым числом, представляющим наибольшую длину массива символов, подходящего для хранения максимально длинного временного имени файла, созданного функцией tmpnam .

8

SEEK_CUR, SEEK_END и SEEK_SET

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

9

TMP_MAX

Этот макрос — максимальное количество уникальных имен файлов, которые может сгенерировать функция tmpnam .

10

stderr, stdin и stdout

Эти макросы являются указателями на типы FILE, которые соответствуют стандартной ошибке, стандартному вводу и стандартным выходным потокам.

НОЛЬ

Этот макрос является значением константы нулевого указателя.

_IOFBF, _IOLBF и _IONBF

Это макросы, которые расширяются до целочисленных константных выражений с различными значениями и подходят для использования в качестве третьего аргумента функции setvbuf .

BUFSIZ

Этот макрос является целым числом, которое представляет размер буфера, используемого функцией setbuf .

EOF

Этот макрос является отрицательным целым числом, которое указывает, что достигнут конец файла.

FOPEN_MAX

Этот макрос представляет собой целое число, представляющее максимальное количество файлов, которые система может гарантировать одновременное открытие.

FILENAME_MAX

Этот макрос является целым числом, представляющим самую длинную длину массива символов, подходящую для хранения максимально длинного имени файла. Если реализация не накладывает ограничений, то это значение должно быть рекомендуемым максимальным значением.

L_tmpnam

Этот макрос является целым числом, представляющим наибольшую длину массива символов, подходящего для хранения максимально длинного временного имени файла, созданного функцией tmpnam .

SEEK_CUR, SEEK_END и SEEK_SET

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

TMP_MAX

Этот макрос — максимальное количество уникальных имен файлов, которые может сгенерировать функция tmpnam .

stderr, stdin и stdout

Эти макросы являются указателями на типы FILE, которые соответствуют стандартной ошибке, стандартному вводу и стандартным выходным потокам.

Функции библиотеки

Ниже приведены функции, определенные в заголовке stdio.h.

Следуйте той же последовательности функций для лучшего понимания и использования опции Try it (Online compiler), потому что файл, созданный в первой функции, будет использоваться в последующих функциях.

Sr.No. Описание функции
1 int fclose (FILE * stream)

Закрывает поток. Все буферы сброшены.

2 void clearerr (FILE * stream)

Очищает конец файла и индикаторы ошибок для данного потока.

3 int feof (FILE * stream)

Проверяет индикатор конца файла для данного потока.

4 int ferror (FILE * stream)

Проверяет индикатор ошибки для данного потока.

5 int fflush (FILE * stream)

Очищает выходной буфер потока.

6 int fgetpos (FILE * stream, fpos_t * pos)

Получает текущую позицию файла потока и записывает его в поз.

7 FILE * fopen (const char * имя файла, режим const char *)

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

8 size_t fread (void * ptr, size_t size, size_t nmemb, FILE * stream)

Считывает данные из данного потока в массив, на который указывает ptr.

9 FILE * freopen (const char * имя файла, режим const char *, FILE * stream)

Связывает новое имя файла с заданным открытым потоком и одновременно закрывает старый файл в потоке.

10 int fseek (FILE * stream, long int offset, int fromce)

Устанавливает файловую позицию потока в заданное смещение. Смещение аргумента означает количество байтов, которые нужно найти из заданной позиции откуда .

11 int fsetpos (FILE * stream, const fpos_t * pos)

Устанавливает файловую позицию данного потока в данную позицию. Аргумент pos — это позиция, заданная функцией fgetpos.

12 long int ftell (FILE * stream)

Возвращает текущую позицию файла данного потока.

13 size_t fwrite (const void * ptr, size_t size, size_t nmemb, FILE * stream)

Записывает данные из массива, на который указывает ptr, в данный поток.

14 int удалить (const char * имя файла)

Удаляет указанное имя файла, чтобы оно больше не было доступно.

15 int rename (const char * old_filename, const char * new_filename)

Вызывает изменение имени файла, на которое ссылается old_filename, на new_filename.

16 перемотка void (FILE * stream)

Устанавливает позицию файла в начало файла данного потока.

17 void setbuf (FILE * stream, char * buffer)

Определяет, как поток должен быть буферизован.

18 int setvbuf (FILE * stream, char * buffer, int mode, size_t size)

Другая функция, чтобы определить, как поток должен быть буферизован.

19 FILE * tmpfile (void)

Создает временный файл в двоичном режиме обновления (wb +).

20 char * tmpnam (char * str)

Создает и возвращает действительное временное имя файла, которое не существует.

21 int fprintf (FILE * stream, const char * format, …)

Отправляет форматированный вывод в поток.

22 int printf (const char * format, …)

Отправляет отформатированный вывод на стандартный вывод.

23 int sprintf (char * str, const char * format, …)

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

24 int vfprintf (FILE * stream, const char * format, va_list arg)

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

25 int vprintf (const char * format, va_list arg)

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

26 int vsprintf (char * str, const char * format, va_list arg)

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

27 int fscanf (FILE * stream, const char * format, …)

Читает форматированный ввод из потока.

28 int scanf (const char * format, …)

Читает форматированный ввод из стандартного ввода.

29 int sscanf (const char * str, const char * format, …)

Читает форматированный ввод из строки.

30 int fgetc (FILE * stream)

Получает следующий символ (символ без знака) из указанного потока и перемещает индикатор положения для потока.

31 char * fgets (char * str, int n, FILE * stream)

Читает строку из указанного потока и сохраняет ее в строке, на которую указывает str. Он останавливается, когда читается (n-1) символов, читается символ новой строки или достигается конец файла, в зависимости от того, что произойдет раньше.

32 int fputc (int char, FILE * stream)

Записывает символ (беззнаковый символ), указанный аргументом char, в указанный поток и перемещает индикатор положения для потока.

33 int fputs (const char * str, FILE * stream)

Записывает строку в указанный поток до, но не включая нулевой символ.

34 int getc (FILE * stream)

Получает следующий символ (символ без знака) из указанного потока и перемещает индикатор положения для потока.

35 int getchar (void)

Получает символ (без знака) из стандартного ввода.

36 char * gets (char * str)

Читает строку из stdin и сохраняет ее в строке, на которую указывает str. Он останавливается, когда читается символ новой строки или достигается конец файла, в зависимости от того, что произойдет раньше.

37 int putc (int char, FILE * stream)

Записывает символ (беззнаковый символ), указанный аргументом char, в указанный поток и перемещает индикатор положения для потока.

38 int putchar (int char)

Записывает символ (беззнаковый символ), указанный в аргументе char, в стандартный вывод.

39 int ставит (const char * str)

Записывает строку в стандартный вывод, но не включая нулевой символ. Символ новой строки добавляется к выводу.

40 int ungetc (int char, FILE * stream)

Вставляет символ char (без знака) в указанный поток, чтобы следующий символ был прочитан.

41 void perror (const char * str)

Печатает описательное сообщение об ошибке в stderr. Сначала печатается строка str, затем двоеточие, а затем пробел.

Закрывает поток. Все буферы сброшены.

Очищает конец файла и индикаторы ошибок для данного потока.

Проверяет индикатор конца файла для данного потока.

Проверяет индикатор ошибки для данного потока.

Очищает выходной буфер потока.

Получает текущую позицию файла потока и записывает его в поз.

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

Считывает данные из данного потока в массив, на который указывает ptr.

Связывает новое имя файла с заданным открытым потоком и одновременно закрывает старый файл в потоке.

Устанавливает файловую позицию потока в заданное смещение. Смещение аргумента означает количество байтов, которые нужно найти из заданной позиции откуда .

Устанавливает файловую позицию данного потока в данную позицию. Аргумент pos — это позиция, заданная функцией fgetpos.

Возвращает текущую позицию файла данного потока.

Записывает данные из массива, на который указывает ptr, в данный поток.

Удаляет указанное имя файла, чтобы оно больше не было доступно.

Вызывает изменение имени файла, на которое ссылается old_filename, на new_filename.

Устанавливает позицию файла в начало файла данного потока.

Определяет, как поток должен быть буферизован.

Другая функция, чтобы определить, как поток должен быть буферизован.

Создает временный файл в двоичном режиме обновления (wb +).

Создает и возвращает действительное временное имя файла, которое не существует.

Отправляет форматированный вывод в поток.

Отправляет отформатированный вывод на стандартный вывод.

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

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

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

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

Читает форматированный ввод из потока.

Читает форматированный ввод из стандартного ввода.

Читает форматированный ввод из строки.

Получает следующий символ (символ без знака) из указанного потока и перемещает индикатор положения для потока.

Читает строку из указанного потока и сохраняет ее в строке, на которую указывает str. Он останавливается, когда читается (n-1) символов, читается символ новой строки или достигается конец файла, в зависимости от того, что произойдет раньше.

Записывает символ (беззнаковый символ), указанный аргументом char, в указанный поток и перемещает индикатор положения для потока.

Записывает строку в указанный поток до, но не включая нулевой символ.

Получает следующий символ (символ без знака) из указанного потока и перемещает индикатор положения для потока.

Получает символ (без знака) из стандартного ввода.

Читает строку из stdin и сохраняет ее в строке, на которую указывает str. Он останавливается, когда читается символ новой строки или достигается конец файла, в зависимости от того, что произойдет раньше.

Записывает символ (беззнаковый символ), указанный аргументом char, в указанный поток и перемещает индикатор положения для потока.

Записывает символ (беззнаковый символ), указанный в аргументе char, в стандартный вывод.

Записывает строку в стандартный вывод, но не включая нулевой символ. Символ новой строки добавляется к выводу.

Вставляет символ char (без знака) в указанный поток, чтобы следующий символ был прочитан.

Печатает описательное сообщение об ошибке в stderr. Сначала печатается строка str, затем двоеточие, а затем пробел.

Библиотека C — <stdlib.h>

Заголовок stdlib.h определяет четыре типа переменных, несколько макросов и различные функции для выполнения общих функций.

Переменные библиотеки

Ниже приведены типы переменных, определенные в заголовке stdlib.h.

Sr.No. Переменная и описание
1

size_t

Это целочисленный тип без знака и результат ключевого слова sizeof .

2

wchar_t

Это целочисленный тип размера константы широких символов.

3

div_t

Это структура, возвращаемая функцией div .

4

ldiv_t

Это структура, возвращаемая функцией ldiv .

size_t

Это целочисленный тип без знака и результат ключевого слова sizeof .

wchar_t

Это целочисленный тип размера константы широких символов.

div_t

Это структура, возвращаемая функцией div .

ldiv_t

Это структура, возвращаемая функцией ldiv .

Макросы библиотеки

Ниже приведены макросы, определенные в заголовке stdlib.h.

Sr.No. Макрос и описание
1

НОЛЬ

Этот макрос является значением константы нулевого указателя.

2

EXIT_FAILURE

Это значение для функции выхода, возвращаемой в случае сбоя.

3

EXIT_SUCCESS

Это значение для функции выхода, возвращаемой в случае успеха.

4

RAND_MAX

Этот макрос является максимальным значением, возвращаемым функцией rand.

5

MB_CUR_MAX

Этот макрос является максимальным числом байтов в многобайтовом наборе символов, которое не может быть больше, чем MB_LEN_MAX.

НОЛЬ

Этот макрос является значением константы нулевого указателя.

EXIT_FAILURE

Это значение для функции выхода, возвращаемой в случае сбоя.

EXIT_SUCCESS

Это значение для функции выхода, возвращаемой в случае успеха.

RAND_MAX

Этот макрос является максимальным значением, возвращаемым функцией rand.

MB_CUR_MAX

Этот макрос является максимальным числом байтов в многобайтовом наборе символов, которое не может быть больше, чем MB_LEN_MAX.

Функции библиотеки

Ниже приведены функции, определенные в заголовке stdio.h.

Sr.No. Описание функции
1 двойной atof (const char * str)

Преобразует строку, на которую указывает аргумент str, в число с плавающей запятой (тип double).

2 int atoi (const char * str)

Преобразует строку, на которую указывает аргумент str, в целое число (тип int).

3 long int atol (const char * str)

Преобразует строку, на которую указывает аргумент str, в длинное целое число (введите long int).

4 double strtod (const char * str, char ** endptr)

Преобразует строку, на которую указывает аргумент str, в число с плавающей запятой (тип double).

5 long int strtol (const char * str, char ** endptr, int base)

Преобразует строку, на которую указывает аргумент str, в длинное целое число (введите long int).

6 unsigned long int strtoul (const char * str, char ** endptr, int base)

Преобразует строку, на которую указывает аргумент str, в целое число без знака (введите unsigned long int).

7 void * calloc (size_t nitems, size_t size)

Выделяет запрошенную память и возвращает указатель на нее.

8 пусто (пусто * ptr

Выделение памяти, ранее выделенной вызовом calloc, malloc или realloc .

9 void * malloc (size_t size)

Выделяет запрошенную память и возвращает указатель на нее.

10 void * realloc (void * ptr, size_t size)

Попытки изменить размер блока памяти, на который указывает ptr, который ранее был выделен при вызове malloc или calloc .

11 void abort (void)

Вызывает ненормальное завершение программы.

12 int atexit (void (* func) (void))

Вызывает вызов указанной функции func при нормальном завершении программы.

13 Пустой выход (статус int)

Заставляет программу завершаться нормально.

14 char * getenv (const char * name)

Ищет строку среды, на которую указывает имя, и возвращает соответствующее значение в строку.

15 int system (const char * string)

Команда, указанная в строке, передается в хост-среду для выполнения командным процессором.

16 void * bsearch (const void * key, const void * base, size_t nitems, size_t size, int (* сравнение) (const void *, const void *))

Выполняет бинарный поиск.

17 void qsort (void * base, size_t nitems, size_t size, int (* сравнение) (const void *, const void *))

Сортирует массив.

18 int abs (int x)

Возвращает абсолютное значение х.

19 div_t div (int numer, int denom)

Делит число (числитель) на число (знаменатель).

20 long int labs (long int x)

Возвращает абсолютное значение х.

21 ldiv_t ldiv (длинный int numer, длинный int denom)

Делит число (числитель) на число (знаменатель).

22 int rand (void)

Возвращает псевдослучайное число в диапазоне от 0 до RAND_MAX .

23 void srand (без знака int seed)

Эта функция запускает генератор случайных чисел, используемый функцией rand .

24 int mblen (const char * str, size_t n)

Возвращает длину многобайтового символа, на который указывает аргумент str .

25 size_t mbstowcs (schar_t * pwcs, const char * str, size_t n)

Преобразует строку многобайтовых символов, на которые указывает аргумент str, в массив, на который указывает pwcs .

26 int mbtowc (whcar_t * pwc, const char * str, size_t n)

Исследует многобайтовый символ, на который указывает аргумент str .

27 size_t wcstombs (char * str, const wchar_t * pwcs, size_t n)

Преобразует коды, хранящиеся в массиве pwcs, в многобайтовые символы и сохраняет их в строке str .

28 int wctomb (char * str, wchar_t wchar)

Исследует код, который соответствует многобайтовому символу, заданному аргументом wchar .

Преобразует строку, на которую указывает аргумент str, в число с плавающей запятой (тип double).

Преобразует строку, на которую указывает аргумент str, в целое число (тип int).

Преобразует строку, на которую указывает аргумент str, в длинное целое число (введите long int).

Преобразует строку, на которую указывает аргумент str, в число с плавающей запятой (тип double).

Преобразует строку, на которую указывает аргумент str, в длинное целое число (введите long int).

Преобразует строку, на которую указывает аргумент str, в целое число без знака (введите unsigned long int).

Выделяет запрошенную память и возвращает указатель на нее.

Выделение памяти, ранее выделенной вызовом calloc, malloc или realloc .

Выделяет запрошенную память и возвращает указатель на нее.

Попытки изменить размер блока памяти, на который указывает ptr, который ранее был выделен при вызове malloc или calloc .

Вызывает ненормальное завершение программы.

Вызывает вызов указанной функции func при нормальном завершении программы.

Заставляет программу завершаться нормально.

Ищет строку среды, на которую указывает имя, и возвращает соответствующее значение в строку.

Команда, указанная в строке, передается в хост-среду для выполнения командным процессором.

Выполняет бинарный поиск.

Сортирует массив.

Возвращает абсолютное значение х.

Делит число (числитель) на число (знаменатель).

Возвращает абсолютное значение х.

Делит число (числитель) на число (знаменатель).

Возвращает псевдослучайное число в диапазоне от 0 до RAND_MAX .

Эта функция запускает генератор случайных чисел, используемый функцией rand .

Возвращает длину многобайтового символа, на который указывает аргумент str .

Преобразует строку многобайтовых символов, на которые указывает аргумент str, в массив, на который указывает pwcs .

Исследует многобайтовый символ, на который указывает аргумент str .

Преобразует коды, хранящиеся в массиве pwcs, в многобайтовые символы и сохраняет их в строке str .

Исследует код, который соответствует многобайтовому символу, заданному аргументом wchar .

Библиотека C — <string.h>

Заголовок string.h определяет один тип переменной, один макрос и различные функции для манипулирования массивами символов.

Переменные библиотеки

Ниже приведен тип переменной, определенный в заголовке string.h —

Sr.No. Переменная и описание
1

size_t

Это целочисленный тип без знака и результат ключевого слова sizeof .

size_t

Это целочисленный тип без знака и результат ключевого слова sizeof .

Макросы библиотеки

Ниже приведен макрос, определенный в заголовке string.h —

Sr.No. Макрос и описание
1

НОЛЬ

Этот макрос является значением константы нулевого указателя.

НОЛЬ

Этот макрос является значением константы нулевого указателя.

Функции библиотеки

Ниже приведены функции, определенные в заголовке string.h —

Sr.No. Описание функции
1 void * memchr (const void * str, int c, size_t n)

Ищет первое вхождение символа c (символ без знака) в первых n байтах строки, на которую указывает аргумент str .

2 int memcmp (const void * str1, const void * str2, size_t n)

Сравнивает первые n байтов str1 и str2 .

3 void * memcpy (void * dest, const void * src, size_t n)

Копирует n символов из src в dest .

4 void * memmove (void * dest, const void * src, size_t n)

Еще одна функция для копирования n символов из str2 в str1 .

5 void * memset (void * str, int c, size_t n)

Копирует символ c (символ без знака) в первые n символов строки, на которую указывает аргумент str .

6 char * strcat (char * dest, const char * src)

Добавляет строку, на которую указывает src, в конец строки, на которую указывает dest .

7 char * strncat (char * dest, const char * src, size_t n)

Добавляет строку, на которую указывает src, в конец строки, на которую указывает dest, длиной до n символов.

8 char * strchr (const char * str, int c)

Ищет первое вхождение символа c (символ без знака) в строке, на которую указывает аргумент str .

9 int strcmp (const char * str1, const char * str2)

Сравнивает строку, на которую указывает str1, со строкой, на которую указывает str2 .

10 int strncmp (const char * str1, const char * str2, size_t n)

Сравнивает не более первых n байтов str1 и str2 .

11 int strcoll (const char * str1, const char * str2)

Сравнивает строку str1 с str2 . Результат зависит от настройки местоположения LC_COLLATE.

12 char * strcpy (char * dest, const char * src)

Копирует указанную строку с помощью src в dest .

13 char * strncpy (char * dest, const char * src, size_t n)

Копирует до n символов из строки, на которую указывает src в dest .

14 size_t strcspn (const char * str1, const char * str2)

Вычисляет длину начального сегмента str1, который полностью состоит из символов, не входящих в str2.

15 char * strerror (int errnum)

Ищет во внутреннем массиве номер ошибки errnum и возвращает указатель на строку сообщения об ошибке.

16 size_t strlen (const char * str)

Вычисляет длину строки str до, но не включая завершающий нулевой символ.

17 char * strpbrk (const char * str1, const char * str2)

Находит первый символ в строке str1, который соответствует любому символу, указанному в str2 .

18 char * strrchr (const char * str, int c)

Ищет последнее вхождение символа c (символ без знака) в строке, на которую указывает аргумент str .

19 size_t strspn (const char * str1, const char * str2)

Вычисляет длину начального сегмента str1, который полностью состоит из символов в str2 .

20 char * strstr (const char * стог сена, const char * игла)

Находит первое вхождение всей строковой стрелки (не включая завершающий нулевой символ), которая появляется в стоге сена .

21 char * strtok (char * str, const char * delim)

Разбивает строку str на серию токенов, разделенных разделителем .

22 size_t strxfrm (char * dest, const char * src, size_t n)

Преобразует первые n символов строки src в текущую локаль и помещает их в строку dest .

Ищет первое вхождение символа c (символ без знака) в первых n байтах строки, на которую указывает аргумент str .

Сравнивает первые n байтов str1 и str2 .

Копирует n символов из src в dest .

Еще одна функция для копирования n символов из str2 в str1 .

Копирует символ c (символ без знака) в первые n символов строки, на которую указывает аргумент str .

Добавляет строку, на которую указывает src, в конец строки, на которую указывает dest .

Добавляет строку, на которую указывает src, в конец строки, на которую указывает dest, длиной до n символов.

Ищет первое вхождение символа c (символ без знака) в строке, на которую указывает аргумент str .

Сравнивает строку, на которую указывает str1, со строкой, на которую указывает str2 .

Сравнивает не более первых n байтов str1 и str2 .

Сравнивает строку str1 с str2 . Результат зависит от настройки местоположения LC_COLLATE.

Копирует указанную строку с помощью src в dest .

Копирует до n символов из строки, на которую указывает src в dest .

Вычисляет длину начального сегмента str1, который полностью состоит из символов, не входящих в str2.

Ищет во внутреннем массиве номер ошибки errnum и возвращает указатель на строку сообщения об ошибке.

Вычисляет длину строки str до, но не включая завершающий нулевой символ.

Находит первый символ в строке str1, который соответствует любому символу, указанному в str2 .

Ищет последнее вхождение символа c (символ без знака) в строке, на которую указывает аргумент str .

Вычисляет длину начального сегмента str1, который полностью состоит из символов в str2 .

Находит первое вхождение всей строковой стрелки (не включая завершающий нулевой символ), которая появляется в стоге сена .

Разбивает строку str на серию токенов, разделенных разделителем .

Преобразует первые n символов строки src в текущую локаль и помещает их в строку dest .

Библиотека C — <time.h>

Заголовок time.h определяет четыре типа переменных, два макроса и различные функции для манипулирования датой и временем.

Переменные библиотеки

Ниже приведены типы переменных, определенные в заголовке time.h —

Sr.No. Переменная и описание
1

size_t

Это целочисленный тип без знака и результат ключевого слова sizeof .

2

clock_t

Этот тип подходит для хранения процессорного времени.

3

time_t is

Этот тип подходит для хранения календарного времени.

4

структура тм

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

size_t

Это целочисленный тип без знака и результат ключевого слова sizeof .

clock_t

Этот тип подходит для хранения процессорного времени.

time_t is

Этот тип подходит для хранения календарного времени.

структура тм

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

Структура ТМ имеет следующее определение —

struct tm {
   int tm_sec;         /* seconds,  range 0 to 59          */
   int tm_min;         /* minutes, range 0 to 59           */
   int tm_hour;        /* hours, range 0 to 23             */
   int tm_mday;        /* day of the month, range 1 to 31  */
   int tm_mon;         /* month, range 0 to 11             */
   int tm_year;        /* The number of years since 1900   */
   int tm_wday;        /* day of the week, range 0 to 6    */
   int tm_yday;        /* day in the year, range 0 to 365  */
   int tm_isdst;       /* daylight saving time             */
};

Макросы библиотеки

Ниже приведены макросы, определенные в заголовке time.h —

Sr.No. Макрос и описание
1

НОЛЬ

Этот макрос является значением константы нулевого указателя.

2

CLOCKS_PER_SEC

Этот макрос представляет количество тактовых частот процессора в секунду.

НОЛЬ

Этот макрос является значением константы нулевого указателя.

CLOCKS_PER_SEC

Этот макрос представляет количество тактовых частот процессора в секунду.

Функции библиотеки

Ниже приведены функции, определенные в заголовке time.h —

Возвращает указатель на строку, которая представляет день и время структуры timeptr.

Возвращает время процессора, использованное с начала эпохи, определенной реализацией (обычно начало программы).

Возвращает строку, представляющую локальное время на основе аргумента timer.

Возвращает разницу секунд между временем1 и временем2 (время1-время2).

Значение таймера разбивается на структуру tm и выражается в Всемирном координированном времени (UTC), также известном как среднее время по Гринвичу (GMT).

Значение таймера разбивается на структуру tm и выражается в местном часовом поясе.

Преобразует структуру, на которую указывает timeptr, в значение time_t в соответствии с местным часовым поясом.

Форматирует время, представленное в структуре timeptr, в соответствии с правилами форматирования, определенными в формате и сохраненными в str.

Вычисляет текущее время календаря и кодирует его в формате time_t.