Чтение онлайн

на главную - закладки

Жанры

Полное руководство. С# 4.0
Шрифт:

Типы данных с плавающей точкой зачастую используются в операциях с реальными числовыми величинами, где обычно требуется дробная часть числа. Так, приведенная ниже программа вычисляет площадь круга, используя значение 3,1416 числа "пи". // Вычислить площадь круга. using System; class Circle { static void Main { double radius; double area; radius = 10.0; area = radius * radius * 3.1416; Console.WriteLine("Площадь равна " + area); } }

Выполнение этой программы дает следующий результат. Площадь равна 314.16

Очевидно, что вычисление площади круга не дало бы удовлетворительного резуль тата, если бы при этом не использовались данные с плавающей точкой. Два

управляющих оператора

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

С помощью условного оператора if в C# можно организовать выборочное выпол нение части программы. Оператор if действует в C# практически так же, как и опера тор IF в любом другом языке программирования. В частности, с точки зрения синтак сиса он тождествен операторам if в С, C++ и Java. Ниже приведена простейшая форма этого оператора. if(условие) оператор;

Здесь условие представляет собой булево, т.е. логическое, выражение, принимаю щее одно из двух значений: "истина" или "ложь". Если условие истинно, то оператор выполняется. А если условие ложно, то выполнение программы происходит, минуя оператор. Ниже приведен пример применения условного оператора. if(10 < 11) Console.WriteLine("10 меньше 11");

В данном примере условное выражение принимает истинное значение, поскольку 10 меньше 11, и поэтому метод WriteLine выполняется. А теперь рассмотрим дру гой пример. if(10 < 9) Console.WriteLine("не подлежит выводу");

В данном примере 10 не меньше 9. Следовательно, вызов метода WriteLine не произойдет.

В C# определен полный набор операторов отношения, которые можно использовать в условных выражениях. Ниже перечислены все эти операторы и их обозначения.

Операция Значение < Меньше <= Меньше или равно

Больше = Больше или равно == Равно != Не равно

Далее следует пример еще одной программы, демонстрирующей применение условного оператора if. // Продемонстрировать применение условного оператора if. using System; class IfDemo { static void Main { int a, b, c; a = 2; b = 3; if(a < b) Console.WriteLine("а меньше b"); // He подлежит выводу. if(a == b) Console.WriteLine("этого никто не увидит"); Console.WriteLine; c = a - b; // с содержит -1 Console.WriteLine("с содержит -1"); if(с >= 0) Console.WriteLine("значение с неотрицательно"); if(с < 0) Console.WriteLine("значение с отрицательно"); Console.WriteLine; с = b - а; // теперь с содержит 1 Console.WriteLine("с содержит 1"); if(с >= 0) Console.WriteLine("значение с неотрицательно"); if(с < 0) Console.WriteLine("значение с отрицательно "); } }

Вот к какому результату приводит выполнение данной программы. а меньше b с содержит -1 значение с отрицательно с содержит 1 значение с неотрицательно

Обратите внимание на еще одну особенность этой программы. В строке int а, b, с;

три переменные, а, b и с, объявляются списком, разделяемым запятыми. Как упоми налось выше, если требуется объявить две или более переменные одного и того же типа, это можно сделать в одном операторе, разделив их имена запятыми. Оператор цикла

Для повторного выполнения последовательности операций

в программе можно организовать цикл. Язык C# отличается большим разнообразием циклических кон струкций. Здесь будет рассмотрен оператор цикла for. Как и у оператора if, у опе ратора for в C# имеются аналоги в С, C++ и Java. Ниже приведена простейшая форма этого оператора. for(инициализация; условие; итерация) оператор;

В самой общей форме в части инициализация данного оператора задается началь ное значение переменной управления циклом. Часть условие представляет собой булево выражение, проверяющее значение переменной управления циклом. Если ре зультат проверки истинен, то цикл продолжается. Если же он ложен, то цикл завер шается. В части итерация определяется порядок изменения переменной управления циклом на каждом шаге цикла, когда он повторяется. Ниже приведен пример краткой программы, демонстрирующей применение оператора цикла for. // Продемонстрировать применение оператора цикла for. using System; class ForDemo { static void Main { int count; for(count = 0; count < 5; count = count+1) Console.WriteLine("Это подсчет: " + count); Console.WriteLine("Готово!"); } }

