Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » 246071-Либерти-Освой-самостоятельно-С-за-21-день

246071-Либерти-Освой-самостоятельно-С-за-21-день (Освой С++ самостоятельно за 1 день. Книга), страница 12

PDF-файл 246071-Либерти-Освой-самостоятельно-С-за-21-день (Освой С++ самостоятельно за 1 день. Книга), страница 12 Объектно-ориентированное программирование (ООП) (112562): Книга - 2 семестр246071-Либерти-Освой-самостоятельно-С-за-21-день (Освой С++ самостоятельно за 1 день. Книга) - PDF, страница 12 (112562) - СтудИзба2021-10-05СтудИзба

Описание файла

PDF-файл из архива "Освой С++ самостоятельно за 1 день. Книга", который расположен в категории "". Всё это находится в предмете "объектно-ориентированное программирование (ооп)" из 2 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст 12 страницы из PDF

Символыпробеловможноиспользоватьдляулучшениячитабельностипрограммы,чтооблегчитработусней.Нопринеумеломиспользованииэтижепробелымогутсовершеннозапутатьпрограммныйкод.СоздателиC++предоставилимногоразличныхвозможностей,аужнасколькоэффективноонибудутиспользоваться,зависитотвас.Символы пробелов не отображаются на экране и при печати — видны только различныеотступыипромежуткимеждуэлементамитекста.Блокиикомплексныеваражения Иногда для облегчения восприятия программы логически взаимосвязанные выраженияудобнообъединятьвкомплексы,называемыеблоками.Блокначинаетсяоткрывающейфигурнойскобкой({)иоканчиваетсязакрывающейфигурнойскобкой(}).Хотякаждоевыражениевблокедолжно оканчиваться точкой с запятой, после символов открытия и закрытия блока точки сзапятойнеставятся,каквследующемпримере:{temp=а;а=b;b=temp;}Этот блок выполняется как одно выражение, осуществляющее обмен значениями междупеременнымиаиb.Рекомендуется:Незабывайте о закрывающейфигурной скобке каждый раз, когдаиспользуется открывающая фигурная скобка.

Завершайте выражения в программе символомточкисзапятойНе рекомендуется:Используйте разумно символы пробелов, чтобы сделать своюпрограммуболеепонятной,аненаоборот.ОперацииВсе, в результате чего появляется некоторое значение, в языке C++ называется операцией.Обоперацияхговорят,чтоонивозвращаютзначение.Так,операция3+2;возвращаетзначение5.Всеоперацииявляютсявместестемивыражениями.Возможно,выбудетеудивленытому,чтомногиепрограммныеблокирассматриваютсякаквыражения.Приведемлишьтрипримера:3.2//возвращаетзначение3.2PI//вещественнаяконстанта,котораявозвращаетзначение3.14SecondsPerMinute//целочисленнаяконстанта,котораявозвращает60Предполагая,чтоPI—константа,равная3.14,аSecondsPerMinute—константа,равная60,можноутверждать,чтовсетривыраженияявляютсяоперациями.Выражениеx=а+b;нетолькоскладываетзначенияпеременныхаиb,ноиприсваиваетрезультатпеременнойx,т.е.

возвращает результат суммирования переменной x. Поэтому данное выражение вполнеможноназватьоперацией.Операциивсегдарасполагаютсясправаотоператораприсваивания:у=x=а+b;Данное выражение выполняет представленную ниже последовательность действий.Прибавляемакb.Присваиваемрезультатвыраженияа+bпеременнойx.Присваиваемрезультатвыраженияприсваиванияx=а+bпеременнойу.Еслипеременныеа,b,xиуявляютсяцелымииеслиаимеетзначение2,аb—значение5,топеременнымxиубудетприсвоенозначение7.Примервыполнениянекоторыхвыраженийпредставленвлистинге4.1.Листинг4.1.Выполнениесложныхопераций1:#include<iostream.h>2:intmain()3:{4:inta=0,b=0,x=0,y=35;5:cout<<"a:"<<a<<"b:"<<b;6:cout<<"x:"<<x<<"y:"<<y<<endl;7:a=9;8:b=7;9:y=x=a+b;10:cout<<"a:"<<a<<"b:"<<b;11:cout<<"x:"<<x<<"y:"<<y<<endl;12:return0;13:}Результат:а:0b:0x:0у:35а:9b:7x:16у:16Встроке4объявляютсяиинициализируютсячетырепеременные.Ихзначениявыводятсявстроках 5 и 6.

В строке 7 переменной а присваивается значение 9. В строке 8 переменной bприсваивается значение 7. В строке 9 значения переменных а и b суммируются, а результатприсваивается переменной x. Результат операции x = a+b, в свою очередь, присваиваетсяпеременнойу.ОператорыОператор — это литерал, который заставляет компилятор выполнять некоторое действие.Операторывоздействуютнаоперанды.ОперандамивC++могутбытькакотдельныелитералы,такицелыевыражения.ЯзыкC++располагаетдвумявидамиоператоров:•операторыприсваивания;•математическиеоператоры.ОператорприсваиванияОператорприсваивания(=)позволяетзаменитьзначениеоперанда,расположенногослевойстороныотзнакаравенства,значением,вычисляемымсправойстороныотнего.Так,выражениеx=а+b;присваивает операнду x значение, которое является результатом сложения значенийпеременныхаиb.Операнд, который может находиться слева от оператора присваивания, называетсяадреснымоперандом,илиl-значением(отангл.словаleft,т.е.левый).Операнд,которыйможетнаходиться справа от оператора присваивания, называется операционным операндом, или r-значением(отангл.словаright,т.е.правый).Константы могут быть только r-значениями и никогда не бывают адресными операндами,поскольку в ходе выполнения программы значения констант изменять нельзя.

Так, можнозаписать:x=35;//правильноНонельзязаписать:35=x;//ошибка!Повторим: l-значение — это операнд, который может стоять в левой части выраженияприсваивания,аг-значение—операнд,которыйможетстоятьвправойчастиэтоговыражения.Обратите внимание, что все l-значения могут быть r-значениями, но не все r-значения могутбыть l-значениями. Примером г-значения, которое не может быть l-значением, служитлитеральнаяконстанта.Так,можнозагасать:x=5;,нонельзязаписать:5=x;(xможетбытьlилиr-значением,а5можетбытьтолькоr-значением).МатематическиеоператорыВ C++ используется пять математических операторов: сложения (+), вычитания (-),умножения(*),целочисленногоделения(/)иделенияпомодулю(%).В операциях сложения и вычитания разобраться несложно: они возвращают сумму иразность двух операндов.

Хотя следует отметить, что вычитание беззнаковых целых можетпривести к удивительным результатам, если полученная разность окажется отрицательнымчислом. Вы уже видели нечто подобное на прошлом занятии при описании переполненияпеременных. В листинге 4.2 демонстрируется ситуация, когда из малого беззнакового числавычитаетсябольшоебеззнаковоечисло.Листинг4.2.Примервычитанияспереполнениемцелогочисла1://Листинг4.2.Примервычитанияс2://переполнениемцелогочисла3:#include<iostream.h>4:5:intmain()6:{7:unsignedintdifference;8:unsignedintbigNumber=100;9:unsignedintsmallNumber=50;10:difference=bigNumber-smallNumber;11:cout<<"Differenceis:"<<difference;12:difference=smallNumber-bigNumber;13:cout<<"\nNowdifferenceis:"<<difference<<endl;14:return0;15:}Результат:Differenceis:50Nowdifferenceis:4294967246Анализ: Оператор вычитания используется в строке 10, а результат выводится на экран встроке 11, в данном случае вполне ожидаемый.

