Главная страница

Назначение. Netframework


Скачать 107.32 Kb.
НазваниеНазначение. Netframework
Дата24.01.2018
Размер107.32 Kb.
Формат файлаdocx
Имя файла1.docx
ТипДокументы
#35071
страница3 из 7
1   2   3   4   5   6   7

Оператор if


Для организации условного ветвления язык C# унаследовал от С и С++ конструкцию if...else. Ее синтаксис должен быть интуитивно понятен для любого, кто программировал на процедурных языках:

if (условие)
  оператор (операторы)
else
  оператор (операторы)

Если по каждому из условий нужно выполнить более одного оператора, эти операторы должны быть объединены в блок с помощью фигурных скобок {...}. (Это также касается других конструкций C#, в которых операторы могут быть объединены в блок — таких как циклы for и while.)

Стоит обратить внимание, что в отличие от языков С и С++, в C# условный оператор if может работать только с булевскими выражениями, но не с произвольными значениями вроде -1 и 0.

При построении сложных выражений в C# используется вполне ожидаемый набор. Давайте рассмотрим следующий пример:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;
namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

string myStr;

Console.WriteLine("Введите строку: ");
myStr = Console.ReadLine();
if (myStr.Length < 5)

Console.WriteLine("\nВ данной строке меньше 5 символов");

else if ((myStr.Length >= 5) && (myStr.Length <= 12))

Console.WriteLine("\nВ данной строке {0} символов",myStr.Length);

else Console.WriteLine("\nВ данной строке больше 12 символов");
Console.ReadLine();

}

}

}

8.

Оператор switch


Вторым оператором выбора в C# является оператор switch, который обеспечивает многонаправленное ветвление программы. Следовательно, этот оператор позволяет сделать выбор среди нескольких альтернативных вариантов дальнейшего выполнения программы. Ниже приведена общая форма оператора switch:

switch(выражение) {

case константа1:

последовательность операторов

break;

case константа2:

последовательность операторов

break;

case константаЗ:

последовательность операторов

break;
...
default:

последовательность операторов

break;

}

Важно отметить, что заданное выражение в операторе switch должно быть (char, byte, short или int), перечислимого или же строкового. А выражения других типов, например с плавающей точкой, в операторе switch не допускаются. Зачастую выражение, управляющее оператором switch, просто сводится к одной переменной. Кроме того, константы выбора должны иметь тип, совместимый с типом выражения. В одном операторе switch не допускается наличие двух одинаковых по значению констант выбора.

Давайте на примере рассмотрим использование оператора switch:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;
namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("Введите язык (C#, VB или C++)");

string myLanguage = Console.ReadLine();
sw1(myLanguage);
Console.ReadLine();

}
// Данный метод выводит выбор пользователя

static void sw1(string s)

{

switch (s)

{

case "C#":

Console.WriteLine("Вы выбрали язык C#");

break;

case "VB":

Console.WriteLine("Вы выбрали язык Visual Basic");

break;

case "C++":

Console.WriteLine("Вы выбрали язык С++");

break;

default:

Console.WriteLine("Такой язык я не знаю");

break;

}

}

}

}

9.

Цикл for


Цикл for в C# предоставляет механизм итерации, в котором определенное условие проверяется перед выполнением каждой итерации. Синтаксис этого оператора показан ниже:

for (инициализатор; условие; итератор)

  оператор (операторы)

Здесь:

инициализатор

это выражение, вычисляемое перед первым выполнением тела цикла (обычно инициализация локальной переменной в качестве счетчика цикла). Инициализация, как правило, представлена оператором присваивания, задающим первоначальное значение переменной, которая выполняет роль счетчика и управляет циклом;

условие

это выражение, проверяемое перед каждой новой итерацией цикла (должно возвращать true, чтобы была выполнена следующая итерация);

итератор

выражение, вычисляемое после каждой итерации (обычно приращение значения счетчика цикла).

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

Стоит отметить, что цикл for отлично подходит для повторного выполнения оператора или блока операторов заранее известное количество раз. Давайте рассмотрим практическое применение цикла for на следующем примере:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;
namespace ConsoleApplication1

{

class Program

{

// Данный метод выводит таблицу умножения

// размерностью b x b

static void tab(byte b)

{

Console.WriteLine("Таблица умножения {0} x {0}\n", b);

// Этот цикл проходит по строкам

for (int i = 1; i <= b; i++)

{

// Этот цикл проходит по столбцам

for (int j = 1; j <= b; j++)

Console.Write("{0}\t", j * i);

Console.WriteLine();

}

Console.WriteLine();

}
static void Main(string[] args)

{

tab(8);
// Давайте разберем нестандартные возможности цикла for

// ************************************************* //
// Применение нескольких переменных управления циклом

for (byte i = 0, j = 20; i <= j; i += 5, j -= 5)

Console.WriteLine("i = {0}, j = {1}",i,j);

Console.WriteLine();
// Использование условного выражения в цикле

bool b = false;

for (byte i = 1, j = 100; !b; i++, j--)

if (i < Math.Sqrt(j))

Console.WriteLine("Число {0} меньше квадратного корня из {1}", i, j);

else b = true;
// Отсутствие части цикла

int k = 0;

for (; k < 10; )

{

k++;

Console.Write(k);

}

Console.WriteLine("\n");
// Цикл без тела

int sum = 0;

for (int i = 1; i <= 10; sum += ++i);
Console.WriteLine("Значение суммы: {0}",sum);
Console.ReadLine();

}

}

}
1   2   3   4   5   6   7


написать администратору сайта