Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Общие сведения о программах, лексемах и алфавите↑ Стр 1 из 16Следующая ⇒ Содержание книги
Поиск на нашем сайте
Основная программная единица на языке Си++ - это текстовый файл с названием имя.срр, где срр – принятое расширение для программ на Си++, а имя выбирается достаточно производно (желательно из восьми латинских символов без пробелов). Текст программы, написанный на алфавите языка Си++, состоит из лексических элементов, т.е. лексем, с помощью которых строятся выражения, определения, описания, операторы и т.д. Для распознавания начала и конца отдельных лексем используются пробельные разделители. К пробельным разделителям относятся собственно символы пробелов, символы табуляции, символы перехода на новую строку и также комментарии. Алфавит и лексемы языка Си++. В алфавит языка Си++ входят: · прописные и строчные буквы латинского алфавита; · цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9; · специальные знаки: “ {}, | [] () + = / % \; ‘:? < = > _! & # ~ ^. * Из символов алфавита формируются лексемы языка: · идентификаторы; · ключевые (служебные, иначе зарезервированные) слова; · константы; · знаки операций; · разделители (знаки пунктуации). Поскольку в алфавит языка Си++ не входят символы кириллицы, то, следовательно, нельзя их использовать при создании программ на этом языке.
Идентификаторы и служебные слова Идентификатор (имя) – последовательность из букв латинского алфавита, десятичных цифр и символов подчеркивания, начинающаяся не с цифры: Array, point1, a, point_2, Point_2, refer Прописные и строчные буквы различаются. Допустимое число символов в имени зависит от версии компилятора. Компиляторы фирмы Borland различают не более 32-х первых символов любого идентификатора. Ключевые (служебные) слова – это идентификаторы, зарезервированные в языке для специального использования. Ключевые слова Си++:
Для компиляторов фирмы Borland дополнительно введены ключевые слова:
Там же введены как служебные слова регистровые переменные:
Кроме того, идентификаторы, включающие два подряд символа подчёркивания (__), резервируются для дальнейших реализаций Си++ и стандартных библиотек. Идентификаторы, начинающиеся с символа подчёркивания (_), используются в реализациях языка Си. В связи с этим не рекомендуется выбирать идентификаторы, начинающиеся с одного или двух знаков подчёркивания.
Типы данных Понятие типа данных является одним из ключевых в языке программирования Си++. Любая переменная, константа, объект, определенный пользователем, неименованный объект, являющийся результатом выполнения какой-либо операции, всегда относится к какому-то типу. Зная тип объекта, всегда можно сказать сколько байт памяти отводится под объект, в каком диапазоне значений могут лежать значения объекта, какое множество операций определено над объектом данного типа, т.е. информация о типе объекта даёт нам представление о его свойствах. Для определения и описания типа объекта (переменной) используются следующие ключевые слова (имена типов): сhar (символьный); short (короткий целый); int (целый); long (длинный целый); float (вещественный); double (вещественный с удвоенной точностью); void (отсутствие значения). Перед именем символьного и целых типов может стоять ключевое слово signed (знаковый – значения объекта могут меняться от –N до N-1), или unsigned (беззнаковый - значения объекта могут меняться от 0 до 2*N-1), которое позволяет выбрать способ учёта знакового разряда. По умолчанию символьный и целые типы являются знаковыми, т.е., например, записи signed int и int являются полными синонимами, поэтому на практике ключевое слово signed почти не употребляется. Напротив, использование ключевого слова unsigned позволяет сделать символьный и целые типы беззнаковыми, поэтому оно используется довольно часто. В выражении unsigned int и signed int слово int можно опустить, компилятор будет подразумевать его по умолчанию. У вещественных данных также есть тип, состоящий из двух ключевых слов, long double, точность которого выше чем у double. Типы, введенные с помощью взятых по отдельности или в допустимом сочетании ключевых слов char, short, int, long, signed, unsigned, float, double, void, называются базовыми (фундаментальными, встроенными). Таблица фундаментальных типов и определенных для них языком Си++ свойств приведена ниже. Тип данных enum относится к целому типу данных, но иногда его выделяют в отдельный так называемый перечисляемый тип. Таблица 2.1 Таблица целых и вещественных типов данных
Из табл. 2.1 видно, например, что объект типа char является объектом символьного типа, занимает в памяти 1 байт и его значения лежать в диапазоне от –128 до 127. Обычно этот тип используется для небольших целых чисел и ASCII кодов. Количество значащих цифр - это количество цифр, которым представлено число. Так, в числе 2147483648 десять значащих цифр, в числе 0.789 четыре значащих цифры. Следует отметить, что объект типа long имеет больше значащих цифр, чем объект типа float. Поэтому при переходе от типа long к типу float может быть потеряна точность. Приведем примеры нескольких вариантов определения с помощью базовых типов переменных (объектов) различных типов (объектов): unsigned char sym; /*В этой строке определяется переменная sym типа unsigned char. Это значит, что переменная занимает в памяти 1 байт и диапазон её возможных значений лежит в интервале от 0 до 255 (см. табл. 2.1). Sym – это идентификатор (имя) переменной придуманное программистом. В конце строки программы стоит точка с запятой, символизирующая конец выражения. */ char Sm1, Sm2, Sm3 = 50; /*В строке программы определены три переменные типа char (свойства см. табл. 2.1). Sm1, Sm2, Sm3 – идентификаторы (имена) переменных. Переменная Sm3 инициализирована неименованной десятичной константой 50 типа int. Значение переменных Sm1, Sm2 неопределено, т. е. может быть любым числом в допустимом для этого типа диапазоне. */ double pi = 3.14159; /* Определена и инициализирована переменная pi типа double. Значение 3.14159 – это неименованная десятичная константа типа double. Как определить тип неименованной константы по её внешнему виду станет ясно при прочтении следующего параграфа. */ По аналогии с приведенными примерами можно вводить переменные и других базовых типов. Более подробное и полное описание таких понятий как определение, описание, область существования, области видимости переменных отложим на некоторое время.
Константы Константа – это лексема, представляющая изображение фиксированного числового, строкового или символьного значения. Константы бывают нескольких групп: целые, вещественные (с плавающей точкой), перечислимые, символьные и строковые. Компилятор при анализе текста программы определяет по «внешнему виду» и числовому значению, к какой группе относится константа. Целые константы могут быть десятичными, восьмеричными и шестнадцатеричными. Десятичная целая константа определена как последовательность десятичных цифр, начинающаяся не с нуля, если это не число нуль. Для компиляторов BC++ версии 3.11 диапазон допустимых целых положительных значений от 0 до 4294967295. Константы, превышающие указанное максимальное значение, вызывают ошибку на этапе компиляции. Отрицательные константы – это константы без знака, к которым применена операция изменения знака. Абсолютное значение отрицательных десятичных констант для BC++ 3.11 не должно превышать 2147483647. В табл. 2.2 приведены типы, выбираемые компилятором по умолчанию на основании значения констант. То есть, например, если константа лежит в диапазоне от 0 до 32767, то для неё по умолчанию будет выбран тип int.
Таблица 2.2
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-08-10; просмотров: 208; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.116.40.53 (0.009 с.) |