1. Основные понятия алгоритмизации и программирования
Download 1.01 Mb.
|
c# qo\'llanma
Оператор «выражение»
Любое выражение, завершающееся точкой с запятой, рассматривается как оператор, выполнение которого заключается в вычислении выражения. Частным случаем выражения является пустой оператор (;). Он используется, когда по синтаксису оператор требуется, а по смыслу нет. Примеры: x ++; // выражение – оператор; выполняется операция инкремента c = a * 1.5; // выражение с операцией присваивания a *= b + c; // выполняется умножение с присваиванием: a = a * (b + c) fun(i, k); // выполняется вызов функции Оператора присваивания в языке C# нет, его заменяет выражение, в составе которого есть операция присваивания. Общий вид: идентификатор = выражение; Пример: x = y + 4; // выражение с операцией присваивания Выполняется в два этапа: а) вычисляется значение выражения, стоящего в правой части от знака присваивания; б) вычисленное значение присваивается переменной, стоящей в левой части от знака присваивания, при этом предыдущее значение этой переменной теряется. Рекомендуется строго относиться к типам данных, не смешивать типы в выражениях, следить, чтобы тип левого операнда присваивания соответствовал типу выражения правой части. При выполнении присваивания, если типы левой и правой части не совпадают, происходит неявное преобразование. C# всегда пытается это сделать, и упрощенно можно считать, что преобразование происходит без потери данных от меньшего типа к большему, например от int к float или от char к int, и с потерей данных от большего типа к меньшему, например, от float к int. Это легко понять, если вспомнить, что тип данного, это объем занятой им памяти. Явное преобразование типов выполняется при присваивании вида: имя = (тип) выражение; Например: int a = 5, b = 2; float c; с = a/b; Хочется думать, что значение с будет равно 2.5, ведь оно вещественное, но порядок операций таков, что деление старше присваивания, и оно выполняется с операндами целого типа, и его результат равен 2, то есть приведение типа будет выполнено только при присваивании. Для явного преобразования типов используется известный прием: c = (float) a/(float) b; // c = 2.5 Операция присваивания правоассоциативна, т.е. вычисления выполняются справа налево, поэтому допускается запись цепочек присваиваний, например: x = y = z = 1; // Каждая переменная будет равна 1. В сложных операциях присваивания ( +=, *=, /= и т п.) при вычислении выражения, стоящего в правой части, используется и L-значение из левой части. Например, при сложении с присваиванием ко второму операнду прибавляется первый, и результат записывается в первый операнд, то есть выражение a += b является более компактной записью выражения a = a + b. Download 1.01 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling