C kupanga programu katika vizuizi vya msimbo. Code Blocks IDE - kuanzisha na kutumia. Kuendesha programu nje ya mazingira ya maendeleo katika kesi ya Windows

Habari za mchana wapendwa. Na nakala hii, ninaanza safu ya masomo kwenye moja ya lugha maarufu za programu - c++. Masomo yanalenga hasa watumiaji ambao hawajafahamu upangaji programu, kwa hivyo wataalamu, msiwe wakali, ingawa ninaunga mkono ukosoaji, haswa katika anwani yangu. Katika mafunzo yangu, nitatumia Kanuni::Vizuizi mazingira ya ukuzaji, ambayo ni bure kupakua na kutumia. Wacha tuanze na classic Hello, world =)

Natumaini tayari umepakua na kusakinisha Msimbo::Vizuizi, ikiwa ndivyo, wacha tuanze. Kuzindua mazingira ya maendeleo

Kwanza kabisa, unda mradi mpya usio na kitu Faili->Mpya-> Mradi na uchague Mradi Tupu

bonyeza Nenda, kisha Ijayo


na katika dirisha inayoonekana, kwenye uwanja wa kichwa cha Mradi, chapa kichwa cha mradi, katika jina la faili la Mradi, jina la mradi, na tena Ijayo.


Katika dirisha linalofuata, futa Dir ya Vitu kutoka kwa usanidi wa Unda "Debug" na Unda sehemu za usanidi za "Toa", kama inavyoonyeshwa kwenye picha ya skrini hapo juu, na ubofye kitufe cha Maliza. Mradi ulio na jina "Hujambo ulimwengu" unapaswa kuonekana upande wa kulia.

Hatua inayofuata ni kuongeza Faili->Mpya->Faili... faili kwenye mradi na uchague chanzo cha c/c++ kwenye dirisha linaloonekana.

Tena Nenda, Ifuatayo, chagua c++, Ifuatayo na uone dirisha lifuatalo

,

hapa tunahitaji kutaja jina la faili (niliiita kuu) na njia yake, ikiwezekana folda iliyo na mradi. Angalia visanduku vya Utatuzi na Toa na ubofye Maliza.

Na tulipata faili tupu ya c ++ ambayo tutaandika msimbo wa programu yenyewe.

Sasa tunaanza kuandika msimbo wa programu yenyewe. Ili kuonyesha habari kwenye skrini, tunahitaji maktaba ya iostream ingizo/toleo.

#pamoja na

kutumia nafasi ya majina std ;

Kisha tunaandika kazi kuu ambayo itatekelezwa wakati programu inapoanza.

int kuu()

lazima iitwe "kuu" na tunataja aina ya int kwa hiyo (tutazungumza juu ya hili katika masomo yanayofuata). Kati ya braces curly na itakuwa kanuni ya mpango. Tutaandika programu rahisi ambayo itaonyesha salamu "Halo, ulimwengu!" kwenye koni.

koti<<"Salamu, Dunia!" ;

Baada ya kila amri, lazima uweke ";", hii inamwambia mkusanyaji kwamba amri imekamilika na unaweza kusindika inayofuata. cout - hutoa maadili ya vigezo au kamba kwa mstari wa amri.

Orodha kamili ya programu.

#pamoja na

kutumia nafasi ya majina std;

int kuu ()

koti<< "Hello, world!" ;

kurudi 0 ;

Tunaanza mradi na kuona matokeo.


Chini ni mafunzo ya video kwa makala hii.

Ikiwa una maswali yoyote, tafadhali andika maoni kwa Anwani hii ya barua pepe inalindwa dhidi ya spambots. Lazima JavaScript iwezeshwe ili kutazama. ,">Barua pepe hii inalindwa dhidi ya spambots. Lazima JavaScript iwezeshwe ili kutazama., nitamaliza masomo au kusaidia tu katika kusoma nyenzo.

  • < Назад

