Урок по C# №5: «Математика- царица наук. Основные математические операции в C#»
Любая программа так или иначе производит расчеты. Хотим мы или нет, но программист должен заниматься математикой – пишите вы игру или криптоанализ. Поэтому все языки программирования так или иначе включает в себя набор арифметических операторов. Успокою сразу – все математические операции в языке реализованы на уровне 5 класса общей школы. Простая арифметика и ничего более. Итак, давайте пробежимся по основным операторам языка C#.
+, — | Классическое сложение и вычитание |
*,/ | Умножение и деление |
= | Оператор присвоения |
% | Деление по модулю, возвращает остаток |
|,&,^ | Поразрядные ИЛИ, И, исключающее ИЛИ |
!, ==, >,<,>=,<=,!= | Отрицание, равно, больше, меньше, больше или равно, меньше или равно, не равно. |
>>, << | Сдвиги |
Как видите, операторов не так уж и много. В основном они дублируют известные вам с математики действия. С вашего позволения, я на этом останавливаться не буду, так как здесь все предельно ясно. Единственное, на что стоит обратить внимание – действия выполняются абсолютно в таком же порядке, как и в арифметике. Иными словами, умножение и деление имеют больший приоритет, нежели сложение или вычитание. Поэтому в сложных вычилсения разность и сумму заключайте в скобки. Еще один подводный камень всегда у сишников возникает при делении.
Запомните раз и навсегда – если вы делите число типа int, вам никогда не вернется дробь. Это означает, что, например, в выражении: int value= 3/2; в value будет 1, а не 1.5. Поэтому будьте внимательны. Кроме того, при делении дробей не забывайте ставить точку:
float v= 3.0 /2; //вернет 1.5
Уловили суть? Отлично. Кстати, обратили внимание на то, как после точки с запятой, обозначающей окончание выражения, я поставил (//) ? Это комментарий. Комментарии очень нужны программисту. Всегда есть риск столкнуться с чужим кодом, с которым придется разбираться. И хорошо, если там будут стоять комментарии. Поэтому заведите привычку ставить комментарии в своей программе. Кроме того, MS C# будет показывать вам подсказку для вашего метода или еще чего-нибудь в виде ваших же комментариев, что весьма удобно. // обозначает строчный комментарий. Он может занимать всего одну строку. Кстати, часто код удобно именно закомментировать, чем удалить (а вдруг он еще пригодится?).
//int sum =569+34; выражение не сработает.
Однако часто нужно закомментировать целые блоки кода или написать ремарку к вашему коду. В этом случае можно воспользоваться сишным многострочным комментарием, который имеет вид: /* текст комментария */ Его достоинство в том, что с помощью многострочного комментария можно закомментировать произвольный участок кода в вашей программе:
string name =”Андрей”; Console.WriteLine ( «Привет» / +* name */);
В C# есть еще третий вид комментария. Он позволяет генерировать документацию в виде xml-файлов. Начинается он с трех слэшей (///). Пока мы его затрагивать не будем. О нем я расскажу в уроке про сборки .
Ну и напоследок в этом уроке я хочу поговорить о константах. Константа – это переменная, значение которой задается в программе всего один раз и не меняется в процессе кода. Вспомните физику или химию. Там было куча различных констант, значение которых нашему мозгу лучше не знать наизусть (разве, что вы гений). Помните, как сказал Энштейн на вопрос о том, знает ли он скорость света? «Нет, но я всегда могу посмотреть эту величину в справочнике» — ответил физик. Так и в нашем случае.
Всегда найдутся значения, изменять которые не нужно. Это могут быть различные флаги выполнения команды, какие-нибудь опкоды, величины, строковые значения и т.д. Их и помещают в константы.
Задается константа следующим образом:
const тип_ константы имя_константы =значение;
Вызывается константа как и обычная переменная. На этом пока все. В следующем уроке мы рассмотрим с вами управляющие структуры языка C#