Муқаддимаи забони С++

Таърихи пайдоиши забони С++. Забони барномасозии С++ (Си++) дар асоси забони С (Си) аз тарафи Бярн Страуструп (Bjarne Stroustrup) сохта шудааст. Б. Страуструп соли 1979 ба коркарди забони «Си бо классҳо» шуруЇъ намуд. Ғояи коркарди забон аз таҷрибаи навиштани барнома барои рисолааш оғоз меёбад. Вай тахмин намуд, ки забони барномасозии Симула чунин имкониятҳое дорад, ки барои сохтани барномаҳои ҳаҷмашон калон бисёр фоидаовар мебошанд. Вале барномаи ба забони Симула навишташуда бисёр суст кор мекард. Бо баробари ин, забони BCPL бисёр тез, лекин ба забонҳои сатҳашон паст наздикӣ дорад, яъне барои навиштани барномаҳои ҳаҷман калон мувофиқ нест. Ҳангоми кор…

Муфассал

Алифбои забони С++

Алифбои забони С++. Ба алифбои забони С++ дохил мешаванд: ∙ ҳарфҳои калон ва хурди алифбои лотинӣ; ∙ рақамҳои 0, 1, 2, 3, 4, 5, 6, 7, 8, 9; ∙ рамзҳои махсуси: » {} , | [] ( ) + — / \% \ ; ’ : ? < = > _ ! & # ~ ^ . * Аз рамзҳои алифбо элементҳои луғави (лексика)-и забон тартиб дода мешаванд: ∙ идентификаторҳо; ∙ калимаҳои корӣ; ∙ доимиҳо; ∙ аломатҳои амалҳо; ∙ аломатҳои китобатӣ.

Муфассал

Идентификаторҳо ва калимаҳои корӣ дар С++

Идентификаторҳо ва калимаҳои корӣ. Индентификатор – ин пайдарпаии аз ҳарфҳои лотинӣ, рақамҳои даҳӣ ва рамзи хати поёнӣ (_) иборатбудае, ки бо рақам оғоз намешавад. Масалан: RUN run copy g103. Ҳарфҳои калон ва хурди идентификаторҳо фарқ мекунанд. Ҳамин тариқ, дар мисоли болоӣ ду идентификатори аввал фарқкунанда мебошанд. Идентификатор метовонад то 32 рамз дарозӣ дошта бошад (қайд мекунем, ки дар компиляторҳои ҳархела дарозии номи идентификаторҳо метавонанд фарқ кунанд). Идентификаторҳо барои муайян намудани номи тағйирёбандаҳо, функсияҳо, классҳо, структураҳо ва нишонаҳо истифода бурда мешаванд. Калимаҳои корӣ – ин идентификаторҳое мебошанд, ки номашон аз тарафи забон захира шудаанд. Калимаҳои кории забони С++ инҳоянд: asm …

Муфассал

Доимиҳо дар С++