Msimbo::Blocks ni mazingira ya bure ya ukuzaji wa jukwaa mtambuka. Msimbo::Blocks imeandikwa katika C++ na hutumia maktaba ya wxWidgets. Kuwa na usanifu wazi, inaweza kuongezwa kwa programu-jalizi. Inasaidia C, C++, lugha za programu za D (na vikwazo).
Msimbo::Blocks imeundwa kwa ajili ya Windows, Linux na Mac OS X. Mazingira yanaweza kujengwa kutoka chanzo kwa karibu mfumo wowote unaofanana na Unix. [ http://en.wikipedia.org/wiki/Code::Blocks ]

Ili kuwezesha lugha ya Kirusi, unahitaji kufanya yafuatayo:

1. Kumbukumbu lazima ipakuliwe kwenye folda ndogo ya programu (ambapo imesakinishwa), kwa mfano C:\Program Files (x86)\CodeBlocks\share\CodeBlocks.
2. Baada ya kuanza programu, chagua Mipangilio -> Mazingira -> Tazama, angalia kisanduku cha "Internationalization" na uchague "Kirusi" kutoka kwenye orodha.

3. Tunaanzisha upya programu ya CodeBlocks na kupata Russification.


Lugha ya Kirusi imeunganishwa kwa ufanisi na Msimbo::Blocks toleo la 13.12.

Kumbukumbu tayari ina muundo wa folda eneo\ru_RU (kuwekwa katika \CodeBlocks\share\CodeBlocks)

Hali ya tafsiri:
Ujumbe: 2173
Ilitafsiriwa: 2173 (100.0%)
Haijatafsiriwa: 0 (0.0%)
Imeshirikiwa kati ya Ubuntu na juu: 2173 (100.0%)
Imetafsiriwa tofauti kati ya Ubuntu na juu ya mkondo: 0 (0.0%)
Ilitafsiriwa kwa upande huu pekee: 0 (0.0%)

Msimbo wa Mazingira Jumuishi ya Maendeleo (IDE)::Vizuizi (hapa vinajulikana kama CB) ni bidhaa kamili ya kuunda programu za C/C++. CB ni mfumo wa jukwaa mtambuka uliotengenezwa kwa kutumia maktaba ya zana ya wxWidgets. Kuna matoleo ya mazingira kwa Windows na mifumo mingine ya uendeshaji (OS) - Linux na Mac OS. IDE hii ni bure kabisa, chanzo huria na imeundwa kwa kutumia teknolojia huria. Mojawapo ya nguvu kuu za CB ni usaidizi wake wa kuunda programu za wxWidgets - yaani, programu (programu) ambayo hutumia API ya OS kuchora kiolesura cha picha cha mtumiaji (GUI). Kwa maneno mengine, CB hukuruhusu kuunda programu ya jukwaa la msalaba kwa kila ladha.

CB ina uwezo wa kufanya kazi na idadi kubwa ya watunzi. Ikiwa kuna kadhaa yao imewekwa kwenye mfumo, unaweza kubadili kwa urahisi kati yao, kulingana na hitaji. Pamoja, katika hatua ya usakinishaji, IDE yenyewe itachanganua mfumo kwa watunzi wanaopatikana na kutoa kutumia moja kama kuu. Unaweza kubadilisha mipangilio hii baadaye kimataifa na kwa msingi wa mradi baada ya mradi. Kwa mipangilio ya mazingira ya kimataifa, kuna sehemu nzima ya "Mipangilio" kwenye menyu kuu ya CB. Ili kufanya mipangilio yoyote maalum kwa mradi fulani, unahitaji kufungua dirisha la mali ya mradi. Ili kufanya hivyo, unahitaji kupiga menyu ya muktadha wa mradi kwa kubofya haki juu yake, na uchague kipengee cha "Mali". Miradi yenyewe (iliyofunguliwa kwa sasa katika IDE) inaonyeshwa kama mti kwenye paneli ya kituo cha "Usimamizi", katika kichupo chake cha "Miradi". Sasa, katika dirisha la mali linalofungua, unaweza kusanidi anuwai ya vigezo, kutoka kwa kuhariri malengo ya ujenzi hadi kuunganisha maktaba za watu wengine. Kitufe cha "Chaguo za ujenzi wa Mradi" kwenye kichupo cha "Mipangilio ya Mradi" cha dirisha sawa la mali kitakuruhusu kusanidi kwa urahisi sana usanidi wa ujenzi wa mradi maalum: funguo za mkusanyaji, chagua mkusanyaji yenyewe, ni pamoja na maktaba za kiunganishi, nk. Yote hii inaweza kufanywa kwa njia za kibinafsi: "Toa" "Debug".

CB GUI imejengwa karibu na paneli za kizimbani zinazoelea na kunyooshwa ambazo zinaweza kutiwa gati upande wowote wa dirisha kuu la IDE kwa kuziburuta kwa kipanya. Shukrani kwa hili, unaweza kubinafsisha kwa urahisi mipangilio tofauti ya kiolesura kwa saizi tofauti za skrini, kuboresha ergonomics ya GUI. Ikiwa kuna wachunguzi kadhaa, ni rahisi kutenganisha paneli fulani kutoka kwenye dirisha kuu na kuziweka kwenye wachunguzi wa jirani.

Kuangazia, kukamilisha msimbo na zana za kuhariri katika CB hurahisisha mchakato wa kufanya kazi na msimbo. Silaha kubwa ya mipangilio hukuruhusu kurekebisha mazingira "kwa ajili yako mwenyewe." Muhimu sana ni usaidizi wa kufanya kazi na vigezo vya mazingira. Shukrani kwa kipengele hiki, CB inaweza kuunganishwa kwa karibu sana kwenye mfumo na uwezo wake unaweza kupanuliwa, kwa mfano, kwa njia hii unaweza kuunganisha maktaba ya wxWidgets.

Kwa njia, kwa ajili ya kuendeleza maombi ya GUI kulingana na wxWidgets, CB ina chombo cha RAD kilichojengwa kwa ajili ya ujenzi wa GUI - wxSmith. Hii ni matumizi yenye nguvu, ingawa sio rahisi sana kujifunza.

Msimbo::Blocks ni mazingira ya uendelezaji jumuishi ya bila malipo na huria (IDE) ambayo yanaauni matumizi ya vikusanyaji mbalimbali. Kwa chaguo-msingi, Code::Blocks hutumia kikusanyaji cha MinGW kinachokuja na kifurushi (unaweza kupakua usambazaji bila kikusanya kilichojengewa ndani). MinGW ni lahaja ya mkusanyaji wa GNU C/C++ kwa Windows. MinGW ni kifupi cha "Minimalist GNU kwa Windows". Kitengo cha MinGW kinajumuisha zana huria za kupanga programu ambazo hazitegemei maktaba zozote zinazolipishwa za wahusika wengine. Inatumiwa na mazingira mengi ya maendeleo (Visual Studio hutumia mkusanyaji wake mwenyewe). MinGW inajumuisha Mkusanyiko wa Mkusanyaji wa GNU (GCC), ikijumuisha wakusanyaji wa C, C++, ADA, na Fortran. Msimbo::Blocks ina usanifu wazi, unaoruhusu kuongezwa kwa kutumia programu-jalizi (unaweza kuandika programu kwa madirisha yote mawili, linux, na vichakataji mikro mbalimbali kama vile avr na stm32). Kitatuzi cha msimbo katika Msimbo::Vizuizi huauni sehemu za kukiuka katika msimbo wa chanzo au katika data ambayo programu inachakatwa.

Msimbo::Blocks zinapatikana kwa Windows, Linux na Mac OS X. Tovuti ya mradi ni codeblocks.org .

Kufunga Kikusanyaji cha MinGW

Inasakinisha Msimbo::Blocks yenyewe ni moja kwa moja. Inashauriwa tu kuiweka kwenye folda, kwa njia ambayo hakuna nafasi au Cyrillic. Fikiria kusakinisha kikusanyaji cha MinGW. Kama kanuni, Usambazaji wa Kanuni::Blocks una toleo la zamani la mkusanyaji wa MinGW, kwa hivyo ni vyema kupakua Msimbo::Vizuizi bila kikusanya MinGW na kusakinisha kikusanyaji kando. Kwanza, pakua kisakinishi kutoka kwa tovuti ya mradi wa mingw.org. Baada ya uzinduzi, dirisha lifuatalo litaonekana.


Bofya Sakinisha na upate dirisha lifuatalo.


Hapa shambani Saraka ya Ufungaji taja eneo la faili za mkusanyaji. Chaguo msingi ni C:\MinGW, tunaiacha. Bofya Endelea na upakuaji na usakinishaji wa meneja wa kusakinisha MinGW huanza.


Bofya Endelea na upate dirisha lifuatalo.


Kwa upangaji katika C ++, chagua vifurushi vya kusakinisha mingw32-base-bin (Usakinishaji wa Msingi wa MinGW) Na mingw32-gcc-g++-bin (Mkusanyaji wa GNU C++) na kisha bonyeza kwenye menyu Usakinishaji -> Tekeleza Mabadiliko. Dirisha litaonekana kuonyesha upakuaji wa vifurushi vilivyochaguliwa.


Baada ya kupakua vifurushi, bonyeza kitufe karibu

Mara ya kwanza unapoendesha Msimbo::Vizuizi, itagundua kikusanyaji kiotomatiki. Katika kesi ya matatizo, nenda kwenye menyu Mipangilio -> Kikusanyaji... na kwenye kichupo Utekelezaji wa mnyororo wa zana angalia njia sahihi ya MinGW, pamoja na majina ya mkusanyaji na faili za kiunganishi. Sasa unaweza kuunda mradi.

Unda mradi

Ili kuunda mradi, nenda kwenye menyu Faili -> Mpya -> Mradi...


Katika dirisha inayoonekana, chagua aina ya mradi unaohitajika. Hapa tunaona kwamba Kanuni::Blocks ina idadi kubwa ya violezo vya mradi. Kwa upande wetu, hii programu ya console(maombi ya console).


Katika dirisha linalofuata, chagua lugha ya programu iliyotumiwa. Chagua C++ na ubonyeze kitufe Inayofuata.


Zaidi ndani ya uwanja jina la mradi ingiza jina la mradi. Kwa upande wetu, hii mtihani. Hapa tunaonyesha eneo la mradi kwenye diski (uwanja Folda ya kuunda mradi ndani) Katika folda tuliyobainisha, Codeblcoks itaunda kiotomatiki folda yenye jina la mradi lililotajwa hapo awali. Baada ya kutaja jina la folda na jina la faili, bofya kwenye kifungo Inayofuata.


Katika dirisha linalofuata, chagua mkusanyaji. Kwa chaguo-msingi, Kikusanyaji cha GNU GCC kinachaguliwa, ambacho tutatumia.


Tunabonyeza Maliza na tunapata programu ndogo, inayoitwa Ulimwengu wa Habari!


Bonyeza F9 kukusanya na kuendesha programu na kupata dirisha lifuatalo.


Usaidizi wa Cyrillic kwenye koni

Msimbo wa mradi wa kawaida unaozalishwa na Kanuni::Mazingira ya Vizuizi haiauni ingizo na utoaji wa herufi za Kisirilli kwenye dashibodi. Ili kutatua tatizo hili, kwanza unahitaji kufanya mabadiliko madogo kwenye msimbo wa mradi. Mfano wa msimbo wa chanzo umeonyeshwa hapa chini.

Chanzo

#pamoja na #pamoja na kutumia nafasi ya majina std; int main() ( SetConsoleCP(1251); // weka win-cp codepage 1251 ili kuingiza mtiririko SetConsoleOutputCP(1251); // weka win-cp codepage 1251 to output cout

Ifuatayo, unahitaji kuendesha programu, bonyeza-kushoto kwenye kichwa cha dirisha (ambapo njia ya faili inayoendesha .exe imeonyeshwa) na uchague kipengee kwenye menyu ya muktadha. Mali. Kisha kwenye kichupo Fonti sakinisha fonti Lucida Console na uchague saizi ya fonti inayofaa. Baada ya hapo, ujumbe katika programu za console utasaidia wahusika wa Kicyrillic.

Toleo la awali (halijakamilika).

1 Kusakinisha na kusanidi mazingira ya uendelezaji

1.1 Taarifa za jumla

Kwanza unahitaji kusakinisha mazingira ya usanidi, ambayo yatakuwa Kanuni::Inazuia mazingira ya programu jumuishi. Faida kuu za Kanuni::Vizuizi ni pamoja na:

  • leseni ya bure GPL v3.0, hasa, usambazaji na matumizi ya bure inaruhusiwa;
  • mazingira yanaweza kufanya kazi kwenye mifumo ya uendeshaji ya familia za Windows, Linux, OS X (yaani, ni jukwaa la msalaba);
  • uwezo wa kufanya kazi na watunzi tofauti.

Faili hii husakinisha Msimbo::Kuzuia mazingira yenyewe na mazingira ya MinGW, ambayo hutoa familia ya GCC ya wakusanyaji. Mazingira ya MinGW pia ni programu ya bure.

1.2.1.2 Mchakato wa ufungaji

Unahitaji kuendesha faili codeblocks-10.05mingw-setup.exe . Dirisha la kisakinishi litaonekana.

Una bonyeza "Next". Dirisha litaonekana na maandishi ya leseni ya bure ya GPL v3.0.

Kubofya kitufe cha "Ninakubali" inamaanisha unakubali masharti ya leseni na inakuwezesha kuendelea kusakinisha programu, wakati ambapo dirisha la kuchagua vipengele litaonekana. Katika dirisha hili, chagua aina ya ufungaji "Kamili: Plugins zote, zana zote, kila kitu tu".

Baada ya hapo, unahitaji kubofya kitufe cha "Next". Dirisha litaonekana na jina la saraka ya usakinishaji. Ni bora kuwa jina kamili la saraka haina nafasi na herufi zingine, isipokuwa zile za Kilatini. Kwa hivyo, kwa mfano, ni bora kuchukua nafasi ya jina C:\Program Files\CodeBlocks na lingine, kwa mfano, na C:\CodeBlocks au C:\Programs\CodeBlocks .

Baada ya hapo, unaweza kubofya kitufe cha "Sakinisha", ambacho kinaanza mchakato halisi wa ufungaji.

Mwishoni mwa mchakato, dirisha litatokea likiuliza kama unataka kuendesha Msimbo::Vizuizi. Ni bora kubofya "Hapana" hapa, ili baadaye uweze kuangalia uzinduzi wa Kanuni::Vizuizi kwa njia ya kawaida.

Baada ya hapo, itakuwa ya kutosha kubofya kitufe cha "Next", na kisha "Maliza" ili kukamilisha mchakato wa ufungaji.

1.2.1.3 Mbio za kwanza

Njia ya mkato ya kuzindua Msimbo::Vizuizi vinapaswa kuonekana kwenye upau wa uzinduzi wa haraka. Pia, njia ya mkato sawa inapaswa kuonekana kwenye desktop.

Msimbo::Vizuizi vinaweza kuzinduliwa kwa kutumia njia hizi za mkato, pamoja na kutumia menyu ya kawaida ya programu.

Katika kwanza Wakati Msimbo::Vizuizi vinapozinduliwa, dirisha la ugunduzi wa mkusanyaji otomatiki linapaswa kuonekana.

Kumbuka kwamba mstari wa kwanza unapaswa kuwa na neno "Imegunduliwa". Hii inamaanisha kuwa mkusanyaji amepatikana. Lazima ubofye "Sawa". Mchakato wa kwanza wa kukimbia utaendelea na mazingira ya maendeleo yatazinduliwa. Hii italeta dirisha na ushauri wa siku.

Ikiwa hutaki dirisha hili lionekane kila unapoanzisha Msimbo::Vizuizi, kisha usifute uteuzi "Onyesha vidokezo wakati wa kuanza katika dirisha hili". Bofya "Funga" ili kufunga dirisha hili.

Baada ya hayo, dirisha linalofuata linaweza kuonekana.

Ni vyema kubofya "Sawa" hapa ili faili zinazohusiana na C/C++ ziunganishwe na Kanuni::Vizuizi.

Unaweza pia kufunga dirisha la "Scripting console".

1.2.2 Usakinishaji wa mfumo wa uendeshaji wa Linux

Kwa upande wa Linux, unaweza kusakinisha Msimbo::Vizuizi kwa kutumia kifurushi kwa usambazaji unaotaka kati ya wale walioorodheshwa kwenye ukurasa huu.

Unaweza pia kujaribu kutafuta Msimbo::Vizuizi kwenye hazina ya usambazaji wako wa Linux. Kwa mfano, kifurushi cha Kanuni::Blocks (10.05-1) kinapatikana kwenye hazina ya Ubuntu 11.04.

1.3 Kuweka

Kwa wanaoanza, unaweza kusambaza viunzi vya zana vilivyo juu ya dirisha.

Baada ya hayo, unahitaji kufanya mabadiliko machache katika mipangilio ya msingi.

Chagua menyu "Mipangilio => Kikusanyaji na Kitatuzi…". Dirisha la mipangilio litaonekana.

Katika dirisha hili, weka kisanduku cha kuteua cha "Toa alama za utatuzi". Mabadiliko haya yatawezesha hali ya utatuzi, ambayo itashughulikiwa katika somo la baadaye.

Bila kufunga dirisha hili, lazima ubofye kichupo cha "Chaguzi zingine".

Na katika uwanja wa kuhariri, ongeza mstari ufuatao.

Finput-charset=CP1251 -fexec-charset=CP866

Hii itawawezesha kuonyesha kwa usahihi Cyrillic kwenye console katika kesi ya mfumo wa uendeshaji wa familia ya Windows. Unapotumia Msimbo::Vizuizi kwenye mifumo mingine ya uendeshaji (kama vile Linux), laini hii haihitaji kuongezwa..

Bila kufunga dirisha hili, unahitaji kubofya picha iliyo upande wa kushoto na uandishi "Mipangilio ya Debugger", na kisha. weka kisanduku cha kuteua cha "Tathmini usemi chini ya mshale".

Baada ya hayo, bonyeza "Sawa". Mabadiliko yote yaliyofanywa yanapaswa kutekelezwa.

2 Rasimu ya kwanza

2.1 Kuunda mradi

Sasa hebu tujaribu kuunda programu katika lugha ya C.

Ili kufanya hivyo, unahitaji kuunda mradi. Kwa ujumla, mradi unahitajika ili kuchanganya faili kadhaa katika moja nzima. Lakini hata kwa faili moja, katika kesi hii ni rahisi zaidi kufanya mradi. Kwa kuongeza, katika siku zijazo, basi itakuwa ya kawaida zaidi kufanya kazi na mradi huo.

Kwa hiyo, ili kuunda mradi, chagua menyu ya "Faili", kisha chagua "Mpya" kwenye orodha inayoonekana, kisha chagua "Mradi" katika orodha inayoonekana (kwa ufupi, hatua hiyo inaweza kuashiria "Faili => Mpya => Mradi", na katika siku zijazo kutakuwa na matumizi ya nukuu fupi kama hiyo). Matokeo yake, sanduku la mazungumzo linapaswa kuonekana.

Ndani yake chagua "programu ya Console" na ubofye "Nenda". Mchawi wa uundaji wa mradi utaonekana.

Bofya Inayofuata. Dirisha lifuatalo litaonekana.

Hapa unahitaji kuchagua C (sio C ++) na bofya "Next". Dirisha lifuatalo litaonekana.

Katika mstari "Jina la mradi" ingiza jina la mradi, kwa mfano, Project01. Kumbuka kuwa katika mstari wa "Jina la faili la Mradi" jina hili litanakiliwa. Jina hili la faili linaweza kubadilishwa (ili litofautiane na jina la mradi), lakini kwa urahisi ni bora kuwaacha sawa. Kisha, katika mstari wa mstari "Folda ya kuunda mradi ndani" (folda ya kuunda mradi ndani yake), lazima ueleze folda ambapo folda iliyo na mradi itakuwa iko. Unaweza kuchagua folda kutoka kwa zile zinazopatikana kwa kutumia kitufe cha "...", au uandike mwenyewe jina la folda, kwa mfano, C:\Projects .

Kisha ni kwenye folda iliyochaguliwa ambayo folda yenye jina la mradi itaundwa, ambapo mradi yenyewe utakuwa iko. Unaweza kuangalia hii kwa kuangalia mstari wa "Jina la faili linalosababisha".


Unapobainisha jina la mradi na folda ya mradi, usitumie majina ya folda yenye nafasi au herufi ambazo si Kilatini.(mfuatano "Jina la faili linalosababisha" haipaswi kuwa na nafasi katika majina ya folda, na haipaswi kuwa na herufi zingine isipokuwa Kilatini).

Bofya Inayofuata. Dirisha lifuatalo litaonekana.

Acha mipangilio hii bila kubadilika. Bofya Maliza. Mradi utaundwa.

Katika sehemu ya juu kushoto (katika dirisha la "Usimamizi"), mradi na folda ya "Vyanzo" itaonyeshwa.

Lazima ubofye "+" (au bonyeza mara mbili kwenye folda) na folda hii itafungua.

Itakuwa na faili moja ya main.c. Lazima ubofye mara mbili juu yake, kisha uwanja wa uhariri utafungua upande wa kulia, ambao utaonyesha yaliyomo kwenye faili hii (kutakuwa na kichupo na jina la faili katika sehemu ya juu).

Dirisha la kuhariri litakuwa na maandishi ya programu ya kwanza kuangaziwa. Kumbuka kwamba sehemu mbalimbali za maandishi hutumia rangi tofauti ili kurahisisha maandishi kusoma.

Huu ni programu ya kwanza rahisi ambayo inachapisha maandishi "Hello ulimwengu!" ("Salamu, Dunia!"). Kijadi, programu kama hiyo hutumiwa kama programu ya kwanza wakati wa kufahamiana na lugha ya programu. Kwa upande wa Kanuni::Vizuizi, programu hii inaundwa kiotomatiki mradi mpya unapoundwa.

Saizi ya fonti kwenye dirisha la uhariri inaweza kubadilishwa kwa urahisi sana. Ili kufanya hivyo, zungusha gurudumu kwenye panya huku ukishikilia kitufe cha Ctrl.

Unaweza pia kutumia menyu ya "Mipangilio=>Mhariri" na, kwa kubofya kitufe cha "Chagua" katika sehemu ya juu ya kulia, ubadilishe sio tu ukubwa wa fonti, bali pia fonti yenyewe. Kumbuka tu kwamba kwa programu za kuandika ni bora kutumia fonti ambazo herufi zote zina upana sawa. Fonti kama hizo, kwa mfano, zinajumuisha fonti: Courier New, Courier, Liberation Mono, Lucida Console, Monospace, nk.

Ikiwa inageuka kuwa dirisha la "Usimamizi" au dirisha lingine muhimu halipo kwenye skrini, basi unahitaji kuchagua orodha ya Tazama na uchague kipengee kinachofanana na dirisha linalohitajika kwenye menyu inayoonekana.

Ikiwa ghafla mradi ulifungwa, kwa mfano, unapotoka na kuingiza tena Msimbo::Vizuizi, inaweza kufunguliwa tena. Ili kufanya hivyo, chagua menyu "Faili => Miradi ya hivi karibuni", ambapo, basi, katika orodha inayoonekana, chagua mradi uliotaka. Au unaweza kutumia menyu ya "Faili=>Fungua", kisha uchague faili Project01.cbp .

2.2 Kujenga na kuendesha programu

Mpango huu utajadiliwa kwa undani baadaye kidogo, lakini sasa hebu tujaribu kuiendesha.

Kwa hili, ni lazima ifanyike mkusanyiko maandishi ya programu (Kukusanya), na kutumia mpangilio(Kuunganisha) faili inayoweza kutekelezwa yenye kiendelezi .exe lazima iundwe, ambayo itazinduliwa. Mchakato huu wote wa kukusanya na kuunganisha unaitwa mkusanyiko(Jengo).

Ikumbukwe kwamba mchakato unaorejelewa hapa kama Kukusanya pia mara nyingi hujulikana kama mchakato wa Kukusanya. matangazo. Kuna tofauti tofauti za istilahi katika eneo hili. Kwa mfano, mchakato wa kusanyiko hapo juu unaweza kuitwa mkusanyiko, ambao kwa upande wake unajumuisha hatua za kutafsiri na kuunganisha. Lakini sasa hatutaingia kwenye maswala ya istilahi, na tutatumia tu toleo la Kiingereza la maneno kama msingi, kwa kweli, na tafsiri kwa Kirusi. Kwa hivyo tutazungumza mkusanyiko(Jengo), linalojumuisha hatua mkusanyiko(Kukusanya) na mpangilio(Kuunganisha). Chaguo hili katika kesi hii linaonekana kuwa rahisi zaidi, kwani majina yanayolingana kwa Kiingereza yanaweza kuzingatiwa wakati wa mchakato wa kusanyiko.

Kanuni::Kuzuia mazingira jumuishi ya uendelezaji hukuruhusu kugeuza kiotomatiki uundaji na uendeshaji (Endesha) wa programu. Ili kujenga na kuendesha programu, fanya tu amri ya "Jenga na kukimbia" kwa kushinikiza kifungo au ufunguo wa F9. Chaguo jingine ni kuchagua menyu ya "Jenga => Jenga na uendeshe".

Katika dirisha la chini (ujumbe kuhusu mchakato wa kujenga), maandishi "Kukusanya", "Kuunganisha", nk itaonekana, ambayo inaonyesha maendeleo ya kuandaa na kuunganisha programu.


Matokeo yake, dirisha la console linapaswa kuonekana, ambapo hukumu iliyoonyeshwa katika quotes katika programu, yaani hukumu "Hello world!", Itaonyeshwa juu.

Kwa hivyo, programu inaonyesha kamba iliyotolewa kwenye skrini.

Kutakuwa na mistari miwili chini ya mstari huu. Ya kwanza inatoa msimbo wa kurudi wa programu na wakati ilichukua kutekeleza programu. Ya pili inatoa ujumbe kwamba lazima ubonyeze kitufe chochote ili kuendelea. Laini hizi mbili huzalishwa kiotomatiki ikiwa programu inaendeshwa kutoka kwa Msimbo::Vizuizi.

Font iliyotumiwa kwenye dirisha la console inaweza kubadilishwa ikiwa ni lazima. Kwa mfano, katika kesi ya mfumo wa uendeshaji wa familia ya Windows, unaweza kujaribu hatua zifuatazo kufanya hivyo.

Bofya haki kwa kubofya ikoni kwenye kona ya juu kushoto ya dirisha la koni. Menyu ya pop-up inapaswa kuonekana, ambapo unahitaji kuchagua kipengee cha "Defaults".

Dirisha la mipangilio litaonekana.

Katika dirisha hili, unahitaji kuchagua fonti inayotakiwa (kwa mfano, Lucida Console). Kisha, kwa font hii, unahitaji kuchagua ukubwa uliotaka (kwa mfano, 14). Baada ya hapo, bofya "Sawa" ili kuhifadhi mipangilio.

Kisha, unahitaji kufunga dirisha la console kwa kushinikiza ufunguo wowote.

Baada ya hayo, unahitaji kuanzisha upya programu kwa kushinikiza kifungo au ufunguo wa F9 (au kwa kuchagua menyu ya "Jenga => Kujenga na kukimbia").

Dirisha la kiweko sasa linapaswa kuwa na fonti mpya.

2.3 Maelezo ya programu

Sasa, baada ya kuzindua kwa ufanisi programu na kuangalia uendeshaji wake, tunaweza kuangalia kwa karibu vipengele vya programu ambayo iliundwa moja kwa moja wakati mradi ulipoundwa. Fikiria maandishi ya programu hii.

#pamoja na #pamoja na int kuu() { printf("Hujambo ulimwengu!\n"); kurudi 0; }

Katika neno kuu hutolewa, ambayo utekelezaji wa programu yoyote huanza. Hii ina maana kazi kuu, na utekelezaji ambao kila kitu huanza. Kunaweza kuwa na simu kwa vitendaji vingine ndani ya chaguo hili la kukokotoa, lakini yote huanza na kutekeleza yaliyomo main . Jina hili la chaguo la kukokotoa linafuatwa na mabano bila chochote kati yao. Hii ina maana kwamba kipengele hiki cha kukokotoa hakina hoja zozote. Kila kitendakazi lazima kiwe na mabano, hata kama hakina hoja.

Maudhui ya kazi, katika kesi hii maudhui ya programu nzima, ni kati ya braces curly. Zinalingana na kuanza na kuishia kwa Pascal.

Jina kuu linatanguliwa na neno int , ambalo hubainisha aina ya thamani iliyorejeshwa na chaguo la kukokotoa. Katika kesi hii, ni aina kamili (katika kile kinachofuata, aina tofauti za data zitazingatiwa tofauti). Kazi kuu (yaani, kimsingi programu kuu) inarudisha nambari ya kutoka kutoka kwa programu. Kwa ujumla inachukuliwa kuwa programu inapaswa kurudisha thamani 0 wakati wa utekelezaji wa kawaida. Kurejesha thamani hii kunafanywa kwa kurejesha 0 kufunga brace curly.

Pia kati ya braces curly ni simu ya kazi inayoitwa printf . Kazi hii inatumika katika kesi hii kuonyesha maandishi kwenye skrini. Mabano ya chaguo za kukokotoa hii yanaonyesha hoja zake. Hapa hoja pekee ni kamba iliyoambatanishwa katika nukuu mbili. Ni mstari huu unaochapishwa kwenye skrini na kazi ya printf. Hata hivyo, mchanganyiko wa herufi \n hauonyeshwi kwenye skrini. Mchanganyiko huu unaashiria herufi mpya ambayo haijachapishwa kwenye skrini, lakini inamaanisha kuwa mstari mpya lazima utekelezwe mahali hapa.

Ili kuelewa maana ya herufi mpya, jaribu kuondoa \n mchanganyiko kutoka kwa mstari, endesha programu na uone matokeo. Pia jaribu kuweka \n mchanganyiko mara kadhaa mfululizo, endesha programu na uone matokeo. Kisha urudishe toleo la asili la programu.

Kuna semicolon baada ya simu ya chaguo la kukokotoa ya printf. Kwa hili, kujitenga kwa waendeshaji binafsi kati yao wenyewe hufanyika. Hasa, simu ya kazi ya printf na taarifa ya kurudi hutenganishwa.

Inabakia kuelewa ni nini mstari katika mpango huu ni wa. Bila kuingia katika maelezo, tunaweza kusema kwamba mstari unahitajika ili uweze kutumia kazi ya printf, kwani mstari huu hutoa taarifa kuhusu kazi hii. Mstari huu unajumuisha faili stdio.h , ambayo jina lake limetolewa kwenye mabano kama vibambo< и >. Amri ya #include ina maana ya kujumuisha faili hii. Uunganisho huu unakuwezesha kutumia kazi zilizotangazwa katika faili hii, hasa, kazi ya printf. mstari katika mpango huu kwa ujumla hauhitajiki, lakini kanuni yake ya uendeshaji ni sawa, faili nyingine tu (stdlib.h) imeunganishwa hapa.

2.4 Kubadilisha programu

Sasa tunaweza kurejea kwa kuhariri faili kuu.c.

Katika sehemu ya kuhariri, unaweza kuandika maandishi yoyote, kama katika kihariri cha kawaida. Katika siku zijazo, mifano ya programu na vipande vya programu vinaweza kuingizwa tu kwenye uwanja wa hariri kwa kutumia nakala ya kawaida ya vitalu vya maandishi. Hebu tuangalie hili katika mfano ufuatao.

Yaliyomo kwenye faili kuu.c yalitolewa kiotomatiki. Lakini programu kama hiyo inaweza kuandikwa kwa ufupi zaidi, na pia kubadilishwa kidogo kwa kuongeza alama za mshangao.

#pamoja na int kuu()( printf("Hujambo ulimwengu!!!\n"); kurudi 0; )

Sasa programu hii lazima ihamishwe kwenye dirisha la uhariri kwa kutumia kunakili kawaida. Ili kufanya hivyo, chagua maandishi ya programu na nakala nakala iliyochaguliwa kwenye ubao wa clip, kwa mfano, kwa kushinikiza kitufe cha haki cha mouse na kuchagua "Copy" kutoka kwenye menyu). Kisha, unahitaji kubadili hadi kwa Msimbo::Kuzuia dirisha la uhariri, onyesha maandishi yaliyopo, na ubandike maandishi kutoka kwa ubao wa kunakili, kwa mfano, kwa kuchagua menyu "Hariri => Bandika" au kuchagua, baada ya kushinikiza kitufe cha kulia cha panya, menyu "Hariri => Bandika"). Toleo hili la programu linapaswa kuonekana kwenye dirisha la uhariri.

