Суббота, 2026-05-09

Professor VB - примеры на VB.net и C#
Меню сайта
Вход на сайт
Категории раздела
Уроки C# [9]
Главная » Статьи » C# » Уроки C#

C# - Урок 4 - Операторы арифметические и логические

C# - Урок 4 - Операторы арифметические и логические




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

 

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

 Полный список всех операторов:
Основные операторы
Унарные операторы
Мультипликативные операторы
Операторы сложения
Операторы сдвига
Относительные операторы и операторы тестирования типа
Операторы равенства
Оператор логического И
Оператор логического исключающего ИЛИ
Оператор логического ИЛИ
Условный оператор И
Условный оператор ИЛИ
Оператор объединения с NULL
Условный оператор 
Назначение и лямбда-операторы
Переполнение при арифметической операции

 

 Все операции делятся по количеству учавствоваших данных (операндов). 

 

Бинарные операции

 В бинарных операциях – два операнда. Например, оператор сложения «+» – бинарный 2+3, здесь операндами являются числа 2 и 3. 

Список бинарных арифметических операций:

a + b    Сложение
a - b    Вычитание
a / b    Деление  
a * b    Умножение
a % b    остатка от деления

рассмотрим примеры в программе

//---1-------------------------------------------------------------------- 

////Бинарные операции

            int a, b;
            int plus, minus, ymnog, ostatok;
            float del, del2;

            Console.Write("Введите 1 число \t");
            a = Convert.ToInt32(Console.ReadLine());

            Console.Write("\n\nВведите 2 число \t");
            b = Convert.ToInt32(Console.ReadLine());

            //складываем (+)
            plus = a + b;

            //вычитаем (-)
            minus = a - b;

            //умножаем (*)
            ymnog = a * b;

            //делим целочисленно (/)
            del = a / b;  //при делении 9/5 результатом будет число 1

            //делим точно (/)
            del2 = (float)a / b;    //Чтобы получить точный результат с десятичной 
            //точкой, нужно чтобы делимое и/или делитель 
            //были типа float или double. 
            //Остаток (%)
            ostatok = a % b;

            //вывод результатов
            Console.WriteLine("Сложение \t\t{0}", plus);
            Console.WriteLine("Вычитание \t\t{0}", minus);
            Console.WriteLine("Умножение \t\t{0}", ymnog);
            Console.WriteLine("Деление целочисленное \t{0}", del);
            Console.WriteLine("Деление дробное \t{0}", del2);
            Console.WriteLine("Остаток \t\t{0}", ostatok);

            Console.ReadKey();


 Вводим 1 число 13 , а 2 число 6 и видим результаты:



 Теперь введем числа 20 и 5 


Как видите, результат целочисленного и точного деления одинаковый, а остаток = 0

 

Унарные операции

 Теперь перейдем к унарным операциям, в которых участвует один операнд. 
Унарных арифметических операторов в Си-шарп есть всего два: инкрементация «++» и декрементация «--»;

Инкрементация увеличивает операнд на единицу, а декрементация - уменьшает на единицу.

//---2-1-------------------------------------------------------------------
            //Унарные операции

            int a = 0, b = 5;
            a++; // a=1; Инкрементация увеличивает операнд на единицу
            b--; // b=4  декрементация - уменьшает на единицу


            //вывод результатов
            Console.WriteLine("а = 0");
            Console.WriteLine("а++ = {0}", a++);

            Console.WriteLine("\nb = 5");
            Console.WriteLine("b-- = {0}", b--);

            Console.ReadKey();

запускаем проект и видим результат.


 Инкрементация и декрементация может быть префиксной и постфиксной.

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


            int a1 = 2, b1 = 3, b2 = 3, c1, с2;
            c1 = a1 + ++b1; // c1 = 6, сначала инкремент, потом сложение
            с2 = a1 + b2++; // c2 = 5, сначала сложение, потом инкремент
            Console.WriteLine("\nc1 = a1 + ++b1 = {0}", c1);
            Console.WriteLine("d1 = a1 + b2++ = {0}", с2);


В первом примере мы сначала увеличиваем значение переменной b1, а затем складываем
во втором в начале находим сумму, а затем меняем значение переменной b2.

Везде где можно использовать инкрементацию/декрементацию стоит это делать, так как она работает быстрее оператора сложения/вычитания.

В Си-шарп также есть возможность использования краткой формы выражения:

   int a = 2, b = 3;
   a += b; // равноценно выражению a = a + b;
   a -= b; // равноценно выражению a = a - b;
   a *= b; // равноценно выражению a = a * b;
   a /= b; // равноценно выражению a = a / b;
   a %= b; // равноценно выражению a = a % b;

