Лекция 3 Инструкции управления.ppt
- Количество слайдов: 20
Инструкции управления • Инструкции выбора (if, switch) • Итерационные инструкции ( for-, while-, dowhile-, foreach) • Инструкции перехода (break, continue, goto, return, throw).
Инструкция if if(условие) инструкция; else инструкция ; if (условие) { последовательность инструкций } else { последовательность инструкций }
Пример if if (i == 10) { if (j < 20) a = b; if(k > 100) с = d; else a = с; } else a = d;
Расширенный пример if // if-else example using System; class If. Test { static void Main() { Console. Write("Enter a character: "); char c = (char)Console. Read(); if (Char. Is. Letter(c)) { if (Char. Is. Lower(c)) Console. Write. Line("The character is lowercase. "); else Console. Write. Line("The character is uppercase. "); } else Console. Write. Line("Not an alphabetic character. "); } }
Инструкция switch • • • • switch(выражение) { case константа 1: последовательность инструкций break; case константа 2: последовательность инструкций break; case константа. З: последовательность инструкций break; default: последовательность инструкций break; }
Пример switch 1 switch(i) { case 1: case 2: case 3: Console. Write. Line("i равно 1, 2 или З"); break; c a s e 4: Console. Write. Line ( " i равно 4 " ) ; break ; }
Пример switch 2 • • • switch(chl) { case ‘A ‘ : Console. Write. Line( “Эта буква А - часть внешней инструкции switch. "); switch(ch 2) { case 'A ‘ : Console. Write. Line( “Эта буква А - часть внутренней инструкции switch. "); break; case 'В': //. . .
Инструкция for(инициализация; условие; итерация) инструкция ; for(инициализация; условие; итерация) { последовательность инструкций }
Пример for 1 int x; for(x = 100; x > -100; x -= 5) Console. Write. Line(x) …. X=0; for(count=10; count < 5; count++) х += count;
Пример for 2 int num, i; bool isprime; for(num = 2; num < 20; num++) { isprime = true; for(i=2; i <= num/2; i++) { if((num % i) == 0) isprime = false; } if(isprime) Console. Write. Line(num + " -- простое число. "); }
Пример for 3 int i, j ; for(i=0, j=10; i < j; i++, j--) Console. Write. Line("i и j: " + i + " " + j); int i, j; bool done = false; for(i=0, j=100; !done; i++, j -- ) { if(i*i >= j) done = true; }
Пример for 4 • • • for(i = 0; i < 10; ) { Console. Write. Line ("Проход №" + i) ; i++; } или int i ; i = 0; // Убираем из цикла раздел инициализации. • for(; i < 10; ) { • Console. Write. L ine ("Проход №" + i) ; • i++;
Пример for 5 int sum = 0; // Суммируем числа от 1 до 5. for(int i = 1; i <= 5; sum +=i++) Console. Write. Line("Сумма равна " + sum);
Инструкция whilе (условие) инструкция; int num = 435679; ; int mag = 0; Console. Write. Line("Число: " + num); while(num > 0) { mag++; num = num /10; }; Console. Write. Line("Порядок: " + mag);
Инструкция do - while • В отличие от циклов for и while, в которых условие проверяется при входе, цикл do-while проверяет условие при выходе из цикла. Это значит, что цикл do-while всегда выполняется хотя бы один раз. do { инструкции; } while {условие);
Инструкция break С помощью break можно организовать немедленный выход из цикла for(int i=-10; i <= 10; i++) { i f ( i > 0) // Выход при i > 0 break; Console. Write(i + " " ) ; } Console. Write. Line("Готово!");
Инструкция continue for(int i = 0; i <= 100; i++) { if((i%2) != 0) continue; Console. Write. Line(i); } int j=-1; while(++j<=100) { if((j%2) != 0) continue; Console. Write. Line(j); }
Инструкция return Выражение return прерывает выполнение метода, в котором оно присутствует и возвращает управление вызывающему методу. Оно также возвращает необязательное значение. Если метод является типом void, оператор return можно опустить. • return; • return ret;
Инструкция goto — это С#-инструкция безусловного перехода. Требует наличия в программе метки. Метка — это действительный в С# идентификатор, за которым поставлено двоеточие х = 1; loopl: if(x < 100) goto loopl;
Пример goto for(int i=l; i < 5; i++) { switch(i) { case 1: Console. Write. Line("В ветви case 1"); goto case 3; case 2: Console. Write. Line("В ветви case 2"); goto case 1; case 3: Console. Write. Line("В ветви case 3"); break; }} // goto case 1; // Ошибка!
Лекция 3 Инструкции управления.ppt