- Фантастика и фэнтези
- Ироническое фэнтези
- Стимпанк
- Детективная фантастика
- Киберпанк
- Попаданцы
- LitRPG
- Космоопера
- Технофэнтези
- Городская фантастика
- Русское фэнтези
- Юмористическая фантастика
- Космическая фантастика
- Боевое фэнтези
- Эпическая фантастика
- Зарубежная фантастика
- Книги магов
- Мистика
- Разная фантастика
- Разное фэнтези
- Любовное фэнтези
- Романтическая фантастика
- Городское фентези
- Историческая фантастика
- Историческое фэнтези
- Социально-философская фантастика
- Сказочная фантастика
- Иностранное фэнтези
- Романтическое фэнтези
- Ироническая фантастика
- Ужасы и Мистика
- Постапокалипсис
- Героическая фантастика
- Фэнтези
- Научная Фантастика
- Социально-психологическая
- Альтернативная история
- Боевая фантастика
- Разная литература
- Пословицы, поговорки
- Шахматы
- Визуальные искусства
- Фанфик
- Авто и ПДД
- Военное
- Отраслевые издания
- Гиды, путеводители
- Зарубежная образовательная литература
- Военная история
- Цитаты из афоризмов
- Современная литература
- Великолепные истории
- Начинающие авторы
- Современная зарубежная литература
- Боевые искусства
- Изобразительное искусство, фотография
- Кино
- Литература 19 века
- Недвижимость
- Музыка, музыканты
- Готические новеллы
- Истории из жизни
- Культура и искусство
- Спецслужбы
- Зарубежная прикладная литература
- Музыка, танцы
- Подростковая литература
- Прочее
- Военная техника, оружие
- Газеты и журналы
- Периодические издания
- Домоводство, Дом и семья
- Любовные романы
- Экономическая литература
- Научные и научно-популярные книги
- О животных
- Биохимия
- Культурология
- Юриспруденция
- Политика
- Психотерапия
- Языкознание
- Научпоп
- Медицина
- Психология, личное
- Радиотехника
- Филология
- Педагогика
- Образовательная литература
- Деловая литература
- Физика
- Науки: разное
- Химия
- Воспитание детей, педагогика
- Детская психология
- Зарубежная публицистика
- Биология
- Архитектура
- Зарубежная психология
- Науки о космосе
- Социология
- Математика
- География
- Беременность, ожидание детей
- Литературоведение
- Транспорт, военная техника
- Обществознание
- Зоология
- География
- Альтернативная медицина
- Иностранные языки
- Ветеринария
- Рефераты
- Астрология
- Биофизика
- Экология
- История Европы
- Учебники
- Шпаргалки
- Государство и право
- Ботаника
- Религиоведение
- История
- Техническая литература
- Прочая научная литература
- Психология
- Детективы и Триллеры
- Справочная литература
- Проза
- Новелла
- Юмор
- Проза
- Историческая проза
- Русская современная проза
- Советская классическая проза
- Повести
- Очерки
- Эссе
- Рассказы
- Зарубежная современная проза
- Сентиментальная проза
- Зарубежная классика
- Афоризмы
- Эпистолярная проза
- Феерия
- Семейный роман/Семейная сага
- Разное
- Антисоветская литература
- Магический реализм
- Русская классическая проза
- Современная проза
- О войне
- Контркультура
- Классическая проза
- Поэзия, Драматургия
- Детская литература
- Детская фантастика
- Детские остросюжетные
- Детские стихи
- Детские приключения
- Внеклассное чтение
- Учебная литература
- Зарубежные детские книги
- Бизнес
- Загадки
- Книги для подростков
- Школьные учебники
- Детский фольклор
- Книги для дошкольников
- Детские детективы
- Детская познавательная и развивающая литература
- Буквари
- Прочая детская литература
- Сказка
- Детская проза
- Детская образовательная литература
- Юмор
- Документальные книги
- Бизнес
- Внешнеэкономическая деятельность
- Тайм-менеджмент
- Кадровый менеджмент
- О бизнесе популярно
- Управление, подбор персонала
- Бизнес
- Менеджмент и кадры
- Продажи
- Экономика
- Ценные бумаги и инвестиции
- Малый бизнес
- Делопроизводство, офис
- Корпоративная культура, бизнес
- Банковское дело
- Финансы
- Зарубежная деловая литература
- Ораторское искусство / риторика
- Личные финансы
- Интернет-бизнес
- Поиск работы
- Государственное и муниципальное управление
- Бухучет и аудит
- Работа с клиентами
- Менеджмент
- Краткое содержание
- Личная эффективность
- Переговоры
- Приключения
- Старинная литература
- Религия и духовность
- Компьютеры и Интернет
- Блог
Читаем без скачивания Язык программирования Си для персонального компьютера - C. Бочков
Шрифт:
Интервал:
Закладка:
Функции вода/вывода с консольного терминала и порта
Функции ввода/вывода для консольного терминала выделены в отдельную группу, потому что они используют специфические особенности компьютера IBM/PC (наличие специального видеоадаптера) и не являются переносимыми на другие типы компьютеров.
функция Краткое описание cgets чтение строки с консоли cprintf запись данных на консольный терминал по формату cputs вывод строки на консольный терминал getch чтение символа с консоли getche чтение символа с консоли с эхо-печатью kbhit проверка нажатия клавиши на консоли putch вывод символа на консольный терминал ungetch возврат последнего прочитанного символа с консольного символа обратно с тем, чтобы он стал следующим символом для чтенияСистема программирования MSC предоставляет дополнительно функцию cscanf - чтение данных с консоли по формату.
Система программирования ТС предоставляет дополнительно функцию getpass - ввод с терминала пароля без эхо-печати
Прототипы функций содержатся в файле conio.h. Устройства: консольный терминал и порт не могут быть открыты или закрыты перед выполнением в/в, поэтому функции fopen и fclose не вызываются. Функции в/в с консольного терминала позволяют читать и записывать строки (cgets и cputs), форматированные данные (cscanf и cprintf) и символы. Функция kbhit определяет: было ли нажатие клавиши на консольном терминале. Эта функция позволяет определить наличие символов для ввода с клавиатуры до попытки чтения.
Математические функции
Функция Краткое описание abs нахождение абсолютного значения выражения типа int acos вычисление арккосинуса asin вычисление арксинуса atan вычисление арктангенса х atan2 вычисление арктангенса от у/х cabs нахождение абсолютного значения комплексного числа ceil нахождение наименьшего целого, большего или равного х _clear87 получение значения и инициализация слова состояния сопроцессора и библиотеки арифметики с плавающей точкой _control87 получение старого значения слова состояния для функций арифметики с плавающей точкой и установка нового состояния cos вычисление косинуса cosh вычисление гиперболического косинуса exp вычисление экспоненты fabs нахождение абсолютного значения типа double floor нахождение наибольшего целого, меньшего или равного х fmod нахождение остатка от деления х/у _fpreset повторная инициализация пакета плавающей арифметики frexp разложение х как произведения мантиссы на экспоненту 2n hypot вычисление гипотенузы labs нахождение абсолютного значения типа long ldexp вычисление х*2exp log вычисление натурального логарифма log10 вычисление логарифма по основанию 10 matherr управление реакцией на ошибки при выполнении функций математической библиотеки modf разложение х на дробную и целую часть pow вычисление х в степени у sin вычисление синуса sinh вычисление гиперболического синуса sqrt нахождение квадратного корня _status87 получение значения слова состояния с плавающей точкой tan вычисление тангенса tanh вычисление гиперболического тангенсаСистема программирования MSC предоставляет дополнительно функции:
Функция Краткое описание bessel вычисление функции Бесселя dieeetomsbin преобразование плавающего числа двойной точности из IEEE-формата в Microsoft-формат dmsbintoieee преобразование плавающего числа двойной точности из Microsoft-формата в IEEE-формат fieeetomsbin преобразование числа с плавающей точкой из IEEE-формата в Microsoft-формат fmsbintoieee преобразование числа с плавающей точкой из Microsoft-формата в IEEE-форматСистема программирования ТС предоставляет дополнительно функции:
Функция Краткое описание _matherr управление реакцией на ошибки при выполнении функций из математической библиотеки pow10 вычисление десятичной степениПрототипы функций содержатся в файле math.h, за исключением прототипов функций _clear87, _control87, _fpreset, status87, которые определены в файле float.h. Функция matherr (ее пользователь может задать сам в своей программе) вызывается любой библиотечной математической функцией при возникновении ошибки. Эта программа определена в библиотеке, но может быть переопределена пользователем, если она необходима, для установки различных процедур обработки ошибок.
Динамическое распределение памяти
Библиотека языка Си предоставляет механизм распределения динамической памяти (heap). Этот механизм позволяет динамически (по мере возникновения необходимости) запрашивать из программы дополнительные области оперативной памяти.
Работа функций динамического распределения памяти различается для различных моделей памяти, поддерживаемых системой программирования (смотри первую части книги).
В малых моделях памяти (tiny, small, medium) доступно для использования все пространство между концом сегмента статических данных программы и вершиной программного стека, за исключением 256-байтной буферной зоны непосредственно около вершины стека.
В больших моделях памяти (compact, large, huge) все пространство между стеком программы и верхней границей физической памяти доступно для динамического размещения памяти.
Следующие функции используются для динамического распределения памяти:
Функция Краткое описание calloc выделить память для массива free освободить блок, полученный посредством функции calloc, malloc или realloc malloc выделить блок памяти realloc переразместить ранее выделенный блок памяти, изменив его размер sbrk переустановить адрес первого байта оперативной памяти, недоступного программе (начала области памяти вне досягаемости программы)Система программирования MSC предоставляет дополнительно функции:
Функция Краткое описание alloca выделение блока памяти из программного стека _expand изменение размера блока памяти, не меняя местоположения блока _ffree освобождение блока, выделенного посредством функции fmalloc _fmalloc выделение блока памяти вне данного сегмента _freect определить примерное число областей заданного размера, которые можно выделить _fmsize возвращает размер блока памяти, на который указывает дальний (far) указатель halloc выделить память для большого массива (объемом более 64 Кбайтов) hfree освободить блок памяти, выделенный посредством функции halloc _memavl определить примерный размер в байтах памяти, доступной для выделения _msize определить размер блока, выделенного посредством функций calloc, malloc, realloc _nfree освобождает блок, выделенный посредством _nmalloc _nmalloc выделить блок памяти в заданном сегменте _nmsize определить размер блока, на которой указывает близкий (near) указатель stackavail определить объем памяти, доступной для выделения посредством функции allocaСистема программирования ТС предоставляет дополнительно функции: