Добавить в цитаты Настройки чтения

Страница 30 из 502

<b>      Console.WriteLine(&quot;Квадратный корень из {0} равен {1}&quot;,</b>

<b>                           n, Math.Sqrt(n));</b>

<b>      Console.WriteLine(&quot;Целая часть числа: {0} &quot;,</b>

<b>                           (int)Math.Sqrt(n));</b>

<b>      Console.WriteLine(&quot;Дробная часть числа: {0} &quot;,</b>

<b>                  Math.Sqrt(n) - (int)Math.Sqrt(n));</b>

<b>      Console.WriteLine();</b>

<b>    }</b>

<b>  }</b>

<b>}</b>

Вот как выглядит результат выполнения этой программы.

<b>Квадратный корень из 1 равен 1</b>

<b>Целая часть числа: 1</b>

<b>Дробная часть числа: 0</b>

<b>Квадратный корень из 2 равен 1.4142135623731</b>

<b>Целая часть числа: 1</b>

<b>Дробная часть числа: 0.414213562373095</b>

<b>Квадратный корень из 3</b>

<b>равен 1.73205080756888</b>

<b>Целая часть числа: 1</b>

<b>Дробная часть числа: 0.732050807568877</b>

<b>Квадратный корень из 4 равен 2</b>

<b>Целая часть числа: 2</b>

<b>Дробная часть числа: 0</b>

<b>Квадратный корень из 5 равен 2.23606797749979</b>

<b>Целая часть числа: 2</b>

<b>Дробная часть числа: 0.23606797749979</b>

<b>Квадратный корень из 6 равен 2.44948974278318</b>

<b>Целая чaсть числа: 2</b>

<b>Дробная часть числа: 0.449489742783178</b>

<b>Квадратный корень из 7 равен 2.64575131106459</b>

<b>Целая часть числа: 2 </b>

<b>Дробная часть числа: 0.645751311064591</b>

<b>Квадратный корень из 8 равен 2.82842712474619</b>

<b>Целая часть числа: 2</b>

<b>Дробная часть числа: 0.82842712474619</b>

<b>Квадратный корень из 9 равен 3</b>

<b>Целая часть числа: 3</b>

<b>Дробная часть числа: 0</b>

<b>Квадратный корень из 10 равен 3.16227766016838</b>

<b>Целая часть числа: 3</b>

<b>Дробная часть числа: 0.16227766016838</b>

Как видите, приведение результата, возвращаемого методом Math.Sqrt(), к типу int позволяет получить целую часть числа. Так, в выражении

<b>Math.Sqrt(n) - (int) Math.Sqrt(n)</b>

приведение к типу int дает целую часть числа, которая затем вычитается из всего числа, а в итоге получается дробная его часть. Следовательно, результат вычисления данного выражения имеет тип double. Но к типу int приводится только значение, возвращаемое вторым методом Math.Sqrt().

ГЛАВА 4 Операторы

В языке C# предусмотрен обширный ряд операторов, предоставляющих программирующему возможность полного контроля над построением и вычислением выражений. Большинство операторов в C# относится к следующим категориям: арифметические, поразрядные, логические и операторы отношения. Все перечисленные категории операторов рассматриваются в этой главе. Кроме того, в C# предусмотрен ряд других операторов для_ особых случаев, включая индексирование массивов, доступ к членам класса и обработку лямбда-выражений. Эти специальные операторы рассматриваются далее в книге вместе с теми средствами, в которых они применяются.

Арифметические операторы

Арифметические операторы, представленные в языке С#, приведены ниже.

<b>Оператор   Действие</b>

<b>+          </b>Сложение

-          Вычитание, унарный минус

<b>*          </b>Умножение

<b>/          </b>Деление

%          Деление по модулю

—          Декремент

<b>++         </b>Инкремент

Операторы +,    *    и / действуют так, как предполагает их обозначение. Их можно применять к любому встроенному числовому типу данных.

Действие арифметических операторов не требует особых пояснений, за исключением следующих особых случаев. Прежде всего, не следует забывать, что когда оператор / применяется к целому числу, то любой остаток от деления отбрасывается; например, результат целочисленного деления 10/3 будет равен 3. Остаток от этого деления можно получить с помощью оператора деления по модулю (%), который иначе называется оператором вычисления остатка. Он дает остаток от целочисленного деления. Например, 10 % 3 равно 1. В C# оператор % можно применять как к целочисленным типам данных, так и к типам с плавающей точкой. Поэтому 10.0 % 3.0 также равно 1. В этом отношении C# отличается от языков С и C++, где операции деления по модулю разрешаются только для целочисленных типов данных. В приведенном ниже примере программы демонстрируется применение оператора деления по модулю.