Главная » Просмотр файлов » Г. Шилдт - Полный справочник по C++

Г. Шилдт - Полный справочник по C++ (1109478), страница 19

Файл №1109478 Г. Шилдт - Полный справочник по C++ (Г. Шилдт - Полный справочник по C++) 19 страницаГ. Шилдт - Полный справочник по C++ (1109478) страница 192019-04-28СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Иными словами, если функция в языке С++ возвращает некое значение, любой оператор геецга, появляющийся в ес теле, должен быть связан с каким-то значением. (Даже в стандарте С39 требовалось, чтобы функция, возвращающая значение, действительно возвращала его!) Оператор гееоге имеет следующий вид. геееге выражение; Выражение указывается лишь тогда, когда в соответствии со своим объявлением функция возвращает какое-то значение. В этом случае результатом функции является значение данного выражения.

Внутри функции можно использовать сколько угодно операторов геьоге. Однако функция прекратит свои вычисления, как только достигнет первого оператора гееога. Закрывающая фигурная скобка, ограничиваюгцая тело функции, также приводит к прекращению ее выполнения. Она интерпретируется как оператор гееога, не связанный ни с каким значением.

Если программист не укажет оператор геьеге в функции, возвращающей некос значение, то ее результат останется неопределенным. Функция, определенная со спецификатором чоад, может не содержать ни одного оператора геееге, связанного с каким-либо значением. Поскольку такие функции по определению нс имеют возвращаемых значений, бессмысленно связывать с ними оператор геецго.

Волос подробно оператор гееогв рассматривается в главе 3. Оператор до1о Поскольку в языке С/Сч ь существует богатый выбор управляющих структур на основе операторов ьгеак и еоееагще, в операторе доео нет особой необходимости. Считается, что использование операторов доео снижает читабельность программ. Тем нс менее, несмотря на то что оператор доео на протяжении многих лет подвергается остракизму, он по-прежнему иногда применяется. Трудно представить себе ситуацию, в которой нельзя было бы обой~ись без оператора доео.

И все же в умелых руках и при осторожном использовании оператор доео может принести пользу, например, нри выходе из глубоко вложенных циклов. За рамками данного раздела в нашей книге вы больше нигде нс встретите этот оператор. Глава 3. Операторы Зля оператора посо необходима ислзка ()або))„представляющая собой идентификатор с двоеточием.

Метка должна находиться в той же функции, что и оператор посо, — перепрыгивать из функции в функцию нельзя. Оператор яоео имеет следуюший вид, доео исслкгк кскнко, Метка может находиться как до, так и после оператора посо. Например, используя оператор посо и метку, можно организовать цикл от ( до 100. х=1; 1оор1: х+*з 1к(к<100) досо 1оар1; Оператор ЬгеаМ Оператор ькеа)< применяешься в двух ситуациях. Во-первых, он используется для прекращения выполнения раздела саве внутри оператора видеоЬ. Во-вторых, с помошью оператора Ькеа)с можно немедленно выйти из цикла независимо от истинности или ложности его условия.

Если в цикле встречается оператор Ькев)<, итерации прекращаются и выполнение программы возобновляется с оператора, слелуюшсго за оператором цикла. Рассмотрим пример. Вьпс1ис)е <вес)ьо. Ь> Тпс каьп(ззоас)) ( 1пс кок(с=сз с<100з с++) ( ркьпек("Ьс) 1к(С.==10) Ькеахз Зта программа выводит на экран числа от О до (О, а затем цикл прекращается, поскольку выполняется оператор ькеак. Условие с < 10о при этом игнорируется. Оператор Ькеа1с часто применяется в циклах, выполнение которых следует немедленно прекратить при наступлении опрелелснного события.

В приведенном ниже примере нажатие клавиши прекращает выполнение функции 1оо)с пр(). ззозс) 1оо) ир(снах "папе) оо /* поиск имен ... */ з д ( ХЬЫ С О ) Ьк ее)г з киз,1е(!Тепдо)з /* Точка выхода */ ) Часть ). Основы языка С++: подмножество С Если клавиша не нажата, функция )зЬИ.с() возвращает значение О, в противном случае она возвращает ненулеаос значение. Поскольку операционные системы значительно отличаются друг ст друга, функция )зьЬ1с () не определяется стандартами языкоа С и С++, однако а большинстве компиляторов она предусмотрена. Если циклы вложены друг в друга, оператор Ьсеа)з выполняет выход из внутреннего цикла ао внешний. Например, приведенная ниже программа 100 раз выводит на экран числа от 1 до ) О, причем каждый раз, когда счетчик достигает значения ! О, оператор Ьсеа)< передает управление внешнему циклу дпж Гоп(е=сз С<100з +<С) ( соипе = 1; гоп(;з) рсьпсс("$0 ", соипп)з соипс+<з 1Г(соипс==10) Ьсеахз ) Если оператор ьсеа)< содержится внутри оператора взз1ссь, который вложен в некий цикл, то выход будет осуществлеп только из оператора вмьссЬ, а управление останется во внешнем цикле.

Функция ехИ Хотя фу( зкция ех3 с () не относится к управляющим операторам, настало время ее изучить. Вызов стандартной библиотечной функции еззде() ПРиводит к прекращению работы программы и передаче управления операционной системс. Ес эффект можно сравнить с катапультированием из программы. Функция ехье() выглядит следующим образом. ч<здзт ехьс(ьпс код возвраяза); Значение переменной код возвралза передается вызывающему процессу, а роли которого чаше всего выступает операционная система. Нулевос значение кода возврата соответствует нормальному завершению работы. Другие значения аргумента указывают на аид ошибки.

В качеспе кода возарата молпзо приме(зять макросы хххт воссияя и хкхт лзшлвл. Для вызоаа функции охи() необходим заголовочный файл всзШЬ.Ь В программах на языке С++ можно также использоаать заголовочный файл <евсз)11ь>. Функция ехз.с() часто используется, когда обязательное условие, гарантирующее правильную работу программы, не выполняется. Рассмотрим, например, виртуальную компьютерную игру, для которой требуется специальный графический адаптер. Функция хадп() а этой программе может выглядеть следующим образом.

Згпс1ис(е <всц11Ь.Ь> 1пс аза1п(ззоЫ) ( 11()иьспиа1 дпарЬзсе()) екье(1)з р1еу(); у< яу ) з* *l Здесь функция зз1ссиа1 дсарЬ1св() определяется пользователем и воза(ишаст истинное значение, когда а компьютере есть необходимый графический адаптер. Если же его нег, она возвращает ложное значение„и функция ех5.с () прекращает работу программы. Гласа 3. Операторы В программе для проверки правописания функция шеппО может нспольювать функцию евде() для выхода из программы и возврата управления операционной системе.

уоЫ шепа (уоыа) ( опал оп; рг1псб("1. рв1пег("2. рх1пеб("3. рл1пеб("4. рхьпей(" Проверка правописания'сп")с Исправление ошибокхп")с Вывод ошибокМ")с ВыходМ"); Выберите пункт меню: "); бо ( оп = яесонах()) /" Ввод символа с клавиатуры */ яыьео)с (с)'.) саве '1'с спеси яре111поО с Ьлеан; саяе '2'с оохтеое еллокя(); Ькеа)с; саяе '3'с буяр).ау егяохя(); Ьхеа)с; саве '4'с екьс(0); /* Возврат в операционную систему */ ) ) ыи11е(оп!='1' аь сп!='2' ьь сн)='3'); Оператор сопбпое /* Подсчет пробелов */ З1пс1пс)е «ясс(1о.и> 1пе па1п(чоЫ) ( опал в(60), *ясхз апс арапе; рх1пет("Введите строкус "); деся(я)) ясв = я) бог(арапе=о; "ясв) асс++) 11(яяел .'= " ') сопеьпне; арапе++; Часть (.

Основы языка С++: подмножество С Оператор оопе1ппе напоминает оператор ьтеаи. Они различаются тем, что оператор ьтеа)с прекращает выполнение всего цикла, а оператор оопс1пие — лишь его текущей итерации, вызывая переход к следующей итеращ(и и пропуская все оставшиеся операторы в теле цикла. В цикле хот оператор оопеапие вызывает проверку условия и приращение счетчика цикла В циклах ыи11е и ао-нидзе ОПЕРатор сопсапве передает управление операторам, входящим в условие цикла. Приведенная ниже программа подсчитывает количество пробелов в строке, введенной пользователем.

ркьпсг('*Ъб пробеловМ", врасе); геецгп О; Проверяется каждый символ строки. Если он нс является пробелом. оператор сопехппе прерывает теку(цую итерацию цикла сок и начинает новую, в противном случае значение счетчика яраса увеличивается на !. В следующем примере оператор сопедппе выполняет выход из цикла ив11е, перславая управление оператору, входящему в условие цикла. чоьг) сесе(но1с() ( спал попе, с)ы г)опе = О; ыц11е(!с)опе) [ сп = сесспак О; 11(сц=='5') с)опе = 1; сопстпце; рцсспак(сца1); /* Переити к следухзлей букве алфавита */ ) Функция соде кодирует сообщение, прибавляя единицу к коду каждого символа. Например, в сообщении на английском языке буква А заменяется буквои В и т.д. Функция прекращает свою работу, если пользователь ввел символ в.

После этого вывод сообщений на экран прекращается, поскольку переменная гтопе принимает истинное значение, и, соответственно, условие цикла становится ложным. Операторы-выражения Выражения были подробно рассмотрены в главе 2. Однако следует сделать несколько замечаний. Напомним, что любое допустимое выражение, завершающееся точкой с запятой, считается оператором. Например, операторами являются следующие выражения. Гцпс(); /* Вызов функции */ а = Ь+с; /* Оператор присваивания */ Ь+1(); /* Нечто непонятное, но токе допустимый оператор */ /" Пустой оператор "/ Первый оператор выполняет вызов функции.

второй — присваивание. Третий оператор выглядит весьма странно, но тем не менее успешно компилируется и выполняется (вызывается функция д() и ее результат суммируется со значением переменной ь). Последний оператор является пустым (етр(у з(а(степ(). (Иногда он также называется фиктивным (пп)1 ма(стет).) Блок Блок — зто группа связанных между собой операторов, рассматриваемых как единое целое.

Операторы, образующие блок, логически связаны друг с другом. Блок иногда называется также составным оператором. Блок начинается открывающей фигурной скобкой ( и завершается закрывающей фигурной скобкой ). Блок чаще всего используется Глава 3. Операторы как составная часть другого оператора, например, условного оператора 1Д. Однако блок может являться и самосюятсльной едннипей программы.

Например, сто можно использовать так, как показано в следующем примере (хотя обычно так не делают). $1по1иое <вес(1о.п> апг. паз и ( оо16) 1пе 1; /* Блок */ 1 = 120; рстпех("аг(", 1); гесиап О; ) Часть 1. Основы языка С++( подмножество С Массивы и строки спр авочник п В Ф В Ф ~Щ ассие (аггау) — это совокупность переменных, имеюших одинаковый тип и обьединс1шых под олним именем.

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

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

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

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