Среда, 2025-01-22

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)
Просмотров: 5187 | Теги: или, Видео, Уроки, си шарп, арифметические операторы, Switch, логические операторы, C# | Рейтинг: 5.0/1
Всего комментариев: 0
avatar
Облако тегов
Поиск
Друзья сайта
  • www.youtube.com

  • vk.com/professorvb

  • Партнерка AIR

  • Партнерка VSP Group
  • Поделись с друзьям
    Теги
    Видео Switch массивы уравнения геометрия continue forEach while Обработка событий задать цвет C# math Vb.net xml количество элементов xml поиск значений математика видеоуроки Soft системы Google pirat Proxy tor НОД нок добавление записи в xml поиск Уроки генератор hello world время деструкторы конструкторы дроби калькулятор десятичные дроби решебник сокращение дробей си шарп мнемоника тренажер random количество дней между датами professorvb дата Урок mindgames алгебра многомерные слова словарь Пароль cos SIN база timer рандом Цикл Break DO for RGB условия массив элементов xml редактирование xml создание вирус MenuStrip AntiCenz fri-gate запрещенные сайты база данных Open RichTextBox XML удалить из xml save TopMost анекдот создать XML Классы Тест OpenFileDialog английский развитие иностранные слова DateTimePicker календарь массив перемешивание массива Анаграммы Рифмоплет Сравнение дробей Меморина скорочтение Использование ребусы комплексные числа программа генератор имен
    Copyright ProfessorVB © 2025