double arrow

Библиотечные заголовочные файлы стандартной библиотеки

<assert.h> Содержит макрос утверждений, используемый для обнаружения логических и некоторых других типов ошибок в отлаживаемой версии программы.
<complex.h> Набор функций для работы с комплексными числами. (Появилось в C99)
<ctype.h> Содержит функции, используемые для классификации символов по их типам или для конвертации между верхним и нижним регистрами независимо от используемой кодировки (обычно ASCII или одно из её расширений, хотя есть и реализации, использующие EBCDIC).
<errno.h> Для проверки кодов ошибок, возвращаемых библиотечными функциями.
<fenv.h> Для управления средой, использующей числа с плавающей точкой. (Появилось в C99)
<float.h> Содержит заранее определенные константы, описывающие специфику реализации свойств библиотеки для работы с числами с плавающей точкой, как, например, минимальная разница между двумя различными числами с плавающей точкой (_EPSILON), максимальное число цифр точности (_DIG) и область допустимых чисел (_MIN, _MAX).
<inttypes.h> Для точной конвертации целых типов. (Появилось в C99)
<iso646.h> Для программирования в кодировке ISO 646. (Появилось в NA1)
<limits.h> Содержит заранее заданные константы, определяющие специфику реализации свойств целых типов, как, например, область допустимых значений (_MIN, _MAX).
<locale.h> Для setlocale() и связанных констант. Используется для выбора соответствующего языка.
<math.h> Для вычисления основных математических функций
<setjmp.h> Объявляет макросы setjmp и longjmp, используемые для нелокальных переходов
<signal.h> Для управления обработкой сигналов
<stdarg.h> Для доступа к различному числу аргументов, переданных функциям.
<stdbool.h> Для булевых типов данных. (Появилось в C99)
<stdint.h> Для определения различных типов целых чисел. (Появилось в C99)
<stddef.h> Для определения нескольких стандартных типов и макросов.
<stdio.h> Реализует основные возможности ввода и вывода в языке Си. Этот файл содержит весьма важную функцию printf.
<stdlib.h> Для выполнения множества операций, включая конвертацию, генерацию псевдослучайных чисел, выделение памяти, контроль процессов, окружения, сигналов, поиска и сортировки.
<string.h> Для работы с различными видами строк.
<tgmath.h> Для типовых математических функций. (Появилось в C99)
<time.h> Для конвертации между различными форматами времени и даты.
<wchar.h> Для обработки «широких» потоков и нескольких видов строк при помощи «широких» символов (поддержка набора языков). (Появилось в NA1)
<wctype.h> Для классификации «широких» символов. (Появилось в NA1)

Функции, описанные в некоторых заголовочных файлах

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

clearerr fclose fcloseall fdopen feof ferror

fflush fgetc fgetchar fgetpos fgets fileno

flushall fopen fprintf fputc fputchar fputs

fread freopen fscanf fseek fsetpos ftell

fwrite getc getchar gets getw perror

printf putc putchar puts putw remove

rename rewind rmtmp scanf setbuf setvbuf

sprintf sscanf strerror _strerror tempnam tmpfile

tmpnam ungetc unlink vfprintf vfscanf vprintf

vscanf vsprintf vsscanf

Функции, предназначенные для математических вычислений (описания содержаться в заголовочном файле math.h):

тригонометрические функции sin(double x), cos(double x), tan(double x)
обратные тригонометрические функции asin(double x), acos(double x), atan(double x)
арктангенс от (y/x) atan2(double x)
гиперболические тригонометрич. функции sinh(double x), cosh(double x), tanh(double x)
экспоненты и логарифмы exp(double x), log(double x), log10(double x)
экспоненты и логарифмы (по основанию 2) ldexp(double x, int n), ldexpl(double x, int n)
деление и остаток от деления modf(double x, double *ip), fmod(double x, double y)
возведение в степень pow(double x, double y) [xy], sqrt(double x) [ ]
округление ceil(double x) [округление вверх], floor(double x) [округление вниз]
вычисление модуля abs(int n) [для целых], fabs(double x) [для вещественных]

Также в файле math.h описаны следующие константы:

Название константы Значение константы Название константы Значение константы Название константы Значение константы
M_PI p M_1_SQRTPI 1/ M_LN2 ln(2)
M_PI_2 p/2 M_2_SQRTPI 2/ M_LN10 ln(10)
M_PI_4 p/4 M_E e M_SQRT2
M_1_PI 1/p M_LOG2E log(e) M_SQRT_2
M_2_PI 2/p M_LOG10E log10(e)    

Полный перечень функций библиотеки ANSI C можно посмотреть в книге Подбельский В.В. Язык Си++: Учебное пособие. – 5-изд. – М.: Финансы и статистика, 2004 (стр. 32), а также в любой литературе посвященной языку Си.

Правила вызова библиотечных функций

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

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

Например, функция fopen() на самом деле при успешном завершении возвращает указатель на вновь открытый поток (например, файл, имя которого указано в качестве первого аргумента), а в случае ошибки возвращает значение NULL – константу, описанную в stdio.h. Поэтому легко можно проверить, например, открылся ли удачно файл, из которого должны считываться данные:

FILE *in;

in = fopen("AUTO.DAT", "r");

if (in == NULL)

{

printf("Невозможно открыть входной файл.\n");

}

При обращении к функциям надо не забывать о том, что типы, порядок и количество фактических параметров (перечисляемых при конкретном обращении) должны совпадать с описанием формальных параметров (данных в описании функции). Например, функция вычисления синуса описана в math.h следующим образом:

double sin(double x);

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

Например, надо вычислить значение синуса 30о:

int xgr;

double ss;

xgr = 30; // градусы

ss = sin (xgr*M _ PI/180);

Здесь перед вызовом функции sin() градусы переводим в радианы, используя константу M _ PI (вещественного типа), описанную также в math.h, а затем уже результат (вещественного типа!) будет передан для вычисления функции sin().


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



Сейчас читают про: