Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsii_200309.doc
Скачиваний:
39
Добавлен:
24.12.2018
Размер:
4.38 Mб
Скачать

Тема 4. Операторы ветвления Простой оператор if

Оператор if имеет несколько вариаций. Рассмотрим вначале основную версию, на­зываемую простым оператором if.Синтаксис простого оператора if отображен в следующем синтаксическом блоке.

простой_оператор_if ::=

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

<Оператор>;

Следует сказать, что выражение логического типа всегда дает одно из двух значений: true (истина) или false (ложь). <Оператор> следующий за логическим выражением, исполняется лишь в том слу­чае, если последнее истинно. Если выражение ложно, то <Оператор> не выполняется, а выполняется следующий за ним оператор.

  1. Например, рассмотрим программу, которая выводит на консоль сообщение «Hello World», если введенное число равно 1.

using System;

class Class1

{

static void Main()

{

int a;

Console.WriteLine("Введите число");

a=Convert.ToInt32(Console.ReadLine());

if(a==1)

Console.WriteLine("Hello World!");

Console.WriteLine("Следующий оператор");

Console.ReadLine();

}

}

Оператор if / else

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

Рассмотрим синтаксический блок

Oпepamop_if_else ::=

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

<Оператор_1>; | <Составной_оператор_1>

[else

<Оператор_2>; | <Составной_операпор_2>]

Примечания:

  1. <Оператор_1>; | <Составной_оператор1> исполняется лишь в том случае, когда <Логическое_выражение> равно true.

  2. <Оператор_2>; | <Составной_оператор2> исполняется лишь тогда, когда <Логическое_ выражение> равно false.

  3. Символы [ ] перед else и после <Составной_оператор2> (как всегда) обозначают, что все между ними не является обязательным.

  4. Следует сказать, что символ | , в <Оператор>; | <Составной_оператор> означает, что выбор возможен из двух вариантов, окружающих его из этого следует, что можно использовать <Оператор> или <Составной_оператор>.

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

  6. Составной_оператор ::=

{

<Оператор1>;

<Оператор1>;

. . .

<ОператорN>;

}

Рассмотрим пример.

Предположим необходимо проверить является ли введенное с клавиатуры число четным, т.е. делиться ли оно на 2 без остатка. Ели оно является четным, то вывести сообщение «Число четное», если нет, то прибавить к числу единицу и вывести сообщение «Число нечетное».

using System;

class Class1

{

static void Main()

{

int a;

Console.WriteLine("Введите число");

a=Convert.ToInt32(Console.ReadLine());

if(a%2==0)

Console.WriteLine("Число четное");

else

{

a++;

Console.WriteLine("Число нечетное");

}

Console.ReadLine();

}

}

Вложенные операторы if

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

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

Oпepamop_if_else ::=

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

<Oпepamop1>; | <Составной_оператор>

Вставляется оператор if

[else

<Оператор2>; | <Составной_оператор2>]

Вставляется оператор if

Например, предположим нам надо проверить введенное число следующим образом: если введенное число меньше нуля, то умножить его на -1 и вывести сообщение «Введенное число отрицательное», в противном случае проверить является ли число четным и вывести сообщение «Число четное», если оно не четное, то вывести сообщение «Число не четное».

using System;

class Class1

{

static void Main()

{

int a;

Console.WriteLine("Введите число");

a=Convert.ToInt32(Console.ReadLine());

if (a<0)

{

a=-1*a;

Console.WriteLine("Число отрицательное");

}

else

{

if(a%2==0)

{

Console.WriteLine("Число четное");

a++;

}

else

{

Console.WriteLine("Число нечетное");

}

}

Console.ReadLine();

}

}

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