Учебное пособие: Язык прораммирования С++
При составлении программы можно использовать вызовы:
log(V1) – вычисления натурального логарифма,
log10(V1) – вычисления десятичного логарифма,
exp(V1) – вычисления показательной функции с основанием e,
asin(V1), atan(V1) – вычисления арксинуса и арктангенса.
При использовании прямых и обратных тригонометрических функций угол задается и получается в радианах.
Функция может иметь несколько параметров. Например, функция atan2(y,x), которой передается два вещественных аргумента, вычисляет арктангенс угла, лежащего в прямоугольном треугольнике с катетами x,y против стороны y, причем второй аргумент x может быть равным нулю (при этом арктангенс будет равен π/2).
Прототипы математических функций находятся в заголовочном файле math.h. Если программа использует вызовы стандартных математических функций, то для их правильной обработки компилятором в программу надо включить строку
#include<math.h>.
Вспомним, что по умолчанию компилятор преобразует вещественное число в целое отбрасыванием дробной части Если программисту необходим другой способ округления, он должен включить в свою программу заголовочный файл с прототипами математических функций и вызвать функцию округления вещественного числа с недостатком
R1=floor(V1); или с избытком r=ceil(S);.
Для округления до ближайшего целого нет стандартной функции, но можно выполнить оператор
R1=floor(V1+0.5);
Как и в Паскале, можно узнать, сколько байтов требуется для хранения переменной, применив к ней операцию sizeof(). Объявим переменные
intA,B;
floatC;
Операторы
A=sizeof(int);
A=sizeof(B);
дадут одинаковый результат – размер переменной типа int.
Оператор A=sizeof(C); запишет в A число 4 – размер переменно типа float.
4. Реализация функций в тексте программы
Последовательность команд, реализующая вычисление стандартной функции не формируется компилятором. Эти функции хранятся в отдельном файле – системной библиотеке функций языка Си. Если в библиотеке нет необходимой функции, программист может реализовать ее самостоятельно.
Любая функция, как и главная функция main() состоит из заголовка и заключенного в фигурные скобки тела функции. Пусть, например, нам необходима функция area (l,w) вычисления площади прямоугольного участка по его длине l и ширине w. Эта функция может быть реализована следующим образом
float area(int x, int y)
{float s;
s= x*y;
return s;
}