Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тема 1. Программирование на C#.doc
Скачиваний:
55
Добавлен:
02.04.2015
Размер:
135 Кб
Скачать
☆

Объявление переменных

Переменныеи типы - тесно связанные понятия. С объектной точки зренияпеременная- это экземпляр типа. Скалярнуюпеременнуюможно рассматривать как сущность, обладающую именем, значением и типом. Имя и тип задаются при объявлениипеременнойи остаются неизменными на всевремя ее жизни. Значениепеременнойможет меняться в ходе вычислений, эта возможность вариации значений и дало имя понятиюпеременная(Variable)в математике и программировании. Получение начального значенияпеременнойназывается ееинициализацией. Важной новинкой языка C# является требование обязательнойинициализациипеременнойдо начала ее использования. Попытка использовать неинициализированнуюпеременнуюприводит к ошибкам, обнаруживаемым еще на этапе компиляции.Инициализацияпеременных, как правило, выполняется в момент объявления, хотя и может быть отложена.

Синтаксис объявления

Общая структура объявления:

[<атрибуты>] [<модификаторы>] <тип> <объявители>;

Если атрибуты и модификаторы могут и не указываться в объявлении, то задание типа необходимо всегда. При объявлении простых переменных указывается их тип и список объявителей, где объявитель - это имя или имя с инициализацией. Список объявителей позволяет в одном объявлении задать несколько переменных одного типа. Если объявитель задается именем переменной, то имеет место объявление с отложенной инициализацией. Хороший стиль программирования предполагает задание инициализации переменной в момент ее объявления.

Выражения

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

приоритет операций;

для операций одного приоритета порядок применения - слева направо или справа налево;

преобразование типов операндов и выбор реализации для перегруженных операций;

тип и значение результата выполнения операции над заданными значениями операндов определенного типа.

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

Приоритет и порядок выполнения операций

Большинство операций в языке C#, их приоритет и порядок наследованы из языка C++. Однако имеются и различия: например, нет операции " , ", позволяющей вычислять список выражений; добавлены уже упоминавшиеся операции checked и unchecked, применимые к выражениям.

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

Приоритет

Категория

Операции

Порядок

0

Первичные

(expr) x.y f(x) a[x] x++ x-- new sizeof(t)

typeof(t) checked(expr) unchecked(expr)

Слева направо

1

Унарные

+ - ! ~ ++x --x (T)x

Слева направо

2

Мультипликативные (Умножение)

* / %

Слева направо

3

Аддитивные (Сложение)

+ -

Слева направо

4

Сдвиг

<< >>

Слева направо

5

Отношения, проверка типов

< > <= >= is as

Слева направо

6

Эквивалентность

== !=

Слева направо

7

Логическое И

&

Слева направо

8

Логическое исключающее ИЛИ (XOR)

^

Слева направо

9

Логическое ИЛИ (OR)

|

Слева направо

10

Условное И

&&

Слева направо

11

Условное ИЛИ

||

Слева направо

12

Условное выражение

? :

Справа налево

13

Присваивание

= *= /= %= += -= <<= >>= &= ^= |=

Справа налево