Оцените презентацию от 1 до 5 баллов!
Тип файла:
ppt / pptx (powerpoint)
Всего слайдов:
18 слайдов
Для класса:
1,2,3,4,5,6,7,8,9,10,11
Размер файла:
106.36 kB
Просмотров:
62
Скачиваний:
0
Автор:
неизвестен
Слайды и текст к этой презентации:
№1 слайд
Содержание слайда: Лекция 11
Операции присваивания, условная операция. Приоритеты операций и порядок вычислений
№2 слайд
Содержание слайда: Операция присваивания
переменная = выражение;
Механизм выполнения операции присваивания: вычисляется выражение и его результат заносится в память по адресу, который определяется именем переменной, находящейся слева от знака операции. То, что ранее хранилось в этой области памяти, теряется.
a = b + c / 2;
x = 1;
x = x + 0.5;
Для правого операнда операции присваивания должно существовать неявное преобразование к типу левого операнда.
№3 слайд
Содержание слайда: Операция присваивания
Множественное присваивание выполняет присваивание значений сразу нескольким переменным одновременно:
int a, b, c;
a = b = c = 34;
Операции присвоения имеют низкий приоритет: вначале будет вычисляться значение правого операнда и только потом будет идти присвоение этого значения левому операнду.
int a, b, c;
a = b = c = 34 * 2 / 4; //
№4 слайд
Содержание слайда: Операция присваивания
В языке C# существуют сложные (составные, сокращенные) формы операции присваивания, представляющие собой комбинации операции присваивания и арифметических операторов.
Выражение вида
переменная = переменная оператор выражение
можно переписать следующим образом:
переменная оператор= выражение
Оператор х = х+10;
аналогичен оператору х += 10;
№5 слайд
Содержание слайда: Сложные операции присваивания
В сложных (составных) операциях присваивания ( +=, *=, /= и т п.) при вычислении выражения, стоящего в правой части, используется значение из левой части. Например, при сложении с присваиванием ко второму операнду прибавляется первый, и результат записывается в первый операнд, то есть выражение a += b является более компактной записью выражения a = a + b.
Выражение составного присваивания с точки зрения реализации не эквивалентно простому (первому) присваиванию, так как в первом к переменной приходится обращаться дважды.
№6 слайд
Содержание слайда: Сложные операции присваивания
+=: присваивание после сложения (сложение с присваиванием).
A += B эквивалентно A = A + B
-=: присваивание после вычитания (вычитание с присваиванием).
A -= B эквивалентно A = A - B
*=: присваивание после умножения (умножение с присваиванием).
A *= B эквивалентно A = A * B
/=: присваивание после деления (деление с присваиванием).
A /= B эквивалентно A = A / B
№7 слайд
Содержание слайда: Сложные операции присваивания
%=: присваивание после деления по модулю (деление по модулю с присваиванием).
A %= B эквивалентно A = A % B
&=: присваивание после поразрядной конъюнкции (поразрядная конъюнкция с присваиванием).
A &= B эквивалентно A = A & B
|=: присваивание после поразрядной дизъюнкции (поразрядная дизъюнкция с присваиванием).
A |= B эквивалентно A = A | B
№8 слайд
Содержание слайда: Сложные операции присваивания
^=: присваивание после операции исключающего ИЛИ (исключающее ИЛИ с присваиванием).
A ^= B эквивалентно A = A ^ B
<<=: присваивание после сдвига разрядов влево (сдвиг разрядов влево с присваиванием).
A <<= B эквивалентно A = A << B
>>=: присваивание после сдвига разрядов вправо (сдвиг разрядов вправо с присваиванием).
A >>= B эквивалентно A = A >> B
№9 слайд
Содержание слайда: Сложные операции присваивания
Результатом операции сложного присваивания является значение, записанное в левый операнд.
Операции присваивания правоассоциативны, то есть выполняются справа налево, в отличие от большинства других операций ( a = b = c означает a = (b = c) ).
У составных операторов присваивания имеются два главных преимущества. Во-первых, они более компактны, чем их "несокращенные" эквиваленты. И во-вторых, они дают более эффективный исполняемый код, поскольку левый операнд этих операторов вычисляется только один раз.
№10 слайд
Содержание слайда: Сложные операции присваивания
int a = 10;
a += 10; //
a -= 4; //
a *= 2; //
a /= 8; //
a <<= 4; //
a >>= 2; //
№11 слайд
Содержание слайда: Условная операция (тернарный оператор)
Выражение__1 ? Выражение_2: Выражение_3;
Операция "?" выполняется следующим образом: сначала вычисляется Выражение__1, которое должно быть типа bool. Если оно истинно, вычисляется Выражение_2, и его значение становится результатом всей операции. Если Выражение_1 ложно, вычисляется Выражение_3, и его значение становится результатом операции. Выражение__1 и Выражение_2 могут иметь разные типы. Тип результата зависит от возможности преобразования типов этих выражений.
№12 слайд
Содержание слайда: Условная операция (тернарный оператор)
double yv2; // результат может быть только
// вещественным в данном примере
int xv;
xv = 10;
yv2 = (xv > 9) ? 100 : 2.0;
Console.WriteLine("т. к. "+ xv+" > 9, то рез-т = " + yv2);
xv = 1;
yv2 = (xv > 9) ? 100 : 2.0;
Console.WriteLine("т. к. " +xv+ " < 9, то рез-т = " + yv2);
х = 10, y;
if (x>9) у = 100;
else у = 200;
№13 слайд
№14 слайд
№15 слайд
№16 слайд
№17 слайд
Содержание слайда: Пример 1
using System;namespace ConsoleApplication1{
class Class1 {
static void Main() {
Console.Write( "Введите х: " );
double x = double.Parse( Console.ReadLine() );
Console.Write( "Введите y: " );
double y = double.Parse( Console.ReadLine() );
Console.WriteLine( "Максимум из х и y : " + Math.Max(x, y) );
double z = Math.Pow(Math.Sin(x), 2) + Math.Pow(Math.Sin(y), 2);
Console.WriteLine( "Сумма квадратов синусов х и y : " + z );
} } }
№18 слайд
Содержание слайда: Контрольные вопросы
1. Какие форма операции присваивания существуют?
2. Каковы преимущества сложных операция присваивания?
3. Каков порядок действия условной операции?