Доимиҳо.Доимӣ гуфта, лексемаеро меноманд, ки тасвири аниқи қимати ададӣ, сатрӣ ё рамзиро ифода мекунад. Доимиҳо ба панҷ гурӯҳ ҷудо мешаванд: бутун, ҳақиқӣ, номбаршаванда, рамзӣ ва сатрӣ. Доимиҳои номбаршаванда мувофиқи стандарти забон ба гурӯҳи доимиҳои бутун дохил мешаванд. Компилятор ҳамчун лексема доимиро ҷудо намуда, ба ин ё он гурӯҳ дохил менамояд ва дар дохили гурӯҳ аз намуди зоҳириаш ба навъи муайян ҷудо мекунад. Доимиҳои бутун метавонанд адаҳои даҳӣ, ҳаштӣ ё шонздаҳӣ бошанд. Доимии бутуни даҳӣ ҳамчун пайдарпаии рақамҳои бо сифр сарнашуда (ба ғайр аз худи сифр) муайян карда мешаванд (масалан, 16, 484216,…

Муфассал

Аломатҳои амалҳо дар С++

Аломатҳои амалҳо. Аломатҳои амалҳо барои тартиб додани ифодаҳо истифода бурда мешаванд. Ифода ин қоида барои ба даст овардани қимат аст. Як аломат дар ифодаҳои гуногун истифода бурда шуда, маъноҳои гуногун дошта метавонад, ки аз рӯи матни ифода муайян карда мешавад. Барои тасвири аломатҳои амалҳо якчанд рамзҳо истифода бурда мешаванд. Дар забони С++ амалҳои зерин мавҷуданд: [] () . -> ++ — & * + — ~ ! sizeof / % <<  >>  <  >  <= >= == != ^ | && || ?: = *= /= %= += -= <<=…

Муфассал

Навъи тағйирёбандаҳо дар С++

Навъи тағйирёбандаҳо. Навъҳои стандартӣ ва мураккаб. Чӣ хеле ки дар мавзӯҳои гузашта таъриф дода шуда буд, дар зери мафҳуми тағйирёбанда ҷуфти «ном» ва «қимат»-ро мефаҳманд. Ба «ном»-и тағйирёбанда адреси ячейкаи хотираи барои ин тағйирёбанда ҷудошуда, ва ба «қимат» маълумоти дар ин ячейка ҷойгирбуда мувофиқ аст. Номи тағйирёбанда индентификатор буда қимати тағйирёбанда ба навъи он мувофиқ аст. Навъи тағйирёбанда маҷмӯи қиматҳои имконпазири тағйирёбанда ва тарзҳои иҷрокунии амалҳо бо ин тағйирёбандаро муайян мекунад. Ҳамин тариқ, навъҳои ҳақиқӣ, бутун ва рамзӣ дохил карда мешаванд. Навъҳои бутун ва ҳақиқӣ навъҳои арифметикӣ номида мешаванд. Навъи тағйирёбандаҳо ҳангоми эълон ё…

Муфассал

Мафҳуми тағйирёбанда дар С++

Мафҳуми тағйирёбанда. Чӣ хеле ки медонем, алгоритм аз командаҳое иборат аст, ки барои иҷрокунандаи он пешбинӣ шудааст. Компютер низ яке аз иҷрокунандагони алгоритм аст. Бино бар ин, дар оянда, мо танҳо компютерро ба сифати иҷрокунандаи алгоритм (ё барнома) дида мебароем. Инчунин, гуфта шуда буд, ки алгоритм, алалхусус, метавонад дорои маълумотҳои аввала бошад. Алгоритм ин маълумоти авваларо табдил дода, натиҷаро ба даст меоварад. Маълумотҳои дар алгоритм (барнома) мавҷудбуда дар қисми махсуси хотираи компютер нигоҳ дошта шуда, ҳангоми иҷрои алгоритм метавонанд тағйир ёбанд. Ин қисми хотираи компютер тағйирёбанда номида мешавад. Ба ҳар як тағйирёбанда ном гузошта мешавад.…

Муфассал

Ифодаҳо дар с++

Ифода — ин пайдарпаии операндҳо ва аломати амалҳо аст. Тартиби иҷрошавии амалҳо бо операндҳо аз руи ранг (приоритет)-ашон иҷро карда мешаванд (ниг. ҷадвали ран- гҳо дар мавзуи 1.4). Барои тағйир додани тартиби иҷрошаву ё гуруҳбандии як қисми ифода бояд аз қавсҳои доираву () исти- фода кард. Дар ҳолати умуму, амалҳои унари (ранги 2), амали шарти (ранги 14) ва амали бахшиш (ранги 15) аз тарафи рост ба чап иҷро карда мешаванд. Масалан, қимати ифодаи x=y=z маънои x=(y=z) дорад. Ифодаи x+y-z бошад маънои (x+y)-z- ро дорад. Ба ғайр аз ташкили қоидаи ҳисобкуну,…

Муфассал

Операторҳои пайдарпай

Мавзӯи омӯзиши операторҳо барои ҳамаи забонҳои барно- масози тақрибан якхела мебошад. Операторҳо, одатан, амалиёт ва мантиқи (тартиби) иҷрошавии ин амалиётҳоро дар барнома муаяйн мекунанд. Операторҳоро ба операторҳои пайдарпай ва идоракунанда ҷудо мекунанд. Операторҳои пайдарпай. Ҳар як оператори забони C++ бо аломати «;» ба охир мерасад ва аз руи ин аломат шинохта мешавад. Дилхоҳ ифода, ки бо аломати «;» ба охир мерасад аз тарафи компилятор ҳамчун оператори алоҳида дида мешавад. Дар ҳолати хусуси оператори холи низ истифода бурда ме­шавад. Оператори холи аз як рамзи «;», ки дар тарафи чапаш ягон ифода…

Муфассал

Ташкили барномаҳои хаттӣ дар с++

Барномаи хатти гуфта, навишти алгоритми хаттиро дар ягон забони барномасозии ме- номанд. Барои ташкили барномаҳои хатти аз операторҳои до- хилкуни, азчопбарори, инҷунин амалҳои эълонкуни ва муайян- кунии тағйирёбандаҳо ва амалҳо бо онҳо истифода мешаванд. Бо оператори азчопбарори (<<) мо аллакай шинос ҳастем. Ба­рои дохилкунии қимати тағйирёбанда оператори дохилкунии >> истифода бурда мешавад, ки намудаш чунин аст: сели_маълумот >> номи_тағйирёбанда; Дар ин ҷо, номи_тағйирёбанда — идентификатор; сели_маълумот — сарчашмаи қимати дохилшаванда мебо­шад. Барои дохилкунии қимат аз сели стандартии дохилкуни, яъне аз клавиатура, аз калимаи cin (си-ин хонда мешавад — сели стандартии…

Муфассал