5. Библиотеки не должны включать определения локальных переменных без указания external (external linkage).


2. Стандартные функции библиотеки math.h

 

Имя функции: ACOS

#include <math.h>

double acos(x);

double x;

Описание: Функция acos возврaщaет арккосинус x в интервале от 0 до n. Значение x должно быть между -1 и 1.

Возврaщaемое значение: Функция acos возврaщaет результат aрккосинусa. Если x меньше -1 или больше 1, acos устaнaвливaет errno в EDOM, печaтaет сообщение об ошибке DOMAIN в stderr и возврaщaет 0.

Обрaботкa ошибок может быть модифицировaнa при изменении процедуры matherr.

Пример: В следующем примере прогрaммa выдает подсказки для вводa до тех пор, покa введенное значение не будет в интервале от -1 до 1.

#include <math.h>

int errno;

main()

{ float x,y;

for (errno=EDOM;errno==EDOM;y=acos(x))

{ printf("Cosine=");

scanf("%f",&x);

errno = 0; }

printf("Arc cosine of %f = %f\n",x,y); }

 

Обрaзец выводa:

Cosine = 3

acos: DOMAIN error

Cosine = -1.0

Arc cosine of -1.000000 = 3.141593

Имя функции: ASIN

#include <math.h>

double asin(x);

double x;

 

Описание. Функция asin вычисляет арксинус x в интервале -n/2 до n/2. Значение x должно быть между -1 и 1.

Возвращаемое значение: Функция asin возвращает результат арксинуса. Если x меньше -1 или больше 1, asin устанавливает errno в EDOM, печатает сообщение об ошибке DOMAIN в stderr и возвращает 0.

Обрaботкa ошибок может быть модифицировaнa при изменении процедуры matherr.

Пример:

 

#include <math.h>

int errno;

main()

