1. Основные понятия алгоритмизации и программирования


Download 1.01 Mb.
bet24/78
Sana03.02.2023
Hajmi1.01 Mb.
#1148576
TuriЗадача
1   ...   20   21   22   23   24   25   26   27   ...   78
Bog'liq
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:
1   ...   20   21   22   23   24   25   26   27   ...   78




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling