Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otvety_na_bilety_YaP_1-21_23.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
722.66 Кб
Скачать

Константы

Константы C# могут появляться, как обычно, в виде литералов и именованныхконстант. Вот пример константы, заданной литералом и стоящей в правой части оператора присваивания: y = 7.7f; Значение константы "7.7f" является одновременно ее именем, оно же позволяет однозначно определить тип константы. Отметим, иногда, как в данном случае, приходится добавлять к значению специальные символы для точного указания типа.  Всюду, где можно объявить переменную, можно объявить и именованную константуСинтаксис объявления схож. В объявление добавляется модификатор const, инициализация констант обязательна и не может быть отложена. Инициализирующее выражение может быть сложным, важно, чтобы оно было вычислимым в момент его определения. Вот пример объявления констант: /// /// Константы /// public void Constants() { const int SmallSize = 38, LargeSize = 58; const int MidSize = (SmallSize + LargeSize) / 2; const double pi = 3.141593; //LargeSize = 60; //Значение константы нельзя изменить. Console.WriteLine("MidSize= {0}; pi={1}", MidSize, pi); }//Constants

5)Арифметические операторы, логические операторы

В C# определены следующие арифметические операторы.

+ Сложение

- Вычитание (также унарный минус)

* Умножение

/ Деление

% Взятие по модулю (остаток от деления)

++Инкремент

--Декремент

Арифметические операторы (+), вычитания (-), (*) и (/) работают в C# так же, как в любом другом языке программирования,

они могут применяться к любым встроенным числовым типам данных.

Логические операторы

В C# существуют следующие операторы, возвращающие логические значения (типа bool): true (истина) и false (ложь):

операторы сравнения

==Равно

!=Не равно

>Больше чем

<Меньше чем

>=Больше или равно

<=Меньше или равно

логические операторы

& AND (И)

| OR (ИЛИ)

^ XOR (исключающее ИЛИ)

&& Short-circuit AND (быстрый оператор И)

|| Short-circuit OR (быстрый оператор ИЛИ)

! NOT (НЕ)

Укороченные логические операторы

В С# предусмотрены также специальные, укороченные, варианты логических операторов И и ИЛИ, предназначенные для получения более эффективного кода. Поясним это на следующих примерах логических операций. Если первый операнд логической операции И имеет ложное значение (false), то ее результат будет иметь ложное значение независимо от значения второго операнда. Если же первый операнд логической операции ИЛИ имеет истинное значение (true), то ее результат будет иметь истинное значение независимо от значения второго операнда. Благодаря тому что значение второго операнда в этих операциях вычислять не нужно, экономится время и повышается эффективность кода.

Укороченная логическая операция И выполняется с помощью оператора &&, а укороченная логическая операция ИЛИ — с помощью оператора ||. Этим укороченным логическим операторам соответствуют обычные логические операторы & и |. Единственное отличие укороченного логического оператора от обычного заключается в том, что второй его операнд вычисляется только по мере необходимости.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

short d = 12, f = 0, i = 0;

bool b = true;

// В данном случае используется укороченный оператор

// и операции сравнения выполнится в нормальном потоке

if (f != 0 && (d % f) == 0)

Console.WriteLine("{0} делится нацело на {1}",d,f);

// В этом случае так же используется укороченный оператор

// но при этом возникнет исключительная ситуация

// т.к. первый оператор сравнения содержит деление на 0

if ((d % f) == 0 && f != 0)

Console.WriteLine("{0} делится нацело на {1}", d, f);

// При использовании целостного оператора в любом

// случае возникнет исключительная ситуация

if (f != 0 & (d % f) == 0)

Console.WriteLine("{0} делится нацело на {1}", d, f);

//*** Практический пример использования обычных операторов ***//

// При использовании обычного оператора, в данной конструкции

// i будет инкреминироваться

if (b & (++i < 10))

Console.WriteLine("i равно {0}",i); // i = 1

i = 0;

// При использовании укороченного оператора

// значение i останется прежним

if (b && (++i < 10))

Console.WriteLine("i равно {0}", i); // i = 0

Console.ReadLine();

}

}

}

В C# операторы == и!= могут применяться ко всем объектам.

Операторы сравнения <, >, <=, >= применимы только к перечисляемым типам данных, которые упорядочены в своей структуре. Следовательно, все операторы сравнения могут применяться ко всем числовым типам данных.

Однако значения типа bool могут сравниваться только на предмет равенства или неравенства, поскольку значения true и false не упорядочены.

Например, выражение true > false в языке C# не имеет смысла.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]