Операторы презентация

Содержание

Присваивания: = Математические (+, %, >>, …) Логические (==, !=, >=, …) Вызов метода: () Индексация: [] Условный: if,

Слайд 1A + B
Операнд 1
Операнд 2
Оператор
Что такое выражение (expression) ?

Что

такое инструкция (statement) ?

Операторы

int max = (a > b) ? a : b;

http://msdn.microsoft.com/ru-ru/library/ms173145.aspx


Слайд 2Присваивания: =

Математические (+, %, >>, …)

Логические (==, !=, >=, …)

Вызов метода:

()

Индексация: []

Условный: if, switch

Цикла: for, while, do-while, foreach

Перехода: goto, break, continue, return

Операторы


Слайд 3Условные операторы
int x = 1;

if (x) // error
{
….
}
int k =

Int32.Parse(Console.ReadLine());

if (k % 2 == 0)
{
Console.WriteLine("Четное число");
}
else
{
Console.WriteLine("Нечетное число");
}

Console.ReadLine();


Слайд 4int x = 0;

if (x = 1)
{

}
// Что произойдет?
string str =

"_Текст";

if (str.Length > 0 && str[0] == '_')
{
}

Слайд 5
Switch:
Целые
string
enum
char
bool



int k = Int32.Parse(Console.ReadLine());

switch (k)
{
case 1:
case 2:

Console.WriteLine("Неудовлетворительно");
break;
case 3:
Console.WriteLine("Удовлетворительно");
break;
case 4:
Console.WriteLine("Хорошо");
break;
case 5:
Console.WriteLine("Отлично");
break;
default:
Console.WriteLine("Ошибка");
break;
}

Слайд 6string str = null;
...

string result = (str != null ? str

: "пусто");
или
string result = str ?? "пусто";

int max = (a > b ? a : b);

Тернерный оператор

Сокращенная форма для проверки на null:


Слайд 7for
uint sum = 0;
for (int n=1; n

+= n;
}

Что такое заменители goto?

Для чего нужен разделитель «запятая»?


Слайд 8foreach
string[] drives = Environment.GetLogicalDrives();
foreach (string s in drives)
{
Console.WriteLine(s);
}
int[] array

= new int[] { 1, 1, 2, 3, 5, 8, 13 };

int sum = 0;

foreach (var val in array)
{
sum += val;
}

Слайд 9while
Random rnd = new Random();

while (true)
{
int r = rnd.Next(1,

10);

Console.WriteLine(r);

if (r == 7) break;
}

while (reader.Read())
{
...
}


Слайд 10do-while

string password = "qwerty";

do
{

Console.Write("Введите пароль: ");
string buf = Console.ReadLine();

} while (buf != password);


Слайд 11Оператор ()
int[] monthsLengths =
{
0,
31,

28, 31, 30, 31, 30,
31, 31, 30, 31, 30, 31
};


int month = 2;
int year = 2012;

int daysCount =
monthsLengths[month] + (month == 2 && year % 4 == 0) ? 1 : 0;

http://msdn.microsoft.com/ru-ru/library/6a71f45d.aspx


Слайд 12A = B = C = D // ?

A – B

– C * D + F * G + H // ?

Ассоциативность операторов

int a, b, c;
c = 1;
// The following two lines are equivalent.
a = b = c;
a = (b = c);

// The following line, which forces left
// associativity, causes an error.
//(a = b) = c;


Слайд 13string text = "Это текст";

if (text.Length == 0)
Console.WriteLine("Пусто");
else

{
string[] words = text.Split(' ');
foreach (var word in words) {
Console.WriteLine(word);
}
}

Какая форма записи более понятна?

string text = "Это текст";

if (text.Length == 0)
{
Console.WriteLine("Пусто");
}
else
{
string[] words = text.Split(' ');

foreach (var word in words)
{
Console.WriteLine(word);
}
}


Слайд 14



for (int n = 0; ; n++)
{
if (Console.ReadKey().Key ==

ConsoleKey.Escape) break;
}

Console.WriteLine("Вы ввели: {0} символов", n); // Ошибка!





int n = 0;
for (; ; n++)
{
if (Console.ReadKey().Key == ConsoleKey.Escape) break;
}

