условия дает ложный результат, что приводит к завершению цикла. Выполнение программы продолжается с оператора, следующего после цикла.
Любопытно, что в программах, профессионально написанных на С#, вы вряд ли увидите итерационную часть оператора цикла в том виде, в каком она представлена в приведенном выше примере программы, т.е. вы редко встретите следующую строку.
count = count +1; •
Дело в том, что в C# имеется специальный оператор инкремента, выполняющий приращение на 1 значение переменной, или так называемого операнда. Этот оператор обозначается двумя знаками + (++). Используя оператор инкремента, можно переписать приведенную выше строку следующим образом.
count++;
Таким образом, оператор цикла for из приведенного выше примера программы обычно записывается в следующем виде.
for (count = 0; count < 5; count++)
Опробуйте этот более краткий способ записи итерационной части цикла. Вы сами можете убедиться, что данный цикл выполняется так же, как и прежде.
В C# имеется также оператор декремента, обозначаемый двумя дефисами (—). Этот оператор уменьшает значение операнда на 1.
Использование кодовых блоков
Еще одним важным элементом C# является
if(w < h) { v = w * h; w = 0;
}
Если в данном примере кода значение переменной w меньше значения переменной h, то оба оператора выполняются в кодовом блоке. Они образуют внутри кодового блока единый логический элемент, причем один не может выполняться без другого. Таким образом, если требуется логически связать два (или более) оператора, то для этой цели следует создать кодовый блок. С помощью кодовых блоков можно более эффективно и ясно реализовать многие алгоритмы. /
Ниже приведен пример программы, в которой кодовый блок служит для того, чтобы исключить деление на нуль.
// Продемонстрировать применение кодового блока.
using System;
class BlockDemo {
static void Main() { int i, j, d;
i = 5; j = 10;
// Адресатом этого оператора if служит кодовый блок, if(i != 0) {
Console.WriteLine ('i не равно нулю'); d = j / i;
Console.WriteLine('j / i равно ' + d);
}
}
}
Вот к какому результату приводит выполнение данной программы.
i не равно нулю j / i равно 2
В данном примере адресатом оператора if служит кодовый блок, а не единственный оператор. Если условие, управляющее оператором i f, оказывается истинным, то выполняются три оператора в кодовом блоке. Попробуйте задать нулевое значение переменной i, чтобы посмотреть, что из этого получится.
Рассмотрим еще один пример, где кодовый блок служит для вычисления суммы и произведения чисел от 1 до 10.
// Вычислить сумму и произведение чисел от 1 до 10.
using System;
class ProdSum {
static void Main() { int prod; int sum; int i;
sum = 0; prod = 1;
for (i=l; i <= 10; i++) {
sum = sum + i; prod = prod * i;
}