Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • në shtëpi
  • Interesante
  • Shembuj programesh me struktura c. Bazat e gjuhës C: struktura e një programi C, llojet bazë dhe ndërtimi i llojeve, operacioneve dhe shprehjeve të reja

Shembuj programesh me struktura c. Bazat e gjuhës C: struktura e një programi C, llojet bazë dhe ndërtimi i llojeve, operacioneve dhe shprehjeve të reja

Një program i shkruar në C # përbëhet nga blloqet e mëposhtme:

  • deklarata e hapësirës së emrit (një lloj kontejneri);
  • deklarata e klasës (thelbi kryesor i programit);
  • metodat e klasës (nënprogramet), të paktën një metodë Kryesor;
  • operatorët dhe shprehjet;
  • komentet.

Një shembull i programit më të thjeshtë

le të shqyrtojmë programi më i thjeshtë shkruar në C #. Do të jetë një aplikacion konsol që nxjerr vargun "Hello World" (një lloj klasik për programin e parë në praktikën e një programuesi). Kodi i një programi të tillë është paraqitur më poshtë, le ta shohim atë:

// Lidhja e sistemit të hapësirës së emrave duke përdorur Sistemin; // Deklarata e hapësirës së emrit Hapësira e emrit Struktura e programit (// Klasa e deklarimit të klasës Programi (// Metoda kryesore zbrazëti statike kryesore (args vargu) (// Dalja e një paneli vargu.WriteLine ("Hello World!"); // Deklarata ndihmëse Console.ReadKey ();)))

Rreshti i parë i këtij programi është një koment. Komentet nuk ndikojnë në funksionimin e programit në asnjë mënyrë, ato janë të nevojshme për personin që do të mbajë kodin e programit (modifikojë atë, rregullon gabimet, etj.).

Rreshti i dytë i programit ( duke përdorur Sistemin;) është operatori që lidh hapësirën standarde të emrave Sistemi... Në fakt, ne kemi akses në një grup klasash të disponueshme në "kontejner" Sistemi... Siç shihet, vargu i dhënë përbëhet nga dy fjalë, e para ( fjalë kyçe duke përdorur) do të thotë që duam të përfshijmë hapësirën e emrave dhe të dytën Sistemi- emri i hapësirës së kërkuar të emrave.

Në fund të rreshtit të dytë ka një karakter ";", i cili tregon fundin e deklaratës. Çdo deklaratë programi duhet të përfundojë me këtë simbol.

Rreshti i katërt i programit është përsëri një koment, tamam si rreshtat 7, 10, 13, 15. Komentet në C # fillojnë me karakteret "//" (dy prerje përpara, dy të pjerrëta) dhe janë të vlefshme vetëm deri në fund të linja.

C # gjithashtu ka komente me shumë rreshta, ndonjëherë është më i përshtatshëm për t'i përdorur ato, do t'i hasim më vonë.

Rreshti i pestë ( Struktura e programit të hapësirës së emrit) deklaron hapësirën e vet të emrave, quhet "ProgramStructure". Hapësira e emrave është një lloj kontejneri dhe kufizohet me mbajtëse kaçurrelë (linja e hapjes 6 dhe e mbylljes 19) pas emrit të saj. Pra, gjithçka midis rreshtave 6 dhe 19 i përket hapësirës së emrave Struktura e programit.

Rreshti 8 deklaron një klasë të quajtur "Program", kjo është klasa kryesore dhe e vetme e programit tonë. Siç mund ta shihni, fjala kyçe përdoret për të deklaruar një klasë klasës pasuar nga emri i klasës. Mund të ketë jo një, por disa klasa në program. Në mënyrë tipike, një klasë përbëhet nga një grup metodash që përcaktojnë të ashtuquajturën sjellje të klasës (funksionaliteti, nëse dëshironi). Kufijtë e klasave, si dhe hapësirat e emrave tregohen me kllapa kaçurrelë (rreshtat 9 dhe 18). Në rastin tonë, klasa ka vetëm një metodë, kjo është metoda Kryesor.

Rreshti 11 deklaron metodën Kryesor... Kjo metodë është qendrore për programin tonë, e ashtuquajtura pika hyrëse e programit. Kjo do të thotë që kur programi të fillojë, metoda e parë do të ekzekutohet. Kryesor... Çdo metodë ka gjithashtu kufij, të cilët tregohen gjithashtu nga mbajtëset kaçurrelë (rrenjat 12 dhe 17).

Metoda Kryesor programi ynë përmban vetëm dy operatorë. Këta operatorë shfaqen në rreshtat 14 dhe 16. I pari printon mesazhin "Hello World!" Dhe e dyta, është ndihmëse, e bën programin të presë për një shtypje tasti në tastierë dhe nuk e lejon atë të përfundojë ekzekutimin e tij deri në atë moment (pa këtë operator, programi do të kishte printuar një rresht dhe do të mbyllej shpejt, kështu që ne nuk kishte kohë as të lexonte atë që kishte shtypur).

Tani përpiquni të ndërtoni dhe ekzekutoni këtë program Studio pamore... Për këtë ju duhet:

  • filloni Visual Studio;
  • krijojnë projekt i ri aplikacioni i konsolës;
  • kopjoni rreshtat 13-16 nga shembulli i mësipërm;
  • futni këto rreshta në metodë Kryesor një projekt i krijuar në Visual Studio;
  • shtypni tastin F5.

Unë fola në detaje se si të krijoni një projekt aplikacioni tastierë në Visual Studion në, ju këshilloj ta lexoni.

Ju lutemi pezulloni AdBlock në këtë sajt.

Shpresoj se tashmë keni instaluar disa IDE në kompjuterin tuaj dhe keni mësuar se si të përpiloni programe në të. Nëse jo, atëherë

Të gjitha programet e shkruara në C kanë një strukturë të përbashkët. Për të cilën do të flasim në këtë mësim. Programi ynë i parë i shkruar në hapin e mëparshëm do të na ndihmojë me këtë.

Ne do të plotësojmë kartë e thjeshtë... Në ky moment ne e dimë që ka programe, por si funksionojnë brenda nuk e dimë. Prandaj, harta jonë do të duket kështu.

Fig.1 Harta "Struktura e programeve C." Niveli i parë.

Gjatë gjithë kursit, ne do t'i kthehemi kësaj harte, do ta përsosim atë, do ta plotësojmë me elementë dhe blloqe të reja.

Tani vëmendje. Mos u shqetësoni! Më poshtë është shkruar burimi tre programe të thjeshta. Detyra juaj është t'i shikoni ato me kujdes dhe të përpiqeni të gjeni një model në kodin e tyre (diçka e zakonshme që ka çdo program).

Listimi 1. Programi 1. Shtyp "Hello, World!"

#përfshi

Listimi 2. Programi 2

Int kryesore (i zbrazët) (int a, b, c; a = 5; b = 10; c = a + b; kthimi 0;)

Listimi 3. Programi 3

#përfshi int main (void) (FILE * fp; fp = fopen ("input.txt", "w"); fprintf (fp, "Kjo është Sparta!"); fclose (fp); kthej 0;)

Merrni kohën tuaj për të parë pjesën tjetër të mësimit dhe përgjigjen e saktë për këtë problem. Së pari, përpiquni të përgjigjeni vetë. Pas kësaj shtypni butonin "Shiko vazhdimin!"

Pra, përgjigja: Në të gjitha programet e mësipërme, konstruksioni i mëposhtëm është i pranishëm:

Listimi 4. Funksioni kryesor i çdo programi C - funksioni kryesor.

Int kryesore (void) (kthimi 0;)

Cili është ky dizajn. Kjo është deklarata e funksionit kryesor. Çdo program i shkruar në gjuhën C duhet të ketë një funksion të tillë. Program i madh apo i vogël, lojë elektronike ose programi "Hello, World!", i shkruar nga ju ose nga Bill Gates - nëse programi është i shkruar në C - ai ka një funksion kryesor. Ky është funksioni kryesor i programit tonë, si të thuash. Kur ekzekutojmë një program, mund të mendojmë se po ekzekutojmë funksionin kryesor të këtij programi.

Le të ndalemi për një sekondë. Duket se kemi kuptuar një ose dy gjëra në lidhje me strukturën e programeve C. Çdo program C duhet të përmbajë një funksion kryesor. Le ta shfaqim këtë fakt në hartën tonë të njohurive "Struktura e programeve në gjuhën C".

Fig.2 Harta "Struktura e programeve C." Kryesor.

Tani karta nuk na shqetëson me zbrazëtinë e saj të hapur. Le të vazhdojmë kërkimin tonë.

Më lejoni t'ju tregoj pak për funksionin kryesor dhe funksionet në përgjithësi.

Emri i funksionit paraprihet nga int, i cili është një shkurtim i fjalës numër i plotë, i cili nga anglishtja përkthehet si "i tërë". Një hyrje e tillë do të thotë që kur funksioni kryesor përfundon punën e tij, ai duhet të kthehet në programin thirrës (në rastin tonë, kjo është sistemi operativ) çdo numër i plotë. Zakonisht, për funksionin kryesor, ky është numri zero, i cili njofton sistemin operativ: "Ashtu si, gjithçka është në rregull. Nuk ka ndodhur asnjë incident."

A keni parë ndonjëherë mesazhe gabimi në ekranin e kompjuterit tuaj? Zakonisht ata shkruajnë diçka si "Programi përfundoi në mënyrë jonormale ... bla bla bla ... Kodi -314." Kjo është pothuajse e njëjta gjë. Dallimi është se kur shfaqen probleme, sistemi operativ na njofton për këtë dhe kur gjithçka është në rregull, nuk na shqetëson përsëri.

Fjala void shkruhet në kllapa pas emrit të funksionit. Në përgjithësi, argumentet e funksionit zakonisht shkruhen në kllapa, por në rastin tonë, kur ato shkruajnë void në kllapa, kjo do të thotë se funksioni nuk ka argumente. Me fjalë të tjera, që funksioni kryesor të fillojë të punojë, nuk ka nevojë për të dhëna shtesë nga jashtë. Ne do të flasim për të gjitha këto në më shumë detaje, por tani për tani, vetëm mbani mend se fjala void në vend të argumenteve të funksionit do të thotë se nuk kërkohen argumente për këtë funksion.

Brenda kllapave kaçurrelë ka një përshkrim të funksionit kryesor, d.m.th. drejtpërdrejt se çfarë duhet të bëjë ky funksion.

Përpara mbajtësit kaçurrelë mbyllës, shohim komandën e kthimit. Është kjo komandë që është përgjegjëse për kthimin e vlerës nga funksioni. ato. shikoni, nëse programi arriti në këtë pikë, atëherë gjithçka ishte në rregull dhe nuk ndodhi asnjë gabim, që do të thotë se mund të ktheni vlerën zero.

Pse pikërisht zero, mund të pyesni? Dhe djalli e di vetëm! Zakonisht e bëjnë ashtu. Në parim, mund të ktheni një numër tjetër të plotë, për shembull 100, ose -236. Sikur të ishte vetëm një numër i plotë. E mbani mend int? Prandaj e tëra.

Pra, ne kuptuam funksionin kryesor. Një pikë më shumë. Ajo që shkruhet në mbajtëset kaçurrelë zakonisht quhet "trupi i funksionit" (ose përshkrimi i funksionit), dhe pjesa e parë, ajo përpara kllapave kaçurrelë quhet titulli i funksionit.

Le të kthehemi tani te programi ynë i parë "Hello, World" dhe të shohim se çfarë është.

Listimi 5. Programi "Hello, World".

#përfshi int main (void) (printf ("Përshëndetje, Botë! \ n"); return 0;)

Ne tashmë kuptojmë diçka në këtë program. Vetëm dy rreshta mbeten të paqarta, le të shkojmë me radhë.

Listimi 6. Direktiva e përfshirjes

#përfshi

Kjo linjë është një mesazh për përpiluesin. Këto mesazhe, duke filluar me karakterin #, quhen direktiva të përpiluesit. Fjalë për fjalë: "përfshi skedarin stdio.h". Në kohën e përpilimit, në vend të kësaj rreshti do të futet përmbajtja e skedarit stdio.h. Tani le të flasim pak për këtë skedar. stdio.h (nga anglishtja STanDart Hyrje dalje) atë skedari i kokës, ai përshkruan funksione të ndryshme standarde të lidhura me I/O.

Lind një pyetje e arsyeshme, "Pse duhet të shkruajmë këtë rresht? Pse na duhej ta fusnim këtë skedar këtu?" Kjo është e nevojshme që në programin tonë të mund ta përdorim funksion standard printf () dalje në ekran.

Këtu është gjëja. Para se të përdorim ndonjë gjë në programin tonë, duhet ta përshkruajmë atë. Imagjinoni një situatë, ju është kërkuar të sillni një shandanë dhe nuk e dini se çfarë është. Nuk është e qartë se çfarë duhet bërë.

Kështu është edhe përpiluesi. Kur ndeshet me një funksion, ai kërkon përshkrimin e tij (d.m.th. çfarë duhet të bëjë dhe çfarë do të thotë) në fillim të programit (që nga fillimi deri në momentin që përdoret në program). Pra, funksioni printf () përshkruhet në skedarin stdio.h. Prandaj, ne e lidhim atë. Por kur e lidhim, kompajleri do të mund të gjejë funksionin printf (), përndryshe do të hedhë një gabim.

Nga rruga, është koha për të shtuar hartën tonë të njohurive. Para funksionit kryesor, shtoni një bllok tjetër, bllokun për lidhjen e skedarëve të kokës.

Fig.3 Harta "Struktura e programeve C." Blloku i lidhjes së skedarëve të kokës.

Le të vazhdojmë të merremi me programin tonë.

Listimi 7. funksioni printf ().

Printf ("Përshëndetje, Botë! \ N");

Në këtë linjë, ne e quajmë funksionin standard të ekranit printf (). Në këtë rast më të thjeshtë, ne i kalojmë një parametër, një varg të cituar që duhet të shfaqet, në rastin tonë është Hello, World! \ n. Por prisni, çfarë është kjo? Nuk kishte asnjë \ n në ekran kur filloi programi. Pse atëherë e kemi shkruar këtë këtu? Kjo sekuencë është një karakter i veçantë që është një komandë për të shkuar rreshti tjetër... Është si të klikosh në MS Word Fut çelësin... Nga të tilla personazhe të veçanta disa, të gjitha shkruhen me karakterin "\" - një vijë e prapme. Këto karaktere speciale quhen karaktere kontrolli. Unë do t'ju tregoj ato më vonë. Përndryshe, ekrani do të shfaq saktësisht atë që keni shkruar në thonjëza të dyfishta.

Nga rruga, vini re se çdo komandë C përfundon me një ";" (pikëpresje). Duket si një pikë në fund të një fjalie në rusisht. Në një gjuhë të zakonshme, ne ndajmë fjalitë me një pikë, dhe në gjuhën e programimit C, ne ndajmë komandat nga njëra-tjetra me një pikëpresje. Prandaj, pikëpresja është e detyrueshme. Përndryshe, përpiluesi do të betohet dhe do të hedhë një gabim.

Për të thirrur ndonjë funksion, duhet të shkruani emrin e tij dhe të specifikoni parametrat që i kalojnë kllapa... Një funksion mund të ketë një ose më shumë parametra. Ose mund të mos ketë fare parametra, në këtë rast nuk keni nevojë të shkruani asgjë në kllapa. Për shembull, më lart kemi thirrur funksionin printf () dhe i kemi kaluar një parametër një varg për t'u printuar në ekran.

Meqe ra fjala, këshilla të dobishme... Meqenëse çdo program ka një funksion kryesor, dhe fjalë për fjalë në çdo program duhet të shfaqim diçka në ekran, ju rekomandoj që menjëherë të krijoni një skedar me boshllëkun e mëposhtëm, në mënyrë që të mos shkruani të njëjtën gjë çdo herë.

Listimi 8. Cung standard për programet C.

#përfshi int main (void) (kthimi 0;)

Epo, kjo duket se është e gjitha. Ky mësim i parë mund të konsiderohet i plotë. Edhe pse jo, ka edhe një gjë.

Gjëja më e rëndësishme në këtë tutorial është, sigurisht, strukturën e përgjithshme programet. Por përveç kësaj, ne kemi mësuar të shfaqim tekst arbitrar... Duket se ata nuk dinin asgjë fare, por edhe kjo do të mjaftonte për t'i bërë, për shembull, një dhuratë të vogël nënës sime më 8 mars.


Kodi burimor për programin e kartolinave gjendet në arkivin e kodit burimor për këtë tutorial. Eksperimento! Ju do të keni sukses.

Çdo program i shkruar në gjuhën C përbëhet nga një ose më shumë "funksione", të cilat janë modulet kryesore nga të cilat është mbledhur.

Një shembull i strukturës së një programi të thjeshtë C:

Forma e përgjithshme

Shembull

direktivat e paraprocesorëve

# përfshijnë

# definoni N 10

emri i funksionit kryesor

fillimi i trupit të funksionit kryesor

deklaratat e variablave dhe vargjeve

int x = 1; char str [N];

operatorët e programit

vendos ("Hyni emri");

merr (rr);

printf ("\ n% s, ju% d mysafiri im!", str, x);

Fundi i trupit të funksionit kryesor

      1. Direktivat e paraprocesorit

Kompiluesi përmban një program të quajtur paraprocesor... Paraprocesori funksionon përpara se programi të përkthehet nga gjuha nivel të lartë në gjuhën e makinës duke kryer transformimin e saj paraprak. Çdo direktivë paraprocesori fillon me një karakter # (numër) dhe përfshin të gjithë linjën. Direktivat që nuk përshtaten në një rresht mund të vazhdojnë në rreshtin tjetër. Karakteri i vazhdimit të linjës është karakteri i vijës së prapme (\) në rreshtin që do të vazhdohet.

Direktiva më e përdorur është përfshirja e një skedari në program

# përfshijnë < emri>

ku emri- emri i skedarit të përfshirë në tekstin e programit.

Kjo direktivë quhet direktiva e zëvendësimit ... Ai i thotë përpiluesit të vendosë skedarin në vendin e tij emri... Skedari emri i quajtur kokë. Ai përmban deklarata të të dhënave dhe funksioneve të përdorura në program. Për shembull, përfshirja në program e direktivës

# përfshijnë < matematikë. h>

do t'ju lejojë të përdorni funksione standarde matematikore në program si sin x, cos x, ln x, etj. Një listë e funksioneve standarde matematikore do të jepet më poshtë.

Direktiva

# përfshijnë < stdio. h>

bën të mundur përdorimin e funksioneve standarde I/O në program.

Një tjetër direktivë e përdorur zakonisht është direktiva e definicionit

#define S1 S2

ku S1, S2- vargjet e karaktereve.

Paraprocesori kërkon një varg karakteresh në tekstin e programit S1 dhe e zëvendëson atë me vargun S2 ... Për shembull, përfshirja në program e direktivës

# përcaktojnë P printf

do t'ju lejojë të shkruani një shkronjë në tastierë P në vend të një fjale printf.

Ky zëvendësim nuk bëhet brenda vargjeve të tekstit (literale), konstantave të karaktereve dhe komenteve, d.m.th. veprim direktiv # përcaktojnë nuk zbatohet për tekstet e kufizuara me citate, apostrofa dhe brenda komenteve.

      1. Funksioni kryesor

Çdo program C duhet të përmbajë një deklaratë funksioni kryesore(), i cili quhet funksioni kryesor . Në mënyrë tipike, ky funksion nuk ka parametra dhe nuk kthen asnjë vlerë. Për të treguar këtë fakt, përdoret fjala i pavlefshëm. Kështu, rreshti me emrin e funksionit kryesor zakonisht duket kështu:

kryesor i zbrazët (i zbrazët)

kryesore e zbrazët ()

      1. Variablat dhe vargjet

Një grup është një grup variablash të të njëjtit lloj me një emër të përbashkët. Emri i një variabli ose grupi është një identifikues - një sekuencë e përbërë nga karaktere:

a - z, A - Z, 0 - 9, _ (nënvizoni),

dhe karakteri i parë nuk mund të jetë një shifër. Shkronjat e vogla dhe karaktere të mëdha Alfabeti latin perceptohen si karaktere të ndryshme. Fjalët e shërbimit të gjuhës C nuk mund të përdoren si emër i një ndryshoreje ose grupi. Fjalët kryesore të shërbimit të gjuhës C janë dhënë në Shtojcë.

Elementet e grupit dallohen nga numrat (indekset). Indeksi mund të pranojë vetëm vlera të plota jo negative. Indeksi shkruhet pas emrit të grupit në kllapa katrore. Mund të ketë disa indekse. Në këtë rast, çdo indeks shkruhet në kllapat e veta katrore.

Variablat dhe vargjet mund të përdoren në gjuhën C tipe te ndryshme... Çdo lloj i të dhënave zë një sasi të caktuar bajtësh memorie dhe mund të marrë vlera nga një gamë e caktuar. Sasia e kësaj memorie dhe, në përputhje me rrethanat, diapazoni i vlerave të pranuara në zbatime të ndryshme të gjuhës C mund të ndryshojnë. Numri i bajtëve të memories të zëna nga një ndryshore e një lloji të caktuar për një zbatim specifik të gjuhës C mund të përcaktohet duke përdorur operacionin madhësia e(një lloj). Për shembull, mund të përcaktoni sasinë e memories së alokuar për një variabël të një lloji të plotë si kjo:

k = madhësia e (int);

printf(“Nën një variabël të llojitndëralokuar% d bajt memorie ",k);

Në këto udhëzime, merren parasysh tre lloje kryesore të variablave dhe grupeve, jepen vlerat tipike të sasisë së memories së zënë dhe diapazoni i vlerave (Tabela 1):

Tabela 1

Specifikimi i llojit (fjalë kyçe)

Kuptimi

Permasa

memorie (byte)

Gama e vlerave

Numër i plotë

32768 . . . +32767

2147483648 . . . +2147483647

E vlefshme

Numri i tipit të vlefshëm

3,4 ּ 10 -38. ... ... 3.4 ּ 10 38

(modulo)

Karakteri

128 . . . +127

Le të hedhim një vështrim më të afërt në një variabël të llojit karakter... Siç mund ta shihni nga tabela. 1, variabël i llojit karakter merr një bajt memorie. Një bajt memorie mund të ruajë ose një numër të plotë të panënshkruar nga diapazoni, ose një numër të plotë të nënshkruar nga diapazoni [–128, 127]. Ky numër është kodi për një nga 256 karakteret. Karakteri që korrespondon me një kod të caktuar përcaktohet nga tabela e kodit e përdorur. Kështu, vlera e një variabli të llojit karakter mund të konsiderohet ose si një numër i plotë ose si një karakter, kodi i të cilit është i barabartë me këtë numër.

Përditësimi i fundit: 18.05.2017

Një program C përbëhet nga një grup direktivash paraprocesoresh, përkufizime funksionesh dhe objekte globale. Direktivat e paraprocesorit kontrollojnë transformimin e tekstit përpara se të përpilohet. Objektet globale përcaktojnë të dhënat e përdorura ose gjendjen e programit. Dhe funksionet përcaktojnë sjelljen ose veprimet e një programi. Programi më i thjeshtë C që u përcaktua në temat e mëparshme:

#përfshi int main (void) (printf (" Përshendetje Botë! \ n "); kthe 0;)

udhëzime

Blloqet më të thjeshta të ndërtimit të një programi C janë deklaratat. Çdo instruksion kryen një veprim specifik. Në fund të udhëzimeve në gjuhën C, vihet një pikëpresje (;). Kjo shenjë i tregon kompajlerit që të plotësojë udhëzimin. Për shembull:

Printf ("Përshëndetje botë!");

Thirrni funksionet printf e cila printon vargun "Hello world!" është një udhëzim dhe përfundon me pikëpresje.

Një grup udhëzimesh mund të përfaqësojë një bllok kodi. Një bllok kodi është i mbyllur në mbajtëse kaçurrelë, udhëzimet që përbëjnë trupin e këtij blloku vendosen midis kllapave kaçurrelë hapëse dhe mbyllëse:

(printf ("Përshëndetje botë!"); printf ("Mirupafshim botë!");)

Ka dy udhëzime në këtë bllok kodi. Të dy deklaratat përfaqësojnë një thirrje në funksionin printf () dhe printojnë një linjë specifike në tastierë.

Direktivat e paraprocesorit

Për të nxjerrë të dhëna në tastierë në shembullin e mësipërm, përdoret funksioni printf (), por për ta përdorur këtë funksion në mënyrë që të bëhet i disponueshëm për ne në një program C fare, është e nevojshme të përfshijmë kokën stdio.h skedari në fillim të skedarit të kodit burimor duke përdorur direktivën e përfshirjes.

Direktiva e përfshirjes është një direktivë parapërpunuese. Përveç kësaj përfshijnë, ekzistojnë një sërë direktivash paraprocesoresh, për shembull, define.

Çdo direktivë e paraprocesorit vendoset në një linjë. Dhe ndryshe nga udhëzimet e zakonshme gjuhët C që përfundojnë me pikëpresje; , shenja e përfundimit të direktivës së parapërpunimit është përkthimi në linjë e re... Përveç kësaj, direktiva duhet të fillojë me një shenjë paund #.

Direktiva "përfshi" përcakton drejtpërdrejt se në cilat skedarë duhet të përfshihen ky vend në tekstin e programit. Si parazgjedhje, ne mund të përfshijmë skedarë standardë nga drejtoria e të ashtuquajturave "skedarët e kokës", të cilat zakonisht furnizohen me bibliotekat standarde përpilues. Dhe skedari "stdio.h" është vetëm një nga ato skedarë kokë.

Në përgjithësi, vetë termi "file header" nënkupton përfshirjen e tekstit të skedarit pikërisht në fillim ose në kokën e programit. Prandaj, skedarët e kokës zakonisht përfshihen në fillim të kodit burimor. Për më tepër, skedari i kokës duhet të përfshihet përpara se të thirrni funksionet që ai përcakton. Kjo do të thotë, për shembull, skedari stdio.h përmban përkufizimin e funksionit printf, kështu që ky skedar duhet të përfshihet përpara se të thirret funksioni printf.

Por në përgjithësi, direktivat e paraprocesorit nuk duhet të vendosen në fillim të skedarit.

Kur përpilohet kodi burimor, fillimisht aktivizohet paraprocesori, i cili skanon kodin burimor për rreshta që fillojnë me karakterin #. Këto linja trajtohen si direktiva nga paraprocesori. Dhe në vend të këtyre direktivave, teksti transformohet. Për shembull, në vend të direktivës #include futet kodi nga skedari stdio.h.

Funksioni kryesor

Pika e fillimit për çdo program C është funksioni kryesor (). Pikërisht me këtë funksion fillon ekzekutimi i aplikacionit. Emri i tij main është fiks dhe është gjithmonë i njëjtë për të gjitha programet C.

Një funksion është gjithashtu një bllok kodi, kështu që trupi i tij është i rrethuar nga mbajtëse kaçurrelë, midis të cilave ka një grup udhëzimesh.

Duhet të theksohet se modifikimet e këtij funksioni mund të gjenden në literatura dhe shembuj të ndryshëm. Në veçanti, në vend të përkufizimit të mësipërm, ne mund të shkruajmë ndryshe:

#përfshi void main () (printf ("Përshëndetje botë!");)

#përfshi int main () (printf ("Përshëndetje botë!"); return 0;)

Nuk do të ishte gabim përdorimi i këtyre përkufizimeve dhe programi do të printonte gjithashtu vargun "Hello world" në tastierë. Dhe për shumicën e përpiluesve, kjo do të ishte mirë.

Më pas, ne do të hedhim një vështrim më të afërt në përkufizimin e funksioneve, por këtu duhet të merret parasysh aspekti i mëposhtëm. Përkufizimi i një funksioni në formën int main (void) është fiksuar në standardin e gjuhës C11. Përpiluesit udhëhiqen kryesisht nga standardi i gjuhës, specifikimi i tij. Prandaj, nëse përdorim përkufizimin e dhënë në standardin gjuhësor, atëherë ka më shumë mundësi që ai të mbështetet nga të gjithë përpiluesit. Edhe pse përsëri, e përsëris, duke përdorur opsionin e dytë ose int main () gabim i madh nuk do të jetë.

Standardi plotësisht i fundit C11 mund të shihet në

Një program C përbëhet nga një ose më shumë nënprograme të quajtura funksione.

Gjuha C është e strukturuar në bllok. Çdo bllok përbëhet nga mbajtëset {} .

Blloku kryesor në një program aplikimi të tastierës C është funksioni kryesor i quajtur main ().

Çdo veprim në gjuhën C përfundon me një pikëpresje -; ... Një veprim mund të jetë një thirrje funksioni ose disa operacione.

Emri i funksionit është emri kolektiv i grupit të përshkrimit dhe operatorëve,
i mbyllur në një bllok (kllapa kaçurrelë). Parametrat e funksionit tregohen në kllapa pas emrit të funksionit.

C Komentet

Gjuha C përdor simbole për komente

/ * - fillimi i komentit;
* / - fundi i komentit.

E gjithë sekuenca midis këtyre personazheve është një koment.

Është i përshtatshëm për të shkruar komente me shumë rreshta:

int a; / * e tërë
ndryshore * /

Komentet me shumë rreshta janë gjithashtu të dobishëm kur korrigjohen për të fshehur pjesë të kodit nga ekzekutimi.

Përveç kësaj, simbolet // mund të përdoren për të shkruar komente të shkurtra. Në këtë rast, një koment është gjithçka që ndodhet pas simboleve // ​​dhe deri në fund të rreshtit:

noton b; // ndryshore reale

Funksioni kryesor

Kur ekzekutoni një aplikacion konsolë të shkruar në C, sistemi operativ i kompjuterit transferon kontrollin te një funksion i quajtur main (). Funksioni kryesor () nuk mund të thirret nga funksionet e tjera të programit, ai është një funksion kontrolli.

Kllapat pas emrit të funksionit përdoren për të treguar parametrat (argumentet) që i kalohen funksionit kur ai thirret. V në këtë rast sistemi operativ nuk kalon asnjë argument në funksionin kryesor (), kështu që lista e argumenteve në kllapa është bosh.

Funksioni kryesor mund të shkruhet në mënyra të ndryshme:

  • int main ()
  • kryesore e zbrazët ().

Lloji i vlerës së kthyer është specifikuar përpara emrit të funksionit. Kur thirret funksioni kryesor, vlera i kthehet sistemit operativ. rekordi i fundit nuk do të kthejë vlera. por kryesore e zbrazët ()- shënim jo mjaft i saktë, pasi i tregon përpiluesit që funksioni kryesor () nuk kthen asnjë vlerë.

Në këtë rast, rekordi int main () i thotë kompajlerit të kthejë një vlerë të plotë që kërkohet nga sistemi operativ dhe i tregon atij që programi ka përfunduar saktë. Nëse kjo vlerë nuk kthehet, atëherë sistemi operativ kupton që programi ka përfunduar në modalitetin jonormal.
Për të kthyer një vlerë të plotë, një rresht shtohet para përfundimit të funksionit

kthimi 0; // ndryshore reale

Përshkrimet dhe operatorët janë të mbyllur në mbajtëse kaçurrelë.

V rast i përgjithshëm një program mund të përmbajë disa funksione. Çdo funksion ka një listë të parametrave që i kalojnë, të treguara në kllapa, dhe një grup operacionesh, të mbyllura në një bllok, të kufizuar nga kllapa kaçurrelë.

Shembull: Shfaqja e mesazhit "Përshëndetje, botë!" ...

1
2
3
4
5
6
7

#përfshi // Lidhni bibliotekën I / O
int main () // Funksioni kryesor
{
printf ("Përshëndetje, botë!"); // Shfaq mesazhin
getchar (); // Vonesoni dritaren e konsolës
kthimi 0;
}


Rezultati i programit:

Tani le të përpiqemi të shkruajmë një tekst në Rusisht.

1
2
3
4
5
6
7

#përfshi
int main ()
{
printf ( "Përshendetje Botë!");
getchar ();
kthimi 0;
}


Rezultati i programit:


Problemi i gjuhës ruse në aplikacionet e konsolësështë se konsola dhe Redaktori i kodit të Microsoft Visual Studio mbështesin faqe të ndryshme kodi. Për të parë karakteret ruse në tastierë, duhet të ndryshoni faqen e kodit në tastierë që të përputhet me faqen e kodit të redaktuesit (1251). Për këtë qëllim, sistemi ( "chcp 1251") me përkatëse linja e komandës... Prototip funksionet e sistemit() gjendet në bibliotekë .

Në këtë rast, teksti i programit do të duket kështu.

Artikujt kryesorë të lidhur