Брайан Керниган - Язык программирования Си. Издание 3-е, исправленное

Тут можно читать онлайн Брайан Керниган - Язык программирования Си. Издание 3-е, исправленное - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство Невский Диалект, год 2001. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Язык программирования Си. Издание 3-е, исправленное
  • Автор:
  • Жанр:
  • Издательство:
    Невский Диалект
  • Год:
    2001
  • Город:
    Санкт-Петербург
  • ISBN:
    0-13-110362-8
  • Рейтинг:
    4.11/5. Голосов: 91
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Брайан Керниган - Язык программирования Си. Издание 3-е, исправленное краткое содержание

Язык программирования Си. Издание 3-е, исправленное - описание и краткое содержание, автор Брайан Керниган, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Книга широко известных авторов, разработчиков языка Си, переработанная и дополненная с учетом стандарта ANSI для языка Си, 2-е английское издание которой вышло в 1988 году, давно стала классикой для всех изучающих и/или использующих как Си, так и Си++. Русский перевод этой книги впервые был выпущен изд- вом "Финансы и статистика" в 1992 г. и с тех пор пользуется неизменным спросом читателей.

Для настоящего третьего русского издания перевод заново сверен с оригиналом, в него внесены некоторые поправки, учитывающие устоявшиеся за прошедшие годы изменения в терминологии, а так же учтены замечания, размещенные автором на странице http://cm.bell-labs.com/cm/cs/cbook/2ediffs.html.

Для программистов, преподавателей и студентов.

Издание подготовлено при участии издательства "Финансы и статистика"

Язык программирования Си. Издание 3-е, исправленное - читать онлайн бесплатно полную версию (весь текст целиком)

Язык программирования Си. Издание 3-е, исправленное - читать книгу онлайн бесплатно, автор Брайан Керниган
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

В заголовочном файле описываются математические функции и определяются макросы.

Макросы EDOMи ERANGE(находящиеся в ) задают отличные от нуля целочисленные константы, используемые для фиксации ошибки области и ошибки диапазона; HUGE_VALопределена как положительное значение типа double. Ошибка области возникает, если аргумент выходит за область значений, для которой определена функция. Фиксация ошибки области осуществляется присвоением errno значения EDOM ; возвращаемое значение зависит от реализации. Ошибка диапазона возникает тогда, когда результат функции не может быть представлен в виде double . В случае переполнения функция возвращает HUGE_VAL с правильным знаком и в errno устанавливается значение ERANGE . Если результат оказывается меньше, чем возможно представить данным типом, функция возвращает нуль, а устанавливается ли в этом случае errno в ERANGE , зависит от реализации. Далее x и y имеют тип double , n - тип int , и все функции возвращают значения типа double . Углы в тригонометрических функциях задаются в радианах .

sin(x) синус x
cos(x) косинус x
tan(x) тангенс x
asin(x) арксинус x в диапазоне [-pi/2,pi/2] , x в диапазоне [-1,1]
acos(x) арккосинус x в диапазоне [0, pi] , x в диапазоне [-1,1]
atan(x) арктангенс x в диапазоне [-pi/2, pi/2]
atan2(y,x) арктангенс y/x в диапазоне [-pi, pi]
sinh(x) гиперболический синус x
cosh(x) гиперболический косинус x
tanh(x) гиперболический тангенс x
exp(x) Экспоненциальная функция e x
log(x) натуральный логарифм ln(x) , x > 0
log10(x) десятичный логарифм lg(x) , x > 0
pow(x,y) x y , ошибка области, если x = 0 или y<=0 или x<0 и y – не целое
sqrt(x) квадратный корень x , x >= 0
ceil(x) наименьшее целое в виде double , которое не меньше x
floor(x) наибольшее целое в виде double , которое не больше x
fabs(x) абсолютное значение |x|
ldexp(x, n) x * 2 n
frexp(x, int *еxр) разбивает x на два сомножителя, первый из которых - нормализованная дробь в интервале [1/2, 1), которая возвращается, а второй - степень двойки, эта степень запоминается в *exp . Если x - нуль, то обе части результата равны нулю
modf(x,double *ip) разбивается на целую и дробную части, обе имеют тот же знак, что и x . Целая часть запоминается в *ip , дробная часть выдается как результат
fmod(x, y) остаток от деления x на y в виде числа с плавающей точкой. Знак результата совпадает со знаком x . Если y равен нулю, результат зависит от реализации

B5. Функции общего назначения:

Заголовочный файл объявляет функции, предназначенные для преобразования чисел, запроса памяти и других задач.

double atof(const char *s)

atofпереводит s в double ; эквивалентна strtod(s, (char**) NULL).

int atoi(const char *s)

atoiпереводит s в int ; эквивалентна (int)strtol(s, (char**)NULL, 10).

int atol(const char *s)

atolпереводит s в long ; эквивалентна strtol(s, (char**) NULL, 10).

double strtod(const char *s, char **endp)

strtodпреобразует первые символы строки s в double , игнорируя начальные символы-разделители; запоминает указатель на непреобразованный конец в *endp (если endp не NULL), при переполнении она выдает HUGE_VAL с соответствующим знаком, в случае, если результат оказывается меньше, чем возможно представить данным типом, возвращается 0; в обоих случаях в errno устанавливается ERANGE .

long strtol(const char *s, char **endp, int base)

strtolпреобразует первые символы строки s в long , игнорируя начальные символы-разделители; запоминает указатель на непреобразованный конец в *endp (если endp не NULL). Если base находится в диапазоне от 2 до 36, то преобразование делается в предположении, что на входе - запись числа по основанию base . Если base равно нулю, то основанием числа считается 8, 10 или 16; число, начинающееся с цифры 0, считается восьмеричным, а с 0x или 0X - шестнадцатеричным. Цифры от 10 до base-1 записываются начальными буквами латинского алфавита в любом регистре. При основании, равном 16, в начале числа разрешается помещать 0x или 0X. В случае переполнения функция возвращает LONG_MAX или LONG_MIN (в зависимости от знака), a в errno устанавливается ERANGE.

unsigned long strtoul(const char *s, char **endp, int base)

strtoulработает так же, как и strtol , с той лишь разницей, что возвращает результат типа unsigned long , а в случае переполнения - ULONG_MAX.

int rand(void)

randвыдает псевдослучайное число в диапазоне от 0 до RAND_MAX; RAND_MAX не меньше 32767.

void srand(unsigned int seed)

srandиспользует seed в качестве семени для новой последовательности псевдослучайных чисел. Изначально параметр seed равен 1.

void *calloc(size_t nobj, size_t size)

callocвозвращает указатель на место в памяти, отведенное для массива nobj объектов, каждый из которых размера size , или, если памяти запрашиваемого объема нет, NULL. Выделенная область памяти обнуляется.

void *malloc(size_t size)

mallocвозвращает указатель на место в памяти для объекта размера size или, если памяти запрашиваемого объема нет, NULL. Выделенная область памяти не инициализируется.

void *realloc(void *p, size_t size)

reallocзаменяет на size размер объекта, на который указывает p . Для части, размер которой равен наименьшему из старого и нового размеров, содержимое не изменяется. Если новый размер больше старого, дополнительное пространство не инициализируется, realloc возвращает указатель на новое место памяти или, если требования не могут быть удовлетворены, NULL ( *p при этом не изменяется).

void free(void *р)

freeосвобождает область памяти, на которую указывает p ; эта функция ничего не делает, если p равно NULL. В p должен стоять указатель на область памяти, ранее выделенную одной из функций: calloc , malloc или realloc .

void abort(void *р)

abortвызывает аварийное завершение программы, ее действия эквивалентны вызову raise(SIGABRT).

void exit(int status)

exitвызывает нормальное завершение программы. Функции, зарегистрированные с помощью atexit, выполняются в порядке, обратном их регистрации. Производится опорожнение буферов открытых файлов, открытые потоки закрываются, и управление возвращается в среду, из которой был произведен запуск программы. Значение status , передаваемое в среду, зависит от реализации, однако при успешном завершении программы принято передавать нуль. Можно также использовать значения EXIT_SUCCESS (в случае успешного завершения) и EXIT_FAILURE (в случае ошибки).

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Брайан Керниган читать все книги автора по порядку

Брайан Керниган - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Язык программирования Си. Издание 3-е, исправленное отзывы


Отзывы читателей о книге Язык программирования Си. Издание 3-е, исправленное, автор: Брайан Керниган. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x