Hifadhi toleo jipya la programu. Ili kufanya hivyo, bonyeza tu Ctrl-S (au chagua menyu "Faili => Hifadhi faili"). Pata tabia ya kuhifadhi faili baada ya kila mabadiliko, bila kujali ni ndogo, kwa maandishi ya programu. Vinginevyo, wakati "kunyongwa" kiasi fulani cha kazi kinaweza kupotea.

Jaribu kuendesha chaguo hili la programu mpya.

Kazi za kujidhibiti

  1. Badilisha maandishi "Hujambo ulimwengu !!!" kwa wengine, huku ukitumia lugha ya Kirusi. Endesha programu ili kuangalia mabadiliko.
  2. Badilisha thamani ya 0 baada ya kurudi kwa thamani nyingine ya nambari, kama vile 5. Endesha programu na uangalie kwamba baada ya "Mchakato kurejeshwa" thamani mpya ya nambari itaonyeshwa kwenye dirisha la kiweko.
  3. Fanya hivyo ili unapoanza programu, kabla ya pato la mstari "Hello dunia !!!" kulikuwa na mabadiliko ya mstari mmoja chini kwenye skrini. Ili kufanya hivyo, weka mchanganyiko \n mwanzoni kabisa mwa mstari unaotumika kama hoja ya chaguo la kukokotoa la printf. Endesha programu ili kuhakikisha kuwa kazi imefanywa kwa usahihi.
  4. Fanya hivyo ili unapoendesha programu, kabla ya pato la mstari "Hello World!" kulikuwa na mabadiliko chini ya mistari michache kwenye skrini. Ili kufanya hivyo, weka mchanganyiko \n mara kadhaa mfululizo mwanzoni kabisa mwa mstari unaotumiwa kama hoja kwa chaguo la kukokotoa la printf (inamaanisha mstari ulio ndani ya mabano katika nukuu). Endesha programu ili kuhakikisha kuwa kazi imefanywa kwa usahihi.
  5. Chapisha kamba "Halo ulimwengu !!!" mara tatu kwenye mistari mitatu mfululizo kwenye skrini (mfano mmoja kwa kila mstari), kuweka \n katika sehemu zinazofaa.
  6. Fanya hivyo ili unapoanza programu, mstari "Hello dunia !!!" kuonyeshwa hasa katikati ya skrini. Ili kufanya hivyo, sogeza mstari chini na kulia, ukitumia \n na nafasi.
  7. Chapisha maneno matatu tofauti kwa wakati mmoja katika sehemu tatu kwenye skrini: katika pembe za juu na katikati ya skrini. Tumia simu mbili kuchapisha mfululizo kwa mifuatano tofauti kama hoja, ukitumia \n na nafasi kwa njia maalum katika kila kisa.

