Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка - Основи Програмування C_.doc
Скачиваний:
46
Добавлен:
18.12.2018
Размер:
1.44 Mб
Скачать

5.1. Арифметичні операції.

Арифметичні операції: (+) – додавання, (-) – віднімання, (*) – множення, (/) – ділення, (%) – визначення залишку від ділення – є бінарними операціями і виконуються над операндами довільних цілих та дійсних чисел, формуючи результат, тип якого визначається правилами «просування по сходинках типів».

Зауваження.

  1. Операція % в мові С# може виконуватись і над операндами дійсних типів.

  2. При виконанні операції / над операндами цілих типів залишок буде відкинутий, тобто 5/2 дає результат 2.

5.2. Операції інкременту та декременту.

Унарні операції інкременту (++) та декременту (--) викликають відповідно збільшення або зменшення операнду дійсного або цілого типу на одиницю. Фактично, ці операції задають неявне присвоєння нового значення змінній. Цікавості та певної загадковості цим операторам надає можливість різного часу виконання. А саме, вони мають префіксну форму (коли знак операції ++ чи -- записується перед змінною) та постфіксну форму (коли знак операції ++ чи -- записується після змінної). В обох випадках змінна, до якої застосована операція інкреметну або декременту, буде збільшена або зменшена на одиницю, проте при префіксній формі ці зміни відбудуться перед використанням змінної у виразі, а при постфіксній формі – після використання змінної у виразі. Розглянемо приклад, що демонструє ці особливості.

using System;

namespace Increment_and_Decrement

{

class Program

{

static void Main()

{

int x = 1, y;

y = x++;

Console.WriteLine("x = {0} y = {1}", x, y);

x = 1;

y = --x;

Console.WriteLine("x = {0} y = {1}", x, y);

}

}

}

В результаті на екрані побачимо :

x = 2 y = 1

x = 0 y = 0

Тобто обчислення виразу y = x++; відбувається у два етапи : спочатку y = x; а потім x = x++;. З префіксною формою все більш очевидно. Спробуйте визначите, що буде на екрані в результаті виконання наступного фрагменту коду:

x = 1;

y = x++ + ++x;

Console.WriteLine("x = {0} y = {1}", x, y);

5.3. Операції відношення (порівняння).

Бінарні операції відношення : (==) – перевірка на рівність, (!=) – перевірка на нерівність, (>) – перевірка чи більший перший операнд за другий, (>=) – перевірка чи не менший перший операнд за другий, (<) – перевірка чи менший перший операнд за другий, (<=) – перевірка чи не більший перший операнд за другий. Кожна з цих операцій формує значення true або false в залежності від результату порівняння. Мова С# дозволяє перевіряти на рівність або нерівність довільні об’єкти, тобто ці операції застосовні до всіх типів. Решту ж порівнянь можна виконувати лише над операндами тих типів, які підтримують операцію відношення порядку, тобто лише до числових типів. Розглянемо приклад:

using System;

namespace Comparing_Operators

{

class Program

{

static void Main()

{

int x = 1, y = 2;

bool b = (x > y);

Console.WriteLine("x > y ? " + b.ToString());

b = (x <= y);

Console.WriteLine("x <= y ?" + b.ToString());

b = (x == y);

Console.WriteLine("x == y ?" + b.ToString());

}

}

}

Після запуску програми одержимо наступний результат:

x > y ? False

x <= y ? True

x == y ? False