logo
Харви Дейтел, Пол Дейтел Как программировать на С++ / 02-Deitel-Стр-115-214

3.3. Математические библиотечные функции

Математические библиотечные функции позволяют программисту выпол­нять определенные типовые математические вычисления. Мы будем исполь­зовать далее разнообразные математические библиотечные функции для ил­люстрации самой концепции функций. Позже в этой книге мы обсудим многие другие функции из стандартной библиотеки С. Полный перечень функций стандартной библиотеки С приведен в приложении А.

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

cout « sqrt(900.0);

При выполнении этого оператора вызывается математическая библиотеч­ная функция sqrt, которая вычисляет квадратный корень из числа, заклю­ченного в круглые скобки (900.0). Число 900.0 является аргументом функции sqrt. Приведенный выше оператор должен был бы напечатать 30. Функция sqrt получает аргумент типа double и возвращает результат типа double. Вообще все функции в математической библиотеке возвращают данные типа double.

Хороший стиль программирования 3.2

При использовании функций математической библиотеки включайте соответствую­щий заголовочный файл с помощью директивы препроцессора #include <math.h>.

Функции 181

Типичная ошибка программирования 3.1

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

Аргументами функции могут быть константы, переменные или выраже­ния. Если cl = 13.0, d = 3.0 и f = 4.0, то оператор

cout « sqrt(cl + d*f)

вычислит и напечатает квадратный корень из 13.0 + 3.0 * 4.0 = 25.0, а именно, напечатает 5, так как С++ обыкновенно не печатает в конце нуль или десятичную точку в числах с плавающей точкой, не имеющих дробной части). Некоторые математические библиотечные функции приведены на рис. 3.2, где переменные x и у имеют тип double.