{ float x, y;

for (errno=EDOM; errno==EDOM; y=asin(x)) {

printf("Синус = ");

scanf("%f,&x);

errno=0; }

printf ("арксинус от %f=%f\n",x,y); }

ВЫВОД:

Синус = -1.001

asin: DOMAIN error

Синус = -1

Арксинус от -1.000000 = -1.570796

Имя функции: ATAN-ATAN2

#include<math. h>

double atan(x);

double(x);

double atan2(y,x);

double x;

double y;

 

Описание: atan и atan2 функции вычисляют арктангенс x и y/x соответственно: atan возвращает значение в пределах от -пи/2 до пи/2; atan2 возвращает значение в пределах от -пи до пи.

Возвращаемое значение: atan и atan2 возвращают значение арктангенса.0, если оба аргумента функции atan2 нулевые; при этом errno устанавливается в EDOM и печатается сообщение об ошибке DOMAIN в stderr.

Обработку ошибки можно изменить, используя команду matherr.

Пример:

#include<math.h>

printf("%.7f\n",atan(1.0));

printf("%.7f\n"atan2(-1.0,1.0);

ВЫВОД:

0.7853982

-0.7853982

Имя функции: CABS

#include<math.h>

double cabs(z);

struct compex z;


Описание: Cabs функция вычисляет абсолютное значение комплексного числа. Комплексное число должно иметь структуру типа complex, определенный в math.h в следующем виде:

struct complex { double x,y; };

Вызов cabs эквивалетно sgrt(z.x*z.x+x.y*z.y)

Возвращаемое значение: Cabs возвращает абсолютное значение. Нет кодов ошибок.

Пример:

#include<math.h>

struct complex value;

double d;

value.x=3.0;

value.y=4.0;

d=cabs(value);

 

Имя функции: CEIL

#include<math.h>

double ceil(x);

double x;

 

Описание: Ceil функция возвращает самое маленькое целое, которое больше или равно значению числа с плавающей точкой.

Возвращаемое значение: Число с плавающей точкой. Нет кодов ошибок.

Пример:

#include <math.h>

double y;


y=ceil(1.05); /*y=2.0 */

y=ceil(-1.05); /*y=-1.0 */

 

Имя функции: FABS

#include <math.h>

double fabs(x);

double x; значение с плавающей точкой

 

Описание: Функция fabs возвращает абсолютное значение своего аргумента с плавающей точкой.

Возвращаемое значение: Функция fabs возвращает абсолютное значение своего аргумента. Возвращаемого значения в случае ошибки нет.

Пример:

#include <math.h>

double x,y;

y = fabs(x);.

Имя функции: FLOOR

#include <math.h>

double floor(x);

double x; значение с плавающей точкой.

 

Описание: Функция floor возвращает значение с плавающей точкой, представляющее наибольшее целое, которое меньше или равно x.

Возвращаемое значение: Функция floor возвращает результат с плавающей точкой. Возвращаемого значения в случае ошибки нет.

Пример:


#include <math.h>

double y;

y = floor(2.8); /* y = 2.0 */

y = floor(-2.8); /* y = -3.0 */

Имя функции: FMOD

#include <math.h>

double fmod(x,y);

double x; значение с плавающей точкой.

double y;

 

Описание: Функция fmod вычисляет остаток от деления x на y с плавающей точкой, где x=iy+f, i - целое, f - имеет тот же знак, что x; а абсолютное значение x меньше, чем абсолютное значение y.

Возвращаемое значение.: Функция fmod возвращает остаток с плавающей точкой. Если y равно 0, функция возвращает 0.

Пример:

#include <math.h>

double x,y,z;

x = -10.0;

y = 3.0;

z = fmod(x,y); /* z = -1.0 */.

 

Пример:

#include <math.h>

int errno;

main()

{ float x,y;

for (errno=EDOM; errno==EDOM; y=asin(x)) {

printf("Sine=");

scanf("%f", &x);

errno = 0; }

printf("Arc sine of %f\n",x,y);}

На выходе:

Sine = -1.001

asin: DOMAIN error

Sine = -1

Arc sine of -1.000000=-1.570796

Имя функции: LDEXP

#include <math.h>

double ldext(x,exp);

double x; значение с плавающей точкой

int *exp; целая экспонента

 

Описание.: Функция ldexp возвращает x, умноженное на 2 в степени exp.

Возвращаемое значение: ldexp возвращает x, умноженное на 2 в степени exp.В случае переполнения результата функция возвращает +HUGE или -HUGE (в зависимости от знака x) и устанавливает errno в ERANGE.

Пример:

#include <math.h>

double x,y;

int p;

x = 1.5;

p = 5;

y = ldexp(x,p); /* y = 48.0 */

 

Имя функции: POW

#include <math.h>

double pow(x,y);

double x; возводимое число

double y; степень числа x

 

Описание: Функция pow вычисляет x, возведенное в степень y.

Возвращаемое значение: Функция pow возвращает значение x в степени y. Если y равна 0, pow возвращает значение 1. Если x равно 0 и y отрицательная, pow устанавливает errno в ERANGE и возвращает HUGE. Если x отрицательное, а y не является целой, функция печатает сообщение об ошибке DOMAIN в stderr, устанавливает errno в ERANGE и возвращает либо положительное, либо отрицательное значение HUGE. В случае переполнения или потери значимости никакого сообщения не печатается.

Пример:

#include <math.h>

double x = 2.0, y = 3.0, z;

z = pow(x,y); /* z = 8.0 */

Имя функции: SIN-SINH

#include <math.h>

double sin(x); вычисляет синус x

double sinh(x); вычисляет гиперболический синус x

double x; радиан

 


Описание: Функции sin и sinh вычисляют соответственно синус и гиперболический синус x.

Возвращаемое значение.:Функция sin возвращает синус x. Если x большой, то может возникнуть частичная потеря значимости результата. В этом случае sin вырабатывает ошибку PLOSS, но сообщения не печатает. Если x настолько большой, что теряется общая значимость результата, тогда sin печатает сообщение об ошибке TLOSS в stderr и возвращает 0. В обоих случаях errno устанавливается в ERANGE. Функция sinh возвращает гиперболический синус x. Если результат большой, sinh возвращает значение HUGE (отрицательное или положительное, в зависимости от знака x) и устанавливает errno в ERANGE.

Обрaботкa ошибок может быть модифицировaнa при изменении процедуры matherr.

Пример:

#include <math.h>

double pi = 3.1415926535,x,y;

x = pi/2;);

y = sin(x); /* y равен 1.0 */

y = sinh(x); /* y равен 2.3 */

Имя функции: SQRT

#include <math.h>

double sqrt(x);

double x; неотрицательное значение с плавающей точкой

 

Описание: Функция sqrt вычисляет квадратный корень x.

Возвращаемое значение: Функция sqrt возвращает результат вычисления квадратного корня. Если x - отрицательное, функция печатает сообщение об ошибке DOMAIN в stderr, устанавливает errno в EDOM и возвращает 0.

Обрaботкa ошибок может быть модифицировaнa при изменении процедуры matherr.

Пример:

#include <math.h>

#include <stdlib.h>

double x,y,z;

if ((z = sqrt(x+y))==o.0)

if((x+y) < 0.0)

perror("sqrt of a negative number");

Имя функции: TAN-TANH

#include <math.h>

double tan(x); вычисляет тангенс x

double tanh(x); вычисляет гиперболический тангенс x

double x; радиан

 

Описание: Функции tan и tanh вычисляют соответственно тангенс и гиперболический тангенс x.

Возвращаемое значение: Функция tan возвращает тангенс x. Если x большой, при вычислениях может возникнуть частичная потеря значимости. В этом случае tan вырабатывает ошибку PLOSS, но сообщения не печатает. Если x настолько большой, что общая значимость результата теряется, тогда tan печатает сообщение об ошибке TLOSS в stderr и возв ращает 0. В обоих случаях errno устанавливается в ERANGE. Функция tanh возвращает гиперболический тангенс x.

Возвращаемого значения в случае ошибки нет.

Пример:

#include <math.h>

double pi,x,y;

pi = 3.1415926535;

x = tan(pi/4.0); /* x равен 1.0 */

y = tanh(x); /* y равен 1.6 */



Информация о работе «Стандартные библиотечные функции С++»
Раздел: Информатика, программирование
Количество знаков с пробелами: 33993
Количество таблиц: 3
Количество изображений: 0

Похожие работы

Скачать
28139
14
0

... gettextsettings(), settextstyle(), setusercharsize(). viewporttype – Используется для получения настроек области вывода функцией getviewsettings(). struct viewporttype { int left; int top; int right; int bottom; int clip; } 2. Реализация пользовательской библиотеки “mouse.h” В стандартной комплектации BorlandC2.0, BorlandC3.1 или любой версии компилятора C++ от любой другой ...

Скачать
668870
13
0

... программе. В данном разделе они перечислены в алфавитном порядке и приводятся с объяснениями. Эти ошибки могут являться следствием случайного затирание памяти программой. Abnormal program termination Аварийное завершение программы Данное сообщение может появляться, если для выполнения программы не может быть выделено достаточного количества памяти. Более подробно оно рассматривается в конце ...

Скачать
155480
0
0

... виден черный цвет на белом фоне, зеленый на белом. Размещение указателей должно быть очень четко продумано (44, с.421). 4. ХАРАКТЕРИСТИКА БИБЛИОТЕЧНОГО ДИЗАЙНА СИБАЙСКОГО ИНСТИТУТА БАШКИРСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА   Интенсивно развивающийся научно-технический прогресс вызывает необходимость реформ в сфере высшего образования. Значительно выросли требования к результативности учебной ...

Скачать
44104
0
0

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

0 комментариев


Наверх