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




Скачати 92.69 Kb.
НазваЛекция Основные понятия языка
Дата конвертації19.09.2014
Розмір92.69 Kb.
ТипЛекция
mir.zavantag.com > Информатика > Лекция
Лекция 2. Основные понятия языка

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

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

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

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

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

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

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

  • цифры;

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

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

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

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

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

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

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

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

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

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

Лексемы языка программирования аналогичны словам естественного языка.

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

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

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

ПРИМЕЧАНИЕ———————————————————————————————

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

Оператор задаёт законченное описание некоторого действия, данных или элемента программы. Например: int a; // это – оператор описания целочисленной переменной а.

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

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

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

ПРИМЕЧАНИЕ———————————————————————————————

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

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

  • идентификатор не должен совпадать с ключевыми словами;

  • не рекомендуется начинать идентификаторы с двух символов подчёркивания, поскольку такие имена зарезервированы для служебного использования.

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

Ключевые слова - это зарезервированные идентификаторы, которые имеют специальное значение для компилятора. Их можно использовать только в том смысле, в котором они определены. Список ключевых слов С# приведен в таблице 2.1.

^ Знаки операций и разделители

Знак операции — это один или более символов, определяющих действие над операндами. Внутри знака операции пробелы не допускаются. Например, в выражении а+=b знак += является знаком операции, а а и b — операндами. Символы, составляющие знак операций, могут быть как специальными, например, &&, | и <, так и буквенными, такими как as или new.

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

Таблица 2.1 - Ключевые слова С#

break

checked

default

ehum

finally

goto

interface

namespace

out

public

sealed

string

true

unchecked

void.bool

char

decimal

else

false

foreach

int

long

operator

protected

sbyte

static

throw

ulong

virtual

base

catch

continue

double

extern

for

in

lock

object

private

return

stackalloc

this

uint

using as

case

const

do

explicit

float

implicit

is

null

params

ref

sizeof

switch

typeof

ushort

while

abstract

byte

class

delegate

event

fixed

if

internal

new

override

readonly

short

struct

try

unsafe

volatile


Разделители используются для разделения или, наоборот, группирования элементов. Примеры разделителей: скобки, точка, запятая. Ниже перечислены все знаки операций и разделители, использующиеся в С#:

{ } [ ] ( ) . , : ; + - * / % & | ^ ! ~ =

< > ? ++ -- && << >> == != <= >= += -= *= /= %=

&= |= ^= <<= >>= ->

Литералы

Литералами, или константами, называют неизменяемые величины. В С# есть логические, целые, вещественные, символьные и строковые константы, а также константа null. Компилятор, выделив константу в качестве лексемы, относит ее к одному из типов данных по ее внешнему виду.

Описание и примеры констант каждого типа приведены в таблице 2.2.

^ Таблица 2.2 - Константы С#

Константа Описание Примеры



Рассмотрим литералы, представленные в таблице. 2.2 более подробно.

Логических литералов всего два. Они широко используются в качестве признаков наличия или отсутствия чего-либо.

Целые литералы могут быть представлены либо в десятичной, либо в шестнадцатеричной системе счисления, а вещественные — только в десятичной системе, но в двух формах: с фиксированной точкой и с порядком. Вещественная константа c порядком представляется в виде мантиссы и порядка. Мантисса записывается слева от знака экспоненты (Е или е), порядок — справа от знака. Значение константы определяется как произведение мантиссы и возведенного в указанную в порядке степень числа 10 (например, 1.3е2 = 1,3*102 = 130). При записи вещественного числа могут быть опущены либо целая часть, либо дробная, но, конечно, не обе сразу.

ПРИМЕЧАНИЕ ————————————————————————————————

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

Если требуется сформировать отрицательную целую или вещественную константу, то перед ней ставится знак унарной операции изменения знака (-), например:

-218, -022, -0хЗС, -4.8, -0.1е4.

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

^ Таблица 2.3 - Суффиксы целых и вещественных констант

Суффикс Значение




Символьная константа представляет собой любой символ в кодировке Unicode. Символьные константы записываются в одной из четырех форм, представлен­ных в таблице 2.2:

  • «обычный» символ, имеющий графическое представление (кроме апострофа и символа перевода строки) - ' А', ' ю', ' *';

  • управляющая последовательность – '\0', ' \n';

  • - символ в виде шестнадцатеричного кода — '\xF', '\х74';

  • - символ в виде escape-последовательности Unicode — ' \uA81B'.