Console.WriteLine("Вы ввели: {0} символов", n);

Слайд 15Функции с переменным числом аргументов
private static int Sum(int a, int b)
{

return a + b;
}

static void Main()
{
int sum = Sum(1, 2);
}

Функции


Слайд 16int Sum(params int [] array)
{
int sum = 0;

foreach (int n in array)
{
sum += n;
}
return sum;
}

int s1 = Sum(1, 2, 3);
int s2 = Sum(1, 2, 3, 4, 5);

-возможно любое количество параметров
-нет ограничений на тип параметров
-params должен быть последним в списке аргументов, и в единственном экземпляре


Слайд 17 int Min(int a, int b)

{
return (a < b ? a : b);
}

string Min(string a, string b)
{
return (a.Length < b.Length ? a : b);
}

float Min(float[] p)
{

}

Перегрузка функций (functions overload)

Min(1, 5);
Min("abc", "ab")
Min(new float[]{0.1f, 0.2f, 0.3f});


Слайд 18bool IsLeapYear(DateTime dateTime)
{
return IsLeapYear(dateTime.Year);
}

bool IsLeapYear(int year)
{
return (year

% 4 == 0 && year % 100 != 0 || year % 400 == 0);
}

Слайд 19Перегрузка функций, содержащих params


void func (params int [] p);
void

func (int x, int y);


void func (int x, params int [] p);
void func (int x, int y);

func(3, 5);
func(10, 20, 30);


func(1, 2);


Слайд 21Передача value-type аргументов в функцию
long x = 5;
long y = x;
y

= 1;
x - ?

private static void SetZero(float val)
{
val = 0f;
}

static void Main()
{
float f = 10f;

SetZero(f);
// f - ?
}


Слайд 22Передача ref-type аргументов в функцию
int[] arrayA = { 1, 2, 3

};

int[] arrayB = arrayA;

arrayB[0] = 5;

foreach (int i in arrayA)
Console.WriteLine(i);

private static void SetZero(float[] val)
{
for (int i = 0; i < val.Length; i++)
val[i] = 0f;
}

static void Main()
{
float[] array = { 1f, 2f, 3f };

SetZero(array);

foreach (int i in array)
Console.WriteLine(i);
}


Слайд 23Модификатор ref
-позволяет передавать в функцию значение по ссылке
private static void Swap

(ref int a, ref int b)
{
int tmp = a;
a = b;
b = tmp;
}


int x = 1, y = 2;
Swap(ref x, ref y);

Слайд 24Передаче по ссылке параметра reference-type
private static void SetZero(int[] p)
{
p[0]

= 10;
p = new int[] { 1, 2, 3 };
}



...
int[] array = new int[5];

SetZero(array);

foreach (int i in array)
{
Console.Write("{0} ", i);
}

Слайд 25private static void SetZero(ref int[] p)
{
p[0] = 10;

p = new int[] { 1, 2, 3 };
}



...
int[] array = new int[5];

SetZero(ref array);

foreach (int i in array)
{
Console.Write("{0} ", i);
}

Слайд 26Модификатор out
-предназначен для получения значений из метода (по ссылке)
void MinMax(int a,

int b, out int min, out int max)
{
min = (a < b) ? a : b;
max = (a > b) ? a : b;
}

int minValue;
int maxValue;

MinMax(100, 10, out minValue, out maxValue);

Слайд 27Значения параметров функций по умолчанию
public void Show(string text, string caption, bool

sound)
{
//...
}

...
Show("Привет!", "", false);


Слайд 28void Show(string text, string caption = "", bool sound = false)
{

//...
}

...

Show("Привет!");
Show("Привет!", "Сообщение");
Show("Привет!", "Сообщение", true);

Слайд 29Именованные параметры
class Circle
{
public

void Set(int x, int y, int r)
{

}
}

Circle circle = new Circle();

circle.Set(x: 0, y: 0, r: 10);

// circle.Set(x: 0, r: 10, y: 0);


Слайд 30class Circle
{
public void Set(int x=0, int y=0, int r=1)

{

}
}

Circle circle = new Circle();
circle.Set(y: 0);


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

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

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

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


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

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