Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Общие сведения о программах, лексемах и алфавитеСодержание книги
Поиск на нашем сайте Основная программная единица на языке Си++ - это текстовый файл с названием имя.срр, где срр – принятое расширение для программ на Си++, а имя выбирается достаточно производно (желательно из восьми латинских символов без пробелов). Текст программы, написанный на алфавите языка Си++, состоит из лексических элементов, т.е. лексем, с помощью которых строятся выражения, определения, описания, операторы и т.д. Для распознавания начала и конца отдельных лексем используются пробельные разделители. К пробельным разделителям относятся собственно символы пробелов, символы табуляции, символы перехода на новую строку и также комментарии. Алфавит и лексемы языка Си++. В алфавит языка Си++ входят: · прописные и строчные буквы латинского алфавита; · цифры 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; просмотров: 327; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.01 с.) |