Мегаобучалка Главная | О нас | Обратная связь


Div_t div ( int num, int denom )



2019-11-13 188 Обсуждений (0)
Div_t div ( int num, int denom ) 0.00 из 5.00 0 оценок




Функция div_t вычисляет частное и остаток от деления числителя num на знаменатель denom. Результаты запоминаются в элементах quot и rem типа int структуры типа div_t

           ldiv_t ldiv ( long num, long denom )

Функция ldiv_t вычисляет частное и остаток от деления num на denom. Результаты запоминаются в элементах quot и rem типа long структуры ldiv_t

< errno . h > – обработка ошибок

Функции обработки ошибок:

           void clearerr ( FILE *stream )

Функция clearerr сбрасывает индикаторы конца файла и ошибок потока stream

int feof ( FILE *stream )

Функция feof возвращает ненулевое значение, если для потока stream установлен (включен) индикатор конца файла

int ferror ( FILE * stream )

Функция ferror возвращает ненулевое значение, если для потока stream установлен (включен) индикатор ошибки

void perror ( const char *s )

Функция perror (s) выводит s и сообщение об ошибке (зависящее от реализации языка), которое соответствует целому числу в errno, т.е. делает то же, что и оператор fprintf ( stderr, "%s: %s\n", s, "сообщение об ошибке" )

< ctype . h > – анализ и классификация символов

           В заголовочном файле <сtype. h> объявляются функции, предназначенные для анализа символов. Аргумент каждой из них имеет тип int и должен представлять собой либо EOF, либо unsigned char, приведенный к int; возвращаемое значение тоже имеет тип int. Функции возвращают ненулевое значение (истина), если аргумент с удовлетворяет соответствующему условию или принадлежит указанному классу символов, и нуль (ложь) в противном случае.

isalnum(с)       – истинно isalpha (с) или isdigit (с)

isalpha(с)         – истинно isupper (с) или islower (с)

iscntrl(с) – управляющий символ

isdigit(с) – десятичная цифра

isgraph(с)         – отображаемый символ, за исключением пробела

islower(с)         – буква нижнего регистра

isprint(с)           – отображаемый символ, в том числе пробел

ispunct(с)         – отображаемый символ, за исключением пробела, буквы или цифры

isspace(с)         – пробел, прогон страницы, конец строки, возврат каретки, табуляция, вертикальная табуляция

isupper (с)        – буква верхнего регистра

isxdigit(с)         – шестнадцатеричная цифра

В семибитовом символьном наборе ASCII отображаемые символы занимают диапазон от 0x20 (' ') до 0х7Е ('-'); управляющие символы – от 0 (NUL) до 0x1F (US), а также 0x7F (DEL).

Помимо перечисленных, есть еще две функции, изменяющие регистр букв:

int tolower (int с ) переводит с в нижний регистр;

int toupper ( int с ) переводит с в верхний регистр.

Если с— буква в верхнем регистре, функция tolower(c) возвратит эту букву в нижнем регистре; в противном случае она вернет с без изменений. Если с – буква в нижнем регистре, функция toupper (с) возвратит эту букву в верхнем регистре; в противном случае она вернёт с без изменений.

<string.h> – работа со строками

Функции работы со строками:

           char * strcpy ( s , ct )

Копирует строку ct в строку s, включая ‘\0’; возвращает s ( s принадлежит к типу char; ct – к типу const char )

char *strncpy ( s, ct, n )

Копирует не более n символов строки ct в s; возвращает s. Дополняет результат символами ‘\0’, если в ct меньше n символов ( s принадлежит к типу char; ct – к типу const char; n –  к типу size_t )

char *st rcat ( s, ct )

Присоединяет ct в конец строки s; возвращает s ( s принадлежат к типу char; ct – к типу const char )

char *strncat ( s, ct, n )

Присоединяет не более n символов строки ct к s, завершая s символом ‘\0’; возвращает s ( s принадлежит к типу char; ct – к типу const char; *, n –  к типу size_t )

Int strcmp ( cs , ct )       