2.5 Kuendesha programu nje ya mazingira ya ukuzaji katika kesi ya Windows

Folda ya mradi, njia ambayo ilibainishwa wakati wa kuunda mradi (tazama), inapaswa kuwa na folda ya bin/Debug. Na folda hii inapaswa kuwa na faili inayoweza kutekelezwa Project01.exe, inayotokana na mkusanyiko wa programu.

Faili hii inayoweza kutekelezwa (programu) inaweza kuzinduliwa kwa njia za kawaida (kwa mfano, kwa kutumia "Explorer"), ambayo ni. nje mazingira ya uendelezaji Msimbo::Vizuizi. Pia, kwa mfano, unaweza kufanya njia ya mkato kwa faili hii na kuiweka kwenye desktop, ili uweze kuizindua kutoka hapo.

Lakini kwa uzinduzi huo, dirisha la console na mstari wa pato huonekana na hupotea mara moja, kwani programu inaisha mara moja, bila kusubiri amri ya mtumiaji. Kwa nini hii inatokea? Jambo ni kwamba unapoanza kutoka kwa Msimbo::Vizuizi, kungoja kitufe chochote kubonyezwa huongezwa kiotomatiki, na programu yenyewe haitoi hii.

Ili kutekeleza kusubiri ufunguo uliosisitizwa (katika kesi ya Windows), unahitaji kubadilisha programu kwa kuongeza mistari michache. Kisha itachukua fomu ifuatayo.

