ExpC_Module 3 ru_1.ppt
- Количество слайдов: 32
Модуль 3 Операции и операторы
Обзор модуля В этом модуле вы изучите: n Операции и выражения n Типы операторов n Преобразование данных в C# Изучение C#/ Модуль 3/ 2 из 32
Занятие 1 -Операции и выражения На первом занятии, Операции и выражения, вы научитесь: n Описывать операции и их цели. n Перечислять категории операций. n Описывать и использовать выражения в C#. Изучение C#/ Модуль 3/ 3 из 32
Операции - Определение n n n Операции представляют собой логическую группу из переменных, операторов и ключевых слов C#, выполняющих специальную задачу. В C# операции заканчиваются точкой с запятой (; ). Программы строятся из множества операций, группируемых в блоки. Изучение C#/ Модуль 3/ 4 из 32
Операции - Использование Операции используются для определения ввода, Операции помогают вам построить логический обработки и вывода в программе. поток в программе. { n § Следующий пример демонстрирует вложенность блоков в C#. n Пример double area = 3. 1452 * radius; int side = 5; int height = 10; § Операция вычисляет площадь круга и сохраняет значение в переменную double area; n area. { n n area = 0. 5 * side * height; { n } int side = 10; n Console. Write. Line(area); int height = 5; n } double area = 0. 5 * side * height; n Console. Write. Line(“Area: ” , area); n §n Первые три операции (начиная сверху) будут выполнены } Операции могут включать: С помощью операций вы можете: Типы данных Инициализировать переменные и объекты Переменные Получать ввод Операторы Вызывать Константы методы классов последовательно. n Выполнять вычисления n Литералы § Вышеуказанный пример показывает блок кода, заключенный в фигурные § Затем выполняется вычисляющий площадь код в фигурных скобках. n Отображать вывод скобки n Ключевые слова § Выполнение завершается, когда последняя операция в блоке кода § n Символы escape-последовательностей верхней. Операции выполняются последовательно, начиная с первой выводит площадь. Изучение C#/ Модуль 3/ 5 из 32
Типы операций Операции C# похожи-на операции в принятия Операции обработкиэто операции C-и C++. Операции выбора исключений управляют неожиданными ситуациями, которые затрудняют решения, которые проверяют, является ли нормальное выполнение программы. нескольким n Операции условие истинным или ложным. заданное C# классифицируются по категориям: n Ограниченные и неограниченные операции 1. Операции выбора n - Операции повторения - помогают вам повторно управляют арифметическим переполнением. 2. Операции повторения выполнить блок кода. 3. Операции перехода n Фиксированные операции - требуются для 4. Операции обработки исключений указания сборщику мусора не удалять объект во n Операции перехода - помогают вам привести 5. Ограниченные время выполнения. и не ограниченные операции поток из одного блока программы в другой блок. 6. Фиксированные операции 7. Блокирующиеся операции n Блокирующиеся операции - помогают закрыть критические блоки кода. n n Изучение C#/ Модуль 3/ 6 из 32
Выражения - Определение n Пример Выражения используются для манипулирования данными. simple. Interest = principal * time * rate / 100; eval = 25 + 6 – 78 * 5; num++; n n Выражения в C# заканчиваются точкой с запятой (; ). § В первых двух строчках кода результат операций сохраняется в переменные Выражения: Simple. Interest и eval. n Вычисляют значения § Последняя операция увеличивает значение n Получают результаты вычислений переменной num. n Служат частью других выражений или операций Изучение C#/ Модуль 3/ 7 из 32
Различия между операциями и выражениями Операции Выражения Не обязаны возвращать значения. Например: int odd. Num = 5; Всегда возвращает значение. Например: 10000*(75/100) Эта операция сохраняет значение 5 в переменную odd. Num. Это выражение вернет значение 7500. Задает переменную для хранения результатов вычислений. Например: int even. Num=(10 *100)/5; Не задает переменную для хранения результатов вычислений. Например: (8. 5+9. 4) * (1034. 56/6) Эта операция сохраняет результат вычислений в переменную even. Num. Это выражение вычисляет значение без сохранения его в какую-либо переменную. Для сохранения значения, вы должны присвоить выражение переменной. Это требует использования операции. Выражение само по себе не сохраняет значений. Операции выполняются компилятором. Выражения - это часть операций, они вычисляются компилятором. Изучение C#/ Модуль 3/ 8 из 32
Занятие 2 - Типы операторов На втором занятии, Типы операторов, вы научитесь: n Описывать операторы и их цели. n Определять и объяснять использование арифметических операторов. n Определять и объяснять использование операторов отношений, логических операторов и операторов сравнения. n Определять и объяснять использование операторов инкремента и декремента. n Определять и объяснять использование операторов присваивания. n Объяснять порядок выполнения операторов. Изучение C#/ Модуль 3/ 9 из 32
Что такое операторы? n n В операциях действия выполняются над одним или нескольким значениями, сохраненными в переменных, для их модификации или генерации нового значения. Операции выполняются при помощи как минимум одного символа и значения. Этот символ называется оператором и определяет тип действия, выполняемого над значением. Значения, над которыми выполняется операция, называются операндами. Изучение C#/ Модуль 3/ 10 из 32
Типы операторов n n В C# предопределен набор операций, используемых для выполнения различных типов операций. Операторы в C# разделяются на шесть категорий по типу действий, выполняемых над значениями: 1. Арифметические операторы 2. Операторы отношения 3. Логические операторы 4. Условные операторы 5. Операторы декремента и инкремента 6. Операторы присваивания Изучение C#/ Модуль 3/ 11 из 32
Арифметические операторы - типы n Арифметические Вывод Пример операторы являются двоичными, поскольку они работают с двумя операндами int value. One = 10; Addition 12 int(оператор 2; value. Two Subtraction 8= помещается между операндами). int add = value. One + value. Two; Multiplication 20 int sub =5 Операторы value. One - value. Two; Описание Пример Операторы Описание Пример Division int mult =0 Value. One * value. Two; Remainder 12000 20 10 40 + / Выполняет сложение. / (Деление) = value. One / деление. Оператор делит первый + (Сложение) Выполняет value. Two; Если операнды int div строки, то value. Two; операнд на работает как оператор int modu = value. One %второй и возвращает частное как результат. конкатенации строк и + add ); Console. Write. Line(“Addition ” добавляет одну строку в конец другой. Console. Write. Line(“Subtraction ” + sub); 100 % 33 % (Остаток от Выполняет операцию вычисления остатка от Console. Write. Line(“Multiplication ”большее и 100 - 47 деления) деления. Оператор делит два операнда - (Вычитание) Выполняет вычитание. Если + mult); Console. Write. Line(“Division от из меньшего, результат. значение вычитается + div); возвращает остаток ” деления как в Console. Write. Line(“Remainder ”отрицательное результате получится + modu); значение. * (Умножение) Выполняет умножение. 67 * 46 Изучение C#/ Модуль 3/ 12 из 32
Операторы отношения Вывод Пример n Операторы отношения сравнивают два операнда возвращают логическое значение true или false. intиleft. Val = 50; Equal: False int right. Val = 100; Not Equal: True Console. Write. Line(“Equal: ” + (left. Val == right. Val)); Greater: False Console. Write. Line(“Not Equal: ” + (left. Val != right. Val)); Lesser: True Операторы Описание Пример Console. Write. Line(“Greater: ” + (left. Val > right. Val)); Greater or отношения Equal: False Console. Write. Line(“Lesser: ” + (left. Val < right. Val)); Lesser or Equal: True 85 >= 30 100 Console. Write. Line(“Greater or или равно + (left. Val >= == 95 Проверяет, больше Equal: ” первое == Проверяет равенство операндов. >= right. Val)); значение второму. 35 != 40 Проверяет, не равны ли операнды. != Console. Write. Line(“Lesser or Equal: ” + (left. Val <= 75 <=30 <= 50 > 80 right. Val)); Проверяет, меньше ли первое значение Проверяет, больше или равно первое > значение второму. второго. < Проверяет, меньше ли первое значение второго. 20 < 30 Изучение C#/ Модуль 3/ 13 из 32
Логические операторы 1 -4 Булевы логические операторы n Логические операторы - это двоичные операторы, n n Вкоторые выполняют логические операции над таблице перечислены булевы операции над выполняют булевы логические операторы и их описания. обоими аргументами. двумя операндами и возвращают логическое булево n Логическиезначение. возвращают булево значение в зависимости. Пример от Описание операторы использованного логического оператора. (percent >= 75) Возвращает true, если оба выражения & (Булево и) n C# поддерживает два типа логических & (percent <= true. 100) операторов: | (Булево включающее n Булевы или) n Битовые Возвращает true, если хотя бы одно из выражений равно true. ^ (Булево исключающее Возвращает true, если только одно из или) выражений равно true. Если оба выражения равны true, оператор возвратит false. (choice == ‘Y’) | (choice == ‘y’) (choice == ‘Q’) ^ (choice == ‘q’) Изучение C#/ Модуль 3/ 14 из 32
Логические операторы 2 -4 Пример - Оператор включающее или исключающее или if ((quantity > 2000) |^(price <== 10. 5)) == 2000) (price 10. 5)) { Console. Write. Line (“You can to more goods at a lower Console. Write. Line (“You have buy compromise between price”); quantity and price”); } Пример - Оператор и if ((quantity == 2000) & (price == 10. 5)) { Console. Write. Line (“The goods are correctly priced”); } Изучение C#/ Модуль 3/ 15 из 32
Логические операторы 3 -4 Битовые логические операторы n Битовые логические операторы выполняют логические операции над отдельными битами операндов. Логические операторы & (Битовое и) Описание Пример Сравнивает два бита и возвращает 1, если оба бита 1, иначе возвращает 0. 00111000 & 00011100 | (Битовое включающее Сравнивает два бита и возвращает 1, если хотя бы или) один равен 1. 00010101 | 00011110 ^ (Битовое исключающее или) 00001011 ^ 00011110 Сравнивает два бита и возвращает 1, если только один равен 1. Изучение C#/ Модуль 3/ 16 из 32
Логические операторы 4 -4 Пример - Битовый оператор и if ((quantity > 2000) | (price < 10. 5)) { Console. Write. Line (“You can buy more goods at a lower price”); } Пример - Битовый оператор включающее или result = 56 | 28; Console. Write. Line(result); Пример - Битовый оператор исключающее или result = 56 ^ 28; Console. Write. Line(result); Изучение C#/ Модуль 3/ 17 из 32
Условные операторы n Пример Существует два типа условных операторов: int num = -5; условное «и» (&&) и условное «или» (||). 0; if (num < 01|| num ><= 10) >= && num 10) { does not exist between Console. Write. Line(“The number exists between 1 and n Условные операторы похожи на булевы 1 and 10”); }логические операторы, но имеют следующие else {отличия: Console. Write. Line(“The number exists between 1 and Console. Write. Line(“The number does not exist between § Условный оператор «и» вычисляет значение 10”); 1 and 10”); } второго выражения, только если первое выражения возвратило true. § Условный оператор «или» вычисляет Вывод значение not exist between 1 and 10 The number does второго выражения, только если The number does not exist between 1 and 10 первое выражения возвратило false. Изучение C#/ Модуль 3/ 18 из 32
Операторы декремента и инкремента Два наиболее часто выполняемых вычисления в программировании - это инкрементация и Выражение Тип Результат декрементация значения переменной value. Two = 6 на 1. value. Two = ++Value. One; пред-инкремент n value. Two = value. One++; пост-инкремент value. Two = 5 n В C# = --value. One; value. Two оператор инкремента (++) используется= 4 пред-декремент value. Two для увеличения значения на 1, тогда как пост-декремент value. Two = 5 оператор декремента (--) используется для уменьшения значения на 1. value. Two = value. One--; n В таблице приведен пример использования инкремента и декремента, при условии значения переменной value. One 5. Изучение C#/ Модуль 3/ 19 из 32
Операторы присваивания типы для Выражение значения правого операнда он Описание Результат Простой оператор присваивания это “=”, левому с присвоения 5; int value. One = Value 1 =5 value. One+= 4=5; 10; int value. Two = value. Oneзначения или = (=). используется использованием присвоения + 5 value. One Value 1 += 9 для оператора эквивалентности 15 Console. Write. Line(“Value 1 =” + value. One); Value 1 -=8= результата value. One = переменной. value. One = 5 value. One-=+=5; 1 выражения value. One - 5 value. One 4; nn Простые операторы присваивания: Операторы присваивания используются Вывод Пример Value 1 *= 7= 7 Console. Write. Line(“Value 1 value. One * 5 value. One/= 2= 3 value. One =+= 4= “ + value. One); на две value. One = 50 n Value 1 операторы присваивания делятся В C# *= 5; value. One -= 8; Value 1 == Value 2: False Console. Write. Line(“Value 1= value. One); n value. One %= 5; операторы присваивания: Составные value. One -= 8= “ + % 5 value. One = 0 категории: value. One *= 7; Они. Простые операторы присваивания получаются из комбинации простого § Console. Write. Line(“Value 1= value. One); value. One /= 5; value. One *= 7= “ + / 5 value. One = 2 value. One /= 2; оператора присваивания иприсваивания арифметического § Составные операторы “ + value. One); Console. Write. Line(“Value 1 /= 2= оператора. Console. Write. Line(“Value 1 == Value 2: {0}”, (value. One == value. Two)); n В таблице приведен пример использования операторов присваивания, при условии значения переменной value. One 10. Изучение C#/ Модуль 3/ 20 из 32
Приоритет и ассоциативность Приоритет n Операторы в C# имеют соответствующие уровни Оператор Описание Ассоциативность (1 является Пример приоритета. максимальным) int value. One = 10; 1 () Слева направо Console. Write. Line((4 * 5 - 3 Круглые скобки 8 % 5); ) / 6 + 7 Console. Write. Line((32 -- 4) || (8 == 8)); 2 ++ или < Инкремент или Справа n Компилятор C# выполняет > (value. One += 5)) && операторы в налево Console. Write. Line(((value. One декремент *= 6) ((value. One /= 2) !=% (value. One -= 5))); последовательности, Умножение, деление, уровнем определенной Слева направо 3 *, /, остаток приоритета операторов. от деления Вывод 4 +, - Сложение, вычитание Слева направо <, <=, >, >= Меньше, меньше или равно, больше или равно Слева направо 7 && Условное и Слева направо 8 || Условное или Слева направо 9 =, +=, -=, *=, /=, %= Операторы присваивания Справа налево 5 6 True n В False таблице перечислены приоритеты операторов, их описание != ассоциативность. и 6 =, Равно, не равно Слева направо Изучение C#/ Модуль 3/ 21 из 32
Занятие 3 - Преобразование данных в C# На последнем занятии, Преобразование данных в C#, вы научитесь: n Описывать виды приведения типов и их преимущества. n Описывать неявное преобразование типов. n Описывать явное преобразование типов. n Объяснять упаковку и распаковку. Изучение C#/ Модуль 3/ 22 из 32
Приведение типов и его преимущества - Необходимость n n n Отдел оплаты труда требует, чтобы зарплата выводилась целым числом, т. е. числа после запятой при расчетах игнорировались. Программист может добиться этого, используя приведение типов в C#. Приведение типов позволяет изменять тип данных переменной. Изучение C#/ Модуль 3/ 23 из 32
Приведение типов и его преимущества Определение и преимущества n n C# поддерживает два типа приведения типов: явные и неявные. Приведение типов главным образом используется для: n Преобразования типа данных в другой тип данных, который принадлежит той же или другой иерархии. n Отображения точного числового вывода. n Предотвращения потери числовых данных, если результирующее значение выходит за пределы диапазона значений типа данных. Изучение C#/ Модуль 3/ 24 из 32
Неявное преобразование для типов данных C# Определение n n Это автоматическое преобразование типов данных. Оно производится, только если исходный и результирующий тип данных находятся в одной иерархии. Пример int value. One = 34; float value. Two; value. Two = value. One; Изучение C#/ Модуль 3/ 25 из 32
Неявное преобразование для типов данных C# - Правила n n n Производится компилятором автоматически. Компилятор C# автоматически конвертирует типы данных меньшей точности в типы данных большей точности. График показывает различные типы данных и типы данных с большей точностью, в которые они могут быть конвертированы. Изучение C#/ Модуль 3/ 26 из 32
Явное приведение типов Определение n n Явное приведение типов позволяет менять тип данных с Пример более точного на менее точный. double side = 10. 5; Используя явное приведение типов, вы можете вручную int area; area = (int)(side * side); преобразовать значение типа float в тип int. Console. Write. Line(“Area of the square = {0}”, area); Синтаксис Вывод <target data type> <variable name> = (target data type)<source Area of the square = 110 data type>; где, target data type: результирующий тип данных. variable name: имя переменной результирующего типа данных. target data type: результирующий тип данных в круглых скобках. source data type: тип данных из которого производится преобразование. Изучение C#/ Модуль 3/ 27 из 32
Явное приведение типов - Реализация n Пример В C# есть два пути реализации явного преобразования типов с использованием встроенных методов: float flot. Num = 500. 25 F; string st. Num = flot. Num. To. String(); n Класс System. Convert Console. Write. Line(st. Num); n Метод To. String() Вывод n n 500. 25 Класс System. Convert предоставляет удобные методы для преобразования любых встроенных типов данных в другие встроенные типы данных. Метод To. String() принадлежащий классу Object преобразует любой тип данных в строку string. Изучение C#/ Модуль 3/ 28 из 32
Упаковка n Вывод Синтаксис Это процесс преобразования типа значения, например, Area of<instance of the object class> objects. 314 object the circle integers, в ссылочный=тип, например, = <variable of value type>; § В следующем примере показано использование явной упаковки. n где, float radius = 4. 5 F; Это преобразованиекласс для всех типов-значений. уменьшения используется для object: базовый double circumference; instance of издержек системы 2 * 3. 14 class: имя ссылки на при выполнении. circumference =the object * radius; класс Object. n object boxed of value type: идентификатор типа данных = (object)circumference; variable Console. Write. Line(“Circumference of the circle = {0}”, circumference); реализации упаковки вы должны присвоить тип- Для Пример – неявная значение объекту. упаковка Вывод § В следующем примере показано использование не явной упаковки. int radius = 10; Circumference of the circle = 28. 26 double area; n area 3. 14 * radius * Упаковка= выполняетсяradius; неявно, когда тип значений object boxed = area; Console. Write. Line(“Area of the circle = {0}”, boxed); предоставляется вместо отсутствующего ссылочного типа. Изучение C#/ Модуль 3/ 29 из 32
Распаковки n Синтаксис - Распаковка представляет собой преобразование <target value type> <variable name> = (target value type) <object ссылочного типа в тип-значение. type>; где, n target value type: результирующий тип данных. Значение, хранящеесятипаобъекте, variable name: имя переменной в данных. target value type: результирующий тип распаковывается в ссылка на классданных в круглых скобках. object type: именованная тип-значение. Object. Пример int length = 10; int breadth = 20; int area; area = length * breadth; object boxed = area; int num = (int)boxed; Console. Write. Line(“Area of the rectangle= {0}”, num); Изучение C#/ Модуль 3/ 30 из 32
Заключение 1 -2 n n Операции и выражения n Это исполняемые строки кода, которые составляют программу. Типы операторов n Различные типы операторов: n Арифметические операторы n Операторы отношения n Логические операторы n Условные операторы n Операторы декремента и инкремента n Операторы присваивания Изучение C#/ Модуль 3/ 31 из 32
Заключение 2 -2 n Преобразование данных в C# n n В C# вы можете преобразовывать типы-значения в ссылочные типы, используя метод упаковки. Преобразование ссылочного типа в тип-значение называется распаковкой. Изучение C#/ Модуль 3/ 32 из 32
ExpC_Module 3 ru_1.ppt