Вот как выглядит результат выполнения данной программы. Это подсчет: 0 Это подсчет: 1 Это подсчет: 2 Это подсчет: 3 Это подсчет: 4 Готово!

В данном примере count выполняет роль переменной управления циклом. В ини циализирующей части оператора цикла for задается нулевое значение этой перемен ной. В начале каждого шага цикла, включая и первый, проверяется условие count < 5. Если эта проверка дает истинный результат, то выполняется оператор, содержащий метод WriteLine. Далее выполняется итерационная часть оператора цикла for, где значение переменной count увеличивается на 1. Этот процесс повторяется до тех пор, пока значение переменной count не достигнет величины 5. В этот момент про верка упомянутого выше условия дает ложный результат, что приводит к завершению цикла. Выполнение программы продолжается с оператора, следующего после цикла.

Любопытно, что в программах, профессионально написанных на С#, вы вряд ли уви дите итерационную часть оператора цикла в том виде, в каком она представлена в при веденном выше примере программы, т.е. вы редко встретите следующую строку. count = count + 1;

Дело в том, что в C# имеется специальный оператор инкремента, выполняющий приращение на 1 значение переменной, или так называемого операнда. Этот оператор обозначается двумя знаками +(++). Используя оператор инкремента, можно перепи сать приведенную выше строку следующим образом. count++;

Таким образом, оператор цикла for из приведенного выше примера программы обычно записывается в следующем виде. for(count = 0; count < 5; count++)

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

В C# имеется также оператор декремента, обозначаемый двумя дефисами (--). Этот оператор уменьшает значение операнда на 1. Использование кодовых блоков

Еще одним важным элементом C# является кодовый блок, который представляет собой группу операторов. Для его организации достаточно расположить операторы между открывающей и закрывающей фигурными скобками. Как только кодовый блок будет создан, он станет логическим элементом, который можно использовать в любом месте программы, где применяется одиночный оператор. В частности, кодовый блок может служить адресатом операторов if и for. Рассмотрим следующий оператор if. if(w < h) { v = w * h; w = 0; }

Поделиться:
Популярные книги

Метатель

Тарасов Ник
1. Метатель
Фантастика:
боевая фантастика
попаданцы
рпг
фэнтези
фантастика: прочее
постапокалипсис
5.00
рейтинг книги
Метатель

Магия чистых душ

Шах Ольга
Любовные романы:
любовно-фантастические романы
5.40
рейтинг книги
Магия чистых душ

Барон Дубов

Карелин Сергей Витальевич
1. Его Дубейшество
Фантастика:
юмористическое фэнтези
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Барон Дубов

#Бояръ-Аниме. Газлайтер. Том 11

Володин Григорий Григорьевич
11. История Телепата
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
#Бояръ-Аниме. Газлайтер. Том 11

Барон диктует правила

Ренгач Евгений
4. Закон сильного
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Барон диктует правила

Попытка возврата. Тетралогия

Конюшевский Владислав Николаевич
Попытка возврата
Фантастика:
альтернативная история
9.26
рейтинг книги
Попытка возврата. Тетралогия

Долгий путь домой

Русич Антон
Вселенная EVE Online
Фантастика:
космическая фантастика
попаданцы
6.20
рейтинг книги
Долгий путь домой

Гардемарин Ее Величества. Инкарнация

Уленгов Юрий
1. Гардемарин ее величества
Фантастика:
городское фэнтези
попаданцы
альтернативная история
аниме
фантастика: прочее
5.00
рейтинг книги
Гардемарин Ее Величества. Инкарнация

Завод-3: назад в СССР

Гуров Валерий Александрович
3. Завод
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Завод-3: назад в СССР

Решала

Иванов Дмитрий
10. Девяностые
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Решала

Камень. Книга пятая

Минин Станислав
5. Камень
Фантастика:
боевая фантастика
6.43
рейтинг книги
Камень. Книга пятая

Отдельный танковый

Берг Александр Анатольевич
1. Антиблицкриг
Фантастика:
боевая фантастика
альтернативная история
5.00
рейтинг книги
Отдельный танковый

Метатель. Книга 3

Тарасов Ник
3. Метатель
Фантастика:
попаданцы
альтернативная история
рпг
фэнтези
фантастика: прочее
постапокалипсис
5.00
рейтинг книги
Метатель. Книга 3

Боярышня Евдокия

Меллер Юлия Викторовна
3. Боярышня
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Боярышня Евдокия