lektsii_po_infe
.pdf
|
|
|
|
|
|
41 |
2) |
Тестированиеветвей. |
|
Набортевстововокупностидолженобеспечивать |
|
||
прохокаждойветвинеменодногоразаие.Этс распросмыйкритерийраненный |
|
|
|
|||
впрактикепрограммирования. |
|
|
|
|
||
|
|
|
|
|
|
|
Непрдавильнаята |
|
33 |
|
|
Заправильнойосдаты |
|
Неправильноевремя |
|
88 |
|
|
Запраосвремениильного |
|
Датаодинаковая, |
|
1.01, 11.10 |
|
Поездприходитвовремя |
|
|
Поездприходит |
|
1.01, 11.10 |
|
|
|
|
вовремя |
|
|
|
|
|
|
Датаодинаковая, |
|
1.01, |
11.10 |
|
Поездопаздывает1 |
h5m |
Поездопаздывает |
|
1.01 |
12.15 |
|
|
|
Датаодинаковая, |
|
1.01 |
11.10 |
|
Поездпризодитраньше |
1h10m |
Поездприходит |
|
1.01 |
10.00 |
|
|
|
раньше |
|
|
|
|
|
|
Датыразные,поезд |
|
2.01 |
0.30 |
|
Поездпризодитраньше1 |
h0m |
приходитраньше |
|
1.01 |
23.30 |
|
|
|
Датыразные,поезд |
|
1.01 |
23.30 |
|
Поездопаздывает1 |
h0m |
опаздывает |
|
2.01 |
0.30 |
|
|
|
|
|
|
|
|
|
|
10. Сиисредатемапрограммирования
10.1Понятие. сисртемыпрограммированияд
Под системойпрограммировпонимаютязык аммирования совокупностьпрогр,поддерживающихедстваммныхразрабисп ткулнение программ,написанныхэтомязыке.
Длявыпрограммаолнениядолжнабытьзагруженавсредуиспо.Влучаенения использованияЯВУзагрузкепрограммыможедшествоватьрядпреобразований, цельюкоторыхявляетсяприведениепрограммыквиду,необходимомудлязагрузкив
средуисполнения. |
|
|
ДлядолговременнхраненпрограмманаЯВУия послекаждогорамма |
|
|
преобразованияразме |
щаетсянавнешнемзапоминающемустройствевидефайлов. |
|
Частьпрограммы,котораяхранитсяводномфайле,называетмодулем.Впростейшемя |
|
|
случаевсяпрограммахранитсяводномфайле.Имефайлов,какнапра,назначаетило |
|
|
разработчик,расширенияфайловна |
|
значаютсяавтоматическипоправ,принятымлам |
средеисполнения. |
|
|
Модуль,содепрограммужнязыкевысокогощийуровня,называетсяисходным |
|
|
модулем.Текстисходнмодулясостоитизготдельныхпредложений,называемых |
|
|
операт.Модуль,с дерамип огражащий |
|
ммуввиде,готовомдлязагрузкисреду |
исполнения,называетсямодулемемым |
|
. |
Различаютдвеосновнпреобразованиясхемыисходногомодуляисполняемый |
|
|
модуль:трансляцияинтерпретация. |
|
|
Схематранисполяциидпредсьзуеи тполняемогоавленияся |
модуляввиде |
|
машинныхкома.Этоозначает,чтодисхомодульолженйбытьпредварительно |
|
|
переведеннаязыкмашиннкоманд.Перевыпхспециальнойдлняетсяпрограммой |
- |
|
транслятором.СхематрансляцииприведенаРис.1 |
|
5. |
42
|
Рис. 15 |
|
|
Приразработке |
программбычноиспольранеесозподпрограммыуютсяданные, |
|
|
которыехранятсявбиблиотекестандартныхподпрограммввиде,пригодномдля |
|
|
|
загрузкивсредуисполнения.Подключениестандартныхподпрограммможет |
|
|
|
выполнятьсяходепрограмолнеди( ниямичесы |
|
кикомпонуемыебиблиотеки) |
|
илипредваритедозагрузкииспокодалвсредуьноняемогосполнениястатически( |
|
|
|
компонуемыебиблиот)В. с модульучакидн,полученныйтранслятором, |
|
|
|
называютобъектныммодулем. |
|
|
|
Подключениестандартныхподпрограммвозлагает |
сянаспециальнуюпрограмму |
- |
|
компоновщикредактор( связей)Обозначен. асширендлямодулет дляпичной |
|
|
|
большинствасистемпрограммоперационс стемероваWindowsТрансляториияой . |
|
|
|
компоновщикявляютсостчасвнымияистемытямипрограммирования.О |
|
тме,чтоим |
|
рассматбиблиопркакостоиватьнаборпекудпрможнот вгпредельнолькоамм |
|
|
упрощвид.Операциипонномдобавлениюподпрогрбиблиотудаммленияку подпрограммизбиблиотекивыполняютсяспециальныпрограм,которыебудемами рассматриватькаксоставнуючастьбиблиотеки.
|
|
Рис. 16 |
Схемаинтериспретациидонепосредственноголяьзуетра познавания |
|
|
выполненияоп |
ераторисходногом Рисдуляв.(16 |
)Распознавание. выполнение |
оператороввозлнспециальнуюгаетсяпрограмму |
– интерпретатор.Понятияисходного |
|
иисполняемодулявэтослучаесовпадаютого. |
|
|
Такимобразом,можноуточнитьсоставныечастисистемыпрогр,какммирования |
|
|
покнРиса.зано |
17 |
|
43
Рис.17
Средстваразрабомогуиспользтавтономнокиилиобъединятсяватьси. тему Вперв омслучзапук изеждогоскредствинициирразработчикомпувводатемся командыоперационнойсистемы.Средстваразработки,объединвсистнаенныему основеобщинтерфгообщебазыданных,йобразуютсасредупрограммирования.
Приведенныевышесоставны ечастисистемыпрограммированиянеобходимо рассматриватькакдостатоКонкртипи. чнсистемыепрограммированиятнымогуте иметькакбослее,ожнуютакиболеепростстр.Рассмотримуктуруюотличияна
примереплатформыMicrosoft.Net (MSDN)
10Общая.2ха. рактеристикаплатформыMSDN
ПлатформаMSDNпреднляазирниспабченаприложенийткилнения
различныхтипов:
•автономноеконсольноеприложиспользованитекстовогонтерфейсам пользователя;
• автономноеWindows |
-приложениесиспользованиемграфическо |
гоинтерфейса |
пользователя; |
|
|
•бибкласс,иотопреекаврыедляназначеныиспользованиядругих приложениях;
•Web-приложение,доступккоторомувыполняечерезбраузерикотпзапросусярое
формируетWeb -страницуотправляетееклипосети;нту
•Web-сервис – компонент,методыкоторогомогутвызывачерезИн.тернеться
Приложениеможетвыполнятьсярежимеуправкоданебезопасногояемогои
кода.
Впервомслучаеисхдолженйкодбытьперевнаспециальноден разработанныйдляплатформыпромежуточныйязыкMSIL( MS Common Intermediate Language).
ЯзыкCILпосинтаксисумнемоникенапоминаетязыкасс.Егомоблеражно
рассматриватьк ссемблеркви ртуальнмашины.ВNETжеовремяйязык. CIL соднекоторыержитдосвысат конструкциичнокоуровневые,повышающиеего уровеньпосравнениюассемблеромд юбойяреальносуществующейашины,
писатькоднепосредствнаCILлегче,чемнаассденномблере ляреальныхмашин. Поэтегоморассматриватьжномукаксвоеобрвысокоуровневый« ассемблерзный».
|
|
|
44 |
Дляисполнениякоданапромежуточномязыкеприложенияиспользуется |
|
|
|
специальнаяпрограммкомпоплатформынентаая |
– общеязыковаясредаисполнения |
|
|
CLR (Common Language Runtime) — «общеязыковаяисполняющаясреда» |
— компонент |
||
пакетаMicrosoftвиртуальисполняющиймаши.,NETнпрограммыFramework, |
|
|
|
написанные.NET |
-совместимыхязыкахпрограммирования. |
|
|
CLRинтерпретируетиспконаязыкелняетдMCIL,атакжепред |
|
оставляет |
|
MSIL-программамследовательно( ,ипрограммам,написаннымязыкахвысокого |
|
|
|
уровня,поддерживающих.NETдоступкбиблиотекамFramework)классов.NET |
|
|
|
Framework,илитакназываемой.NET FCL ( |
|
Framework Class Library). |
|
ОднойизосновныхидейMicr |
|
osoftявляетсясовместимость.NETпрограммных |
|
частей,написаразязыкахн.Напримерных,служба,написаннаяC++для |
|
|
|
Microsoftможетбратитьсякметоду.NET,классаизбиблиотеки,написаннойDelphi; |
|
|
|
наможноC#написатькласс,наследованныйоткл |
асса,написанногоVisual Basic |
|
|
.NET,аисключсоздаметодом,написаннымноеиеC#,ожбытьерехвачено |
|
|
|
обработановDelphiКаждаябиблиотекасборка.( )в.NETимесв своейдениятверсии, |
|
|
|
чтоп зволяетустранитьвозможныеконфликтымеждуразн |
|
ымиверсиямисборок. |
|
Вовторомслучаеисхдолженйкодбытьпереведеннаязыкмашинных |
|
|
ком.Машинныйндкодисполняетсянепосредствоперационнойподуправлением системы.
Основныепреимуществаплатформыпроявляютсярежимеуправляемогокода. жимпринятпоумолч.Всескавдниюзальннноеотноситсякэтомуйшем
Платформаподдержразработкупринавложенийнесколькихетязыках.Для |
Рис. 18 |
|
|
||
этогоплатфосодетранслятмажитдляязыкпрограммированиярывC#,С++, Visual |
|
|
Basic,ПлатфJ#. |
ормаоткрыдлявключениятрансляторовстороннихразработчиков |
|
языкудовлетв, требобщеязыковойванияряющспецти(CTS)фикацииповх. |
|
|
Платформаобеспечиваетвоз жвзаимодействияязыковогоность, |
|
|
использованиебширннабораготпрограммныхвыхгок |
омпонент,отслеживание |
|
несанкцидействийсостонировп поныиспгранныхммыосновнойльзованию |
|
|
памятивнешнихустройств. |
|
|
ИсхмодтранслируютсяныеулинапромежуточныйязыкMSIL,какпоказано |
|
|
Рис. 18.Коднапромежуточномязыкерассматриваетсясред |
ойисполненияCLRкак |
|
исполнямодуль.Срисполнениядамыйпредставляетсобойпрограмму,надс роенную |
|
|
надоперационнойсистемойWindowsилиXPвыполняемуюподME,98,2000ее |
|
|
управлен. другойCсто, реионысполнениядампредставляетсобойфункциональный |
|
|
аналогЭВМ, |
- виртуальмаши,которвыполнупрограммыюйняются |
|
промежуточномязыке. |
|
|
ПривызовеметосрисполнениядактивизируеттрансляторCLR,который |
|
|
переводиткодметодаспромежутязыкавмашинныйсохраняетчногодегов |
|
|
памяти.Приповт |
орномвызовеметодаповторнаятраневыполняетсясл, ция |
|
используетсямашинныйкод,сохраненныйвпамяти.Засчеттак достигаетсягохода эффективность,соизмеримаяэффективностьюнеуправляекодаэкономогоия
45
расходаосновнойпамятизасчеревода вмашинныйкодневсейпрограммы,только техмет,кобылиторыедреальноввызваныпроцессепрограммыолнения.
Рис. 19
Такимобр, платфорркзомобразуютсдвеком,показанныепонаенты Рис. 19:
• |
Статическаякомпонента |
– базоваябибкласиотека |
сов,содержобширныйаборщая |
|
готовыхкиспользованиюпрограммкомнапромежуточномязыкеентых.Базовая |
|
|
|
бибклассовиотекаявляетсяобщейдлясехзыковпрограммирования, |
|
|
|
поддерживаеплатфор. меых |
|
|
• |
Динамическаякомпонента |
– общеязыковаясредаисполн |
ения(CLR). |
|
Указанныекомпонентыявляютсяобязательнымидляисполненпрограммна я |
|
|
|
промежутоязыкеMSILвслуиспользовчаеномнаЭВМоперсистеманц яонных |
|
|
|
WindowsилиВXPперспективныхME,98,2000.операционныхси темахемейства |
|
|
|
Windowsпредполагается |
включениебазовойбиблклассовсредствотекиисполнения |
|
|
составоперационнойсистемы. |
|
|
|
ИнтегсредаазработкиированнаяMS VisualпредставляетсобойStudio.NET |
|
|
|
программкомпо,подденентууюрразроцессживпрограмм.боткиющую |
|
|
|
Возможностиинтегрированно |
йсредыдляприложенийнавсехязыкахпримерно |
|
|
рав,новнаибольшейценныстепенивозможностисредыраскпрываютсяазработке |
|
|
|
программнаязыкеС#Спо. средствощьюMS выполняетсяVisual Studio.NET |
|
|
|
редактированолнениеисхкода,выногопрвложения |
|
отладочномрежиме, |
|
визуальноеотображениелогическойструктурыприложения,выдачисправочной |
|
|
|
инфорпосамойсреде,платформеациязыкамипрограммирования,чтоявляется |
|
|
|
традициодлябольшинстватегнымр. едированных |
|
|
|
ОсобенностьюMS Visual |
Studio.NET |
являетсявозможностьавтоматической |
генерацииисхкодаповизуальномуногопредиаграммыставлениюклассовнотации
UMLинаоборот,построениевизуальноклассовпредставленияиаграммыпо исходномукодупрограммы.
В MS можетVisualбытьин е Studio.NET
инструментальсредствоRationalориенарешеXDE,тированноезадачанализаие проектировапрограммнаязыкеC#наособъектноовеия результатечеговозможностисрпоанализуды,проектированию существеннорасширяются.
Приложевпроцессразрнаиезываютпроектомботки.Прл гически объединяетвсеобходимыедлясозданияприложенфайлы,па рочиекресурсы.я Типоваяструктураконсольногоприложениянекоторымиупрощен Рис. 20.
Рис. 20
Описаниеструктурыпрохранитсявктаспециафайрасширениемльном
csproj.
Нескпрлогическилькоектмогутбытьобъевв дрешениеиненыно. Структураешенияхранитвфайлес сширениемяСslnпомощью. решенияSolutionвходящегосоставинтегExplorer,срможноедыированной просматриватьлогичеструктурупроектовехкую,включенрешеи ниеых выполнятьоперацииизменениюлогическойструктурырешенияпроектов.
10.3. Версии
Наиболеезна чимыеверсиипакета:
•Visual Studio 97 — перваявыпущенверсияVisualнвпервыебылиейаяStudio, собранывместеразличныесредстваразраПО.Онабылавыпущенаоткидвух версияхProfessionalEnterpriseОнавключаласебяVisual. Basic 5.0, Visual C++ Visual J++впервыепоявил1.сред1,разработкиVisualASPсь FoxPro 5.0,
InterDev. Visual Studio 97 — былапервойпопыткойMicrosoftсозедсредуинуюать дляразразнаботпрограммированияязыкхах: Visual C++, Visual J++, Visual InterDev,иMSDNисподнусредульзовали,называемуюDeveloper Studio. Visual Basic
иVisualиспоFoxProтдельныельзовалисредыдляразработки.
46
грированоспециализированное
-ориентирподх,в овданного идокументированию
иямипрнаведена
инспектора
5.0,
— Visual
|
|
|
|
|
|
|
47 |
• |
Visual Studio |
6.0 — |
выпущиюне1998на |
— последнверсиVisualяя Studio, |
|
|
|
|
работающаянаплатформе |
|
Win9x.По |
-прежнемупопулярнасредипрограммистов, |
|
|
|
|
использующих Visual Basic.Даннаяверсияявл |
яласьосновнсредразработкиой |
|
|
|||
|
приложенийподWindowsотMicrosoft,допоявленияплатформы |
|
.NET. |
|
|
||
• |
Visual Studio |
.NET (кодовоеимяRainier;внутренняяверсия7.0) |
|
— выпущена |
|
||
|
феврале 2002года |
(включает .NET Framework 1.0). дляServiceVisual PackStudio1 |
|
|
|||
|
.NETвыпущен(2002)марте |
|
2005. |
|
|
|
|
• Visual Studio .NET 2003 (кодовоеимяEverett;внутренняяверсия7.1) |
— выпущена |
||||||
|
апреле 2003года |
(включает .NET Framework 1.1). дляServiceVisual PackStudio1 .NET |
|
|
|||
|
2003выпущен13сентября |
|
2006. |
|
|
|
|
• |
Visual Studio 2005 (кодовоеимяWhidbey;вну |
тренняяверсия8.0) |
— выпущенаконце |
|
|
||
|
октября 2005года |
,последняяофициальноработающаяна |
Windows 2000,включае( |
т |
|||
|
.NET Framework 2В.начале0)ноября. |
2005 такжевышласерияпродуктовредакции |
|
|
|
||
|
Express: Visual C++ и2005 Express, Visual Basic 2005 Express, Visual C# 2005 Express |
||||||
|
др. апреля192006редакцияExpressсталабесплатной. |
|
|
|
|
|
|
• |
Visual Studio 2008 (кодоимяOrcas;военутренняяверсия9.0) |
|
— выпущена19 |
ноября |
|||
|
2007,одновременнос |
.NET Framework 3Нацелена.5. созданиеприложенийдляОС |
|
|
|
||
|
Windows Vista (ноподдерживаетXP), |
Office 2007 ивеб -приложений.Включаетв |
|
|
|||
|
себя LINQ,новыеверсииязыков |
C# и Visual Basic.Встудиюневошёл |
Visual J#.С |
28 |
|||
|
октября 2008года |
впердоступнавыерсияусскомязы |
ке. |
|
|
|
Language Integrated Query (LINQ) — проект Microsoft по добавлению синтаксиса
языказапросов,напоминающего |
SQL,вязыкипрограммированияплатформы |
|
.NET |
|||||
Framework.Ранбылрееализованязыках |
|
C# и Visual Basic .NET. LINQвыпущенвместе |
|
|||||
с Visual Studio 2008вконценоября2007года |
|
|
|
|
|
|
||
• Visual Studio 2010 (кодовоеимяHawaiдляUltimate, |
|
— Rosario;внутренняяверсия |
|
|||||
10.0) — выпущена 12апреля 2010года |
вместе .NET Framework 4.0. Visual Studio |
|||||||
включаподдязыковержкут |
|
C# |
4и.0 |
Visual Basic .NET 10атакже.0,языка |
F#, |
|||
отсутствовавшегопредыдущихверсиях. |
|
|
|
|
|
|
||
F#произносится(эф |
-шарп) |
— это |
функциональныйязыкпрограммирования |
|
||||
общегоназн.Разработанчения |
|
ДономСаймом |
(англ. |
Donв Syme) |
Microsoft Research в |
|||
Кембридже.ВнастоящеевремяегоразработкуведетMicrosoftи Developer Division, |
|
|
|
|||||
распространяетсявместе |
|
.NET Framework и Visual Studio какчасть |
Visual Studio 2010. |
|||||
СтруктуравоF#многсхожаструктуройм |
|
|
OCaml стойлишьразницей,чтоF# |
|
||||
реализованповерх |
библиотек исредыисполнения |
.NET. |
|
|
||||
НекотозадачирыеешаютсязначпрощеияснтельноиспользованиемF# ( |
|
|
|
|
||||
сравнениюрешенияминагосподствующихОО |
|
|
-языках),особенноте,чтоиспользуют |
|
||||
математическийстильпрограмм.Напр,написаниерованиямер |
|
|
|
|
компилятора |
требует |
||
работысо |
структурамиданных |
ипреобразованияминадними. |
|
|
|
11.СтруктурапрограммынаязыкеC/C++
ЛогическипрограмманаС++представляетсобойнаборфункций,каждаяфункция |
|
|
должнареализкакоевывать |
-тологическизакончендействие.Функциивызываютсяое |
|
лидругихбозфункций,л главнойбозфункциисименем |
main(). |
|
ФизическипрограмманаС++предст |
авляетсобойодинилинесколькофайлов. |
|
Главфунаякция |
main()находитсявфайлерасширением |
.cpp ипроизвольными |
|
|
|
48 |
именемжелательно( ,чтобыимяфайлакаким |
|
-тообразомотражтузад,коталочурая |
|
решаетсяэтойпрограммфайлы)Другие. обычнос держатфун |
|
кции,вызываемые |
|
main(),ониоформляютсяввидесп заголовочныхциальныхфайловимеют |
|
||
расширение .h. |
|
|
|
Рассмотримпримерпрог: аммы |
|
|
|
|
|
||
//Данапоследовательность |
n |
||
//целыхчиселиз |
|
|
|
//элементов.Найтисреднее |
|
комментарии |
|
//арифметическоеэтой |
|
|
|
//последовательности. |
|
|
|
#include <iostream.h> |
директивыпрепроцессора |
||
#include <math.h> |
|
||
void main() |
|
заголовокфункции,скоторой |
|
|
|
|
начинаетсявыпрограммыолнение |
{ |
|
|
началофункции |
int a,n,i,k=0; |
|
определенияпеременных, |
|
double s=0; |
|
используемыхвфункции |
|
cout<<"\nEnter n"; |
|
||
сin>>n; |
|
ввод-выводданных |
|
for(i=1;i<=n;i++) |
циклспараметром |
||
|
{ |
|
началоцикла |
cout<<"\nEnter a"; |
|
тело цикла |
|
|
|
||
|
cin>>a; |
|
|
|
s+=a; |
|
|
|
k++; |
|
|
|
} |
|
конеццикла |
s=s/k; |
|
операторисваивания |
|
cout<<"\nSr. |
|
выводрезультата |
|
arifm="<<s<<"\n"; |
|
конецпрограммы |
|
} |
|
|
|
|
|
||
Директивыпрепроцессопреобразованиемуправляюттекстапрограммыдоее |
|
||
компиляции.Исходнаяпрограмма,подготовленнаяС |
|
++ ввидетекстовогофайла, |
|
проходитэтапаобработки3 |
(Рис.21) |
: |
|
1) |
препроцессорноепреобразование |
текста; |
|
2) |
компиляция; |
|
|
3) |
компоновкаредактир( связейилисб)о. ркавание |
|
Послеэтихрэтаповформируетсяхисполняемыйкодпрограммы. |
Задача |
препроцессора – преобразовтекстапрогрдоеекоамние.Правилапиляциимы |
|
препроцессорнойобработкиопределяетпрограмми |
стпомощьюдиректив |
препроце.Директиваначинается#сора. |
|
#define - указыпразамввтилакстее.ны |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
|
#define ZERO 0.0 |
|
|
|
|
|
|
|
|
|
|
|
||||||
означает,чтокаждоеиспользовпрограммимениние |
|
|
|
|
ZERO будетзаменятьсяна |
||||||||||||
0.0. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Исходный |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
текст( cpp) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
препроцессор |
|
|
Полныйтекст |
|
|
компилятор |
|
|
|
|||
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
программы |
|
|
|
|
|
|
|
|
|
Включаемые |
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
файлы( h) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Объектный |
|
|
|
|
|
|
|
|
Исполняемый |
|
|
|
Компоновщик |
|
|
|
код ( obj) |
|
|
|
|
|
|
|
|
|
код ( exe) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Стандартные |
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
библиотеки ( lib) |
|
|
||
|
|
|
|
|
|
|
Рис. 21. |
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
#include<имязаголовочногофайла> |
|
|
– |
директивапре назначеналя |
|
|
|||||||||||
включениятекстпрограммыизстаз л файловловочныхга,поставляемых |
|
|
|
|
|
|
|
|
|
|
|
||||||
вместесостандартнымибиблиотеками.КаждаябиблиотечнаяфункцияимеетC |
|
|
|
|
|
|
|
|
|
|
|
||||||
соответствующееописаниеодномизза |
|
|
головочныхфайлов.Списзаг ловочныхк |
|
|
||||||||||||
файловопределенстандартомязыка.Употреблениедирективы |
|
|
|
|
|
|
include неподключает |
||||||||||
соответствующуюстандартнуюбиблиотеку,толькопозволяютвставитекс ь |
|
|
|
|
|
|
|
|
|
|
|
||||||
программыопиуказаннсаниязаголфайо.Есливочногоа |
|
|
|
|
|
|
|
|
спользуется |
||||||||
заголовочныйфайлизстандартнойбибл,тоегоизаключаютмятекивугловыескобки. |
|
|
|
|
|
|
|
|
|
|
|
||||||
Еслииспользуетсязаголовочнфайл,которыйнаходите йущематалогепроектася |
|
|
|
|
|
|
|
|
|
|
|
||||||
(онможетбытьсозданразрабпрограммы),тоеготчиимязаключаетсяомвкавыч |
|
|
|
|
|
|
|
|
|
|
ки. |
||||||
Подключениекодовбиблиотосущнаэтапекомпоновкиствляется,..после |
|
|
|
|
|
|
|
|
|
|
|
||||||
компил.Хотявзаголовочныхфайлахциисодержатсявсеописстандартныхия |
|
|
|
|
|
|
|
|
|
|
|
||||||
функций,вкодпрограммывключаютсятольтефункциикоторые, используютсяв |
|
|
|
|
|
|
|
|
|
|
|
||||||
программе. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Послевып |
олненияпрепроцобрабовтепрскстеонекиостаетсярнойграммыни |
|
|
|
|
|
|
|
|
|
|
|
|||||
однойпрепроцессорнойдирективы. |
|
|
|
|
|
|
|
|
|
|
|
||||||
Программапредставляетсобнаборопйиопределенийсаний,состоитизнабора |
|
|
|
|
|
|
main.Безн |
|
|
||||||||
функцфункций.Средиэт хвсегдадолжнабытьфункциясименем |
|
|
|
|
|
|
ее |
||||||||||
программанеможетбытьвыполн.Передимефункциипомещаютсяемсведения |
|
|
|
|
|
|
|
|
|
|
|
||||||
типевозвращфункцзнат(емогочрипейниязультата)Если. функцияничегоне |
|
|
|
|
|
|
|
|
|
|
|
||||||
возвращает,тоуказываетсятип |
|
|
|
void: void main().Каждаяфункция,втомч сле |
|
|
|||||||||||
main,должнаимет |
ьсписокпара.Списокможететровбытьпустым, огдаон |
|
|
|
|
()). |
|
|
|
|
|||||||
указываетсякак |
(void) (слово void можетбытьопущено: |
|
|
|
|
||||||||||||
Зазаголовкомфункцииразмещателофункции.Телофункциится |
|
|
|
|
|
|
– это |
|
|
||||||||
последовательопределе, ииспсанийоператоровостьлняемых,заключе |
|
|
|
|
|
|
|
|
|
нныхв |
|||||||
фигурныескобки.Каждопреде, илоперасаизаканниетосчкойривается |
|
|
|
|
|
|
|
|
|
|
|
||||||
запятой. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50
Определения – вводятобъекты( |
– этоименованнаяоблпамяти,частныйсть |
|
случайобъекта |
– переменная),необходимыедляпредставленияпрограмме |
|
обрабатываданных.Примерамиявляютсямых |
|
|
const int y = 10 ; //именованконстантаая float x ; //пере менная
Описания – уведкомосвойствпиляторляютименобъектовфункцийах, описанныхвдругихчастяхпрограммы.
Операторы – определяютдействияпрограммынакаждомшагеееисполнения.
12.ЭлементыязыкаC/C++
1) |
Алфавитязыка |
|
которыйвключает |
|
|
|
• |
прописныеистрочныелатинскиебуквызнакподчеркивания; |
|||
|
• |
арабскиецифрыот |
0 |
до 9; |
•специальныезнаки “{},| []()+-/%*.\’:;&?<>=!#^
•пробельныесимв( ,символлытабу,символыпереходаяции
|
нановуюстроку). |
|
|
|
2) |
Изсимволовформируются |
лексемыязыка |
: |
|
|
• Идентификаторы |
– именаобъектовC/C++ |
-программ.В |
|
|
идентификаторемогутбытьиспользовацифрылатинскиебуквы, ак |
|
|
PROG1, |
|
подче.Пропискивастрочнбуквразличаютсяыеия,например, |
|
|
|
|
prog1 и Prog1 – тразличныхидентификатора.Первымсимволомдолжн |
|
|
|
|
быть укваилизнакподчеркино(нецифр)Проб. виданияентификаторахлы |
|
|
|
|
недопускаются. |
|
|
|
|
• Ключевыезарезервированные( )слова |
|
– этослова,которыеимеют |
|
|
специазначениедкомпиляьное.Ихнеисплятьзявокачествельзоватьра |
|
|
|
|
идентификаторов. |
|
|
|
•Знакиопераций – этоодинилинесимволовколько,определяющих действиенадоперанд.Оперделятсяунармиц,бинарные тернарнуюпоколичесучаствующихэтойоперацииоперандов.
•Константы – этонеизменяемлыевеличин.Сущц, ствуюты вещественные,символьстроковые.Компиляторстантывыделяет константувкачлествексэле( мкоыен)иотноситтастрееукцииной одномуизтиповеевнешнемувиду.
• |
Разделители – скобки,точка,зап |
ятаяпробельныесимволы. |
|
Константа – этолекс,премадставляющаяизображениефиксированного |
|
||
чистрокового, ловогоилисимвользначе.Конделятсяогостиянгрупп5анты: |
|
|
|
• |
целые; |
|
|
• |
вещественные(плавающточкой); |
й |
|
• |
перечислимые; |
|
|
• |
символьные; |
|
|
• |
строковые. |
|
|
Компилявыдлекслятеорноситкмуеилиойдругойгруппе,азатем внутригрукоппыредтипупоеформеленномузаписивтекстепрограммыипо числовомузначению.
Целыеконстанты |
могутбытьдесятичными,восьмеричными |
шестнадцатеричными.Десятич |
наяконстантаопределякакпоследовательностьтся |
десятицифр,начнеинающаясяыхесли0,эточ неслопримеры0 :( 8, 0, 192345). |
|
Восьмеричнконстантая |
– эток нстакоторая, всегданачинаетсятаЗа0.следуют0 |