#pamoja na #pamoja na int main() ( printf("Hujambo ulimwengu!!!\n"); getch(); rudisha 0; )

Jaribu kuendesha programu hii kutoka Code::Blocks. Ili kufanya hivyo, weka programu maalum kwenye uwanja wa kuhariri badala ya inapatikana, na endesha programu kwa kubonyeza kitufe au kitufe cha F9 (au kwa kuchagua menyu ya "Jenga => Jenga na endesha").

Kumbuka kwamba baada ya pato "Hello dunia !!!" hakuna kitu kingine kinachoonyeshwa sasa inapongojea kitufe kubonyezwa. Lakini baada ya kushinikiza ufunguo, mistari miwili iliyojulikana tayari inaonyeshwa ("Mchakato umerudi ..." na "Bonyeza kitufe chochote ili kuendelea."). Baada ya mistari hii, kusubiri mbonyezo wa vitufe hufanywa tena (ambayo imetolewa na Kanuni::Vizuizi vya mazingira).

Sasa ikiwa tunaendesha programu hii nje Msimbo::Inazuia kwa kuendesha faili ya Project01.exe, maandishi maalum yataonyeshwa kwenye dirisha na programu itasubiri ufunguo ubonyezwe ili kukamilisha.

Marekebisho haya ya programu yanahitaji mistari miwili: moja iliyo na conio.h na moja iliyo na getch . conio.h inahitajika ili kuweza kupiga kitendakazi cha getch. Hii ni sawa na kujumuisha stdio.h ili kuweza kuita kitendakazi cha printf. kitendakazi cha getch hungoja ubonyezo wa vitufe.

Katika siku zijazo, mabadiliko kama haya hayataonyeshwa, lakini ikiwa ni lazima, unaweza kuifanya kila wakati ili kuhakikisha kuwa unangojea ufunguo kushinikizwa kabla ya programu kuisha kwa njia hii.

