Программирование >>  Обработка исключительных ситуаций 

1 ... 3 4 5 [ 6 ] 7 8 9 ... 142


Глава 2

Основные понятия языка

В этой главе рассматриваются элементарные строительные блоки языка С#, вводится понятие типа данных и приводится несколько классификаций типов.

Состав языка

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

Алфавит и лексемы

Все тексты на языке пишутся с помощью его алфавита. Например, в русском языке один алфавит (набор символов), а в албанском - другой. В С# используется кодировка символов Unicode. Давайте разберемся, что это такое.

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

Существует множество различных кодировок символов. Например, в Windows часто используется кодировка ANSI, а конкретно - СР1251. Каждый символ представляется в ней одним байтом (8 бит), поэтому в этой кодировке можно одновременно задать только 256 символов. В первой половине кодовой таблицы находятся латинские буквы, цифры, знаки арифметических операций и другие распространенные символы. Вторую половину занимают символы русского алфа-



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

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

Алфавит С# включает:

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

цифры;

специальные символы, например +, *, { и &;

пробельные символы (пробел и символы табуляции);

символы перевода строки.

Из символов составляются более крупные строительные блоки: лексемы, директивы препроцессора и комментарии.

Лексема (token1) -это минимальная единица языка, имеющая самостоятельный смысл. Существуют следующие виды лексем:

имена {идентификаторы);

ключевые слова;

знаки операций;

разделители;

литералы (константы).

Лексемы языка программирования аналогичны словам естественного языка. Например, лексемами являются число 128 (но не его часть 12), имя Vasia, ключевое слово goto и знак операции сложения +. Далее мы рассмотрим лексемы подробнее.

Директивы препроцессора пришли в С# из его предшественника - языка С+ + . Препроцессором называется предварительная стадия компиляции, на которой формируется окончательный вид исходного текста программы. Например, с помощью директив (инструкций, команд) препроцессора можно включить или в1-ключить из процесса компиляции фрагменты кода. Директивы препроцессора не играют в С# такой важной роли, как в С++ . Мы рассмотрим их в свое время - в разделе Директивы препроцессора (см. с. 287).

Комментарии предназначены для записи пояснений к программе и формирования документации. Правила записи комментариев описаны далее в этом разделе.

Из лексем составляются выражения и операторы. Выражение задает правило вычисления некоторого значения. Например, выражение а + b задает правило вычисления суммы двух величин.

Часто это слово ленятся переводить и пишут просто токен .



ПРИМЕЧАНИЕ-

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

Оператор задает законченное описание некоторого действия, данных или элемента программы. Например:

int а:

Это - оператор описания целочисленной переменной а.

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

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

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

В идентификаторах С# разрешается использовать помимо латинских букв буквы национальных алфавитов. Например, Пёсик или gg являются правильными идентификаторами . Более того, в идентификаторах можно применять даже так называемые escape-последовательности Unicode, то есть представлять символ с помощью его кода в шестнадцатеричном виде с префиксом \и, например, \u00F2.

ПРИМЕЧАНИЕ-

Примеры неправильных имен: 21 ate, Big gig, Б#г; первое начинается с цифры, второе и третье содержат недопустимые символы (пробел и #).

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

идентификатор не должен совпадать с ключевыми словами (см. следующий раздел) ;

1 Другое дело, захочется ли вам при вводе текста программы все время переключать регистр. Пример программы, в которой в именах используется кириллица, приведен на с. 182. Впрочем, для использования ключевого слова в качестве идентификатора его достаточно предварить символом @. Например, правильным будет идентификатор @i f.



1 ... 3 4 5 [ 6 ] 7 8 9 ... 142

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика