Главная » Просмотр файлов » 1629295407-c61bfe4caba98380ea3e7cdae6295416

1629295407-c61bfe4caba98380ea3e7cdae6295416 (846200), страница 23

Файл №846200 1629295407-c61bfe4caba98380ea3e7cdae6295416 (Шилдт Герберт - Полный справочник по C#) 23 страница1629295407-c61bfe4caba98380ea3e7cdae6295416 (846200) страница 232021-08-18СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 23)

Циклповторяется до тех пор, пока num больше нуля. Когда num станет равным нулю, циклзавершится, а переменная mag будет содержать порядок исходного числа.Подобно циклу for, условное выражение проверяется при входе в цикл while, a этозначит, что тело цикла может не выполниться ни разу. Это свойство цикла(иллюстрируемое следующей программой) устраняет необходимость отдельноготестирования до начала цикла.// Вычисление целых степеней числа 2.using System;class Power {public static void Main() {int e;int result;for(int i=0; i < 10; i++) {result = 1;e = i;while(e > 0) {result *= 2;e--;}Console.WriteLine("2 в степени " + i +" равно " + result);118Часть I. Язык C#}}}Результаты выполнения этой программы выглядят так:степени 0 равно 1степени 1 равно 2степени 2 равно 3степени 3 равно 4степени 4 равно 16степени 5 равно 32степени 6 равно 64степени 7 равно 128степени 8 равно 256степени 9 равно 512Обратите внимание на то, что цикл while выполняется только в том случае, еслизначение переменной е больше нуля.

Таким образом, когда е равно нулю, что имеет местов первой итерации цикла for, цикл while опускается.2222222222ввввввввввЦикл do-whileТретьим циклом в C# является цикл do-while. В отличие от циклов for и while, вкоторых условие проверяется при входе, цикл do-while проверяет условие при выходе изцикла. Это значит, что цикл do-while всегда выполняется хотя бы один раз. Его общийформат имеет такой вид:do {инструкции;} while(условие);Несмотря на то что фигурные скобки необязательны, если элемент инструкциисостоит только из одной инструкции, они часто используются для улучшениячитабельности конструкции do-while, не допуская тем самым путаницы с циклом while.Цикл do-while выполняется до тех пор, пока остается истинным элемент условие,который представляет собой условное выражение.В следующей программе цикл do-while используется для отображения в обратномпорядке цифр, составляющих заданное целое число.// Отображение в обратном порядке цифр целого числа.using System;class DoWhileDemo {public static void Main() {int num;int nextdigit;num = 198;Console.WriteLine("Число: " + num);Console.Write("Число с обратным порядком цифр: ");do {nextdigit = num % 10;Console.Write(nextdigit);Глава 5.

Инструкции управления119num = num / 10;}while(num > 0);}}Console.WriteLine();Результат выполнения этой программы выглядит так:Число: 198 Число с обратным порядком цифр: 891Вот как работает этот цикл. На каждой итерации крайняя справа цифра определяетсякак остаток от целочисленного деления заданного числа на 10.

Полученная цифра тут жеотображается на экране. Затем результат этого деления запоминается в той же переменнойnum. Поскольку деление целочисленное, его результат равносилен отбрасыванию крайнейправой цифры. Этот процесс повторяется до тех пор, пока число num не станет равнымнулю.Цикл foreachЦикл foreach предназначен для опроса элементов коллекции. Коллекция — этогруппа объектов. В C# определено несколько типов коллекций, среди которых можновыделить массив. Цикл foreach рассматривается в главе 7, посвященной массивам.Использование инструкции break для выхода изциклаС помощью инструкции break можно организовать немедленный выход из цикла,опустив выполнение кода, оставшегося в его теле, и проверку условного выражения.

Приобнаружении внутри цикла инструкции break цикл завершается, а управление передаетсяинструкции, следующей после цикла. Рассмотрим простой пример.// Использование инструкции break для выхода из цикла.using System;class BreakDemo {public static void Main() {}}// Используем break для выхода из цикла.for(int i=-10; i <= 10; i++) {if(i > 0) break; // Завершение цикла при i > 0.Console.Write(i + " ");}Console.WriteLine("Готово!");Эта программа генерирует следующие результаты:-10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 Готово!120Часть I.