Сравнивает строки cs и ct; если cs<ct – возвращает отрицательное число; если cs==ct – возвращает нуль и если cs>ct – возвращает положительное число ( cs и ct принадлежат к типу const char )

Int strncmp ( cs, ct, n )

Сравнивает не более n символов строк cs и ct; если cs<ct – возвращает отрицательное число; если cs==ct – возвращает нуль и если cs>ct – возвращает положительное число ( cs и ct принадлежат к типу const char; n – к типу size_t )

char * strchr ( cs , с )

Возвращает указатель на первое вхождение с в cs или null при отсутствии такового ( cs принадлежит к типу const char, а с является числом типа int, приведенным к типу char )

char * strrchr ( cs , с )

Возвращает указатель на последнее вхождение с в cs или null при отсутствии такового ( cs принадлежит к типу const char, а с является числом типа int, приведенным к типу char )

Size_t strspn ( cs, ct )

Возвращает длину начального участка cs, состоящего из символов, которые входят в строку ct ( cs и ct принадлежат к типу const char )

Size_t strcspn ( cs, ct )

Возвращает длину начального участка cs, состоящего из символов, которые не входят в строку ct ( cs и ct принадлежат к типу const char )

char * strpbrk ( cs , ct )

Возвращает указатель на первый символ в строке cs, который совпадает с одним из символов, входящих в строку ct, или null, если такого не оказалось ( cs и ct принадлежат к типу const char )

char * strstr ( cs , ct )

Возвращает указатель на первое вхождение строки ct в строку cs или null, если не найдено ни одного ( cs и ct принадлежат к типу const char )

Size _ t strien ( cs )

Возвращает длину строки сs ( cs принадлежит к типу const char )

           char *strerror ( n )

Возвращает указатель на строку, соответствующую номеру ошибки n (зависит от реализации) ( n принадлежит к типу size_t )

char *strtok ( s, ct )

Ищет в строке s лексемы, ограниченные символами из строки ct ( s принадлежит к типу char; ct – к типу const char ). Последовательность вызовов strtok(s,ct) разбивает строку s на лексемы, ограничителем которых служит любой символ из строки ct. При первом вызове в этой последовательности указатель s не равен NULL. Функция находит в строке s первую лексему, состоящую из символов, которые не входят в ct; она заканчивает работу тем, что записывает поверх следующего символа s символ '\0' и возвращает указатель на лексему. Каждый последующий вызов, в котором указатель s равен NULL, возвращает указатель на следующую такую лексему, которую функция будет искать сразу после конца предыдущей. Функция strtok возвращает NULL, если далее не обнаруживает никаких лексем. Параметр ct от вызова к вызову может меняться.

void *memcpy ( s, ct, n )

Копирует n символов из ct в s и возвращает s ( s принадлежит к типу void; ct – к типу const void; n – к типу size t ). Быстродействующая системная функция для манипулирования объектами и массивами символов

           void *memmove ( s, ct, n )

Делает то же самое, что и memcpy, но работает корректно также в случае перекрывающихся в памяти объектов ( s принадлежит к типу void; ct – к типу const void; n – к типу size t ). Быстродействующая системная функция для манипулирования объектами и массивами символов

           int memcmp ( cs, ct, n )

Сравнивает первые n символов cs и ct; возвращает те же результаты, что и функция strcmp ( cs и ct принадлежат к типу const void; n – к типу size t ). Быстродействующая системная функция для манипулирования объектами и массивами символов

           void *memchr( cs, c, n )

Возвращает указатель на первое вхождение символа с в cs или null, если он отсутствует среди первых n символов ( cs принадлежит к типу const void; n – к типу size t, а с является числом типа int, приведенным к типу char ). Быстродействующая системная функция для манипулирования объектами и массивами символов

void *memset ( s, c, n )

Помещает символ с в первые n позиций массива s и возвращает s (s принадлежит к типу void; n – к типу size t, а с является числом типа int, приведенным к типу char ). Быстродействующая системная функция для манипулирования объектами и массивами символов.

<math . h> – математические функции

Математические функции:

           sin ( x )                        – синус x ( x принадлежит к типу double )

cos ( x )                       – косинус x ( x принадлежит к типу double )

