Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы.docx
Скачиваний:
335
Добавлен:
22.03.2016
Размер:
1.03 Mб
Скачать
  1. Понятие и виды лексем.

Лексема  минимальная единица языка, имеет самостоятельный смысл. (Например, for, while, +, -).

Различают 5 типов лексем:

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

Синтаксически правильный идентификатор – это последовательность латинских букв, цифр и символов «_» - нижнее подчеркивание, начинающаяся с буквы или символа «_».

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

Максимальная длина идентификатора в стандарте языка не установлена, однако, в некоторых компиляторах это значение ограничено 32 символами или может регулироваться с помощью настроек компилятора.

Использование в собственных идентификаторах в качестве первого символа «_» нежелательно, так как так обычно именуются различные системные объекты, и в ряде случаев может помешать переносимости программ с одного компилятора на другой. Обычно этот символ используется для выделения отдельных частей идентификаторов с целью обеспечения более удобного их восприятия.

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

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

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

3)знаки (символы) операций;

Служат для указания действий над операндами. В зависимости от количества операндов в C++ имеются унарные, бинарные и одна тернарная операции. Знаки операций могут изображаться одним или несколькими символами. Если операция содержит в своем изображении несколько символов, то между символами не должно быть пробелов. Некоторые операции в C++ в зависимости от контекста могут выполнять разные действия. Большинство стандартных операций можно переопределять (перегружать).

4)    Константы;

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

5)    Комментарии;

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

В C++ имеются комментарии двух видов: однострочные и многострочные.

Однострочный комментарий начинается двумя символами // (прямой косой черты) и заканчивается в конце строки текста программы.

Многострочный комментарий – начинается символами /* и заканчивается */ и может содержать множество строк. Многострочные комментарии не могут вкладываться друг в друга. Однострочные комментарии могут находиться внутри многострочных комментариев.

2. Структура и основные элементы программы

Любая C++ программа представляет собой одну или несколько функций. Вот пример простой программы с одной функцией, обеспечивающей вывод некоторого текста в консольное окно:

#include <iostream>

using namespace std;

int main()

{

cout << "Это пример программы на языке C++" << endl;

return 0;

}

Это исходный код программы (исходный код – это текст, написанный на одном из языков высокого уровня – в данном случае – на языке C++). Его нельзя выполнить. Для выполнения программы с помощью компилятора надо получить результирующую программу (объектный код).

Таким образом, необходимо выполнить следующие действия:

1. написать текст программы (создать исходный код);

2. откомпилировать этот текст (получить объектный код результирующей программы);

3. выполнить результирующую программу.

Особенности выполнения этих действий существенно зависят от используемой системы программирования.

Программа, приведенная выше, имеет несколько недостатков:

1. При ее выполнении в большинстве случаев (в зависимости от используемой среды программирования) невозможно увидеть результат ее работы;

2. Выведенный в консольное окно текст на русском языке будет нечитабельным.

Вот второй вариант этой же программы, лишенный этих недостатков:

#include <iostream> /* Директива препроцессору включить в текст заголовочный файл библиотеки классов C++ для управления вводом – выводом */

using namespace std; /* Директива компилятору использовать пространство имен std стандартной библиотеки С++ */

int main() // Основная функция программы – начало выполнения программы

{

setlocale(0, ""); // Установка локальных настроек на вывод русского текста

cout << "Это пример программы на языке С++" << endl; // Вывод на экран

system("Pause"); // Приостановка выполнения программы

return 0; // Выход из функции и из программы

3.Общее понятие типов данных

Тип данных для каждого программного объекта, представляющего данные, определяет:

• характер данных (число, со знаком или без знака, целое или с дробной частью, одиночный символ или текст, представляющий последовательность символов и т.д.);

• объем памяти, который занимают в памяти эти данные;

• диапазон или множество возможных значений;

• правила обработки этих данных (например, допустимые операции).

4. Переменные и константы

В программах данные представлены константами и переменными.

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

Общее правил определения переменной можно сформулировать так:

[класс памяти] <тип данных> <идентификатор - имя> [инициализатор];

Константа – это величина, значение которой в процессе работы программы не изменяется.

Константы бывают двух видов: константы – литералы и именованные константы.

Константы – литералы представляют собой сами значения. Например:

123 -245 0.003 -12.45 ’R’ ”Это текст”

Тип данных, которому принадлежит констант – литера, определяется компилятором автоматически по виду самого значения. Способы записи констант – литералов разных типов будет рассмотрены позже при изучении соответствующих типов данных.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]