Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kompyuternye_tekhnologii_C.doc
Скачиваний:
8
Добавлен:
01.02.2015
Размер:
368.64 Кб
Скачать

4.2.1. Оператор if

Наиболее простой способ использования оператора ifвыглядит так, как показано

ниже, и подразумевает вычисление выражения <проверка> и выполнение следующей

за ним строки кода в случае, если <проверка> возвращает true:

if (<проверка>)

<код, выполняемый, если <проверка> равна true>;

После выполнения этого кода, или невыполнения из-за того, что в результате

вычисления выражения <проверка> было получено false, выполнение программы

снова возобновляется со следующей строки кода.

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

помощью оператора else. Этот оператор выполняется в случае, если при вычислении

выражения <проверка> получается false:

if (<проверка>)

<код, выполняемый, если <проверка> равна true>;

else

<код, выполняемый, если <проверка> равна false>;

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

if (<проверка>) {

<код, выполняемый, если <проверка> равна true>;

}

else

{

<код, выполняемый, если <проверка> равна false>;

}

В следующей программе показана проверка диапазона. Условие задачи выражается:

y=

using System;

class Program2

{

static void Main(string[] args)

{

Console.Write("Введите число в диапазоне 0..1: ");

Double x = Convert.ToDouble(Console.ReadLine());

if (x >= 0.0 && x <= 1.0) //Проверка условия

Console.WriteLine("{0:N}", Math.Abs(Math.Sin(x)));

else

Console.WriteLine("Вне диапазона!");

Console.ReadKey(true);

} }

В программу были добавлены операторы if()/else, которые определяют ветвление алгоритма, и в случае выполнения условия выполняется оператор послеif(), иначе – послеelse.Логическое выражение (условие) записывается в скобках после оператораif. Операторelse не является обязательным, при его отсутствии выполняются операторы блокаifесли условие выполняется, или иначе управление передаётся операторам, следующим за блокомif. Условный оператор удобно применять для проверки значений для исключения ошибочных ситуаций (хотя также есть специальные операторы обработки ошибок).

4.2.1. Внутристроковый условный оператор

В случаях, когда необходим выбор значений внутри выражения из двух вариантов в зависимости от выполнения условия применяют тернарный оператор «? :» (соответствующий конструкцииif–then–else). Формат его записи следующий:

Выражение1 ? Выражение2 : Выражение3;

В случае истинного значения Выражения1 типа bool выражение принимает значение Выражение2, иначе – Выражения3.

Пример: присвоить переменной z большее из двух значенийx илиy.

using System;

class Program4

{

static void Main()

{

Console.Write("Введите x: ");

int x = int.Parse(Console.ReadLine());

Console.Write("Введите y: ");

int y = int.Parse(Console.ReadLine());

int z = x > y ? x : y;

Console.WriteLine("Максимальное значение: " + z);

Console.Write("Нажмите любую клавишу для завершения...");

Console.ReadKey(true);

}

}

В выражении, вычисляющем значение z, используетсятернарный оператор. Сначала вычисляется сравнениеx >y (до ?), если выражение истинно, то переменнойz присваивается значениеx, иначе – значениеy. Таким образомz присваивается максимальное из значений.