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

Основы c#. Урок 7. Операторы if и switch

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

...

class Class1

{

...

static void Main(string[] args)

{

int k = Int32.Parse(Console.ReadLine());

if(b)

{

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

}

else

{

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

}

Console.ReadLine();

}

}

Как и в других C-подобных языках, фигурные скобочки можно не писать в случае одного оператора. Также написание веточка else тоже не является необходимым - все зависит от конкретной задачи.

Оператор switch примеряется тогда, когда программа должна разделится более чем на два направления (т. е. будем двигаться или сюда, или сюда, или сюда). Вот пример:

int k = Int32.Parse(Console.ReadLine());

Console.WriteLine(k.ToString());

switch (k){

case 1:

case 2:

Console.WriteLine("Неудовлетворительно");

break;

case 3:

Console.WriteLine("Удовлетворительно");

break;

case 4:

Console.WriteLine("Хорошо");

break;

case 5:

Console.WriteLine("Отлично");

break;

default:

Console.WriteLine("Ошибка");

break;

}

В приведенном примере в зависимости от введенного пользователем числа на экран выводится та или иная оценка. Если число k не лежит в промежутке от 1 до 5, то выполняются операторы в веточке default и выводится надпись "Ошибка". Ветока default не обязательна. Обратите внимание на оператор break. Если его не написать, то будут выполнятся операторы из следующей веточки case до строки с break'ом (т. е. в данном примере если пользователь введет 1 или 2, то программы выведет "Неудовлетворительно"). Обратите внимание, что если в некоторой веточке case или default есть операторы, то написание break обязательно. Так, в следующих двух кусках кода есть ошибки:

...

case1:

Console.WriteLine("Совсем неудовлетворительно");

//Ошибка! Тут пропушен break

case 2:

Console.WriteLine("Неудовлетворительно");

break;

...

...

default:

Console.WriteLine("...");

//Ошибка! Тут пропушен break

}

Основы c#. Урок 8. Циклы for и foreach

Начнем сразу с примера цикла for:

intk = Int32.Parse(Console.ReadLine());

intsum=0;

for(int i=1; i<=k; i++){

sum+=i;

}

Console.WriteLine(sum);

Этот пример подсчитывает сумму чисел от 1 до введенного пользователем числа k. Сумма записывается в переменную sum и выводится на экран.

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

int[] a = {-5, 4, 55};

intsum=0;

for(int i=0; i<3; i++){

sum+=a[i];

}

В этом примере начальное значение для счетчика цикла равно нулю, и в условии продолжения цикла мы пишем знак "меньше", после которого ставится количество элементов в массиве. Разумеется, если в цикле должен выполнится только один оператор, то фигурные скобки можно не писать. Тут все, как в других C/C++-подобных языках.

Теперь рассмотрим пример цикла foreach:

int[] m = {-5, 4, 10};

intsum=0;

foreach(int i in m){

sum+=i;

}

В данном примере мы суммируем все элементы массива m, записывая сумму в sum.

В приведенном примере наш цикл перебирает все элементы массива m. На это нам указывает строка

...

foreach(int i in m){

...

которая интерпретируется так: для каждого целого числа из массива m делам что-то там. Если бы элементами массива были бы не целые, а, скажем, вещественные, то мы записали бы что-то вроде:

...

foreach(float i in m){

...

Т. е. мы пишем именно тип элементов массива. На самом деле foreach используется не только для массивов, но и для других объектов (например, для хэш-таблиц). Но это будет рассмотрено в последующих уроках.