2.6 Ujumbe wa onyo na makosa katika programu

Unapounda programu (unapojaribu kuiendesha baada ya mabadiliko), maonyo na makosa yanaweza kuonyeshwa. Jinsi hii inatokea, hebu tuangalie mfano. Jaribu kuendesha programu ifuatayo.

#pamoja na int main() ( printf("Hujambo ulimwengu!!!\n");)

Mpango huu hauna kurudi, lakini utaendesha. Jaribu kuiendesha.

Walakini, wakati wa mkusanyiko, onyo litatolewa kwa sababu ya ukweli kwamba hakuna taarifa ya kurudi. Wakati programu inapoanza, onyo hili hutoweka kwa sababu haliathiri uanzishaji wa programu. Lakini inaweza kusomwa ikiwa utaunda faili tu (bila kuendesha programu). Ili kufanya hivyo, tengeneza amri ya "Jenga" (Jenga) kwa kushinikiza Ctrl-F9, au kwa kushinikiza kifungo, au kwa kuchagua menyu ya "Jenga => Jenga".

Lakini ikiwa programu haijabadilika tangu mkusanyiko au uzinduzi uliopita, basi mkusanyiko mpya hautafanyika. Na katika dirisha hapa chini, ujumbe utaonyeshwa unaosema kwamba mkusanyiko tayari ni wa hivi karibuni, na hakuna kitu kingine kinachohitajika kufanywa kwa amri hii ("Lengo limesasishwa. Hakuna cha kufanywa.").

Katika kesi hii, unahitaji kukusanyika tena. Ili kufanya hivyo, tengeneza amri ya "Jenga Upya" kwa kushinikiza Ctrl-F11, au kwa kubonyeza kitufe, au kwa kuchagua menyu ya "Jenga => Upya". Baada ya kuundwa kwa amri hii, dirisha inaonekana kwa uthibitisho wake. Ili kuthibitisha amri hii, bofya "Ndiyo" kwenye dirisha maalum.

Kisha katika dirisha la chini unaweza kuona mstari na onyo (bluu), pamoja na ujumbe kuhusu kuwepo kwa onyo moja (1 onyo).

Kwa ujumla, onyo huruhusu programu kutekelezwa, lakini humtahadharisha mpangaji programu kuhusu makosa au makosa yanayowezekana.

Katika ifuatayo, taarifa ya kurudisha kwa kazi kuu inaweza kuachwa kwa ufupi, kama inavyofanywa katika . Lakini kumbuka kwamba kwa sababu ya hili, onyo inaonekana.

Sasa jaribu kuendesha programu ifuatayo.

#pamoja na int main() ( printf( habari za ulimwengu !!!\n); }

Kumbuka kuwa programu haitafanya kazi. Badala yake, mistari katika fonti nyekundu itaonekana kwenye kidirisha cha chini kinachoripoti makosa.

Mstari katika mpango ambapo kuna hitilafu imeangaziwa na mraba nyekundu.

Kumbuka kwamba kosa moja halisi linaweza kusababisha ujumbe kadhaa wa makosa mara moja. Katika mfano huu, makosa 5 yanatolewa, hivyo mistari 5 huonyeshwa kwa font nyekundu.

Kulinganisha programu, ni rahisi kuelewa kwamba kosa hutokea kutokana na ukweli kwamba quotes haijainishwa. Ipasavyo, kosa ""Hello" haijatangazwa" linaonyeshwa. Neno "isiyotangazwa" linamaanisha "haijatangazwa", kumaanisha mkusanyaji anajaribu kubaini Hello inasimamia nini na nini cha kufanya juu yake. Haiwezi kupata neno hili kati ya maneno yanayojulikana, kwa hiyo inatoa makosa. Ikiwa neno hili liko katika nukuu mbili, basi linatambulika kama kamba fulani, ambayo ndani yake kunaweza kuwa na chochote. Kamba inaweza kuonyeshwa. Kwa hiyo, baada ya kurekebisha programu (kuongeza quotes inapohitajika), kila kitu kinapaswa kuwa sawa.

Rekebisha programu na uangalie ikiwa inaendesha kwa usahihi.

Kazi za kujidhibiti

  1. Jaribu kuondoa brace ya mwisho ya curly na uendeshe programu. Kumbuka kwamba hitilafu imewekwa alama kwenye mstari ulio na printf , ambayo ni mstari uliopita. Rejesha programu sahihi.
  2. Jaribu kuondoa mabano mawili baada ya main . Kumbuka kwamba hitilafu ni alama kwenye mstari ulio na brace ya curly, yaani, kwenye mstari unaofuata. Rejesha programu sahihi.
  3. Jaribu kuondoa mabano ya kwanza baada ya main . Kumbuka kuwa kosa limewekwa alama kwenye mstari ulio na main , yaani, kwenye mstari huo huo. Rejesha programu sahihi.

Kuzingatia kazi za kujidhibiti, ni rahisi kuona kwamba hitilafu inaweza kuwa karibu na mstari uliowekwa na mraba nyekundu. Kwa hiyo, ikiwa hitilafu hutokea, mistari ya karibu lazima pia kuchambuliwa.

3 Taarifa za msingi

3.1 Nambari kamili

Ili kufanya kazi na data, haswa, na nambari kamili, utahitaji anuwai ambazo hutumikia kuhifadhi nambari kama hizo. Kwanza unahitaji kutangaza kutofautisha ili kuanza kufanya kazi nayo.

Tamko la kutofautisha hufanywa kama ifuatavyo.

variable_type variable_name;

Kwa mfano, tofauti kamili a inatangazwa kama ifuatavyo.

int a;

Katika kesi hii, tofauti a ni ya aina int , ambayo inasimama kwa aina kamili.

Tamko tofauti hubainisha kizuizi cha kumbukumbu ili kuhifadhi data ya aina maalum. Kwa kawaida, vitalu kadhaa vile vinaweza kutofautishwa. Ili kutofautisha kutoka kwa kila mmoja, vitalu hivi vinaitwa. Kwa mfano, tamko la int hutenga kizuizi kinachoitwa a , tamko la int b hutenga kizuizi kinachoitwa b , na kadhalika. Katika kesi hii, unaweza kutangaza vigezo kadhaa kwa wakati mmoja, yaani, kuchagua vitalu kadhaa vya sawa. aina na majina tofauti. Ili kufanya hivyo, majina ya vizuizi hivi yameorodheshwa na koma baada ya muundo wa aina.

int x , y , z ;

Tamko hili linatofautisha vitalu vitatu tofauti vya aina moja na majina tofauti.

Ili kuandika thamani kwa kizuizi cha data kilichochaguliwa, unahitaji kugawa thamani hii kwa tofauti inayolingana, kwa mfano, usemi.

inapeana thamani 10 kutofautisha a. Unaweza pia kugawa thamani ya kigezo kimoja kwa kigezo kingine, kwa mfano, usemi.

hufanya mgawo wa kutofautisha a hadi kutofautisha b . Unaweza kugawa thamani sawa kwa anuwai nyingi kwa wakati mmoja. Kwa kufanya hivyo, kwa mfano, unaweza kutumia maneno yafuatayo.

X=y=z=100;

Kumbuka kwamba kutofautisha kunaweza kupewa tu thamani ikiwa kutofautisha kumetangazwa (haswa, aina yake imebainishwa).

Thamani ya kutofautisha inaweza kuchapishwa kwenye skrini kwa kutumia kitendakazi cha printf. Kwa mfano, angalia utekelezaji wa programu ifuatayo.

#pamoja na int kuu()( int a; /* tamko tofauti a*/ a = 10; printf( "Thamani ya kutofautiana a = %d\n", a); }

Zingatia ukweli kwamba katika programu maoni ni "tamko la kutofautisha a". Maoni ni kipande ambacho kinahitajika kuelezea sehemu fulani ya programu. Maoni hayaathiri programu ya mwisho, ni nyongeza tu kwa maandishi, ambayo haitumiwi baadaye wakati programu inatekelezwa. Maoni lazima yaanze na mchanganyiko wa herufi /* na imalizie kwa mchanganyiko wa herufi */ . Katika kesi hii, maoni yanaweza kupatikana kwenye mistari kadhaa, kwa hili mchanganyiko wa /* utakuwa mwanzoni mwa mstari wa kwanza wa maoni, na mchanganyiko wa */ utapatikana mwishoni mwa mstari wa mwisho wa maoni.

