Лабораторная работа №2
Тема: Программирование алгоритмов с ветвлением, вычисление математических выражений, обработка исключений
Цель: изучение основных арифметических и логических операций C#, методов класса Math, а также структурных операторов ветвления и обработки исключительных ситуаций
Теоретические положения
C# - это язык, который основывается на семействе "C"-подобных языков (С, C++, Java) поэтому многие его механизмы работают по схожему принципу, например, операторы. В С# существуют четыре основных класса операторов: арифметические, логические, операторы сравнения, побитовые, а также несколько дополнительных, которые используются для ряда специальных ситуаций.
Арифметические операторы
Оператор | Значение |
+ | Сложение |
- | Вычитание |
* | Умножение |
/ | Деление |
% | Остаток от деления |
++ | Инкремент |
-- | Декремент |
Все перечисленные выше операторы, кроме % работают точно так же как в C/C++. В C# оператор деления по модулю может применяться как к целочисленным данным, так и к значениям с плавающей точкой. В С/С++ этого делать нельзя было.
using System;class Sample{ public static void Main() { try{ int a=5,b=2; double c = 19.67, d=3; Console.WriteLine("Результат {0}%{1}={2}",a,b,a%b); Console.WriteLine("Результат {0}%{1}={2}",c,d,c%d); } catch(Exception ex){ Console.WriteLine(ex.Message); } Console.Read(); }}Операторы сравнения
Оператор | Значение |
== | Равно |
!= | Не равно |
> | Больше чем |
< | Меньше чем |
>= | Больше или равно |
<= | Меньше или равно |
Логические операторы
Оператор | Значение |
& | И |
| | Или |
^ | Исключающее или |
&& | И (сокращенная схема) |
|| | Или (сокращенная схема) |
! | Не |
Результатом выполнения операторов сравнения и логических операторов являются значения типа bool(true/false).Например:
using System;class Sample{ public static void Main() { try{ int a=2,b=3; if((a==2)&&(b==3)){ Console.WriteLine("Это видно на экране 1 !!!"); } if(a>31){ Console.WriteLine("Это не видно на экране 2 !!!"); } bool b1=false,b2=false; if(b1^b2){ Console.WriteLine("Это не видно на экране 3 !!!"); } b1=true; b2=false; if(b1^b2){ Console.WriteLine("Это видно на экране 4 !!!"); } } catch(Exception ex){ Console.WriteLine(ex.Message); } Console.Read(); }}Пример показанный ниже это ошибка на этапе компиляции, так как в С# невозможно неявное преобразование от int к bool.
int a = 7; if(a){ // Так нельзя в C#, а в С++ можно Console.WriteLine("Ошибка !!!"); }И Даже любимая логическая ошибка программистов на C++ для С# превратится в ошибку на этапе компиляции, по причине, указанной выше.
int a = 7; if(a=8){ // В этой строке ошибка на этапе компиляции Console.WriteLine("Ошибка !!!"); }Дата добавления: 2021-12-14; просмотров: 353;