
- •Глава 4
- •Глава 5
- •Часть 1: использование турбо си.............................225
- •Часть 2. Команды меню.......................................280
- •Часть III. Дополнительные сведения о конфигурационных
- •Часть IV. Дополнительные возможности и команды
- •Глава 6
- •Глава 1: Использование библиотечных функций Турбо Си. Приво-
- •Глава 2: Библиотека Турбо Си. Описание всех библиотечных фу-
- •Глава 9, "Замечания для программистов, работающих на Турбо
- •Глава 4
- •Глава 5
- •Часть 1: использование турбо си.
- •Часть 2. Команды меню
- •Часть III. Дополнительные сведения о конфигурационных
- •Часть IV. Дополнительные возможности и команды
- •Глава 6
Часть III. Дополнительные сведения о конфигурационных
файлах и Pick файлах (выборки)..............................363
Что представляет собой конфигурационный файл?...............363
Конфигурационные файлы Турбо Си.............................364
TCCONFIG.TC.................................................365
Другие конфигурационные файлы ТС............................365
Что хранится в конфигурационных файлах ТС...................366
Создание конфигурационного файла ТС.........................367
Изменение конфигурационных файлов во время работы...........368
Где TC.EXE ищет TCCONFIG.TC.................................369
TCINST в сравнении с конфигурационным файлом:
кто управляет?..............................................370
Что делает команда Options/Environment/Config Auto Save?....371
Что представляют собой списки и файлы Pick (выборки)........373
Список Pick (выборки).......................................373
Файл Pick...................................................375
Когда и каким образом вы получаете файл Pick?...............376
Где Турбо Си сохраняет файлы Pick?..........................378
Часть IV. Дополнительные возможности и команды
Дополнительные сведения о табуляции.........................379
Автоматическое смещение, смещение влево.....................381
и оптимальное заполнение....................................381
Определение парности (Match Pair)...........................384
Некоторая информация об определении парности................386
Дирекционное и недирекционное сравнение.....................387
Вложенные разграничители....................................390
Это может быть проиллюстрировано на некоторых примерах......391
Ведение поиска разграничителей комментариев.................392
Назначение редактирующих ключей.............................396
Глава 6
ПРОГРАММИРОВАНИЕ НА ТУРБО СИ................................400
В этой главе................................................400
Семь основных элементов программирования....................402
Вывод.......................................................405
Функция printf..............................................405
Строка формата..............................................405
Другие функции вывода: puts и putchar.......................408
Типы данных.................................................411
Числа с плавающей точкой....................................411
Три типа целых..............................................414
Беззнаковые.................................................414
Определение строки..........................................415
Использование символьного массива...........................415
Использование указателя на символ...........................417
Идентификаторы..............................................419
Операции....................................................422
Операция присваивания.......................................422
Одноместные и двуместные операции...........................423
Операции приращения (++) и уменьшения (--)..................423
Побитовые операции..........................................425
Комбинированные операции....................................427
Адресные операции...........................................429
Ввод........................................................431
Функция scanf...............................................431
Белое поле..................................................432
- 15,16 -
Передача адреса функции scanf...............................433
Использование gets и getch для ввода........................434
Условные операторы..........................................437
Операции сравнения..........................................437
Логические операции.........................................440
Дополнительные сведения о выражениях........................441
Операторы присваивания......................................442
Оператор запятая............................................443
Оператор if.................................................444
Циклические конструкции в программах........................448
Цикл while..................................................448
Цикл for....................................................452
Цикл do...while.............................................457
Функции.....................................................460
Анализ программы............................................463
Функция get_parms...........................................465
Функция get_ratio...........................................466
Функция put_ratio...........................................467
Глобальные описания.........................................468
Описание функций............................................468
Определение функций.........................................471
Комментарии.................................................474
Резюме......................................................475
Г Л А В А 7
О НЕКОТОРЫХ ОСОБЕННОСТЯХ ПРОГРАММИРОВАНИЯ НА СИ.............476
В этой главе................................................476
Обзор структур данных.......................................478
Указатели...................................................478
Динамическое распределение..................................485
Указатели и функции.........................................489
Адресная арифметика.........................................492
Массивы.....................................................496
Массивы и указатели.........................................498
Массивы и строки............................................500
Многомерные массивы.........................................500
Массивы и функции...........................................503
Структуры...................................................508
Структуры и указатели.......................................511
Оператор switch (переключатель).............................513
Команды передачи управления.................................520
Оператор return.............................................521
Оператор break..............................................524
Оператор continue...........................................526
Оператор goto...............................................528
Условный оператор (?:)......................................528
Потоки и поток ввода - вывода...............................531
Что такое потоки?...........................................531
Текстовые и двоичные потоки.................................532
Буферизация потоков.........................................534
Предопределенные потоки.....................................536
Программирование на Си: классический и современный стили....538
Использование прототипов функций
и полных определений функций................................539
Использование ключевого слова enum..........................541
Использование директивы typedef.............................542
Описание функции void.......................................544
Используемые расширения.....................................545
Строковые литералы..........................................546
Шестнадцатиричная символьная константа......................547
Типы со знаком..............................................548
Ловушки в программировании на Си............................549
Маршрут MS DOS в строке Си..................................549
Неправильное употребление указателей........................550
Использование неинициализированных указателей...............551
Строки......................................................553
Разница между присваиванием (=) и равенством (==)...........558
Пропуск break в операторе switch............................560
Индексы массивов............................................561
Ошибки при передаче по адресу...............................563
В добрый путь...............................................567
- 19,20 -
Т У Р Б О С И
Р У К О В О Д С Т В О П О Л Ь З О В А Т Е Л Я
Версия 2.0
Москва, 1989 г.
-----------------------------------------------------------------
В В Е Д Е Н И Е
-----------------------------------------------------------------
Турбо Си предназначен: для Си программистов, желающих рабо-
тать с быстрым и эффективным компилятором; для Турбо Паскаль
программистов, желающих изучить Си со всеми возможностями "Тур-
бо"; а также для любого, начинающего изучать Си и желающего на-
чать программирование вместе с быстрым и легким в использовании
инструментом.
Язык Си - это структурированный, модульный, компилируемый,
универсальный язык, традиционно используемый для системного прог-
раммирования. Это переносимый язык, т.е. прикладные программы,
написанные на нем, могут быть легко перенесены с одной системы на
другую. Вам можно использовать Си практически для любых задач.
Однако, если обычные компиляторы Си "плетутся" через компиляцию,
то Турбо Си "пролетает" ее, оставляя больше времени для тестиро-
вания и совершенствования ваших программ.
- 21,22 -
Пакет поставки Турбо Си
-----------------------------------------------------------------
В пакет поставки Турбо Си включены дистрибутивные диски и
два тома документации: "Турбо Си. Руководство пользователя" (эта
книга) и "Турбо Си. Справочное руководство". Дистрибутивные диски
содержат все программы, файлы и библиотеки, необходимые для соз-
дания, компиляции, компоновки и запуска программ Турбо Си; кроме
того, на них находятся примеры программ, несколько автономных
утилит, контекстно-зависимый файл подсказок, встроенный отладчик,
а также дополнительная документация по вопросам, не освещенным в
данных руководствах.
Руководство пользователя выполнено в виде справочника-путе-
водителя для начинающего, но может быть полезно и профессионалу
для освежения знаний. Справочное руководство - это, прежде всего,
подробное описание с обьяснением обширной библиотеки функций Тур-
бо Си. Кроме того, в нем содержится информация о редакторе Турбо
Си, сообщениях об ошибках, сервисных программах (СРР, МАКЕ,
TLINK, TLIB, GREP, BGIOBJ и OBJXREF), параметрах командной стро-
ки, синтаксисе Турбо Си и указаниях по установке. Если вы не яв-
ляетесь профессиональным программистом, то вам, скорее всего,
лучше начать с Руководства пользователя, а не Справочного руко-
водства.
- 23,24 -
Что нового в Турбо Си 2.0 ?
-----------------------------------------------------------------
Турбо Си 2.0 включает множество новых хороших возможностей:
# Интегрированный отладчик: с пошаговым и трассируемым про-
ходом инструкций, заданием точек останова, просмотром и вычисле-
нием выражений.
# Ускоренный компилятор (на 20-30%) и компоновщик.
# Поддержка расширенной памяти EMS для буфера редактора:
позволяющая использовать 64 К и более памяти для компиляции и за-
пуска.
# Ускоренное распределение памяти и работа строчных функций.
# Ускоренная эмуляция операций с плавающей точкой.
# Новые функции signal и raise.
# _emit_, разрешающая вставлять машинные коды в вашу прог-
рамму во время компиляции.
# Расширенная графическая библиотека BGI, вместе с множест-
вом новых функций, включая инсталируемые драйверы и шрифты.
# Поддержка в командной строке символов-шаблонов (* и ?).
# Для крохотной модели памяти компоновщик может создавать
.COM файлы.
# Поддержка нового автономного отладчика фирмы Borland.
# Автонастраиваемое управление для утилиты MAKE.
# Поддержка констант и переменных типа long double (двойной
длины).
# Новые возможности редактора, включая блочный отступ и оп-
тимальное заполнение.
- 25,26 -
Технические требования
-----------------------------------------------------------------
Турбо Си работает на всех компьютерах семейства IBM PC,
включая ХТ, АТ и PS/2, а также на всех действительно совместимых
с IBM PC. Он требует операционную систему DOS версии 2.0 и выше,
а также не менее 448К оперативной памяти (RAM); запускается
только на мониторах, строка которых содержит 80 символов. Мини-
мально необходимым является один дисковод для гибких дисков, хотя
мы рекомендуем использовать два таких дисковода или же один вин-
честер с одним дисководом для гибких дисков.
В поставку включены процедуры работы с плавающей точкой, ко-
торые позволяют использовать математический сопроцессор 80x87.
Имеется возможность эмуляции 80x87 при его отсутствии. Сопроцес-
сор 80x87 позволит вам значительно увеличить быстродействие прог-
рамм, но его наличие не является обязательным.
Реализация Турбо Си
-----------------------------------------------------------------
Турбо Си поддерживает проект стандарта языка Си, предложен-
ный Американским национальным институтом стандартов (ANSI), а
также полностью определения Кернигана и Ритчи. Кроме этого Турбо
Си имеет некоторые необязательные расширения для смешивания язы-
ков, смешенно-модульного программирования, разрешающие полнее ис-
пользовать возможности IBM PC.
Том I: Руководство пользователя
-----------------------------------------------------------------
В Руководстве пользователя (этот том) дается введение в Тур-
бо Си, демонстрируется как создавать и запускать программы, а
также дается основная и вспомогательная информация о компиляции,
компоновке, отладке и создании проектов. Ниже приведено краткое
содержание глав Руководства пользователя:
- 27,28 -
Глава 1: Перед началом. Сообщает как установить Турбо Си на
вашей системе. Кроме того, дает советы по использованию оставшей-
ся части Руководства.
Глава 2: Начало работы. Обучает вас основам использования
интегрированной среды Турбо Си (TC): загрузке, компиляции, запус-
ку, редактированию и записи простых программ Турбо Си.
Глава 3: Компиляция, отладка и запуск программ. Показывает,
как использовать команду Run и как "выстраивать" (перестраивать)
файлы, из которых состоит программа.
Глава 4: Отладка ваших программ. Знакомит с интегрированным
отладчиком Турбо Си и демонстрирует, "путешествуя" по простой
программе со встроенными "жучками", различные возможности отлад-
чика.
Глава 5: Интегрированное окружение Турбо Си для разработки
программ. В этой главе объясняется работа с текстовым редактором,
интегрированным отладчиком и системным меню Турбо Си, а также об-
суждаются pick файлы и файлы конфигурации.
Глава 6: Программирование в Турбо Си. Знакомит с некоторыми
основными шагами создания и запуска программ Турбо Си на примере
последовательности коротких программ возрастающей сложности.
Глава 7: О некоторых особенностях программирования на Си.
Обзор дополнительных элементов языка Си, включая массивы, указа-
тели, структуры и операторы.
Глава 8: Видеофункции Турбо Си. Вводное сжатое обсуждение
видеорежимов и видеоокон, с последующим описанием программирова-
ния в текстовом и графическом режимах.
Глава 9: Замечания для программистов, работающих на Турбо
Паскале. На примерах конкретных программ сравниваются Турбо Си и
Турбо Паскаль. Описаны наиболее значительные различия двух языков
и приведены советы по избежанию распространенных ошибок.
Глава 10: Интерфейс между Турбо Си и Турбо Прологом. Показа-
но, как связывать между собой модули, написанные на Турбо Си, с
программами, написанными на Турбо Прологе. Приведено несколько
примеров, поясняющих этот процесс.
- 29,30 -
Глава 11: Руководство по языку Турбо Си. Перечислены все ас-
пекты и возможности данной реализации языка Си, отличающиеся от
определения, данного Керниганом и Ритчи, а также подробно описаны
расширения языка, не вошедшие в проект стандарта ANSI.
Глава 12: Тонкости программирования на Турбо Си. Дается под-
робная информация о программе начальной загрузки, организации па-
мяти в различных моделях памяти, арифметике указателей, взаимо-
действии с ассемблером и использовании чисел с плавающей точкой.
Том 2: Справочное руководство
-----------------------------------------------------------------
Справочное руководство предназначено для опытных программис-
тов; в нем описаны сведения, касающиеся конкретного исполнения
языка и рабочего окружения. Также, в алфавитном порядке, приведе-
но описание всех функций Турбо Си. Ниже дается краткое описание
содержания глав и приложений Справочного руководства: