Математика | ||||
Программирование на языке Си для персонального компьютера IBM PC-Трои Д. М.: Радио и связь, 1991. -432 с. : ил | ||||
Трои Д.
О Программирование на языке Си для персонального компьютера IBM PC: Пер. с англ.- М.: Радио и связь, 1991. -432 с. : ил. ISBN 5-256-00707-6. Книга американского автора содержит полное описание всех средств языка Си и его библиотеки. Особенностью книги является ее ориентация на программирование на языке Си в среде операционной системы MS-DOS -стандартной операционной системы персонального компьютера IBM PC. Приведены все необходимые программисту сведения о системе MS-DOS и ее основных функциях. Рассмотрены средства отладки программ, написанных на языке Си, в системе MS-DOS. Для программистов. ПРЕДИСЛОВИЕ В книге соединены два мощных инструмента: язык программирования Си и персональный компьютер IBM PC. He обращаясь к другим изданиям, Вы сможете получить полное и достаточно понятное объяснение свойств популярного языка программирования Си, а также его приложений, рассчитанных на IBM PC. • Язык программирования Си разработан для многих компьютеров: от микрокомпьютеров, например IBM PC, до больших компьютеров. Изучение языка при программировании на нем на IBM PC не только поможет читателю решить большинство задач программирования, но и подготовит его к использованию этого чрезвычайно мобильного языка в других аппаратных средах. При написании книги не предполагалось наличие у читателя начальных знаний о языке программирования Си. Вследстсие природы этого языка достаточно определенного опыта программирования на каких-либо других языках (например, Бейсике или Фортране). Поскольку наличие такого опыта предполагается, в книге отсутствуют традиционные пояснения на примерах небольших программ и свойства языка представляются в процессе разработки двух больших программ. Книга предназначена для обучения языку Си и рассчитана на читателя, имеющего основные представления о компьютере. Однако когда речь заходит об использовании специфических свойств IBM PC, то приводятся соответствующие разъяснения. ЦЕЛИ При написании книги преследовались три основные цели: 1. Обучить языку Си, демонстрируя его использование при решении реальных практических задач. 2. Дать справочный материал, которым можно воспользоваться после освоения азов языка Си. 3. Помочь читателю извлечь из своего персонального компьютера IBM PC максимум возможностей. В большинстве книг по обучению языку Си приводятся все его свойства и их использование иллюстрируется примерами. В настоящей книге мы идем далее: чтобы продемонстрировать использование языка в практических задачах, в основной текст включено описание разработки двух реальных программ. Все основные главы делятся на две части. В первых частях представляются и иллюстрируются основные свойства языка Си, а во вторых на этих свойствах базируется разработка двух прикладных программ. Для достижения второй цели - использования этой книги в качестве справочника - основным свойствам языка посвящены отдельные главы. Читателю не понадобится просматривать несколько глав, чтобы изучить конкретное свойство языка Си (за исключением тем повышенной трудности): весь материал соответствующим образом сгруппирован. Если обсуждение темы повышенной трудности ОГЛАВЛЕНИЕ ПРЕДИСЛОВИЕ ................................................ 5 ГЛАВА 1 . ПРОГРАММИРОВАНИЕ ДЛЯ IBM PC .1 Введение ................................................ 9 .2. Микропроцессор 8088......................................... 10 .3. Организация памяти ........................................'. . 12 .4. Математический сопроцессор 8087................................. 13 .5. Операционные системы PC-DOS и MS-DOS........................... 14 .6. Файловая система DOS ....................................... 14 .7. Стандартные устройства ввода-вывода и переадресация ввода-вывода ........... 16 .8. Параметры командной строки.................................... 17 .9. Другое системное программное обеспечение........................... 17 .10. Заключение........................"....................... 17 Литература............................................... 17 ГЛАВА 2 . ВВЕДЕНИЕ В ЯЗЫК СИ ЧАСТЬ 1 ................................................... 18 2.1. История создания языка Си..................................... 18 2.2. Сравнение с другими языками программирования ....................... 18 2.3. Пользование компилятором..................................... 22 2.4. Внутренняя структура программы на языке Си для IBM PC (альтернативные модели распределения памяти) ........................ 23 2.5. Заключение............................................... 26 ЧАСТЬ 2 ................................................... 26 2.6. Система управления портфелем акций .............................. 26 2.7. Программа вычисления выражений................................ 27 Литература............................................... 27 ГЛАВА 3 . СТРУКТУРА И КОНСТРУКЦИЯ ПРОГРАММЫ НА ЯЗЫКЕ СИ ЧАСТЬ I ................................................... 28 3.1 Синтаксические диаграммы..................................... 28 3.2. Комментарии.............................................. 31 3.3. Идентификаторы........•.................................... 32 3.4. Служебные слова ........................................... 33 3.5. Константы ............................................... 33 3.6. Структура программ на языке Си................................. 38 3.7. Знакомство с программой на языке Си.............................. 40 3.8. Ввод, компиляция и загрузка программы............................. 46 ЧАСТЬ 2................................................... 49 3.9. Программа управления портфелем акций ............................ 50 3.10 Программа вычисления выражений ................................ 56 3.11 Компиляция, загрузка и исполнение программы ........................ 59 3.12 Заключение............................................... 61 Литература............................................... 61 ГЛАВА 4 . ТИПЫ И СТРУКТУРЫ ДАННЫХ Ч АС Т Ь 1 ................................................... 65 4.1. Имена.................................................. 65 4.2. Типы данных.............................................. 65 4.3. Класс хранения: область действия и время жизни ....................... 67 4.4. Внешние и внешние статические объекты ............................ 68 4.5. Определения и аргументы функций................................ 71 4.6. Автоматические, регистровые и внутренние статические объекты .............. 74 4.7. Инициализация объектов....................................... 77 4.8. Производные типы данных ..................................... 78 4.9. Массивы................................................ 79 4.10 Массивы как аргументы функций ................................. 83 4.11 Структуры ............................................... 84 4.12 Структуры в качестве аргументов функций ........................... 87 4.13 Наложение имен ........................................... 88 4.14 Заключение............................................... 89 ЧАСТЬ 2 ................................................... 90 4.15 Программа управления портфелем акций............................ 90 4.16 Программа вычисления выражений................................ 100 Литература................................................... 109 ГЛАВА 5 . ПРЕПРОЦЕССОР ЯЗЫКА СИ ЧАСТЬ 1 ................................................... 110 5.1 Директивы препроцессора...................................... 110 5.2 Подстановка имен........................................... 110 5.3 Включение файлов .......................................... 115 5.4 Условная компиляция ........................................ 119 5.5 Другие директивы препроцессора .............,................... 122 5.6 Указания относительно работы с препроцессором..................... . . . 123 ЧАСТЬ 2 ................................................... 125 , 5.7 Программа управления портфелем акций ............................ 125 5.8 Программа вычисления выражений................................ 132 ГЛАВА б . ОПЕРАТОРЫ ЯЗЫКА СИ И УПРАВЛЕНИЕ ИХ ИСПОЛНЕНИЕМ ЧАСТЬ 1................................................... 139 6.1. Пустой оператор............................................ 139 6.2. Операторы-выражения.......................................' . 139 6.3. Операторы break и continue..................................... 140 6.4. Блок операторов............................................ 140 6.5. Оператор return............................................ 140 6.6. Оператор If............................................... 140 6.7. Оператор while............................................. 141 6.8. Оператор switch ............................................ 143 6.9. Оператор do-while........................................... 146 6.10. Оператор for.............................................. 147 6.11. Оператор goto и метки операторов................................. 148 ЧАСТЬ 2.................................................. . 150 6.12. Программа вычисления выражений ................................ 150 Литература............................................... 157 Г Л А В А 7 . ВЫРАЖЕНИЯ И ОПЕРАЦИИ В ЯЗЫКЕ СИ ЧАСТЬ I .........................,......................... 157 7.1. Операции ссылки........................................... 159 7.2. Унарные операции .......................................... 162 7.3. Бинарные операции.......................................... 166 7.4. Тернарная операция........................................ . 169 7.5. Операции присваивания............................. . . . •....... 169 7.6. Операция "запятая"......................................... 171 7.7. Заключение............................................... 171 ЧАСТЬ 2 ...........................................•........ 172 7.8. Программа вычисления выражений ................................ 172 Литература............................................... 179 ГЛАВА 8 . УКАЗАТЕЛИ ЧАСТЬ 1 ................................................... 180 8.1. Зачем нужны указатели? ...............................-....... 180 8.2. Указатели и новый взгляд на массивы и строки ........................ 181 8.3. Определение и применение указателей.............................. 182 8.4. Указатели на структуры ...................................... 187 8.5. Использование указателей в качестве аргументов функций.................. 189 8.6. Указатели как значения, возвращаемые функцией....................... 192 8.7. Массивы указателей ..............'........................... 194 8.8. Замена типов указателей ...................................... 198 8.9. Размер памяти, занимаемой указателями, и альтернативные модели распределения памяти программы ............................ 199 8.10. Заключение............................................... 200 ЧАСТЬ 2................................................... 200 8.11. Программа вычисления выражений ................................ 200 ГЛАВА 9 . ПОЛЯ БИТОВ И ПОБИТОВЫЕ ОПЕРАЦИИ ЧАСТЬ 1 ................................................... 204 9.1. Поля битов............................................... 204 9.2. Побитовые операции......................................... 208 9.3. Приоритеты побитовых операций ................................. 213 ЧАСТЬ 2 ................................................... 213 9.4. Программа управления экраном .................................. 213 ГЛАВА 10. ВВОД, БЫВОД И СТАНДАРТНАЯ БИБЛИОТЕКА ФУНКЦИЙ ВВОДА-ВЫВОДА ЧАСТЬ I................................................... 229 10.1. Стандартные ввод, вывод и переадресация ввода-вывода ................... 229 10.2. Файловый и стандартный ввод-вывод..........., . . ................. 234 10.3. Функции ввода-вывода системного уровня............................ 251 10.4. . Сравнение файлового ввода-вывода и ввода-вывода системного уровня........... 256 10.5. Преобразование символов и прямой ввод-вывод......................... 257 10.6. Небуферировашшй ВВОД-ВЫРЛД................................... • 259 10.7. Кеды ошибок при исполнении функций.............................. 260 Ч А С Т Ь 2.................................................... 260 10.8. Система управления ьчрансм.................................... 260 10.9. Система управления портфелем ккций.............................. 264 Литература..............................'................. 273 ГЛАВАМ. БИБЛИОТЕКА ЯЗЫКА СИ: ОБЩЕУПОТРЕБИТЕЛЬНЫЕ ФУНКЦИИ И МАКРООПРЕДЕЛЕНИЯ ЧАСТЬ 1................................................... 273 11.1 Обзор общеупотребительных функций ** макроопределений ................. 273 11.2. Строковые функции.......................................... 277 11.3. Проверка и преобразование символов............................... 282 11.4. Преобразование строки в числовое значение........................... 284 11.5. Дата и время дня.......................................... 286 11.6. Математические функции . ;.................................... 287 11.7. Сопроцессор 8087........................................... 289 11.8. Завершение исполнения программы................................ 290 11.9. Сортировка............................................... 290 11.10. Заключение............................................... 292 ЧАСТЬ 2 ................................................... 295 11.11 Система управления экраном.................................... 295 11.12. Система управления портфелем акций............................... 308 Литература..............................................• 319 ГЛАВА 12. ИСПОЛЬЗОВАНИЕ ФУНКЦИЙ НА ЯЗЫКЕ АССЕМБЛЕРА В ПРОГРАММАХ НА ЯЗЫКЕ СИ 12.1. Основные концепции......................................... 319 12.2. Взаимодействие языков Си и ассемблера............................. 321 12.3. Передача управления в подпрограмму и обратно........................ 321 12.4. Передача данных подпрограмме .................................. 323 12.5. Возвращение значений........................................ 328 12.6. Вызов функций на языке Си из программ на языке ассемблера . .............. 331 12.7. Использование локальных данных................................. 332 12.8. Использование альтернативных моделей распределения памяти ............... 333 12.9. Корневой модуль программы на языке Си............................ 333 12.10. Два детализированных примера .................................. 334 12.11. Заключение............................................... 339 Литература . . . -............................................ 339 ГЛАВА 13. СОЗДАНИЕ БИБЛИОТЕК И ПОЛЬЗОВАНИЕ ИМИ 13.1. Содержание библиотек........................................ 340 13.2. Создание и эксплуатация библиотек................................ 341 13.3. Порядок-расположения модулей в библиотеке.......................... 342 13.4. Заключение............................................... 343 Литература............................................... 343 ГЛАВА 14. БОЛЕЕ СЛОЖНОЕ МАНИПУЛИРОВАНИЕ ДАННЫМИ 14.1. Объявление имени типа typedef Цена: 150руб. |
||||