Mwanzoni kabisa mwa kazi kuu, kutofautisha a. Kisha variable hii imewekwa hadi 10. Katika mstari unaofuata, kwa kutumia kazi ya printf, thamani ya kutofautiana inaonyeshwa kwenye skrini. Ili kufanya hivyo, ongeza hoja ya ziada kwenye kitendakazi cha printf, ikitenganishwa na koma baada ya mfuatano ulionukuliwa. Hoja hii ya ziada ni tofauti a yenyewe, ambayo thamani yake inapaswa kuonyeshwa. Ili kueleza printf chaguo za kukokotoa mahali pa kuchapisha thamani ya kigezo, mchanganyiko wa herufi mbili, yaani %d , huongezwa kwa mfuatano wa pato. Wahusika hawa wenyewe hawataonyeshwa, lakini badala yake thamani ya kutofautiana itaonyeshwa, ikitenganishwa na comma baada ya kamba. Endesha programu na uangalie uendeshaji wake.

Wakati wa kuandika programu, tafadhali kumbuka kuwa herufi ndogo na kubwa ni herufi tofauti kutoka kwa maoni ya mkusanyaji. Kwa hivyo, kwa mfano, kuandika Kuu badala ya kuu kutasababisha kosa.

Kazi za kujidhibiti

  1. Badilisha thamani ya kutofautisha a hadi thamani nyingine na
  2. Jaribu kuongeza maoni kwenye sehemu mbalimbali za programu. Hakikisha haziingiliani na utekelezaji wa programu. Angalia matumizi ya maoni yanayojumuisha mistari mingi mfululizo.
  3. Angalia kinachotokea unapobadilisha kesi ya barua, yaani, kwa mfano, unapobadilisha barua ndogo hadi kubwa na kinyume chake.

Ili kutangaza tofauti a na kuianzisha, mistari miwili mfululizo ( na ) hupatikana. Lakini unaweza kuchanganya tamko la kutofautisha na uanzishaji wake. Badala ya mistari hii miwili, unaweza kuandika mstari mmoja tu wa fomu ifuatayo.

int a = 10;

Angalia ikiwa programu inafanya kazi kwa usahihi baada ya mabadiliko kama hayo.

Kutumia kitendakazi cha printf, unaweza pia kuchapisha maadili ya anuwai kadhaa mara moja. Ili kujaribu uwezekano huu, tangaza kigezo b na upe thamani fulani kwa utaftaji huu kabla ya kuita kitendakazi cha printf. Ni muhimu kutambua kwamba tamko la kutofautiana linaweza kutokea popote ndani ya braces ya curly ya kazi, hasa kazi kuu. Baada ya hayo, badilisha kamba na kazi ya printf kama ifuatavyo.

Printf("a = %d, b = %d \n" , a, b);

Angalia utekelezaji sahihi wa programu.

Kwa hivyo, ili kuonyesha maadili ya vigeu kadhaa mara moja, unahitaji kupanga herufi zilizoumbizwa %d kwenye mstari wa pato ipasavyo, na pia uorodheshe vigeu vilivyotenganishwa na koma mara baada ya mstari wa pato katika mpangilio wa pato. Kisha, badala ya kila mchanganyiko wa %d, thamani ya kigezo kifuatacho kutoka kwa orodha ya vigeu, ikitenganishwa na koma, itabadilishwa.

Katika kesi hii, usemi unaweza pia kubainishwa kama hoja kwa chaguo la kukokotoa la printf. Kwa mfano, ili mraba na ujaze kigezo, unaweza kutumia * ishara kuwakilisha kuzidisha. Ongeza kijisehemu kifuatacho baada ya simu iliyopo ya printf.

Chapisha( "a = %d\n(mraba) = %d\n(mchemraba) = %d\n", a, a * a, a * a * a);

Angalia utekelezaji sahihi wa programu.

Kumbuka kwamba ikiwa simu ya kukokotoa ni mstari mrefu sana, basi ni rahisi kuigawanya katika mistari kadhaa kwa koma. Kwa mfano, kama ilivyofanywa katika maandishi haya, lakini kipande hicho kinaweza kuandikwa kwa mstari mmoja kwa ombi la programu.

3.2 Semi za hesabu

Sasa, ili mraba au mchemraba nambari kamili, inatosha kusahihisha mgawo wa awali wa kutofautisha a, na uanze tena programu. Jaribio nayo. Mbali na squaring na cubeping, unaweza kutumia misemo mbalimbali kulingana na shughuli za hesabu: + , - , * , / .

Kazi za kujidhibiti

  1. Tekeleza hesabu ya baadhi ya fomula inayotumia shughuli zote 4 za hesabu. Weka thamani ya kutofautiana katika programu. Angalia ikiwa fomula hii ni sahihi.
  2. Fanya hesabu ya formula kutoka kwa vigezo viwili. Weka maadili ya vigezo katika programu.

C pia ina uwezo wa kuandika kwa ufupi baadhi ya miundo inayotumika kawaida. Kwa mfano, ili kuongeza kigezo kwa thamani fulani, tumia opereta +=. Ni zinageuka kuwa kujieleza

A += 10;

ni sawa na

A = a + 10;

katika kesi hii, kwa njia sawa, badala ya ishara +, kunaweza pia kuwa na ishara - , * , / , pamoja na ishara nyingine za uendeshaji.

Kipande kifuatacho cha programu kinaonyesha mifano ya kutumia vipengele hivi, huku maoni yakionyesha thamani ambazo kigezo huchukua kama matokeo ya kutathmini usemi wa hesabu.

int i = 10; i = (i * 2 + 1) / 3 - 5; /* i = 2 */ i += 5; /* i = 7 */ int j = 3; i *=j; /* i = 21 */ i /= 7; /* i = 3 */

Kazi ya kujidhibiti

  1. Tekeleza hesabu ya fomula fulani inayotumia vipengele vilivyoonyeshwa (aina ya ufupi zaidi ya kuandika baadhi ya maneno ya hesabu).

Kwa kuongeza, usemi

inaashiria ongezeko la kigezo a kwa 1, ambacho ni sawa na usemi

A = a + 1;

Vile vile, usemi

hapa inamaanisha kupungua kwa 1.

Ni muhimu kutambua kwamba pia kuna maneno ya fomu

A++; a--;

Pia zinaashiria ongezeko la 1 na kupungua kwa 1.

Walakini, kuna tofauti kati ya kiambishi awali (++a) na kiambishi cha posta (a++) katika misemo changamano zaidi.

Lini kiambishi awali fomu (++a) nyongeza za kwanza (hupungua) kwa 1 na kisha kutathmini sehemu nyingine ya usemi.

Lini kurekebisha post fomu (a++), usemi huo hutathminiwa kwanza na kisha kuongezwa (hupungua) na 1.

Tofauti hii inaonyeshwa na mfano ufuatao.

Fikiria kipande sawa ambapo ++y (fomu ya kiambishi awali) inatumiwa.

int x = 10; int y = 2; x = x * (++y); printf("x = %d y = %d\n" , x, y);

X=30 y=3

Hapa, kwanza, y kwa gharama ya ++y itapata thamani 3, na baada ya hapo, 10 kwa 3 itazidishwa.

Fikiria kipande sawa ambapo y++ (fomu ya kurekebisha) inatumiwa.

int x = 10; int y = 2; x = x * (y++); printf("x = %d y = %d\n" , x, y);

Wakati wa utekelezaji wa kipande hiki, mstari unaofuata utaonyeshwa kwenye skrini.

X=20 y=3

Hapa, 10 itazidishwa na thamani y ya 2 kwanza, na baada ya hapo, y++ itatekelezwa.

Ikumbukwe kwamba katika vipande hivi si lazima kuweka mabano karibu ++y na y++ .

Kazi za kujidhibiti

  1. Angalia utekelezaji wa vipande maalum vya programu. Kumbuka kwamba hizi ni vipande tu vya programu. Lazima ziongezwe ndani ya braces ya curly ya kazi kuu.
  2. Jaribu kuondoa mabano karibu na ++y na y++ katika vijisehemu hivi. Hakikisha matokeo hayabadiliki.

3.3 Aina kamili

Kufikia sasa, tumezingatia tu aina ya int kwa nambari kamili. Ni maadili gani ya kikomo ambayo yanaweza kuwekwa kwa tofauti ya aina int ?

Imehakikishwa unaweza kuweka maadili katika masafa kutoka -32768 hadi 32767, kwani utofauti wa aina int umepewa si kidogo 16 bits

Lakini siku hizi, mara nyingi utaona utekelezwaji wa mkusanyaji ambapo utofauti wa aina int umetengewa biti 32, yaani, utofauti huu unaweza kuchukua maadili katika masafa -2147483648 hadi 2147483647.

Walakini, unaweza kuwa na uhakika kwamba anuwai ya thamani halali za mabadiliko x haitakuwa chini ya safu kutoka -32768 hadi 32767.

