Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Переменные, операции, выражения

Содержание

Лекция 3. Переменные, операции, выражения Правила описания переменных и именованных констант, основные операции языка и их приоритеты, правила записи выражений, введение в обработку исключительных ситуаций.
Курс «С#. Программирование на языке высокого уровня» Павловская Т.А. Лекция 3. Переменные, операции, выражения Правила описания переменных и именованных констант, основные ©Павловская Т.А. (СПбГУ ИТМО)using System;namespace A{  class Class1  {		static void ©Павловская Т.А. (СПбГУ ИТМО)Переменные Переменная — это величина, которая во время работы ©Павловская Т.А. (СПбГУ ИТМО)Общая структура программы на С#пространство именКласс АКласс ВМетод MainПеременные ©Павловская Т.А. (СПбГУ ИТМО)Область действия и время жизни переменныхПеременные описываются внутри какого-л. ©Павловская Т.А. (СПбГУ ИТМО)Инициализация переменных При объявлении можно присвоить переменной начальное значение ©Павловская Т.А. (СПбГУ ИТМО)Пример описания переменныхusing System;namespace CA1{  class Class1 ©Павловская Т.А. (СПбГУ ИТМО)Именованные константыВместо значений констант можно (и нужно!) использовать в ©Павловская Т.А. (СПбГУ ИТМО)ВыраженияВыражение — правило вычисления значения. В выражении участвуют операнды, ©Павловская Т.А. (СПбГУ ИТМО)Ассоциативность выраженийСлева направоa + b – c + d( ©Павловская Т.А. (СПбГУ ИТМО)Первичные ©Павловская Т.А. (СПбГУ ИТМО)Тип результата выраженияЕсли операнды, входящие в выражение, одного типа, ©Павловская Т.А. (СПбГУ ИТМО)Неявные арифметические преобразования типов в C# ©Павловская Т.А. (СПбГУ ИТМО)Введение в исключения При вычислении выражений могут возникнуть ошибки ©Павловская Т.А. (СПбГУ ИТМО)Инкремент и декремент using System;namespace CA1{  class C1 ©Павловская Т.А. (СПбГУ ИТМО)Операция new Операция new служит для создания нового объекта. ©Павловская Т.А. (СПбГУ ИТМО)Операции отрицания using System;namespace ConsoleApplication1{  class Class1 ©Павловская Т.А. (СПбГУ ИТМО)Явное преобразование типа long b = 300;int a = ©Павловская Т.А. (СПбГУ ИТМО)Умножение Операция умножения (*) возвращает результат перемножения двух операндов. ©Павловская Т.А. (СПбГУ ИТМО)Результаты вещественного умножения ©Павловская Т.А. (СПбГУ ИТМО)Примерusing System;namespace ConsoleApplication1{  class Class1  { ©Павловская Т.А. (СПбГУ ИТМО)Операции сдвига Операции сдвига (>) применяются к целочисленным операндам. ©Павловская Т.А. (СПбГУ ИТМО)Примерusing System;namespace ConsoleApplication1{  class Class1  { ©Павловская Т.А. (СПбГУ ИТМО)Операции отношения и проверки на равенствоОперации отношения (=, ==, ©Павловская Т.А. (СПбГУ ИТМО)Условные логические операции using System;namespace ConsoleApplication1{  class Class1 ©Павловская Т.А. (СПбГУ ИТМО)Условная операция операнд_1 ? операнд_2 : операнд_3Первый операнд — выражение, ©Павловская Т.А. (СПбГУ ИТМО)Присваивание – это замена старого значения переменной на новое. ©Павловская Т.А. (СПбГУ ИТМО)Сложное присваивание в C#x += 0.5; 		соответствует 	x =
Слайды презентации

Слайд 2 Лекция 3. Переменные, операции, выражения
Правила описания переменных

Лекция 3. Переменные, операции, выражения Правила описания переменных и именованных констант,

и именованных констант, основные операции языка и их приоритеты,

правила записи выражений, введение в обработку исключительных ситуаций.

Слайд 3 ©Павловская Т.А. (СПбГУ ИТМО)
using System;
namespace A
{
class

©Павловская Т.А. (СПбГУ ИТМО)using System;namespace A{ class Class1 {		static void Main()

Class1
{
static void Main()
{

// описания и операторы, например:
Console.Write("Превед медвед ");
}

// описания
}
}

Структура простейшей программы на С#


Слайд 4 ©Павловская Т.А. (СПбГУ ИТМО)
Переменные
Переменная — это величина,

©Павловская Т.А. (СПбГУ ИТМО)Переменные Переменная — это величина, которая во время

которая во время работы программы может изменять свое значение.


Все переменные, используемые в программе, должны быть описаны.
Для каждой переменной задается ее имя и тип:
int number; float x, y; char option;
Тип переменной выбирается исходя из диапазона и требуемой точности представления данных.

Слайд 5 ©Павловская Т.А. (СПбГУ ИТМО)
Общая структура программы на С#

пространство

©Павловская Т.А. (СПбГУ ИТМО)Общая структура программы на С#пространство именКласс АКласс ВМетод

имен

Класс А

Класс В

Метод Main
Переменные класса
Методы класса:


Переменные класса
Локальные переменные
Методы

класса:




Слайд 6 ©Павловская Т.А. (СПбГУ ИТМО)
Область действия и время жизни

©Павловская Т.А. (СПбГУ ИТМО)Область действия и время жизни переменныхПеременные описываются внутри

переменных
Переменные описываются внутри какого-л. блока (класса, метода или блока

внутри метода)
Блок — это код, заключенный в фигурные скобки. Основное назначение блока — группировка операторов.
Переменные, описанные непосредственно внутри класса, называются полями класса.
Переменные, описанные внутри метода класса, называются локальными переменными.
Область действия переменной - область программы, где можно использовать переменную.
Область действия переменной начинается в точке ее описания и длится до конца блока, внутри которого она описана.
Время жизни: переменные создаются при входе в их область действия (блок) и уничтожаются при выходе.


Слайд 7 ©Павловская Т.А. (СПбГУ ИТМО)
Инициализация переменных
При объявлении можно

©Павловская Т.А. (СПбГУ ИТМО)Инициализация переменных При объявлении можно присвоить переменной начальное

присвоить переменной начальное значение (инициализировать).
int number = 100; float x

= 0.02; char option = ’ю’;
При инициализации можно использовать не только константы, но и выражения — главное, чтобы на момент описания они были вычислимыми, например:
int b = 1, a = 100;
int x = b * a + 25;
Поля класса инициализируются «значением по умолчанию» (0 соответствующего типа).
Инициализация локальных переменных возлагается на программиста. Рекомендуется всегда инициализировать переменные при описании.

Слайд 8 ©Павловская Т.А. (СПбГУ ИТМО)
Пример описания переменных
using System;
namespace CA1
{

©Павловская Т.А. (СПбГУ ИТМО)Пример описания переменныхusing System;namespace CA1{ class Class1 {

class Class1
{ static void Main()

{
int i = 3;
double y = 4.12;
decimal d = 600m;
string s = "Вася";

}
}
}

Слайд 9 ©Павловская Т.А. (СПбГУ ИТМО)
Именованные константы
Вместо значений констант можно

©Павловская Т.А. (СПбГУ ИТМО)Именованные константыВместо значений констант можно (и нужно!) использовать

(и нужно!) использовать в программе их имена.

Это облегчает

читабельность программы и внесение в нее изменений:

const float weight = 61.5;
const int n = 10;
const float g = 9.8;


Слайд 10 ©Павловская Т.А. (СПбГУ ИТМО)
Выражения
Выражение — правило вычисления значения.

©Павловская Т.А. (СПбГУ ИТМО)ВыраженияВыражение — правило вычисления значения. В выражении участвуют


В выражении участвуют операнды, объединенные знаками операций.
Операндами выражения

могут быть константы, переменные и вызовы функций.
Операции выполняются в соответствии с приоритетами.
Для изменения порядка выполнения операций используются круглые скобки.
Результатом выражения всегда является значение определенного типа, который определяется типами операндов.
Величины, участвующие в выражении, должны быть совместимых типов.

t + Math.Sin(x)/2 * x
результат имеет вещественный тип

a <= b + 2
результат имеет логический тип

x > 0 && y < 0
результат имеет логический тип


Слайд 11 ©Павловская Т.А. (СПбГУ ИТМО)
Ассоциативность выражений
Слева направо
a + b

©Павловская Т.А. (СПбГУ ИТМО)Ассоциативность выраженийСлева направоa + b – c +

– c + d
( ( ( a + b

) – c ) + d )
a * b / c * d
( ( ( a * b ) / c ) * d )

Справа налево
a = b = c = d
( a = ( b = ( c = d ) ) )



Слайд 12 ©Павловская Т.А. (СПбГУ ИТМО)
Первичные

©Павловская Т.А. (СПбГУ ИТМО)Первичные 		      (),

(), [],

++, --, new, …
Унарные ~, !, ++, --, -, …
Типа умножения (мультипликативные) *, /, %
Типа сложения (аддитивные) +, -
Сдвига <<, >>
Отношения и проверки типа <, >, is, …
Проверки на равенство ==, !=
Поразрядные логические &, ^, |
Условные логические &&, ||
Условная  ?:
Присваивания            =, *=, /=,…

Приоритеты операций C#


Слайд 13 ©Павловская Т.А. (СПбГУ ИТМО)
Тип результата выражения
Если операнды, входящие

©Павловская Т.А. (СПбГУ ИТМО)Тип результата выраженияЕсли операнды, входящие в выражение, одного

в выражение, одного типа, и операция для этого типа

определена, то результат выражения будет иметь тот же тип.
Если операнды разного типа и (или) операция для этого типа не определена, перед вычислениями автоматически выполняется преобразование типа по правилам, обеспечивающим приведение более коротких типов к более длинным для сохранения значимости и точности.
Автоматическое (неявное) преобразование возможно не всегда, а только если при этом не может случиться потеря значимости.
Если неявного преобразования из одного типа в другой не существует, программист может задать явное преобразование типа с помощью операции (тип)x.

Слайд 14 ©Павловская Т.А. (СПбГУ ИТМО)
Неявные арифметические преобразования типов в

©Павловская Т.А. (СПбГУ ИТМО)Неявные арифметические преобразования типов в C#

Слайд 15 ©Павловская Т.А. (СПбГУ ИТМО)
Введение в исключения
При вычислении

©Павловская Т.А. (СПбГУ ИТМО)Введение в исключения При вычислении выражений могут возникнуть

выражений могут возникнуть ошибки (переполнение, деление на ноль).
В

C# есть механизм обработки исключительных ситуаций (исключений), который позволяет избегать аварийного завершения программы.
Если в процессе вычислений возникла ошибка, система сигнализирует об этом с помощью выбрасывания (генерирования) исключения.
Каждому типу ошибки соответствует свое исключение. Исключения являются классами, которые имеют общего предка — класс Exception, определенный в пространстве имен System.
Например, при делении на ноль будет выброшено исключение DivideByZeroException, при переполнении — исключение OverflowException.

Слайд 16 ©Павловская Т.А. (СПбГУ ИТМО)
Инкремент и декремент
using System;
namespace

©Павловская Т.А. (СПбГУ ИТМО)Инкремент и декремент using System;namespace CA1{ class C1

CA1
{ class C1
{ static void

Main()
{ int x = 3, y = 3;
Console.Write( "Значение префиксного выражения: " );
Console.WriteLine( ++x );
Console.Write( "Значение х после приращения: " );
Console.WriteLine( x );

Console.Write( "Значение постфиксного выражения: " );
Console.WriteLine( y++ );
Console.Write( "Значение у после приращения: " );
Console.WriteLine( y );
}}}

Результат работы программы:
Значение префиксного выражения: 4
Значение х после приращения: 4
Значение постфиксного выражения: 3
Значение у после приращения: 4


Слайд 17 ©Павловская Т.А. (СПбГУ ИТМО)
Операция new
Операция new служит

©Павловская Т.А. (СПбГУ ИТМО)Операция new Операция new служит для создания нового

для создания нового объекта. Формат операции:

new тип ( [

аргументы ] )

С помощью этой операции можно создавать объекты как ссылочных, так и значимых типов, например:

object z = new object();
int i = new int(); // то же самое, что int i = 0;

Слайд 18 ©Павловская Т.А. (СПбГУ ИТМО)
Операции отрицания
using System;
namespace ConsoleApplication1
{

©Павловская Т.А. (СПбГУ ИТМО)Операции отрицания using System;namespace ConsoleApplication1{ class Class1 {

class Class1
{ static void Main()

{
sbyte a = 3, b = -63, c = 126;
bool d = true;
Console.WriteLine( -a ); // Результат -3
Console.WriteLine( -c ); // Результат -126
Console.WriteLine( !d ); // Результат false
Console.WriteLine( ~a ); // Результат -4
Console.WriteLine( ~b ); // Результат 62
Console.WriteLine( ~c ); // Результат -127
}}}

Слайд 19 ©Павловская Т.А. (СПбГУ ИТМО)
Явное преобразование типа
long b

©Павловская Т.А. (СПбГУ ИТМО)Явное преобразование типа long b = 300;int a

= 300;
int a = (int) b;

// данные не теряются
byte d = (byte) a; // данные теряются

Слайд 20 ©Павловская Т.А. (СПбГУ ИТМО)
Умножение
Операция умножения (*) возвращает

©Павловская Т.А. (СПбГУ ИТМО)Умножение Операция умножения (*) возвращает результат перемножения двух

результат перемножения двух операндов.
Стандартная операция умножения определена для

типов int, uint, long, ulong, float, double и decimal.
К величинам других типов ее можно применять, если для них возможно неявное преобразование к этим типам. Тип результата операции равен «наибольшему» из типов операндов, но не менее int.
Если оба операнда целочисленные или типа decimal и результат операции слишком велик для представления с помощью заданного типа, генерируется исключение System.OverflowException

Слайд 21 ©Павловская Т.А. (СПбГУ ИТМО)
Результаты вещественного умножения

©Павловская Т.А. (СПбГУ ИТМО)Результаты вещественного умножения

Слайд 22 ©Павловская Т.А. (СПбГУ ИТМО)
Пример
using System;
namespace ConsoleApplication1
{ class

©Павловская Т.А. (СПбГУ ИТМО)Примерusing System;namespace ConsoleApplication1{ class Class1 { static void

Class1
{ static void Main()

{
int x = 11, y = 4;
float z = 4;
Console.WriteLine( z * y ); // Результат 16
Console.WriteLine( z * 1e308 ); // Рез. "бесконечность"
Console.WriteLine( x / y ); // Результат 2
Console.WriteLine( x / z ); // Результат 2,75
Console.WriteLine( x % y ); // Результат 3
Console.WriteLine( 1e-324 / 1e-324 ); // Результат NaN
}}}

Слайд 23 ©Павловская Т.А. (СПбГУ ИТМО)
Операции сдвига
Операции сдвига (

©Павловская Т.А. (СПбГУ ИТМО)Операции сдвига Операции сдвига (>) применяются к целочисленным

и >>) применяются к целочисленным операндам. Они сдвигают двоичное

представление первого операнда влево или вправо на количество двоичных разрядов, заданное вторым операндом.
При сдвиге влево (<<) освободившиеся разряды обнуляются. При сдвиге вправо (>>) освободившиеся биты заполняются нулями, если первый операнд беззнакового типа, и знаковым разрядом в противном случае.
Стандартные операции сдвига определены для типов int, uint, long и ulong.

Слайд 24 ©Павловская Т.А. (СПбГУ ИТМО)
Пример
using System;
namespace ConsoleApplication1
{ class

©Павловская Т.А. (СПбГУ ИТМО)Примерusing System;namespace ConsoleApplication1{ class Class1 { static void

Class1
{ static void Main()

{
byte a = 3, b = 9;
sbyte c = 9, d = -9;
Console.WriteLine( a << 1 ); // Результат 6
Console.WriteLine( a << 2 ); // Результат 12
Console.WriteLine( b >> 1 ); // Результат 4
Console.WriteLine( c >> 1 ); // Результат 4
Console.WriteLine( d >> 1 ); // Результат -5
}
}
}

00000011

00000110

00001100


Слайд 25 ©Павловская Т.А. (СПбГУ ИТМО)
Операции отношения и проверки на

©Павловская Т.А. (СПбГУ ИТМО)Операции отношения и проверки на равенствоОперации отношения (=,

равенство
Операции отношения (=, ==, !=) сравнивают

первый операнд со вторым.
Операнды должны быть арифметического типа.
Результат операции — логического типа, равен true или false.
x == y -- true, если x равно y, иначе false
x != y -- true, если x не равно y, иначе false
x < y -- true, если x меньше y, иначе false
x > y -- true, если x больше y, иначе false
x <= y -- true, если x меньше или равно y, иначе false
x >= y -- true, если x больше или равно y, иначе false

Слайд 26 ©Павловская Т.А. (СПбГУ ИТМО)
Условные логические операции
using System;
namespace

©Павловская Т.А. (СПбГУ ИТМО)Условные логические операции using System;namespace ConsoleApplication1{ class Class1

ConsoleApplication1
{ class Class1
{ static void

Main()
{
Console.WriteLine( true && true ); // Результат true
Console.WriteLine( true && false ); // Результат false
Console.WriteLine( true || true ); // Результат true
Console.WriteLine( true || false ); // Результат true
}
}
}

Слайд 27 ©Павловская Т.А. (СПбГУ ИТМО)
Условная операция
операнд_1 ? операнд_2

©Павловская Т.А. (СПбГУ ИТМО)Условная операция операнд_1 ? операнд_2 : операнд_3Первый операнд —

: операнд_3

Первый операнд — выражение, для которого существует неявное преобразование

к логическому типу.
Если результат вычисления первого операнда равен true, то результатом будет значение второго операнда, иначе — третьего операнда.

using System;
namespace ConsoleApplication1
{ class Class1
{ static void Main()
{
int a = 11, b = 4;
int max = b > a ? b : a;
Console.WriteLine( max ); // Результат 11
}}}

Слайд 28 ©Павловская Т.А. (СПбГУ ИТМО)
Присваивание – это замена старого

©Павловская Т.А. (СПбГУ ИТМО)Присваивание – это замена старого значения переменной на

значения переменной на новое. Старое значение стирается бесследно.
Операция может

использоваться в программе как законченный оператор.
переменная = выражение

a = b + c;
x = 1;
x = x + 0.5;


Правый операнд операции присваивания должен иметь неявное преобразование к типу левого операнда, например:
вещественная переменная = целое выражение;

Операция присваивания

1

x


1+0.5


1.5


  • Имя файла: peremennye-operatsii-vyrazheniya.pptx
  • Количество просмотров: 180
  • Количество скачиваний: 0