tan ( x )            – тангенс x ( x принадлежит к типу double )

asin ( x )                      – арксинус x в диапазоне [ -Пи/2, Пи/2 ], х е [-1,1] ( x принадлежит к типу double )

acos ( x )                     – арккосинус х в диапазоне [ 0, Пи ], х е [-1,1] ( x принадлежит к типу double )

atan ( x )                     – арктангенс х в диапазоне [ -Пи/2, Пи/2 ] ( x принадлежит к типу double )

atan2 ( y, x )              – арктангенс у/х в диапазоне [ -Пи, Пи ] ( x и y принадлежат к типу double )

sinh ( x )                      – гиперболический синус х ( x принадлежит к типу double )

cosh ( x )                     – гиперболический косинус х ( x принадлежит к типу double )

tanh ( x )                     – гиперболический тангенс х ( x принадлежит к типу double )

exp ( x )                       – экспоненциальная функция е^x ( x принадлежит к типу double )

log ( x )                       – натуральный логарифм ln(x), х > 0 ( x принадлежит к типу double )

log10 ( x )                   – десятичный логарифм lg(x), х > 0 ( x принадлежит к типу double )

pow ( x, у )                 – х в степени у; возникает ошибка области определения, если х = 0 и у <= 0 или если х < 0 и у – не целое ( x и y принадлежат к типу double )

sqrt ( x )                      – квадратный корень из х, х >= 0 ( x принадлежит к типу double )

ceil ( x )                       – наименьшее целое число в формате double, не меньшее х ( x принадлежит к типу double )

floor ( x )                    – наибольшее целое число в формате double, не превосходящее х ( x принадлежит к типу double )

fabs ( x )                     – абсолютное значение |x| ( x принадлежит к типу double )

ldexp ( x , n )               – x*2^n ( x принадлежит к типу double, n – к int )

frexp ( x , int * exp )       – разбивает х на два сомножителя, первый из которых – нормализованная дробь в интервале [1/2,1], возвращаемая функцией, а второй — степень двойки; это число помещается в *ехр. Если х равен нулю, то обе части результата равны нулю ( x принадлежит к типу double )

modf ( x , double * ip ) – разбивает х на целую и дробную части, обе с тем же знаком, что и х. Целая часть помещается в *ip, а дробная часть возвращается из функции ( x принадлежит к типу double )

fmod ( x, y )               – остаток от деления х на y в виде вещественного числа. Знак результата совпадает со знаком х. Если y равен нулю, результат зависит от реализации языка ( x и y принадлежат к типу double )

< assert . h > – макрос assert используется для включения в программу средств диагностики

Функции диагностики:

           void assert ( int выражение )

Если заданное выражение имеет значение 0 во время выполнения оператора assert (выражение), то в поток stderr будет выведено сообщение примерно следующего вида: Assertion failed: выражение, file имя_файла, line nnn

После этого будет вызвана функция abort для завершения работы. Имя исходного файла и номер строки берутся из макросов препроцессора_FILE_и_LINE_. Если в момент включения файла <assert .h> имя NDEBUG является определенным, то макрос assert игнорируется.

< stdarg > – заголовочный файл <stdarg.h> предоставляет программисту средства для перебора аргументов функции, количество и типы которых заранее не известны.

Пусть посл_арг – последний именованный параметр функции f с переменным количеством аргументов. Внутри f необходимо объявить переменную ар типа va_list, содержащую указатель на очередной аргумент:

Va_list ар;

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

va_start ( va_list ар , посл _ арг );

С этого момента каждое обращение к макросу va_arg будет выдавать значение очередного безымянного аргумента с указанным типом, и всякий раз указатель ар будет получать приращение, чтобы при следующем вызове va_arg давать следующий аргумент:

тип va _ arg ( va _ list ар, тип);

После перебора всех аргументов, но до выхода из функции f необходимо один раз выполнить следующий макрос:



2019-11-13 188 Обсуждений (0)
Div_t div ( int num, int denom ) 0.00 из 5.00 0 оценок









Обсуждение в статье: Div_t div ( int num, int denom )

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной...
Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (188)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.01 сек.)