Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
42
Добавлен:
16.02.2016
Размер:
91.14 Кб
Скачать

Карасев Н.И.

Методология объектно-ориентированного программирования

Обзорные лекции по курсу

Лекция 2. Лексические основы C++. Скалярные типы и выражения

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

Содержание лекции:

1.Лексические основы: алфавит, лексемы, идентификаторы, предложения

2.Типы и модели данных. Основные и производные типы.

3. Переменные и константы. Определения и описания. Выражения и преобразования типов.

Лексические основы

Программа на С++ - это текст на формальном языке, описывающий некоторый процесс обработки данных в терминах синтаксических конструкций языка С++, имеющих предопределенный смысл(семантику). Схема построения языка С++ типична для формальных языков высокого уровня: Алфавит → Лексемы → Скалярные типы и выражения → Операторы → Адреса, указатели, массивы, память → Функции, классы, объекты.

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

Алфавит С++включает: все прописные и строчные буквы латинского алфавита, арабские цифры и специальные знаки:{} , [] () + - / % " | \ ; : ‘ ? < = > _ ! & # ^ . * ~

Лексемы С++включают:

♦Идентификаторы;

♦Ключевые(служебные) слова;

♦Константы;

♦Знаки операций;

♦Знаки пунктуации(разделители).

Идентификатор –последовательность из букв латинского алфавита, десятичных цифр и символов подчеркивания, начинающаяся не с цифры:pusk RUN Vvod_36 RU86

Прописные и строчные буквы различаются. На длину идентификатора конкретные реализации компиляторов накладывают ограничения. Идентификатор - основной синтаксический инструмент для формирования имен.

Ключевые(служебные) словаС++– это идентификаторы, зарезервированные в языке для внутреннего использования. Всего зарезервировано около 50 слов:char do long for class const return void while и т.д.Ключевые слова запрещено использовать программисту в качестве произвольных имен. Кроме этого программисту не рекомендуется выбирать идентификаторы, начинающиеся с одинарного или двойного символа подчеркивания, так как эти символы зарезервированы для реализаций С++ и стандартных библиотек.

Разделители или знаки пунктуации – это лексемы С++, используемые при построении из лексем более сложных синтаксических конструкций языка:( ) {} [] # & : : и т.д.).

Знаки операций – это лексемы, которые обеспечивают формирование и последующее вычисление выражений, определяющих правила для получения значений обрабатываемых данных. Один и тот же знак операции может употребляться в различных выражениях и по-разному интерпретироваться в зависимости от контекста. В С++ введены наборыунарных(один операнд: +a i++ !M и т.д.) и бинарных(два операнда: a>b M += N y*x и т.д.) операций.

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

Соседние файлы в папке ЛекцииКарасева