Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ C#.docx
Скачиваний:
16
Добавлен:
20.11.2019
Размер:
1.85 Mб
Скачать

1.3. Арифметические и логические операции

Арифметические операции обозначают привычными знаками +, -, *, /, %. При работе с целыми числами операция / дает частное, а операция % остаток от деления. Последняя операция допустима только для целых. Для деления двух целых необходимо менять тип хотя бы одного из них. Например,

i = 14;

k = 4;

x = (float)i / k;

Имеются операции i++ i-- ++i --i. При i = 14 в результате выполнения операции k=(++i)+4; переменные получат следующие значения i=15 и k=19; а после операции k=(i++)+4 i=15 и k=18.

Разрешена и запись x+=z; которая эквивалентна записи x=x+z; вместо + можно использовать и знаки других операций.

Операции сдвиг налево (направо) могут применяться только к целым числам. При i = 1478; результатами операций сдвига будут:

k = i >> 3; //k=184

i = i << 3; //i=11824

Над целыми могут выполняться и побитовые операции & - поразрядное умножение, | - поразрядное сложение, ^ - поразрядное исключающее или. Пусть имеется объявление int i, j, m; и переменные имеют следующие значения i=1634; k=7654; Тогда m=i&k; дает результат 1634; m=i|k; результат 8166 и m=i^k; результат 7044.

Над переменными логического типа могут выполняться операции &, |, ^ (исключающее ИЛИ), ! (отрицание). Переменной типа bool может быть присвоен результат сравнения:

b1= i>k; b1=!(i>k);

К арифметическим данным могут применяться математические функции, которые содержатся в библиотеке Math. Например, четвертый корень может быть найден следующим образом:

x=4598.3f;

z = Math.Pow(x, 0.25);

а натуральный логарифм через

z = Math.Log(x);

Какие именно функции имеются в библиотеке Math узнать предельно легко: после набора имени библиотеки и точки на экране появится подсказка. Не забудьте только, что значения большинства математических функций имеют тип double и названия функций пишут с большой буквы.

1.4. Условный оператор и оператор выбора

Условный оператор, вариант 1:

if (логическое_выражение) оператор ;

или

if (логическое_выражение)

{оператор1; оператор2; . . . .}

Условный оператор, вариант 2:

if ( логическое_выражение )

оператор1;

else оператор2 ;

или

if (логическое_выражение)

{ оператор1; оператор2; }

else

{операторА; операторБ; . . . .}

Как видно из примеров, правила написания условного оператора совпадают с правилами их написания на С++. Отличие лишь в том, что в скобках после if должно быть логическое выражение (переменная). Использование там арифметических выражений (переменных) является ошибкой. Для написания условий необходимо использовать те же знаки, как и на С++: == && || ! .

Оператор выбора позволяет сделать выбор среди многих вариантов. Он имеет следующий вид:

switch (целочисленное или строковое выражение)

{

case первое_значение:

операторы

break;

case второе_значение:

операторы

break;

. . . . . . . . . . .

default:

операторы

break;

}

В отличие от С++ после switch допускаются строковые значения. Оператор break; является во всех приведенных выше случаях обязательным. Пример.

static void Main(string[] args)

{

string s1;

s1 = "ABC";

switch (s1)

{

case"ABC":

Console.WriteLine("Variant 1");

break;

case "DEF":

Console.WriteLine("Variant 2");

break;

default:

Console.WriteLine("Unknown ");

break;

}

Console.ReadLine();

}