Язык C#Как видите, несмотря на то, что этот цикл for спроектирован для перебора значенийi в диапазоне от —10 до 10, инструкция break “досрочно” прекращает его выполнение,когда значение переменной i становится положительным.Инструкцию break можно использовать с любым C#-циклом, включая“бесконечный”. Например, предыдущая программа, переделанная для использования dowhile-цикла, имеет следующий вид:// Использование инструкции break для выхода// из цикла do-while.using System;class BreakDemo2 {public static void Main() {int i;i = -10;}}do {if(i > 0) break;Console.Write(i + " ");i++;}while(i <= 10);Console.WriteLine("Готово!");Теперь рассмотрим более реальный пример. Следующая программа находитнаименьший множитель заданного числа.// Определение наименьшего множителя числа.using System;class FindSmallestFactor {public static void Main() {int factor = 1;int num = 1000;for(int i=2; i < num/2; i++) {if((num%i) == 0) {factor = i;break; // Цикл прекращается, когда найден множитель.}}Console.WriteLine("Наименьший множитель равен " + factor);}}Результаты выполнения этой программы выглядят так:Наименьший множитель равен 2Здесь инструкция break останавливает выполнение цикла for, как только находитмножитель числа.

Тем самым предотвращается попытка опробовать любые другие значения— кандидаты на “звание” множителя.При использовании внутри множества вложенных циклов инструкция breakпрерывает только самый внутренний цикл.Глава 5. Инструкции управления121// Использование инструкции break с вложенными циклами.using System;class BreakNested {public static void Main() {for(int i=0; i<3; i++) {Console.WriteLine("Подсчет итераций внешнего цикла: " + i);Console.Write(" Подсчет итераций внутреннего цикла: ");int t = 0;while(t < 100) {if(t == 10) break; // Останов цикла, когда// t равно 10.Console.Write(t + " ");t++;}Console.WriteLine();}Console.WriteLine("Циклы завершены.");}}Результаты работы этой программы выглядят следующим образом:Подсчет итераций внешнего цикла: 0Подсчет итераций внутреннего цикла: 0123456789Подсчет итераций внешнего цикла: 1Подсчет итераций внутреннего цикла: 0123456789Подсчет итераций внешнего цикла: 2Подсчет итераций внутреннего цикла: 0123456789Циклы завершены.Как видите, инструкция break, находящаяся во внутреннем цикле, прекращаетвыполнение только этого цикла, а на внешний не оказывает никакого воздействия.Хотелось бы также обратить ваше внимание на то, что в одном цикле можноиспользовать не одну, а несколько инструкций break, однако слишком большое ихколичество способно нарушить структуру кода.

И еще. Инструкция break, котораязавершает выполнение инструкции switch, влияет только на инструкцию switch, а не насодержащий ее цикл.Использование инструкции continueПомимо средства “досрочного” выхода из цикла, существует средство “досрочного”выхода из текущей его итерации. Этим средством является инструкция continue. Онапринудительно выполняет переход к следующей итерации, опуская выполнениеоставшегося кода в текущей. Инструкцию continue можно расценивать как дополнение кболее “радикальной” инструкции break. Например, в следующей программе используетсяинструкция continue для “ускоренного” поиска четных чисел в диапазоне от 0 до 100.// Использование инструкции continue.using System;122Часть I.

Язык C#class ContDemo {public static void Main() {// Выводим четные числа между 0 и 100.for(int i = 0; i <= 100; i++) {if((i%2) != 0) continue;// переход на следующую// итерацию.Console.WriteLine(i);}}}Здесь выводятся только четные числа, поскольку при обнаружении нечетного числапроисходит преждевременный переход к следующей итерации, а метод WriteLine() невызывается.В циклах while и do-while инструкция continue передает управлениенепосредственно инструкции, проверяющей условное выражение, после чего циклическийпроцесс продолжает “идти своим чередом”.

А в цикле for после выполнения инструкцииcontinue сначала вычисляется итерационное выражение, а затем — условное. И толькопосле этого циклический процесс будет продолжен.Инструкция continue используется программистами не слишком часто, хотя внекоторых случаях он оказывается весьма кстати.Инструкция returnИнструкция return обеспечивает возврат из метода.

Ее можно использовать длявозвращения методом значения. Подробнее см. главу 6.Инструкция gotoИнструкция goto — это C#-инструкция безусловного перехода. При ее выполненииуправление программой передается инструкции, указанной с помощью метки. Долгие годыэта инструкция находилась в немилости у программистов, поскольку способствовала, с ихточки зрения, созданию “спагетти-кода”. Однако инструкция goto по-прежнемуиспользуется, и иногда даже очень эффективно. В этой книге не делается попытка“реабилитации” законных прав этой инструкции в качестве одной из форм управленияпрограммой. Более того, необходимо отметить, что в любой ситуации (в областипрограммирования) можно обойтись без инструкции goto, поскольку она не являетсяэлементом, обеспечивающим полноту описания языка программирования.

Характеристики

Тип файла
PDF-файл
Размер
5,05 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6418
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее