Выбрать главу

Прототипы функций содержатся в файле conio.h. Устройства: консольный терминал и порт не могут быть открыты или закрыты перед выполнением в/в, поэтому функции fopen и fclose не вызываются. Функции в/в с консольного терминала позволяют читать и записывать строки (cgets и cputs), форматированные данные (cscanf и cprintf) и символы. Функция kbhit определяет: было ли нажатие клавиши на консольном терминале. Эта функция позволяет определить наличие символов для ввода с клавиатуры до попытки чтения.

Математические функции
Функция Краткое описание abs нахождение абсолютного значения выражения типа int acos вычисление арккосинуса asin вычисление арксинуса atan вычисление арктангенса х atan2 вычисление арктангенса от у/х cabs нахождение абсолютного значения комплексного числа ceil нахождение наименьшего целого, большего или равного х _clear87 получение значения и инициализация слова состояния сопроцессора и библиотеки арифметики с плавающей точкой _control87 получение старого значения слова состояния для функций арифметики с плавающей точкой и установка нового состояния cos вычисление косинуса cosh вычисление гиперболического косинуса exp вычисление экспоненты fabs нахождение абсолютного значения типа double floor нахождение наибольшего целого, меньшего или равного х fmod нахождение остатка от деления х/у _fpreset повторная инициализация пакета плавающей арифметики frexp разложение х как произведения мантиссы на экспоненту 2n hypot вычисление гипотенузы labs нахождение абсолютного значения типа long ldexp вычисление х*2exp log вычисление натурального логарифма log10 вычисление логарифма по основанию 10 matherr управление реакцией на ошибки при выполнении функций математической библиотеки modf разложение х на дробную и целую часть pow вычисление х в степени у sin вычисление синуса sinh вычисление гиперболического синуса sqrt нахождение квадратного корня _status87 получение значения слова состояния с плавающей точкой tan вычисление тангенса tanh вычисление гиперболического тангенса

Система программирования MSC предоставляет дополнительно функции:

Функция Краткое описание bessel вычисление функции Бесселя dieeetomsbin преобразование плавающего числа двойной точности из IEEE-формата в Microsoft-формат dmsbintoieee преобразование плавающего числа двойной точности из Microsoft-формата в IEEE-формат fieeetomsbin преобразование числа с плавающей точкой из IEEE-формата в Microsoft-формат fmsbintoieee преобразование числа с плавающей точкой из Microsoft-формата в IEEE-формат

Система программирования ТС предоставляет дополнительно функции:

Функция Краткое описание _matherr управление реакцией на ошибки при выполнении функций из математической библиотеки pow10 вычисление десятичной степени

Прототипы функций содержатся в файле math.h, за исключением прототипов функций _clear87, _control87, _fpreset, status87, которые определены в файле float.h. Функция matherr (ее пользователь может задать сам в своей программе) вызывается любой библиотечной математической функцией при возникновении ошибки. Эта программа определена в библиотеке, но может быть переопределена пользователем, если она необходима, для установки различных процедур обработки ошибок.

Динамическое распределение памяти

Библиотека языка Си предоставляет механизм распределения динамической памяти (heap). Этот механизм позволяет динамически (по мере возникновения необходимости) запрашивать из программы дополнительные области оперативной памяти.

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

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

В больших моделях памяти (compact, large, huge) все пространство между стеком программы и верхней границей физической памяти доступно для динамического размещения памяти.