switch(выражение (char,byte, short или int), целочисленного типа перечислимого или же строкового.){
case константа1:
последовательность операторов
break;
case константа2:
последовательность операторов
break;
case константа3:
последовательность операторов
break;
default:
последовательность операторов
break;
}
// Продемонстрировать применение оператора switch.
using System;
class SwitchDemo
{
static void Main()
{
for (int i = 0; i < 10; i++)
switch (i)
{
case 0:
Console.WriteLine("i равно нулю");
break;
case 1:
Console.WriteLine("i равно единице");
break;
case 2:
Console.WriteLine("i равно двум");
break;
case 3:
Console.WriteLine("i равно трем");
break;
case 4:
Console.WriteLine("i равно четырем");
break;
default:
Console.WriteLine("i равно или больше пяти");
break;
}
}
}
Пример "проваливания" пустых ветвей case.
switch(i) {
case 1:
case 2:
case 3: Console.WriteLine("i равно 1, 2 или 3");
break;
case 4: Console.WriteLine("i равно 4");
break;
}
// Пример "проваливания" пустых ветвей case.
using System;
class EmptyCasesCanFall
{
static void Main()
{
for (int i = 1; i < 5; i++)
switch (i)
{
case 1:
case 2:
case 3: Console.WriteLine("i равно 1, 2 или 3");
|
|
break;
case 4: Console.WriteLine("i равно 4");
break;
}
}
}
Ниже приведен результат выполнения этой программы.
i равно 1, 2 или 3
i равно 1, 2 или 3
i равно 1, 2 или 3
i равно 4
Оператор цикла for: Применение нескольких переменных управления циклом
// Выяснить, является ли число простым. Если оно непростое, вывести наибольший его множитель.
using System;
class FindPrimes
{
static void Main()
{
int num, i, factor;
bool isprime;
for (num = 2; num < 20; num++)
{
isprime = true;
factor = 0;
// Выяснить, делится ли значение переменной num нацело.
for (i = 2; i <= num / 2; i++)
{
if ((num % i) == 0)
{
// Значение переменной num делится нацело.
// Следовательно, это непростое число.
isprime = false;
factor = i;
}
}
if (isprime)
Console.WriteLine(num + " — простое число.");
else
Console.WriteLine("Наибольший множитель числа " + num +
" равен " + factor);
}
}
}
// Использовать запятые в операторе цикла for.
using System;
class Comma
{
static void Main()
{
int i, j;
for (i = 0, j = 10; i < j; i++, j--)
Console.WriteLine("i и j: " + i + " " + j);
}
}
i и j: 0 10
i и j: 1 9
i и j: 2 8
i и j: 3 7
i и j: 4 6
// Использовать запятые в операторе цикла for для
// выявления наименьшего и наибольшего множителя числа.
using System;
class Comma
{
static void Main()
{
int i, j, smallest, largest, num = 100;
smallest = largest = 1;
for (i = 2, j = num / 2; (i <= num / 2) & (j >= 2); i++, j--)
{
if ((smallest == 1) & ((num % i) == 0))
smallest = i;
if ((largest == 1) & ((num % j) == 0))
largest = j;
}
Console.WriteLine("Наибольший множитель: " + largest);
Console.WriteLine("Наименьший множитель: " + smallest);
}
}