Управляющей последовательностью, или простой escape-последовательностью, называют определенный символ, предваряемый обратной косой чертой. Управляющая последовательность интерпретируется как одиночный символ и используется для представления:

  • кодов, не имеющих графического изображения (например, \n — переход в начало следующей строки);

  • символов, имеющих специальное значение в строковых и символьных литералах, например, апострофа '.

В таблице 2.4 приведены допустимые значения последовательностей. Если непосредственно за обратной косой чертой следует символ, не предусмотренный таблицей, возникает ошибка компиляции.

Таблица 2.4 Управляющие последовательности С#

\a-звуковой сигнал

\b-возврат на шаг

\f-перевод страницы (формата)

\n-перевод строки

\r-возврат каретки

\t-горизонтальная табуляция

\v-вертикальная табуляция

\\ - обратная косая черта

\’-апостроф

\”-кавычка

\0-нуль-символ

Символ, представленный в виде шестнадцатеричного кода начинается с префикса \0x, за которым следует код символа.

Escape-последовательности Unicode служат для представления символа с помощью его кода в шестнадцатеричном виде с префиксом \u или \U (например \u00F2, \U00010011).

Управляющие последовательности могут использоваться и в строковых константах, например если требуется вывести несколько строк их объединяют в один литерал, отделив одну строку от другой управляющей последовательность. \n:

^ Никто не доволен своей \n внешностью, но каждый доволен \n своим умом”

Если же внутри строки требуется использовать кавычку, ее предваряют косой чертой:

^ Издательский дом \”Питер\” ”

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

@ ”Никто не доволен своей

внешностью, но каждый доволен

своим умом”

@”Издательский дом “Питер” “

Комментарии. В С# существует 3 вида комментариев – однострочные, многострочные и XML комментарии. Однострочный комментарий начинается с // и заканчивается символом перехода на новую строку. Многострочный комментарий заключается в /* */ и может занимать часть строки, целую строку или несколько строк. Формирование документации в формате XML используют комментарии, начинающиеся с ///. Компилятор извлекает эти комментарии из программы, проверяет на соответствие правилам и записывает в отдельный файл.


Схожі:

Лекция Основные понятия языка iconОсновные гипотезы происхождения языка
Существует много теорий о происхождении языка, которые можно разделить на две основные группы: 1 биологические, 2 социальные
Лекция Основные понятия языка iconВопросы к экзамену по лексикологии (озо, 2 курс) Лексикология как...
Слово – основная единица языка. Основные свойства слова как значимой единицы языка. Структура содержания слова (ЛЗ, гз, внутренняя...
Лекция Основные понятия языка icon1. Основные понятия инвестирования
Введение: цель и задачи курса, предмет и методы изучения курса, связь с другими дисциплинами, рекомендованная литература. Основные...
Лекция Основные понятия языка iconЛекция №1 тема: основные понятия и определения бжд. Взаимодействие человека с окружающей средой
Тема: основные понятия и определения бжд. Взаимодействие человека с окружающей средой
Лекция Основные понятия языка iconAnnotation
Тогда эта книга — для вас. Александра МадунцПредисловие,Лекция первая,Лекция вторая,Лекция третья,Лекция четвертая,Лекция пятая,Лекция...
Лекция Основные понятия языка iconЛекция Понятие и сущность деградации почв. Виды деградационных процессов
Основные понятия Деградация почв, начиная со времен ранних земледельческих цивилизаций, является непреднамеренным последствием земледелия...
Лекция Основные понятия языка iconВопросы к экзамену по исторической грамматике Предмет исторической...
Основные особенности фонетической системы древнерусского языка к моменту начала письменности (к. 10-нач. 11 вв.). Фонетическая структура...
Лекция Основные понятия языка iconЛекция Операторы языка C# Состав операторов языка C#, их синтаксис...
Состав операторов языка C#, их синтаксис и семантика унаследованы от языка С++. Любое выражение, завершающееся точкой с запятой является...
Лекция Основные понятия языка iconЛекция анализ имущественного состояния предприятия
Эффективность деятельности предприятия и его финансовая устойчивость в значительной степени зависят от того, каким имуществом располагает...
Лекция Основные понятия языка iconКончик языка подходит к основанию верхних резцов, напряжен, вибрирует....
Короткая подъязычная уздечка, ограничивающая движение вверх кончика языка и передней части спинки языка
Додайте кнопку на своєму сайті:
Школьные материалы


База даних захищена авторським правом © 2013
звернутися до адміністрації
mir.zavantag.com
Головна сторінка