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