Ikiwa unatumia toleo lililopendekezwa la Msimbo::Blocks na mkusanyaji wa gcc unaokuja na mazingira haya (au kikusanyaji sawa na kilichosakinishwa hapo awali), kuna uwezekano mkubwa utajipata katika hali ambapo mabadiliko ya int yanaweza kuchukua maadili kutoka - 2147483648 hadi 2147483647.

Hebu tuangalie hili kwa mfano ufuatao.

#pamoja na int main () ( int x1 = -2147483648; int x2 = 2147483647; printf("x1 = %d x2 = %d\n" , x1, x2); )

x1 = -2147483648 x2 = 2147483647

Ikiwa ni hivyo, inaonyesha kuwa tofauti ya aina int inaweza kuchukua maadili kama haya.

Sasa, kabla ya mstari wa printf, unaweza kufanya x2 kubadilika kwa 1

#pamoja na int main () ( int x1 = -2147483648; int x2 = 2147483647; ++x2; printf("x1 = %d x2 = %d\n" , x1, x2); )

Programu hii inapotekelezwa, kuna uwezekano mkubwa kuwa mstari ufuatao utaonyeshwa.

X1 = -2147483648 x2 = -2147483648

Tambua kuwa thamani ya kigezo cha x2 imekuwa thamani hasi ya kikomo. Tunaweza kusema kwamba wakati wa kujaribu kuongeza 1 kwa kiwango cha juu cha thamani chanya (thamani 2147483647), nje ya anuwai ilitokea na thamani "iliyozunguka" ilikwenda kwa thamani hasi ya kikomo (thamani -2147483648). Kinachojulikana kufurika.

Ikiwa unaongeza x2 si kwa 1, lakini kwa 2, basi variable x2 itachukua thamani -2147483647 (ambayo inatofautiana na 1 kutoka kwa thamani hasi ya kikomo). Angalia.

Ikiwa unaongeza x2 si kwa 1, lakini kwa 3, basi variable x2 itachukua thamani -2147483646 (ambayo inatofautiana na 2 kutoka kwa thamani hasi ya kikomo). Angalia.

Kwa hivyo, inawezekana kuelewa kanuni ya tabia ya vigezo kamili katika kesi ya kufurika kwao.

Kazi za kujidhibiti

  1. Vile vile, angalia kufurika kwa kigezo x1 kuelekea thamani hasi ya kikomo, yaani, wakati wa kutoa nambari fulani kutoka kwa tofauti hii.
  2. Kufurika pia hutokea unapojaribu tu kugawa thamani kwa kigezo ambacho kiko nje ya masafa yanayoruhusiwa. Angalia.

Kwa kuongeza aina ya int, kuna aina zingine muhimu za kutangaza anuwai.

Kwa mfano, aina ya muda mrefu imehakikishiwa kutoa -2147483648 hadi 2147483647 (aina ya int haitoi dhamana hiyo kwa wakusanyaji wote).

Pia katika wakusanyaji wa kisasa wa C, aina ya muda mrefu (iliyoandikwa kwa maneno mawili) imeonekana, ambayo inatenga bits 64 kwa kutofautiana. Na hii inalingana na anuwai ya nambari kutoka -9223372036854775808 hadi 9223372036854775807.

Wacha tuangalie aina hii kwa mfano wa programu ifuatayo.

#pamoja na int main() ( ndefu ndefu x1 = -9223372036854775808; ndefu ndefu x2 = 9223372036854775807; printf("x1 = %lld x2 = %lld\n" , x1, x2); }

x1 = -9223372036854775808 x2 = 9223372036854775807

Kumbuka kuwa katika kesi hii, wakati kitendakazi cha printf kinaitwa, mchanganyiko wa herufi ni %lld , si %d . Hii ni muhimu ili kitendakazi cha printf kionyeshe kwa usahihi nambari kubwa zinazolingana na aina ya long long .

Kazi za kujidhibiti

  1. Vivyo hivyo, angalia kufurika kwa anuwai ndefu katika mfano huu (kama ilivyokuwa kwa anuwai za int).
  2. Jaribu kutumia %d badala ya %lld katika mfano huu katika kitendakazi cha printf.

Kwa kuongezea, inawezekana kuunda aina mpya kamili kwa kuongeza neno kuu ambalo halijasainiwa kabla ya jina lake, ambalo hubadilisha anuwai ya maadili yanayowezekana kwa eneo chanya, ambayo ni, hufanya aina hiyo kutosainiwa. Mfano ufuatao wa programu unaelezea hili.

#pamoja na int main() ( int unsigned x1 = 0; unsigned int x2 = 4294967295; printf("x1 = %u x2 = %u\n" , x1, x2); }

Wakati programu hii inatekelezwa, kamba inapaswa kutolewa.

x1 = 0 x2 = 4294967295

Kumbuka kuwa katika kesi hii, kitendakazi cha printf kinapoitwa, mchanganyiko wa herufi ni %u , si %d . Hii ni muhimu kwa kitendakazi cha printf ili kuonyesha kwa usahihi nambari zinazolingana na aina ambayo haijasainiwa.

Kazi za kujidhibiti

  1. Vivyo hivyo, angalia kufurika kwa anuwai za int ambazo hazijasainiwa katika mfano huu (kama ilivyokuwa kwa anuwai za int).
  2. Jaribu kutumia %d badala ya %u katika mfano huu katika kitendakazi cha printf.
  3. Kulingana na mfano huu, jaribu kuonyesha thamani ya juu zaidi inayoweza kuandikwa kwa aina tofauti isiyo na saini kwa muda mrefu (yaani, nambari 18446744073709551615). Chaguo za kukokotoa za printf hutumia mchanganyiko wa herufi %llu (badala ya %u) ili kuonyesha ipasavyo.

3.4 Nambari halisi

Ili kutaja nambari halisi, unaweza kutumia aina ya kuelea au aina mbili. Katika kesi hii, kutofautisha kwa aina ya kuelea kunachukua ka 4, na tofauti ya aina mbili inachukua ka 8. Kwa hiyo, kwa ujumla, aina ya mara mbili hutoa idadi kubwa zaidi ya nambari zinazowezekana na maeneo zaidi ya decimal baada ya uhakika wa decimal, lakini ina hasara ya mara mbili ya matumizi ya kumbukumbu ya aina ya kuelea.

Pia kuna aina mbili za muda mrefu, na kutofautiana kwa aina hii inaweza kuchukua kutoka kwa 8 hadi 16 bytes, kulingana na utekelezaji wa mkusanyaji. Kwa hivyo mara nyingi aina mbili ndefu hutoa usahihi zaidi badala ya kumbukumbu zaidi.

Wacha tuangalie utekelezaji wa programu ifuatayo.

#pamoja na int main() ( double x = 10.5; printf("x = %f\n" , x); )

Skrini itaonyesha:

X = 10.500000

Kumbuka kuwa %f inatumika badala ya %d , ambayo inaelezewa na matumizi ya aina halisi badala ya nambari kamili. Angalia nini kitatokea ukiweka %d badala ya %f .

Jinsi ya kuondoa zero za ziada wakati wa kuonyesha nambari? Kwa kufanya hivyo, unaweza kutaja idadi ya tarakimu baada ya uhakika wa decimal, kwa mfano, kama ifuatavyo.

Printf("x = %.1f \n" ,x);

Nambari baada ya nukta inaonyesha idadi ya tarakimu baada ya nukta ya desimali. Jaribio nayo.

Kwa kuongeza, unaweza kuweka idadi ya tarakimu zinazotumiwa kuonyesha nambari, kwa mfano, unaweza kuweka nambari hii hadi 10 kama ifuatavyo.

Printf("x = %10.1f \n" ,x);

Angalia nini kitabadilika.

Kwa kuongeza, badala ya herufi f pamoja na % , unaweza kutumia herufi e kuonyesha nambari katika fomu ya kielelezo, pamoja na herufi g kuchagua kiotomatiki umbizo la pato kulingana na ukubwa wa nambari. Kwa kuongeza, barua E na G pia zinaweza kutumika.

Kazi za kujidhibiti

  1. Jaribu njia tofauti za kutoa nambari halisi na uone kinachotokea (ikiwa ni pamoja na kutumia herufi e na g badala ya f pamoja na %).
  2. Amua mwenyewe matumizi ya herufi E na G husababisha nini ikilinganishwa na herufi e na g.
  3. Tekeleza squaring na mchemraba wa nambari halisi, kuhakikisha kuwa maadili yanayotokana yanaonyeshwa kwenye skrini. Chagua umbizo la towe linalofaa kwa nambari halisi.