![]() |
![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() Главная страница Библиотека (скачать книги) Скачать софт Введение в программирование Стандарты для C++ Уроки по C# Уроки по Python HTML Веб-дизайн Ассемблер в среде Windows ActiveX Javascript Общее о Линукс Линукс - подробно Линукс - новое Delphi Паскаль для начинающих Турбопаскаль Новости Партнеры Наши предложения Архив новостей |
Выражения и операторы.C# - это язык, который основывается на семействе "C"-подобных языков (С, C++, Java) поэтому многие его механизмы работают по схожему принципу, например, операторы. В С# существуют четыре основных класса операторов: арифметические, логические, операторы сравнения, побитовые, а также несколько дополнительных, которые используются для ряда специальных ситуаций. Арифметические операторы
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("Ошибка !!!"); } Данные особенности работы оператора условия будут подробно рассмотрены в следующем уроке. Побитовые операторыКак и в C/C++ они работают непосредственно с конкретными битами своих операндов. Операндами побитовых операторов могут быть только целочисленные значения.
Они выполняют те же операции, что и их булевы логические эквиваленты. Отличие состоит в том, что побитовые операторы работают с операндами на уровне битов, впрочем это информация не должна являться для вас новостью, так как вы уже сталкивались с ними в C/С++. Давайте рассмотрим пример их использования: using System; class Sample { public static void Main() { try{ int a = Convert.ToInt32(Console.ReadLine()); // Проверка на четность if((a&1)==1) Console.WriteLine("Нечетное значение"); else Console.WriteLine("Четное значение"); int b = 2,c=5; int f = b|c; // На Экране 7 Console.WriteLine(f); int kvadrat = b<<1; int kub = b<<2; Console.WriteLine("Квадрат "+b+" = "+kvadrat); Console.WriteLine("Куб "+b+" = "+kub); } catch(Exception ex){ Console.WriteLine(ex.Message); } Console.Read(); } } Операторы, переменные и литералы вместе образовывают выражения. Как и в С++ для улучшения читабельности программы выражения могут содержать символы табуляции и пробелы. Кроме того в выражениях можно использовать круглые скобки для повышения приоритета операторов внутри них.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Библиотека программиста. 2009. |
|