Основы C#

Операторы и класс Math в C#

В этом уроке вы будете использовать арифметические, логические операторы, операторы присваивания и сравнения, а также математические функции класса Math в C#.

Введение

Операторы объединяют значения в выражения. C# следует привычным математическим правилам, но один момент часто удивляет новичков: при делении двух целых чисел дробная часть теряется.

Деление 17 / 5 даёт 3, потому что оба операнда int, а 17 / 5.0 даёт 3.4, потому что один из операндов дробный. Составные операторы присваивания, например += и *=, сразу меняют значение переменной. Сравнения и логические операторы && и || всегда возвращают bool, а класс Math предлагает функции вроде Pow, Round и Sqrt.

Пример на C#, который можно запустить

C#
Запустить код →
Program.cs
using System;

class Program
{
    static void Main()
    {
        int a = 17, b = 5;

        Console.WriteLine($"a + b = {a + b}");
        Console.WriteLine($"a - b = {a - b}");
        Console.WriteLine($"a * b = {a * b}");
        Console.WriteLine($"a / b = {a / b}");        // int / int drops the fraction
        Console.WriteLine($"a % b = {a % b}");        // remainder
        Console.WriteLine($"a / 5.0 = {a / 5.0}");    // a double operand keeps it

        int total = 10;
        total += 5;
        total *= 2;
        Console.WriteLine($"total = {total}");

        int count = 0;
        count++;
        Console.WriteLine($"count = {count}");

        // Comparison and logical operators produce bool values.
        Console.WriteLine($"a > b: {a > b}, a == 17: {a == 17}");
        Console.WriteLine($"a > 10 && b > 10: {a > 10 && b > 10}");
        Console.WriteLine($"a > 10 || b > 10: {a > 10 || b > 10}");

        // Math holds common functions.
        Console.WriteLine($"Math.Pow(2, 10) = {Math.Pow(2, 10)}");
        Console.WriteLine($"Math.Round(3.14159, 2) = {Math.Round(3.14159, 2)}");
    }
}
Результат выполнения
a + b = 22
a - b = 12
a * b = 85
a / b = 3
a % b = 2
a / 5.0 = 3.4
total = 30
count = 1
a > b: True, a == 17: True
a > 10 && b > 10: False
a > 10 || b > 10: True
Math.Pow(2, 10) = 1024
Math.Round(3.14159, 2) = 3.14

Практика с отладчиком

Поставьте точку останова на важное присваивание или условие, нажмите Debug и посмотрите локальные значения, прежде чем перейти к следующей строке.

Попрактикуйтесь на задаче

Примените материал этого урока к реальной задаче. Каждая задача запускается в браузере, с мгновенными тестами и разбором от ИИ.

Все задачи