CodeNet / Языки программирования / C / C++ / Linux/Unix / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
assert
ASSERT
#include <assert.h>
void assert(expression);
Описание.
Процедура assert печатает диагностическое сообщение и за-
вершает вызванный процесс, если expression ложно, 0. Диагности-
ческое сообщение имеет форму:
Assertion failed: file <filename>, line <linenumber>,
где filename - имя исходного файла, linenumber - номер строки,
которая ошибочна.
Если expression истинно (ненулевое), никакого действия не
выполняется.
Процедура assert обычно используется для обнаружения логи-
ческих ошибок в программе. Выражение expression должно быть зада-
но таким образом, чтобы оно было истинным, если программа выпол-
няется как намечено. После того как отлажена программа, может
быть использован специальный "no debug" идентификатор NDEBUG для
удаления вызовов assert из программы. Если NDEBUG определен (лю-
бым значением) опцией командной строки /D или с директивой
#define, препроцессор языка Си удаляет все вызовы assert из ис-
ходной программы.
Возвращаемое значение.
Возвращаемого значения нет.
Замечание. Процедура assert реализована как макро.
Пример:
#include <stdio.h>
#include <assert.h>
analyse_string (string)
char *string;
{
/* проверка строки перед обработкой */
assert (string != NULL); /* не может быть NULL,
здесь должна быть
строка */
assert (*string != '\0'); /* не может быть
пустой */
.
.
.
}.
ATAN - ATAN2
#include <math.h>
double atan(x); вычисляет арктангенс x
double x;
double atan2(y,x); вычисляет арктангенс y/x
double x;
double y;
Описание.
Обе функции atan и atan2 возвращают результат арктангенса.
Если оба аргумента atan2 равны 0, функция устанавливает errno в
EDOM, печатает сообщение об ошибке DOMAIN в stderr и возвращает
0.
Обрaботкa ошибок может быть модифицировaнa при исполь-
зовaнии процедуры matherr.
См.тaкже acos, asin, cos, matherr, sin, tan.
Пример:
#include <math.h>
printf("%.7f\n", atan(1.0)); /* n/4 */
printf("%.7f\n", atan2(-1.0,1.0)); /* -n/4 */
На выходе:
0.7853982
-0.7853982
