Главная » 2013 » Февраль » 11 » 3. Основы языка Си++
20:19
3. Основы языка Си++

Алфавит языка


Алфавит C++ включает:
-    прописные и строчные латинские буквы, причем прописная и строчная буквы – это разные символы;
-    знак подчеркивания;
-    арабские цифры от 0 до 9;
-    специальные знаки:
-    " { } ,  |  [ ]  ( )  +   -   /   %   *  .  \  :  ‘  ?  <   =   >   !   &   #   ~   ;   ^
-    пробельные символы: пробел, символы табуляции, символы перехода на новую строку.
-    Из символов алфавита формируются лексемы языка:
-    идентификаторы;
-    ключевые (зарезервированные) слова;
-    знаки операций;
-    константы;
-    разделители (специальные знаки, пробельные символы).
Границы лексем определяются другими лексемами, такими, как разделители или знаки операций.

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


Идентификатор – это имя программного объекта ( имя переменной, имя функции, метка). В идентификаторе могут использоваться латинские буквы, цифры и знак подчеркивания. Прописные и строчные буквы различаются, например, sysop, SySoP и SYSOP – три различных имени. Первым символом идентификатора может быть буква или знак подчеркивания, но не цифра. Пробелы внутри имен не допускаются.
Для улучшения читаемости программы следует давать объектам осмысленные имена. Существует соглашение о правилах создания имен, называемое венгерской нотацией (поскольку предложил ее сотрудник компании Microsoft венгр по национальности), по которому каждое слово, составляющее идентификатор, начинается с прописной буквы, а вначале ставится префикс, соответствующий типу величины, например, iMaxLength, lpfnSetFirstDialog. Другая традиция – разделять слова, составляющие имя, знаками подчеркивания: max_length, number_of_galosh.
Длина идентификатора по стандарту языка не ограничена, но компиляторы и компоновщики налагают на нее ограничения. При выборе идентификатора необходимо иметь в виду следующее:
-    идентификатор не должен совпадать с ключевыми словами и именами используемых стандартных объектов языка;
-    не рекомендуется начинать идентификаторы с символа подчеркивания, поскольку они могут совпасть с именами системных функций или переменных;

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


Ключевые слова – это зарезервированные идентификаторы, которые имеют специальное значение для компилятора. Их можно использовать только в том смысле, в котором они определены. Список ключевых слов C++ приведен в таблице I.1 Приложения I.

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


Знак операции – это один или более символов, определяющих действие над операндами. Операндами называются объекты, на которые направлена операция. Например:



Здесь x и 5 операнды, + операция, а y – результат операции.
 Внутри знака операции пробелы не допускаются. Операции делятся на унарные (действия с одним операндом), бинарные (действия с двумя операндами) и тернарные(действия с тремя операндами). Один и тот же знак может интерпретироваться по-разному в зависимости от контекста. Все знаки операций за исключением [ ], ( ) и ? : представляют собой отдельные лексемы.

Константы

Константами называют неизменяемые величины. Константы бывают литеральными (литералами) и типизированными. Литеральные константы характеризуются только своей величиной и неадресуемы. Типизированные константы имеют адрес и величину. Литеральные константы различаются на целые, вещественные (с плавающей точкой), символьные и строковые константы. Компилятор, выделив литеральную константу в качестве лексемы, относит ее к одному из типов по ее внешнему виду.
Форматы констант, соответствующие каждому типу, приведены втаблице I.2 Приложения I. Просмотрите их прямо сейчас.
Если требуется сформировать отрицательную целую или вещественную константу, то перед константой ставится знак унарной операции изменения знака (-), например: -218, -022, -0хЗС, -4.8, -0.1е4.
Вещественная константа в экспоненциальном формате представляется в виде мантиссы и порядка. Мантисса записывается слева от знака экспоненты (Е или е), порядок – справа от знака. Значение константы определяется как произведение мантиссы и возведенного в указанную в порядке степень числа 10. Пробелы внутри числа не допускаются, а для отделения целой части от дробной используется не запятая, а точка.
Символьные константы, состоящие из одного символа, занимают в памяти один байт и имеют стандартный тип char. Двухсимвольные константы занимают два байта и имеют тип int, при этом первый символ размещается в байте с меньшим адресом (о типах данных рассказывается в разделе 2.7).
Последовательности символов, начинающиеся с обратной косой черты, называют управляющими, или escape-последовательностями (таблица I.3 Приложения I). Символ обратной косой черты используется для представления:
-    кодов, не имеющих графического изображения (например, \а – звуковой сигнал, \n – перевод курсора в начало следующей строки);
-    символов апострофа ( ' ), обратной косой черты ( \ ), знака вопроса (?) и кавычки (");
-    любого символа с помощью его шестнадцатеричного или восьмеричного кода, например, \073, \0xF5. Числовое значение должно находиться в диапазоне от 0 до 255.
Управляющая последовательность интерпретируется как одиночный символ. Если непосредственно за обратной косой чертой следует символ, не предусмотренный табл. I.3 Приложения I, результат интерпретации не определен. Если в последовательности цифр встречается недопустимая, она считается концом цифрового кода.
Управляющие последовательности могут использоваться и в строковых константах, называемых иначе строковыми литералами. Например, если внутри строки требуется записать кавычку, ее предваряют косой чертой, по которой компилятор отличает ее от кавычки, ограничивающей строку:
"Издательский дом \"Питер\""
Все строковые литералы рассматриваются компилятором как различные объекты. Две одинаковые строки будут занимать две различные области памяти.
Длинную строковую константу можно разместить на нескольких строках, используя в качестве знака переноса обратную косую черту, за которой следует перевод строки. Эти символы игнорируются компилятором, а следующая строка воспринимается как продолжение предыдущей. Например, строка
"Никто не доволен своей \
 внешностью, но все довольны \
 своим умом"
полностью эквивалентна строке
"Никто не доволен своей внешностью, но все довольны своим умом".
Строковый литерал представляется массивом символов и в конец каждого строкового литерала компилятором добавляется нулевой символ, представляемый управляющей последовательностью \0. Поэтому длина строки всегда на единицу больше количества символов в ее записи.
 Пустая символьная константа недопустима.

Комментарии

Комментарии помогают при чтении программ. Их наличие в программе можно отнести к правилам хорошего тона программистов. В них можно сформулировать алгоритм функции, указать назначение переменных и пояснить, что выполняется в данной части программы. Комментарии не влияют на размер выполняемой программы. Компилятор удаляет их до генерации кода.
Комментарий либо начинается с двух символов  //  и заканчивается символом перехода на новую строку, либо заключается между символами-скобками /* и */. Примеры:

/ *
Простейшая консольная программа C++Builder.
Выводит на экран "Hello World" и ждет, пока
пользователь не нажмет какую-нибудь клавишу.
*/

getch();     //Ожидание нажатия клавиши.

 Пару символов, которая ограничивает комментарии обоих видов, нельзя разбивать пробелом. Внутри комментария можно использовать любые допустимые на данном компьютере символы, а не только символы из алфавита языка C++, поскольку компилятор комментарии игнорирует. Вложенные комментарии стандартом не допускаются, хотя в некоторых компиляторах разрешены.
Рекомендуется использовать для пояснений //, а скобки /*   */ применять для временного исключения блоков кода при отладке.
Категория: С++ Builder | Просмотров: 754 | Добавил: Andre99 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]