В Visual Basic.net мы также использовали вариант a += b когда складывали строки.

 

 Класс Math

 Коме простых действий есть сложные вычисления такие как возведение в степень, нахождение тригоном функций, нахождение квадратного корня и другие. Все они собраны в Математическом Классе (Math)

 

   //---3-1-------------------------------------------------------------------
             //math

            float a = 4, b, c;

            b = (float)Math.Pow(a, 2); //возведение числа a в степень 2

            c = (float)Math.Sqrt(a);

            Console.WriteLine("{0}^2 = {1}", a, b);

            Console.WriteLine("квадратный корень {0} = {1}", a, c);

            Console.ReadKey();

 

 

Подробней про этот класс на mdsn.
 

 Для нахождения косинуса и синуса используются cos([угол в радианах]) и sin([угол в радианах]) соответственно.

Чтобы перевести градусы в радианы, необходимо значение в градусах умножить на Пи и разделить на 180. Число Пи объявлено константой в классе Math.
180 [градусов] = пи [радиан].

вводим переменную и задаем ей в начале значение кос 180 - что равно -1 , а за тем син 30 = 0,5
         

           double a;
            a = Math.Cos(180 * Math.PI / 180); // переводим 60 градусов в радианы
            Console.WriteLine(a); // выводит на экран -1
            a = Math.Sin(30 * Math.PI / 180);
            Console.WriteLine(a); // выводит на экран 0.5
            Console.ReadKey();
            

Логические операторы в Си-шарп

 Логические операторы в Си-шарп служат для работы с логическим типом данных (bool), который может принимать только два значения – true или false. Их можно разделить на две категории: простые логические операторы и операторы сравнения.

В Си-шарп есть следующие логические операторы:

! – оператор «НЕ» является унарным и возвращает противоположное значение операнда.

   bool a, b = true, c = false;
   a = !b; // a = false
   a = !c; // a = true


|| - оператор «ИЛИ» является бинарным и возвращает false только тогда, когда оба операнда равны false, в остальных случаях результат будет true;


static void Main(string[] args)
{
   bool a, bTrue = true, bFalse = false;
   a = bFalse || bFalse; // a = false
   a = bFalse || bTrue; // a = true
   a = bTrue || bFalse; // a = true
   a = bTrue || bTrue; // a = true


&& - оператор «И» является бинарным и возвращает true только тогда, когда оба операнда равны true, в остальных случаях результат будет false;


   bool a, bTrue = true, bFalse = false;
   a = bFalse && bFalse; // a = false
   a = bFalse && bTrue; // a = false
   a = bTrue && bFalse; // a = false
   a = bTrue && bTrue; // a = true


К операторам сравнения относятся:

Оператор    Название
>    больше
<    меньше
>=    больше или равно
<=    меньше или равно
==    равно
!=    неравно


static void Main(string[] args)
{
   bool a;
   int b = 2, c = 3, d = 2;
   a = b > c; // a = false
   a = b < c; // a = true
   a = b >= c; // a = false
   a = b >= d; // a = true
   a = b == c; // a = false
   a = b == d; // a = true
   a = b != c; // a = true
}
Логические операторы в первую очередь используются в условных операторах, о которых мы поговорим в следующих уроках.

смотреть видео


В этом видеоуроке мы разобрали основные операции C#


END



 

 

 

Категория: Уроки C# | Добавил: ProfessorVB (2015-11-06)
Просмотров: 5454 | Теги: или, видео, уроки, си шарп, арифметические операторы, Switch, логические операторы, C# | Рейтинг: 5.0/1
Всего комментариев: 0
avatar
Облако тегов
Поиск
Друзья сайта
  • www.youtube.com

  • vk.com/professorvb

  • Партнерка AIR

  • Партнерка VSP Group
  • Поделись с друзьям
    Теги
    урок C# си шарп видео Генератор имен MenuStrip дроби решебник Алгебра уравнения системы Vb.net генератор уроки математика программа условия Math массив элементов видеоуроки удаление записи из xml анекдот создать XML поиск удалить из xml калькулятор нок НОД Деструкторы дата время конструкторы тест сокращение дробей десятичные дроби тренажер русский развитие мнемоника переменные Сборник программ рандом professorvb Timer mindgames поиск в массиве цикл словарь база пароль слова Существительные sin cos комплексные числа Скачать процесс массив классы массивы многомерные for forEach do Обработка событий палитра цветов Обработка нажатий клавиш задать цвет Создание элементов система уравнений XML база данных xml поиск значений xml количество элементов soft tor pirat запрещенные сайты proxy AntiCenz fri-gate google черный список save Open RichTextBox TopMost между датами календарь DateTimePicker количество дней перемешивание массива Рифмоплет Ребусы Меморина скорочтение Анаграммы Сравнение дробей недостатки использование размер
    Copyright ProfessorVB © 2026