46019 (665326), страница 2

Файл №665326 46019 (Turbo C++ Programer`s guide) 2 страница46019 (665326) страница 22016-07-31СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

Данное руководство содержит материалы для углубленного изучения программирования и предназначено для тех, кто уже хорошо умеет программировать (на C, либо на другом языке программирования). Здесь содержится справочник по языку C, перекрестные ссылки по библиотеке исполняющей системы и информациЯ по программированию с использованием потоков C++, моделей памяти, плавающей точки, оверлеев, видео-функций, интерфейса с языком ассемблера, а также сообщения об ошибках исполняющей системы и компилятора.

Прочесть документ "Начало работы" следует, если:

1. Вы ранее никогда не программировали ни на одном языке.

2. Вы ранее программировали, но не на C, и желаете прочесть введение в язык C.

3. Вам нужна информация о том, как установить на компьютере Turbo C++.

В Руководстве пользователя находится информация об интегрированной среде Turbo (включая редактор), администраторе управляющей системы, компиляторе командной строки, дополняющих Turbo C++ утилитах и макроязыке редактора Turbo.

Справочник по библиотеке содержит в алфавитном порядке листинг функций и глобальных переменных Turbo C++.

Содержание данного руководства

Глава 1:"Стандарт языка Turbo C++" описывает язык Turbo C++. Здесь приводятся все отличия от стандарта ANSI C. Данная глава также включает справочник по языкам C и C++.

Глава 2: "Перекрестные ссылки по библиотеке управляющей системы" содержит информацию об исходных кодах библиотеки исполняющей системы. Здесь также описаны файлы заголовков и приводятся перекрестные ссылки по библиотеке управляющей системы, организованные по субъектам библиотеки. Например, если вы хотите выяснить, какие функции относятся к графике, вы должны обратиться к разделу данной главы "Графика".

Глава 3:"Потоки C++" рассказывает, как использовать библиотеку потоков C++.

Глава 4:"Модели памяти, операции с плавающей точкой и оверлеи" рассматривает модели памяти, программирование со смешанными моделями памяти, вычисления с плавающей точкой и оверлеями.

Глава 5:"Видео-функции" посвящена обработке в Turbo C++ текстов и графических изображений.

Глава 6:"Интерфейс с языком ассемблера" говорит о том, как нужно писать программы на языке ассемблера, чтобы они правильно работали при вызове из программ на Turbo C++.

Глава 7: "Сообщения об ошибках" перечисляет и объясняет все фатальные ошибки, ошибки и предупреждения исполняющей системы и компилятора, а также дает возможные рекомендации по их устранению.

Приложение А: "Стандарты ANSI, зависимые от реализации" описывает те аспекты стандарта ANSI C, которые были определены с некоторой степенью свободы или не были определены вообще в стандарте ANSI. Следовательно, эти аспекты могут варьироваться в зависимости от конкретной реализации. Данное приложение сообщает о том, как Turbo C++ поступает в отношении каждого из этих аспектов.

Глава 1 Стандарт языка Turbo C++

В данной главе дается подробное справочноеруководство программиста по языку Turbo C++. Оно не является руководством по изучению языка, а скорее формальным описанием языков C и C++ в их реализации программным продуктом Turbo C++. В данной главе описываются грамматические правила записи структуры фраз и лексики языка, а также дается подробное изложение имеющихся директив препроцессора. При формулировке синтаксиса используется модифицированная запись Бэкуса-Науэра,при необходимости сопровождаемая кратким описанием и примерами программ.

Turbo C++ реализует стандарт ANSI C, разработанный техническим комитетом X3J11 между июнем 1983 и декабрем 1988 гг., с некоторыми расширениями, оговариваемыми вданномтексте. Вы имеете возможность устанавливать опции компилятора, которые будут предупреждать вас о том, чтотакие расширения встретилисьпри работе компилятора. Вы можете также настроить компилятор таким образом, чтобы он рассматривал ключевые слова расширений Turbo C++ в качестве нормальных идентификаторов (см. Главу 4,"Компилятор командной строки", в Руководстве пользователя).

Существуют также "согласующие" расширения, включаемые посредством директив #pragma, предлагаемых стандартом ANSI C, предназначенные для работы с нестандартными, зависимыми от конкретной реализации средствами языка.

Turbo C++ является также полной реализацией AT&TC++ версии 2.00, объектно-ориентированного надмножества C, разработанного Бьерном Строструпом из AT&T Bell Laboratories. Помимо того,что C++ дополняет C многими новыми средствами и возможностями, он также и отличен от него в большей или меньшей степени. В настоящей главе содержатся замечания по этим отличиям. Все средства языка Turbo C++,имеющие отклонения от C++, более подробно рассматриваются, начиная со страницы 98.

Синтаксис и терминология

Синтаксические определения состоят из имени определяемого в настоящий момент и не определенного где-либо выше термина, за которым следует двоеточие (:). Альтернативы обычно следуют за этим в отдельных строках, но могут также помещаться и в одной строке; в таком случае им предшествует фраза "одно из". Например,

внешнее-определение:

определение-функции

объявление

восьмеричная цифра: одно из

0 1 2 3 4 5 6 7

Опциональные элементы конструкции заключаются в угловые скобки:

целочисленный-суффикс:

суффикс-целого-без-знака

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

Грамматические правила структуры фраз и лексики языка

Грамматические правила лексикиязыка Turbo C++ описаны на стр. 5 - 58 оригинала; грамматические правила структуры фраз Turbo C++ описаны на стр. 58 - 98 оригинала.

Грамматические правила лексики языка рассматриваются с точки зрения существованияразличных категорий слово-ориентированных языковых единиц,называемых лексемами, распознаваемых компилятором. Грамматические правила структуры фраз подробно определяют допустимые способы группирования этих лексем в выражения, операторы и прочие смысловые единицы языка.

Лексемы Turbo C++ образуются из последовательности операций, выполняемых с вашейпрограммой компилятором и препроцессором языка.

Программа на Turbo C++ начинает свое существованиекак последовательность ACSII-символов,представляющих собой ее исходный код, создаваемый нажатиями клавиш при работе в подходящем текстовом редакторе (например, в собственном редакторе Turbo C++). Базовая программная единица в Turbo C++ представляет собой файл. Обычно такойфайл соответствует файлу DOS, находящемуся в оперативной памяти или на диске и имеющему созданное по правилам DOS имя и расширение .C или . CPP.

Сначала выполняется просмотр текста программы препроцессором, который ищет в нем специальные директивы препроцессора (см. стр. 133 оригинала). Например, директива #include добавляет (или включает) впрограмму перед фазой компиляции содержимое файла . Препроцессор также выполняет расширение любых встреченных в программах или файлах включения макросов.

Пробельные символы

На фазе компиляции, отвечающей за распознавание лексем, файл исходного кода программы подвергается лексическому анализу (т.е. разбиению налексемы и пробелы). Пробельными будут обобщенно именоваться собственно символы пробелов, горизонтальные и вертикальныесимволы табуляции, символы новой строки и комментарии. Пробельные символы служат для обозначения мест начала и конца лексем, и сверх этой функции, для исключения из компиляции всех избыточных символов, не входящих в состав лексем. Например, следующие две последовательности,

int i; float f;

и

int i ;

float f;

лексически идентичны, а их лексический анализ в обоих случаях дает шесть лексем:

int i ; float f ;

ASCII-символы, обычно рассматриваемые как пробельные, могут входить в строки литералов, и в данном случаебудут защищены от нормального процессаразбиения на лексемыи пробелы; другими словами, они станут представлять собой часть строки:

char name[] = "Borland International";

разбивается на семь лексем, включая и лексему строки литералов "Borland International".

"Склеивание" строк символом \

Имеется специальный случай, когда передпоследним символом новойстрокинаходится символ наклонной черты влево (\). В таком случае символы наклонной черты влево и символ новой строки отбрасываются, что позволяет рассматривать две физические строки текста как единое целое.

"Borland \

International"

будет рассматриваться как "Borland International" (дополнительную информацию см. на стр. 17 оригинала, "Строковые литералы"

Комментарии

Комментарии представляют собой текстовые части, предназначенные для аннотирования программы.Комментарии используются исключительно самим программистом; передлексическим анализом они исключаются из исходного текста программы.

Существует два способа указания на комментарии: традиционный метод C и метод C++. Они оба поддерживаются Turbo C+ +, и кроме того, имеется дополнительное, опциональное расширение, позволяющее организовывать вложенные комментарии. Разрешается смешанное и комбинированное использование комментариев любого типа в программах C и C++.

Комментарии C

Традиционный комментарий C представляет собой любую последовательность символов, помещаемую послепары символов/*. Признаком конца комментарияслужитперваяпара символов* /, встретившаяся после исходной пары /*. После выполнения макрорасширения вся эта последовательность целиком, включая четыре разделительных символа комментария,заменяется на один пробел. Отметим, чтонекоторые реализации C удаляют комментарии, не заменяя их на пробелы.

Turbo C++ не поддерживает не-мобильной стратегии вставки лексем с помощью /**/. Вставка лексем в Turbo C++ выполняетсяпри помощи заданной ANSI пары символов ##, следующим образом:

#define VAR(i,j) (i/**/j) /* не будет работать */ #define VAR(i,j) (i##j) /* в Turbo C++ будет работать */

#define VAR(i,j) (i ## j) /* также будет работать */

В Turbo C++

int /* объявление */ i /* как счетчика */;

после лексического анализа даст

int i ;

то есть три лексемы: Int I ;

Вложенные комментарии

ANSI C не разрешаетвложенность комментариев. Попытка комментировать приведенную выше строку в виде

/*int /* объявление */ i /как счетчика */; */

окончится неудачей, поскольку область действия первой пары /* будет ограничена первой парой */. Это даст в результате лексического анализа

i ; */

что приведет к генерированию состояния синтаксической ошибки.

По умолчанию Turbo C++ не позволяет вложенность комментариев, однако это умолчание может быть переопределено опцией компилятора. Разрешить вложенность комментариев можно либо при помощи опции -C (компилятора командной строки), либо через меню интегрированной среды программирования O\!C\!Source Options.

Комментарии C++

Для создания вкоде C комментариеввы можете также использовать символы //. Это средство специфично для Turbo C++.

C++ позволяетсоздание размещаемого в одной строке комментария при помощи двух подряд следующихсимволов наклонной черты(//). Такой комментарий может начинаться в любой позиции строки, и включает в себя все, что расположено до символа новой строки:

class X (* // это комментарий

... *);

Разделители комментариев и пробелы

В редких случаях пробелы перед /* и // или после */, хотя и не являются синтаксически обязательными, нопозволяют избежать проблем, связанных с мобильностью. Например, код C++

int i = j//* деление на k*/k;

+m;

при лексическом анализе дастint i = j +m; а не

int i = j/k;

+m;

как это можно было бы ожидать по традиционным соглашениям C. Более удобочитаемая форма

int i = j/ /* деление на k*/ k;

+m;

позволяет избежать этой проблемы.

Лексемы

Turbo C++ распознает лексемы шести классов: ключевые слова, идентификаторы, константы, строковые литералы, операции и знаки пунктуации (также называемые разделителями). Формальное описание лексемы имеет следующий вид:

лексема:

ключевое слово

идентификатор

константа

строковый литерал

операция

знак пунктуации

Во время лексического анализа исходного кода лексемы выделяются методом, при котором из строки символов обязательно выбирается лексема максимальной длины. Например, слово external будетрассматриваться как отдельный идентификатор, а некак ключевое слово extern, за которым следует идентификатор al.

Ключевые слова

Ключевыми словами называются слова, зарезервированныедля специальных целей, которые не должны использоваться в качестве обычных имен идентификаторов. В следующих двух таблицах приводятся ключевые слова Turbo C++. Вы можете использовать опции компилятора командной строки (или опции в IDE), чтобы выбрать только ключевые словаANSI, ключевые слова UNIX и т.д. Информацию об этих опциях см. в главах 1, "Справочник IDE", и 4, "Компилятор командной строки" в Руководстве пользователя.

Все ключевые слова Turbo C++ Таблица 1.1

asm _ds interrupt short

auto else _loadds signed

break enum long sizeof

Характеристики

Тип файла
Документ
Размер
2,71 Mb
Тип материала
Учебное заведение
Неизвестно

Список файлов реферата

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6511
Авторов
на СтудИзбе
302
Средний доход
с одного платного файла
Обучение Подробнее