В строке 12 вновь вызывается операторвычитания,нонаэтотразбольшоебеззнаковоечисловычитаетсяизмалогобеззнаковогочисла.Результат должен быть отрицательным, но поскольку он вычисляется (и выводится) какбеззнаковоечисло,происходитпереполнение,очемговорилосьнапрошломзанятии.ЭтатемаподробнорассматриваетсявприложенииА.ЦелочисленноеделениеиделениепомодулюЦелочисленноеделениенесколькоотличаетсяотобычного.Целочисленноеделение—этотожеcaмoeделение,котороевыизучали,когдаходиливпервыйкласс.Приделениичисла21начисло4(21/4)вслучаецелочисленногоделениявответеполучается5иостаток1.Чтобы получить остаток, нужно число 21 разделить по модулю 4 (21 % 4), в результатеполучимостаток1.Операция деления по модулю иногда оказывается весьма полезной, например, если вызахотите вывести из ряда чисел каждое десятое значение.

Любое число, результат делениякоторогопомодулю10равеннулю,являетсякратнымдесяти,т.е.делитсяна10безостатка.Так,результат выражения 1 % 10 равен 1; 2 % 10 равен 2 и т.д.; а 10 % 10 равен 0. Результат отделения11%10сноваравен1;12%10сноваравен2;итакможнопродолжатьдоследующегочисла, кратного 10, которым окажется 20. Мы воспользуемся этим методом при рассмотрениицикловназанятии7.ВопросыиответыПриделении5на3яполучаювответе1.Вчеммояошибка?Приделенииодногоцелогочисланадругоевкачестверезультатавытакжеполучитецелоечисло.Следовательно,5/3равно1.Для получения дробного результата нужно использовать вещественные числа. Выражение5,0/3,0дастдробныйответ:1,66667.Если ваш метод принимает в качестве параметров целочисленные значения, нужнопривестиихктипуfloat.Вопросы и ответы: Выполняя операцию приведения типа переменной, вы заставляетекомпиляторизменитьеетип.Приэтомвыкакбудтоговоритесвоемукомпилятору:"Язнаю,чтоделаю".

Было бы неплохо, если бы это оказалось правдой, поскольку компилятор как быотвечает вам: "Как скажете, босс: вся ответственность ложится на вас". В данном случае мыхотимсказатькомпилятору:"Японимаю,чтотысчитаешьэтозначениецелым,ноязнаю,чтоделаю: это действительно вещественное значение".

Для приведения типа существует дваспособа. Можно использовать приведение типа в старом стиле С или новый улучшенныйоператорANSIstatic_cast.Обавариантадемонстрируютсявлистинге4.3.Листинг4.3.Приведениепеременнойктипуfloat1:#include<iostream.h>2:3:voidintDiv(intx,inty)4:{5:intz=x/y;6:cout<<"z:"<<z<<endl;7:}8:9:voidfloatDiv(intx,inty)10:{11:floata=(float)x;//старыйстиль12:floatb=static_cast<float>(y);//современныйстиль13:floatc=a/b;14:15:cout<<"c:"<<c<<endl;16:}17:18:intmain()19:{20:intx=5,y=3;21:intDiv(x,y);22:floatDiv(x,y);23:return0;24:}Результат:z:1с:1.66667Анализ: В строке 20 объявляются две целочисленные переменные. В строке 21 они какпараметры передаются функции intDiv, а в строке 22 — функции floatDiv. Вторая функцияначинаетсясостроки9.Встроках11и12целыезначенияприводятсяквещественномутипуиприсваиваются переменным типа float.

Результат деления присваивается третьей переменнойтипаfloatвстроке13ивыводитсянаэкранвстроке15.СовместноеиспользованиематематическихоператоровсоператорамиприсваиванияНетничегонеобычноговтом,чтобыкпеременнойприбавитьнекотороезначение,азатемприсвоить результат той же переменной. Если у вас есть переменная myAge и вы хотитеувеличитьеезначениенадва,можнозаписатьследующее:intmyAge=5;inttemp;temp=myAge+2;//складываем5+2ирезультатпомещаемвtempmyAge=temp;//значениевозрастасновапомещаемвmyAgeОднако этот метод грешит излишествами.

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