Lugha cc. C lugha ya programu. Wakusanyaji na mazingira ya maendeleo

C lugha ya programu iliyotengenezwa na Dennis Ritchie mwanzoni mwa miaka ya 1970 ili kuunda mfumo wa uendeshaji wa UNIX. C inabakia kuwa lugha inayotumiwa sana kwa programu ya mfumo wa kuandika, na C pia hutumiwa kwa kuandika maombi. Kupanga programu kwa Kompyuta.

Upekee

Lugha ya programu C ina sifa kuu zifuatazo:

  • Kuzingatia dhana ya utaratibu wa programu, kwa urahisi wa programu katika mtindo uliopangwa, ni pamoja na kujifunza vizuri. C.
  • Ufikiaji wa kiwango cha maunzi kupitia matumizi ya viashiria kuteua maeneo ya kumbukumbu.
  • Vigezo kila mara hupitishwa kwa chaguo za kukokotoa kwa thamani, si kwa marejeleo.
  • Upeo wa viambatisho vya kileksika (lakini hauauni kufungwa au utendaji uliofafanuliwa ndani ya vitendaji vingine.)
  • Seti ya kawaida ya programu za maktaba ambazo hutoa vipengele ambavyo ni muhimu lakini sio lazima kabisa.
  • Matumizi ya kichakataji cha awali cha lugha, kichakataji C, kwa kazi kama vile kufafanua makro na kujumuisha faili nyingi za msimbo wa chanzo.
  • Utendaji wa "O" kwa waendeshaji wote

Utendaji wa lugha ya programu C umehakikishwa na ANS/ISO C99 C89/90 na kanuni ambazo hutaja wazi wakati mkusanyaji (au mazingira) anapotoa uchunguzi. Kupanga kwa dummies. Hati pia zinaonyesha ni tabia gani inayoweza kutarajiwa kutoka kwa msimbo ulioandikwa katika lugha ya programu ya C ambayo inalingana na kiwango.
Kwa mfano, kanuni ifuatayo, kulingana na kiwango, hutoa tabia isiyojulikana.

#include #include int main (batili) ( char *s = "Hujambo Ulimwengu!\\n"; strcpy (s, s+1); /* labda mtayarishaji programu alitaka kuondoa herufi ya kwanza kutoka kwa safu S = S + 1, */ kurudi 0;

Kumbuka: Mtindo wa kujiingiza katika msimbo wa programu hutofautiana kulingana na mapendekezo ya watengeneza programu. Tazama mtindo wa ujongezaji kwa maelezo zaidi katika sehemu ya misingi ya programu.
"Tabia Isiyobainishwa" inamaanisha kuwa kama matokeo programu inaweza kufanya chochote, ikiwa ni pamoja na kufanya kazi kama programu ilivyokusudia, au kutoa makosa mabaya kila wakati inapoendeshwa, au kusababisha mvurugo mmoja tu kila wakati kipindi cha arobaini na mbili cha programu kinapotokea, au kusababisha kuacha kufanya kazi kompyuta inapowashwa upya, n.k., ad infinitum.
Wakusanyaji wengine hawazingatii viwango vyovyote katika hali ya msingi, ambayo husababisha programu nyingi kuandikwa ambazo zitajumuisha tu na toleo fulani la mkusanyaji na kwenye jukwaa fulani (Windows, Linux au Mac).
Programu yoyote iliyoandikwa katika lugha ya kawaida ya utayarishaji C pekee itaundwa bila kubadilika kwenye jukwaa lolote ambalo lina utekelezaji ufaao wa kikusanya C.
Ingawa C kwa kawaida huitwa lugha ya kiwango cha juu, ni lugha ya "kiwango cha juu" tu ikilinganishwa na lugha ya mkusanyiko, lakini ni kiwango cha chini sana kuliko lugha nyingine nyingi za programu. Lakini tofauti na wengi, inatoa programu uwezo wa kudhibiti kabisa yaliyomo kwenye kumbukumbu ya kompyuta. C haitoi zana za kukagua mipaka ya safu au mkusanyiko wa taka otomatiki.
Mwongozo wa usimamizi wa kumbukumbu humpa kitengeneza programu uhuru zaidi wa kurekebisha utendakazi wa programu, ambayo ni muhimu sana kwa programu kama vile viendeshaji vya kifaa. Hata hivyo, pia hurahisisha kuunda msimbo kimakosa na hitilafu zinazotokana na utendakazi mbovu wa kumbukumbu kama vile kufurika kwa bafa. Zana kadhaa zimeundwa ili kusaidia watayarishaji programu kuepuka hitilafu hizi, ikiwa ni pamoja na maktaba za kutekeleza ukaguzi wa mipaka ya safu na ukusanyaji wa taka, na maktaba za ukaguzi wa msimbo wa chanzo. Utumiaji wa makusudi wa programu zilizoandikwa kwa C kutoka mwanzo na zilizo na utaratibu wa kufurika kwa bafa ni kawaida sana katika virusi vingi vya kompyuta na ni maarufu sana kati ya wadukuzi wanaotengeneza minyoo ya kompyuta.
Baadhi ya mapungufu yaliyotambuliwa ya C yalizingatiwa na kuzingatiwa katika lugha mpya za programu inayotokana na C. Lugha ya programu ya Cyclone ina vipengele vya kulinda dhidi ya shughuli za kumbukumbu zenye makosa. C++ na Lengo C hutoa miundo iliyoundwa ili kuwezesha upangaji unaolenga kitu. Java na C# zimeongeza miundo ya programu inayolenga kitu pamoja na viwango vya juu vya uondoaji kama vile usimamizi wa kumbukumbu otomatiki.

Hadithi
Maendeleo ya awali ya C yalitokea kati ya 1969 na 1973 (kulingana na Ritchie, kipindi cha misukosuko zaidi mnamo 1972). Iliitwa "C" kwa sababu vipengele vingi vilitokana na lugha iliyotangulia iitwayo B, ambayo yenyewe iliitwa Bon baada ya mke wa Bonnie Ken Thompson.
Kufikia 1973, lugha ya programu ya C ilikuwa na nguvu ya kutosha kwamba kernel nyingi kutoka kwa mfumo wa uendeshaji wa Unix ziliandikwa upya. C Kwa kulinganisha, mfumo wa uendeshaji wa Multics unatekelezwa katika lugha ya A, Tripos OS (inayotekelezwa katika lugha ya BCPL. Mnamo 1978, Ritchie na Brian Kernighan walichapisha "Lugha ya Programu ya C" (kinachojulikana kama "karatasi nyeupe", au K&R. ) kwa miaka mingi , kitabu hiki kilitumika kama maelezo ya lugha, na hata leo, toleo hili ni maarufu sana kama mwongozo na kitabu cha kiada.
C ilijulikana sana nje ya Bell Labs kutoka miaka ya 1980, na kwa muda ilikuwa lugha kuu katika mifumo na programu za kompyuta ndogo. Bado ndiyo lugha inayotumika sana ya utayarishaji wa mfumo, na ni mojawapo ya lugha za programu zinazotumiwa sana katika kompyuta kwa ajili ya elimu ya sayansi.
Mwishoni mwa miaka ya 1980, Bjarne Stroustrup na wengine katika Bell Labs walifanya kazi ya kuongeza miundo yenye mwelekeo wa kitu kwa C. Lugha waliyotengeneza pamoja na mkusanyaji wa kwanza wa Cfront iliitwa C++ (ambayo inaepuka swali la nini mrithi wa "B" " na "C" lazima iwe "D" au "P"). Hivi sasa, C++ ndiyo lugha inayotumiwa mara nyingi kwa matumizi ya kibiashara kwenye mfumo wa uendeshaji wa Microsoft Windows, ingawa C inabaki kuwa maarufu sana katika ulimwengu wa Unix.

Matoleo C

K&R C (Kernighan na Ritchie C)
C imebadilika mfululizo tangu kuanzishwa kwake katika Bell Labs. Mnamo 1978, toleo la kwanza la Lugha ya Kiprogramu ya Kernighan na Ritchie lilichapishwa. Ilianzisha huduma zifuatazo kwa matoleo yaliyopo ya C:

  • aina ya data ya muundo
  • aina ya data ndefu
  • aina ya data isiyo na saini
  • Opereta =+ ilibadilishwa kuwa += , na kadhalika (kwa kuwa opereta =+ aliendelea kusababisha makosa ya uchanganuzi wa kileksika katika C).

Kwa miaka kadhaa, toleo la kwanza la "Lugha ya Kupanga C" lilitumiwa sana kama uainishaji wa lugha ya ukweli. Toleo la C lililofafanuliwa katika kitabu hiki kwa ujumla linajulikana kama "K&R C" (Toleo la Pili linashughulikia kiwango cha ANSI C, kilichofafanuliwa hapa chini.)
K&R C mara nyingi huchukuliwa kuwa sehemu ya msingi ya lugha inayohitajika kwa mkusanyaji wa C Kwa kuwa si vikusanyaji vyote vinavyotumika kwa sasa vimesasishwa ili kuauni ANSI C kwa ukamilifu, na msimbo wa K&R C ulioandikwa vizuri pia ni sahihi kutoka. mtazamo wa ANSI C. Kwa hivyo, K&R C inachukuliwa kuwa kiashiria cha chini kabisa cha kawaida ambacho watayarishaji programu wanapaswa kuzingatia ili kufikia kiwango cha juu cha kubebeka. Kwa mfano, toleo la bootstrap la mkusanyaji wa GCC, xgcc, limeandikwa katika K&R C. Hii ni kwa sababu majukwaa mengi yanayotumika na GCC hayakuwa na kikusanyaji sahihi cha ANSI C GCC, kwa hivyo ni utekelezaji mmoja tu wa msingi wa K&R C ulioandikwa .
Hata hivyo, ANSI C sasa inaungwa mkono na takriban watunzi wote wanaotumika sana. Msimbo mwingi wa C sasa umeandikwa kuanzia mwanzo ili kufaidika na vipengele vya lugha ambavyo vinapita zaidi ya upeo wa vipimo asili vya K&R.

ANSI C na ISO C
Mnamo 1989, C iliwekwa rasmi sanifu na ANSI katika ANSI X3.159-1989 "Lugha ya Kupanga C". Mojawapo ya malengo ya ANSI C ilikuwa kuunda K&R C iliyoboreshwa. Hata hivyo, kamati ya viwango pia ilijumuisha vipengele kadhaa vipya vilivyoanzisha ubunifu mwingi kuliko ulivyokuwa kawaida katika upangaji programu wakati wa kusanifisha lugha.
Baadhi ya vipengele vipya viliongezwa "isivyo rasmi" kwa lugha baada ya kuchapishwa kwa K&R, lakini kabla ya kuanza kwa mchakato wa ANSI C.

  • kazi tupu
  • kazi zinazorudisha muundo au aina za data za muungano
  • utupu * aina ya data
  • const qualifier kufanya kitu kusomeka pekee
  • panga majina ya uwanja katika nafasi tofauti ya majina kwa kila aina ya muundo
  • mgao wa kumbukumbu kwa aina za data za muundo
  • maktaba ya stdio na kazi zingine za maktaba za kawaida zilipatikana katika utekelezwaji mwingi (tayari ilikuwepo, angalau utekelezaji mmoja wakati wa uundaji wa K&R C, lakini haikuwa kiwango, na kwa hivyo haikuandikwa kwenye kitabu )
  • stddef.h faili ya kichwa na idadi ya faili zingine za vichwa vya kawaida.

Vitendaji kadhaa viliongezwa kwa C wakati wa mchakato wa kusawazisha ANSI, haswa mifano ya utendakazi (iliyokopwa kutoka C++). ANSI C pia ilianzisha seti ya kawaida ya utendaji wa maktaba.
Lugha ya programu C kulingana na kiwango cha ANSI, iliyo na marekebisho madogo, ilipitishwa kama kiwango cha ISO chini ya ISO 9899. Toleo la kwanza la ISO la waraka huu lilichapishwa mwaka wa 1990 (ISO 9899:1990).

C 99
Kufuatia mchakato wa usanifishaji wa ANSI, vipimo vya lugha C vimesalia bila kubadilika kwa muda fulani, huku C++ imeendelea kubadilika. (Kwa kweli, Marekebisho ya 1 ya Udhibiti yaliunda toleo jipya la lugha ya C mnamo 1995, lakini toleo hili halitambuliki mara chache.) Hata hivyo, viwango vilirekebishwa mwishoni mwa miaka ya 1990, na kusababisha kuundwa kwa ISO 9899:1999, ambayo ilichapishwa. mwaka 1999. Kiwango hiki kinajulikana kama "C99". Ilipitishwa kama kiwango cha ANSI mnamo Machi 2000.
Vipengele vipya vilivyoongezwa katika C99 ni pamoja na:

  • kazi zilizojengwa ndani
  • ikitoa kizuizi kwenye eneo la tamko tofauti (kama ilivyo kwa C++)
  • Kwa kuongezea aina kadhaa mpya za data, pamoja na int ya muda mrefu (kupunguza shida zinazohusiana na ubadilishaji kutoka kwa vichakataji 32-bit hadi 64-bit vinavyokuja juu ya programu nyingi za zamani, ambazo zilitabiri kutokamilika kwa usanifu wa x86), data wazi ya Boolean. aina, na aina inayowakilisha nambari changamano
  • safu za urefu tofauti
  • Usaidizi rasmi wa maoni yanayoanza na "/ /" kama katika C++ (ambayo watunzi wengi wa C89 tayari wameauni kama kiendelezi kisicho cha ANSI)
  • kazi kadhaa mpya za maktaba, pamoja na snprintf
  • faili kadhaa za vichwa vipya, pamoja na stdint.h

Nia ya kutumia vipengele vipya vya C99 imechanganywa. Ingawa GCC na wakusanyaji kadhaa wa kibiashara wanaunga mkono vipengele vingi vipya vya C99, watunzi waliotengenezwa na Microsoft na Borland hawafanyi hivyo, na kampuni hizo mbili hazionekani kuwa na nia ya kuongeza usaidizi kama huo.

Mpango "Halo, Ulimwengu!" kwa lugha ya C
Matokeo rahisi yafuatayo ya programu "Hujambo, Ulimwengu" kwa pato la kawaida (kawaida skrini, lakini inaweza kuwa faili au kifaa kingine cha maunzi). Mabadiliko haya ya mpango yalionekana kwanza kwenye K&R.

#pamoja na int main(utupu) ( printf("Hujambo, Ulimwengu!\\n"); //comment return 0; /* toa maoni kwenye mistari kadhaa */ )

Kwa kawaida, maandishi ambayo si programu, lakini hutumika kama kidokezo kwa mpangaji programu, huandikwa kama maoni. // mstari mmoja au /* mistari mingi*/

Anatomy ya Programu ya C
Programu ya C ina vipengele na vigezo. C hufanya kazi kama subroutines na kazi za Fortran au taratibu na kazi za Pascal. Upekee wa kazi kuu ni kwamba programu huanza utekelezaji na kazi kuu. Hii ina maana kwamba kila programu C lazima iwe na kazi kuu.
Kazi kuu kwa kawaida huita vitendaji vingine vinavyosaidia kufanya kazi yake, kama vile printf katika mfano hapo juu. Msanidi programu anaweza kuandika baadhi ya kazi hizi, na wengine wanaweza kuitwa kutoka kwa maktaba. Katika mfano hapo juu, kurudi 0 kunatoa thamani ya kurudi kwa kazi kuu. Hii inaonyesha utekelezaji mzuri wa programu ya kupiga ganda la programu.
Chaguo za kukokotoa za C huwa na aina ya kurejesha, jina, orodha ya vigezo (au utupu katika mabano ikiwa hakuna), na chombo cha utendaji. Sintaksia ya utendaji kazi wa mwili ni sawa na opereta kiwanja.

Miundo ya udhibiti

Waendeshaji wa Kiwanja
Waendeshaji kiwanja katika C ni wa fomu
{ }
na hutumika kama kiini cha chaguo za kukokotoa na mahali ambapo vitendo vingi vinatarajiwa katika block moja.

Opereta wa tamko
Andika taarifa
;
ni usemi wa tamko hilo. Ikiwa hakuna usemi, basi kauli kama hiyo inaitwa taarifa tupu.

Opereta ya uteuzi
C ina aina tatu za taarifa ya uteuzi: aina mbili ikiwa na kauli ya kubadili.
Aina mbili za kama,
kama()
{
}
au
kama()
{
}
mwingine
{
}
Katika tamko la if, ikiwa usemi katika mabano si nzero au kweli, basi udhibiti hupita kwenye taarifa inayofuata if . Ikiwa kuna lingine katika kifungu, basi udhibiti utapitishwa kwa seti inayofuata ya vitendo baada ya nyingine ikiwa usemi kwenye mabano ni batili au si kweli.
Taarifa ya udhibiti wa kubadili - katika kesi hii, ni muhimu kuorodhesha maadili kadhaa ambayo kutofautiana ambayo hutumiwa kama uteuzi wa uteuzi inaweza kuchukua, ambayo lazima iwe na aina kamili. Kwa kila thamani ya chaguo tofauti, vitendo kadhaa vinaweza kufanywa ambavyo vimechaguliwa. Kila tawi la kitendo linaweza kuwekewa lebo ya kipochi, ambayo inaonekana kama kisanduku cha nenomsingi ikifuatwa na usemi usiobadilika na kisha koloni (:). Hakuna maadili yanayohusishwa na vibadilishi vinavyoweza kuwa na thamani sawa. Kunaweza pia kuwa na angalau lebo moja chaguo-msingi inayohusishwa na swith; udhibiti huhamishiwa kwenye lebo chaguo-msingi ikiwa hakuna thamani yoyote kati ya hizo zinazolingana na tofauti ya uteuzi, ambayo iko kwenye mabano baada ya kubadili . Katika mfano hapa chini, ikiwa kuna mechi kati ya kutofautisha kwa uteuzi na ya mara kwa mara, basi seti ya vitendo kufuatia koloni itatekelezwa.

Badili () (kesi: printf(); break; kesi: printf(); break; default:)

Marudio (mizunguko)
C ina aina tatu za waendeshaji kitanzi:

Fanya ( ) huku (); wakati () ( ) kwa (; ;) ( )

Katika taarifa za wakati na kufanya, mwili hutekelezwa mara kwa mara mradi tu thamani ya usemi inasalia kuwa isiyo na maana au kweli. Kwa muda, hali hiyo inaangaliwa kila wakati kabla ya utekelezaji kuanza; kwa kufanya, hali inaangaliwa baada ya mwili wa kitanzi kutekelezwa.
Ikiwa misemo yote mitatu iko kwenye tamko

Kwa (e1; e2; e3) s;

basi hii ni sawa na

E1; wakati (e2) (s; e3;)

Maneno yoyote kati ya matatu katika taarifa ya kitanzi yanaweza kuachwa. Kutokuwepo kwa usemi wa pili hufanya jaribio la hali ya wakati lisiwe batili kila wakati, na kuunda kitanzi kisicho na kikomo.

Waendeshaji wa Rukia
Opereta wa kuruka bila masharti. Kuna aina nne za kauli za kuruka katika C: goto, endelea, vunja, na rudisha.
Taarifa ya goto inaonekana kama hii:
enda kwa<метка>;
Ni lazima kitambulisho kielekeze kwenye lebo iliyo katika chaguo za kukokotoa za sasa. Udhibiti huhamishiwa kwa opereta aliyewekwa alama.
Taarifa ya kuendelea inaweza tu kuonekana ndani ya kurudiwa kwa kitanzi na kulazimisha hatua zilizosalia kurukwa katika eneo la sasa na kuendelea hadi hatua inayofuata ya kitanzi. Hiyo ni, katika kila kauli

Wakati (maneno) ( /* ... */ endelea; ) fanya ( /* ... */ endelea ; ) huku ( usemi); kwa (hiari-expr; optexp2; optexp3) ( /* ... */ endelea ; )

Taarifa ya mapumziko inatumika kutoka kwa, wakati, fanya, au kubadili kitanzi. Udhibiti huhamishiwa kwa opereta kufuatia ile ambayo kitendo kilikatizwa.
Chaguo za kukokotoa hurudi kwenye eneo ambalo thamani iliitwa kwa kutumia taarifa ya kurejesha. Kurudi kunafuatwa na usemi ambao thamani yake inarudishwa mahali ilipoitwa. Ikiwa fomula ya kukokotoa haina taarifa ya kurejesha, basi ni sawa na kurejesha bila usemi. Kwa hali yoyote, thamani ya kurudi haijafafanuliwa.
Agizo la Maombi ya Opereta katika C89

  • () ->. + + - (CAST) waendeshaji Postfix
  • + + - * & ~! + - UkubwaWa waendeshaji unary
  • * /% Viendeshaji Vizidishi
  • + - Waendeshaji nyongeza
  • << >> Waendeshaji Shift
  • < <= >>= Waendeshaji uhusiano
  • =! == Waendeshaji usawa
  • & Bitwise na
  • ^ Bitwise XOR
  • | Bitwise ikijumuisha, au
  • & & Mantiki na
  • | | Mantiki au
  • ?: Mwendeshaji wa masharti
  • = += -= *= /= %= <<= >>=
  • & = | = ^ Waendeshaji mgawo =
  • , Opereta wa koma

Tamko la Data
Aina za data za msingi
Maadili katika Na faili za kichwa hufafanua safu za aina kuu za data. Masafa ya aina mbili za kuelea, mbili na ndefu kwa ujumla hutajwa katika kiwango cha IEEE 754.

Safu
Ikiwa tofauti inatangazwa kwa kutumia mabano ya mraba () pamoja na dalili, basi safu inachukuliwa kutangazwa. Kamba ni safu za wahusika. Zinaisha na herufi tupu (iliyowakilishwa katika C kama "\0", herufi isiyofaa).
Mifano:
int myvector;
char mystring ;
mymatrix ya kuelea = (2.0 , 10.0, 20.0, 123.0, 1.0, 1.0)
char leksikoni; /* mistari 10000, ambayo kila moja inaweza kuwa na upeo wa herufi 300. */
ndani a;
Mfano wa mwisho huunda safu ya safu, lakini inaweza kutibiwa kama safu nyingi kwa madhumuni mengi. Ili kufikia maadili 12 ya int ya safu "a", unaweza kutumia simu ifuatayo:

a a a a
a a a a
a a a a

Vibandiko
Ikiwa kutofautiana kunatanguliwa na nyota (*) katika tamko lake, basi inakuwa pointer.
Mifano:
int *pi; /* kielekezi kwa nambari kamili */
int *api; /* safu ya viashiria vya aina kamili */
char **argv; kielekezi kwa kielekezi kwa char */

Thamani katika anwani imehifadhiwa katika kutofautiana kwa pointer na inaweza kupatikana katika programu kwa kupiga kutofautiana kwa pointer na asterisk. Kwa mfano, ikiwa taarifa ya kwanza katika mfano hapo juu, *pi ni int . Hii inaitwa "dereferencing" pointer.
Opereta mwingine, & (ampersand), aitwaye kiendesha-anuani, hurejesha anwani ya kigeuzo, safu, au chaguo za kukokotoa. Kwa hiyo, kwa kuzingatia hapo juu
int i, *pi; /* tangaza nambari kamili na kielekezi kwa nambari kamili */
pi =

I na *pi zinaweza kutumika kwa kubadilishana (angalau hadi pi iwekwe kwa kitu kingine).

Kamba
Kufanya kazi na masharti huna haja ya kuingiza maktaba, kwa sababu katika maktaba ya kawaida C, chaguo za kukokotoa tayari zipo ili kuchakata mifuatano na vizuizi vya data kana kwamba ni safu za char.

Kazi muhimu zaidi za kamba:

  • strcat(dest, source) - inaongeza chanzo cha kamba hadi mwisho wa mwisho wa kamba
  • strchr(s, c) - hupata zamu ya kwanza ya herufi c kuwa kamba s na kurudisha pointer kwake au kielekezi tupu ikiwa c haipatikani.
  • strcmp (a, b) - inalinganisha masharti na b (mpangilio wa lexical); hurejesha hasi ikiwa b ni kidogo, 0 ikiwa ni sawa, chanya ikiwa kubwa zaidi.
  • strcpy(dest, source) - kunakili chanzo cha kamba kwenye mwisho wa kamba
  • strlen(st) - inarudisha urefu wa kamba st
  • strncat (dest, source, n) - huongeza upeo wa wahusika n kutoka kwa kamba ya chanzo hadi mwisho wa kamba ya dest; herufi baada ya herufi batili hazijanakiliwa.
  • strncmp (a, b, n) - inalinganisha upeo wa herufi n kutoka kwa kamba na b (utaratibu wa lexical); hurejesha hasi ikiwa b ni kidogo, 0 ikiwa ni sawa, chanya ikiwa kubwa zaidi.
  • strncpy(dest, source, n) - inakili upeo wa herufi n kutoka kwa kamba chanzo hadi kamba ya mwisho
  • strrchr(s, c) - hupata mfano wa mwisho wa mhusika c kwenye kamba s na kurudisha kielekezi kwake au kielekezi tupu ikiwa c haipatikani.

Kazi zisizo muhimu sana za kamba:

  • strcoll(s1, s2) - linganisha kamba mbili kulingana na eneo la mlolongo ulioamriwa
  • strcspn(s1, s2) - inarudisha faharisi ya herufi ya kwanza katika s1 , ambayo inalingana na herufi yoyote katika s2
  • strerror(err) - inarudisha kamba na ujumbe wa makosa unaoendana na msimbo katika makosa
  • strpbrk(s1, s2) - inarudisha kielekezi kwa herufi ya kwanza katika s1 inayolingana na herufi yoyote katika s2, au kielekezi kisichopatikana ikiwa hakipatikani.
  • strspn(s1, s2) - inarudisha faharisi ya herufi ya kwanza katika s1 inayolingana na asiye mhusika katika s2
  • strstr(st, subst) - hurejesha kielekezi kwa tukio la kwanza la safu ndogo katika st, au kielekezi kisicho na maana ikiwa hakuna kamba ndogo kama hiyo.
  • strtok(s1, s2) - inarudisha pointer kwa ishara katika s1 iliyotenganishwa na herufi katika s2.
  • strxfrm(s1, s2, n) - inabadilisha s2 hadi s1 kwa kutumia sheria za eneo

Faili I/O Katika lugha ya programu C, ingizo na pato hukamilishwa kupitia kikundi cha vitendaji katika maktaba ya kawaida. Katika ANSI/ISO C, kazi hizo ambazo zimefafanuliwa ndani kichwa.
Mitiririko mitatu ya kawaida ya I/O
ingizo la kawaida la stdin
pato la kawaida la stdout
stderr kosa la kawaida

Mitiririko hii hufunguliwa kiotomatiki na kufungwa na wakati wa utekelezaji hauitaji kufunguliwa wazi.
Mfano ufuatao unaonyesha jinsi mpango wa kawaida wa kuchuja barua umeundwa:

//Faili za kichwa, kwa mfano, #include

Kupitisha hoja kwa mstari wa amri
Vigezo vilivyowasilishwa kwenye mstari wa amri hupitishwa kwa programu C na vigezo viwili vilivyofafanuliwa - idadi ya hoja za mstari wa amri huhifadhiwa katika kutofautiana kwa argc, na hoja za kibinafsi huhifadhiwa kama safu za tabia katika safu ya pointer argv. Kwa hiyo uzindua programu kutoka kwa mstari wa amri katika fomu
Myprog p1 p2 p3
itatoa matokeo sawa na (kumbuka: hakuna hakikisho kwamba safu mlalo za mtu binafsi zinaambatana):
Vigezo vya mtu binafsi vinaweza kufikiwa kwa kutumia argv , argv , au argv .

C maktaba
Vipengele vingi vya lugha ya C hutolewa na maktaba ya kawaida ya C. Utekelezaji "uliopangishwa" hutoa maktaba zote za C (Utekelezaji mwingi unapangishwa, lakini zingine hazikusudiwa kutumiwa na mfumo wa uendeshaji). Ufikiaji wa maktaba unafikiwa, miongoni mwa mambo mengine, kwa vichwa vya kawaida kupitia #include preprocessor maelekezo. Tazama maktaba za kawaida za ANSI C, GCC (Mkusanyaji wa GNU C).

C++ lugha ya programu

Sasisho la mwisho: 08/28/2017

Lugha ya programu ya C++ ni lugha ya kiwango cha juu, iliyochapwa kwa takwimu, iliyokusanywa, yenye madhumuni ya jumla ambayo inafaa kwa kuunda aina mbalimbali za programu. Leo, C ++ ni mojawapo ya lugha maarufu na zinazoenea.

Inayo mizizi yake katika lugha ya C, ambayo ilitengenezwa mnamo 1969-1973 huko Bell Labs na programu Dennis Ritchie. Mapema miaka ya 1980, mtayarishaji programu wa Denmark Bjarne Stroustrup, ambaye wakati huo alikuwa akifanya kazi katika Bell Labs, alitengeneza C++ kama kiendelezi kwa lugha ya C. Kwa kweli, mwanzoni, C++ iliongezea tu lugha ya C na uwezo fulani wa upangaji wa kitu. Na ndio maana Stroustrup mwenyewe aliiita hapo awali "C na madarasa."

Baadaye, lugha mpya ilianza kupata umaarufu. Vipengele vipya viliongezwa kwake ambavyo viliifanya sio tu kuongeza kwa C, lakini lugha mpya ya programu. Kama matokeo, "C na madarasa" ilibadilishwa jina na kuwa C ++. Na tangu wakati huo, lugha zote mbili zilianza kukuza kwa kujitegemea.

C++ ni lugha yenye nguvu, inayorithi uwezo wa kumbukumbu kutoka kwa C. Kwa hiyo, C ++ mara nyingi hupata matumizi yake katika programu ya mfumo, hasa, wakati wa kuunda mifumo ya uendeshaji, madereva, huduma mbalimbali, antivirus, nk. Kwa njia, Windows OS imeandikwa zaidi katika C ++. Lakini matumizi ya lugha hii sio tu kwa programu ya mfumo. C++ inaweza kutumika katika programu za kiwango chochote ambapo kasi na utendaji ni muhimu. Mara nyingi hutumiwa kuunda programu za picha na programu mbalimbali za maombi. Pia hutumiwa mara nyingi kuunda michezo na taswira tajiri, tajiri. Kwa kuongeza, hivi karibuni mwelekeo wa simu umekuwa ukipata kasi, ambapo C ++ pia imepata matumizi yake. Na hata katika ukuzaji wa wavuti, unaweza pia kutumia C++ kuunda programu za wavuti au huduma zingine zinazosaidia ambazo hutumikia programu za wavuti. Kwa ujumla, C ++ ni lugha inayotumiwa sana ambayo unaweza kuunda karibu aina yoyote ya programu.

C++ ni lugha iliyokusanywa, ambayo ina maana kwamba mkusanyaji hutafsiri msimbo wa chanzo wa C++ kuwa faili inayoweza kutekelezwa ambayo ina seti ya maagizo ya mashine. Lakini majukwaa tofauti yana sifa zao wenyewe, kwa hivyo programu zilizokusanywa haziwezi kuhamishwa kutoka jukwaa moja hadi jingine na kukimbia huko. Hata hivyo, katika kiwango cha msimbo wa chanzo, programu za C++ zinaweza kubebeka kwa kiasi kikubwa isipokuwa baadhi ya vitendaji maalum vya OS vinatumiwa. Na upatikanaji wa vikusanyaji, maktaba na zana za ukuzaji kwa karibu mifumo yote ya kawaida hukuwezesha kukusanya msimbo sawa wa chanzo wa C++ katika programu za mifumo hii.

Tofauti na C, lugha ya C++ hukuruhusu kuandika programu kwa mtindo unaolenga kitu, ikiwakilisha programu kama mkusanyiko wa madarasa na vitu vinavyoingiliana. Ambayo hurahisisha uundaji wa programu kubwa.

Hatua kuu za maendeleo

Mnamo 1979-80, Bjarne Stroustrup aliendeleza ugani kwa lugha ya C - "C na Madarasa". Mnamo 1983 lugha hiyo ilibadilishwa jina C++.

Mnamo 1985, toleo la kwanza la kibiashara la lugha ya C ++ lilitolewa, pamoja na toleo la kwanza la kitabu "Lugha ya Programu ya C ++", ambayo iliwakilisha maelezo ya kwanza ya lugha hii kwa kukosekana kwa kiwango rasmi.

Mnamo 1989, toleo jipya la lugha ya C ++ 2.0 lilitolewa, ambalo lilijumuisha idadi ya vipengele vipya. Baada ya hayo, lugha ilikua polepole hadi 2011. Lakini wakati huo huo, mnamo 1998, jaribio la kwanza la kusawazisha lugha lilifanywa na ISO (Shirika la Kimataifa la Kusawazisha). Kiwango cha kwanza kiliitwa ISO/IEC 14882:1998, au C++98 kwa ufupi. Baadaye, mnamo 2003, toleo jipya la kiwango cha C ++03 lilichapishwa.

Mnamo 2011, kiwango kipya cha C ++ 11 kilichapishwa, ambacho kilikuwa na nyongeza nyingi na kuimarisha lugha ya C ++ na idadi kubwa ya utendaji mpya. Kufuatia hii, nyongeza ndogo kwa kiwango, pia inajulikana kama C++14, ilitolewa mnamo 2014. Na toleo lingine muhimu la lugha limepangwa 2017.

Wakusanyaji na mazingira ya maendeleo

Ili kukuza programu katika C ++, unahitaji mkusanyaji - inatafsiri msimbo wa chanzo katika C ++ kuwa faili inayoweza kutekelezwa, ambayo unaweza kuiendesha. Lakini kwa sasa kuna watunzi wengi tofauti. Wanaweza kutofautiana katika nyanja mbalimbali, hasa katika utekelezaji wa viwango. Orodha ya msingi ya wakusanyaji wa C++ inaweza kupatikana kwenye Wikipedia. Inapendekezwa kwa maendeleo kuchagua watunzi wale ambao wanaunda na kutekeleza viwango vyote vya hivi karibuni. Kwa hivyo, katika somo hili lote tutatumia kimsingi kikusanyaji cha g++ kinachopatikana bila malipo kilichotengenezwa na mradi wa GNU.

Unaweza pia kutumia IDE kama vile Visual Studio, Netbeans, Eclipse, Qt, n.k. kuunda programu.

Chagua masomo C yanayokuvutia:

C ni lugha ya programu ambayo iliundwa mwaka wa 1972 na Dennis M. Ritchie. Kiwango cha lugha wakati huo kilionyeshwa katika kitabu Ritchie kilichoandikwa na Brian Kernighan (Lugha ya Kupanga C). Kiwango hiki kinaitwa kiwango cha K&R (baada ya Kernighan na Ritchie). Mpango wowote ulioandikwa kwa kutumia sheria za K&R-C utakusanywa kwa mafanikio na mkusanyaji yeyote wa C.

Watayarishaji programu wanaounda watunzi wa C walianza kusasisha na kukuza lugha. Ili kuzuia mkanganyiko, Taasisi ya Viwango vya Kitaifa ya Amerika ilitengeneza kiwango cha lugha cha ANSI mnamo 1983. ANSI-C hadi leo huweka sheria za mabadiliko na ukuzaji wa lugha ya C.

C ni lugha ya programu iliyokusanywa. Programu ina maagizo na utendakazi ambazo lazima zitafsiriwe katika misimbo ya binary ili kutekelezwa na maunzi ya kompyuta.
C ni maarufu sana kwa sasa, hii ni kwa sababu ya sifa za mahitaji kama vile: kasi, kubebeka na muundo.

  • Kasi

Kati ya lugha zote za kiwango cha juu, C ni lugha ya programu ambayo iko karibu na lugha ya kusanyiko. Kwa hivyo, maagizo mengi ya lugha yanashughulikiwa moja kwa moja kwenye vifaa vya kompyuta, ndiyo sababu programu inaendesha haraka sana. Kwa sababu hii, C inaweza kutumika kuandika mifumo ya uendeshaji na wakusanyaji.

Wakusanyaji wengi wa C walioendelezwa hutoa misimbo iliyoboreshwa sana, i.e. kwa maneno mengine, ndogo kwa saizi (kadiri msimbo mdogo hutoa, ndivyo inavyoboreshwa zaidi).

  • Kubebeka

Kimsingi, itakuwa na maana kuandika programu zinazoendesha haraka katika lugha ya kusanyiko. Lakini tutalazimika kuziandika kwa kila jukwaa, kwani nambari za mkusanyiko wa mnemonic hubadilishwa kwa familia za microprocessor.

C hutumia seti za kawaida za maneno muhimu. Wale. programu imeandikwa mara moja kwa jukwaa lolote, kompyuta yoyote na mfumo wowote wa uendeshaji. Lakini kuna aina mbili za watunzi wa lugha: moja kwa IBM, nyingine kwa Apple. Lakini maandishi ya programu yenyewe yanaundwa mara moja na kwa wote.

  • Muundo

Programu zilizoandikwa kwa lugha ya C zina muundo na sheria zao, ambazo huhimiza mpangaji wa programu kufikiria kimantiki.
Uhitaji wa kupanga mpango ni "pamoja" tu, kwa sababu ni shukrani kwa hili kwamba programu ya C ni rahisi sana kuunda, kudumisha na kurekebisha.

  • Maktaba za kazi

C ni lugha ya programu ambayo mwanzoni ina idadi ndogo ya shughuli katika syntax yake. Kwa mfano, lugha haina waendeshaji waliojengewa ndani kwa ajili ya pembejeo na matokeo ya habari, pamoja na waendeshaji wa kufanya kazi na masharti.

Uwezo wote wa C hutolewa kupitia maktaba za kazi, ambazo baadhi yake hutolewa na mkusanyaji. Maktaba ni faili tofauti iliyoambatanishwa na mkusanyaji na iliyo na vitendaji vya kutatua shida maalum.

Mafunzo haya ni ya kila mtu, iwe wewe ni mgeni katika upangaji programu au una uzoefu mkubwa wa upangaji programu katika lugha zingine! Nyenzo hii ni ya wale wanaotaka kujifunza lugha za C/C++ kutoka kwa misingi yake hadi miundo ngumu zaidi.

C ++ ni lugha ya programu, ujuzi wa lugha hii ya programu itawawezesha kudhibiti kompyuta yako kwa kiwango cha juu. Kwa kweli, utaweza kuifanya kompyuta kufanya chochote unachotaka. Tovuti yetu itakusaidia kujua lugha ya programu ya C++.

Ufungaji /IDE

Jambo la kwanza kabisa unapaswa kufanya kabla ya kuanza kujifunza C++ ni kuhakikisha kuwa una IDE - mazingira jumuishi ya maendeleo (programu ambayo utapanga). Ikiwa huna IDE, basi hapa kwenda. Mara tu unapoamua juu ya uchaguzi wa IDE, usakinishe na ufanyie mazoezi ya kuunda miradi rahisi.

Utangulizi wa C++

Lugha ya C++ ni seti ya amri zinazoiambia kompyuta nini cha kufanya. Seti hii ya amri kawaida huitwa msimbo wa chanzo au msimbo tu. Amri ni ama "kazi" au "maneno muhimu". Maneno muhimu (maneno yaliyohifadhiwa ya C/C++) ndio vijenzi vya msingi vya lugha. Kazi ni vizuizi changamani vya ujenzi kwa sababu zimeandikwa kulingana na vitendaji rahisi zaidi - utaona hili katika programu yetu ya kwanza, ambayo imeonyeshwa hapa chini. Muundo huu wa utendaji unafanana na yaliyomo kwenye kitabu. Maudhui yanaweza kuonyesha sura za kitabu, kila sura kwenye kitabu inaweza kuwa na maudhui yake yenye aya, kila aya inaweza kuwa na vifungu vyake. Ingawa C++ hutoa kazi nyingi za kawaida na maneno yaliyohifadhiwa ambayo unaweza kutumia, bado kuna haja ya kuandika vitendaji vyako mwenyewe.

Je, inaanza katika sehemu gani ya programu? Kila programu katika C ++ ina kazi moja, inaitwa kazi kuu au kuu, utekelezaji wa programu huanza na kazi hii. Kutoka kwa kazi kuu, unaweza pia kupiga simu kazi nyingine yoyote, iwe ni zile tulizoandika au, kama ilivyoelezwa hapo awali, iliyotolewa na mkusanyaji.

Kwa hivyo unafikiaje Vipengele hivi vya Kawaida? Ili kufikia vipengele vya kawaida vinavyokuja na mkusanyaji, unahitaji kujumuisha faili ya kichwa kwa kutumia maagizo ya kichakataji - #include . Kwa nini hii inafaa? Wacha tuangalie mfano wa programu ya kufanya kazi:

#pamoja na << "Моя первая программа на С++\n"; cin.get(); }

Wacha tuchunguze kwa undani vipengele vya programu. #include ni maagizo ya "preprocessor" ambayo humwambia mkusanyaji kuweka msimbo kutoka kwa faili ya kichwa cha iostream kwenye programu yetu kabla ya kuunda inayoweza kutekelezwa. Kwa kuunganisha faili ya kichwa kwenye programu, unapata ufikiaji wa vitendaji vingi tofauti ambavyo unaweza kutumia katika programu yako. Kwa mfano, mwendeshaji wa cout anahitaji iostream. Line kutumia namespace std; humwambia mkusanyaji kutumia kikundi cha kazi ambazo ni sehemu ya maktaba ya kawaida ya std. Laini hii pia inaruhusu programu kutumia waendeshaji kama vile cout . Nusu koloni ni sehemu ya sintaksia ya C++. Inamwambia mkusanyaji kuwa huu ndio mwisho wa amri. Utaona baada ya muda mfupi kwamba semicolons hutumiwa kusitisha amri nyingi katika C++.

Mstari unaofuata muhimu wa programu ni int main(). Mstari huu humwambia mkusanyaji kwamba kuna chaguo la kukokotoa linaloitwa kuu na kwamba chaguo la kukokotoa hurejesha nambari kamili. Viunga vilivyopinda ( na ) vinaashiria mwanzo (na mwisho) wa chaguo la kukokotoa. Braces curly pia hutumiwa katika vitalu vingine vya kanuni, lakini daima zinaonyesha jambo moja - mwanzo na mwisho wa block, kwa mtiririko huo.

Katika C++, kitu cha cout kinatumika kuonyesha maandishi (yaliyotamkwa "C out"). Anatumia ishara<< , известные как «оператор сдвига», чтобы указать, что отправляется к выводу на экран. Результатом вызова функции cout << является отображение текста на экране. Последовательность \n фактически рассматривается как единый символ, который обозначает новую строку (мы поговорим об этом позже более подробно). Символ \n перемещает курсор на экране на следующую строку. Опять же, обратите внимание на точку с запятой, её добавляют в конец, после каждого оператора С++.

Amri inayofuata ni cin.get() . Hii ni simu nyingine ya chaguo la kukokotoa ambayo inasoma data kutoka kwa mtiririko wa data ya ingizo na kusubiri kitufe cha ENTER kibonyezwe. Amri hii huzuia kidirisha cha kiweko kufungwa hadi kitufe cha ENTER kibonyezwe. Hii inakupa muda wa kuona matokeo ya programu.

Baada ya kufikia mwisho wa kazi kuu (brace ya kufunga), programu yetu itarudi thamani 0 kwenye mfumo wa uendeshaji. Thamani hii ya kurejesha ni muhimu kwa sababu kwa kuichanganua, Mfumo wa Uendeshaji unaweza kuhukumu ikiwa programu yetu imekamilika kwa mafanikio au la. Thamani ya kurudi ya 0 inamaanisha kufaulu na inarejeshwa kiotomatiki (lakini kwa aina ya data ya int tu; vitendaji vingine vinakuhitaji urudishe thamani mwenyewe), lakini ikiwa tungetaka kurudisha kitu kingine, kama vile 1, tungelazimika kuifanya. kwa mikono.

#pamoja na kutumia nafasi ya majina std; int main() ( cout<<"Моя первая программа на С++\n"; cin.get(); return 1; }

Ili kuunganisha nyenzo, chapa msimbo wa programu kwenye IDE yako na uiendeshe. Mara tu programu ikiendesha na umeona matokeo, jaribu kidogo na taarifa ya cout. Hii itakusaidia kuzoea lugha.

Hakikisha kutoa maoni kwenye programu zako!

Ongeza maoni kwa nambari yako ili kuifanya iwe wazi zaidi sio kwako tu bali pia kwa wengine. Mkusanyaji hupuuza maoni wakati wa kutekeleza nambari, hukuruhusu kutumia idadi yoyote ya maoni kuelezea nambari halisi. Ili kuunda maoni, tumia au // , ambayo humwambia mkusanyaji kuwa mstari uliobaki ni maoni, au /* na kisha */ . Unapojifunza kupanga, ni muhimu kuweza kutoa maoni kwenye sehemu za msimbo ili kuona jinsi matokeo ya programu yanabadilika. Unaweza kusoma kwa undani kuhusu mbinu ya kutoa maoni.

Nini cha kufanya na aina hizi zote za vigezo?

Wakati mwingine inaweza kuwa ya kutatanisha kuwa na aina nyingi tofauti wakati aina fulani za kutofautisha zinaonekana kuwa nyingi. Ni muhimu sana kutumia aina sahihi ya kutofautisha, kwani vigeu vingine vinahitaji kumbukumbu zaidi kuliko vingine. Zaidi ya hayo, kutokana na jinsi zinavyohifadhiwa kwenye kumbukumbu, nambari za pointi zinazoelea, aina za data za kuelea na mbili ni "sio sahihi" na hazipaswi kutumiwa wakati thamani kamili ya nambari inahitaji kuhifadhiwa.

Kutangaza Vigeu katika C++

Ili kutangaza tofauti, tumia aina ya sintaksia<имя>; . Hapa kuna mifano ya matamko tofauti:

Nambari ya Int; tabia ya char; kuelea num_float;

Inaruhusiwa kutangaza vigezo kadhaa vya aina moja kwenye mstari mmoja;

Int x, y, z, d;

Ikiwa umeangalia kwa karibu, unaweza kuwa umeona kwamba tamko la kutofautiana daima linafuatiwa na semicolon. Unaweza kujifunza zaidi juu ya mkusanyiko "juu ya kutaja anuwai."

Makosa ya kawaida wakati wa kutangaza vigezo katika C++

Ukijaribu kutumia kigezo ambacho hakijatangazwa, programu yako haitajumuisha na utapokea ujumbe wa makosa. Katika C++, maneno yote ya lugha, vitendaji vyote, na anuwai zote ni nyeti kwa kesi.

Kutumia Vigezo

Kwa hiyo sasa unajua jinsi ya kutangaza kutofautiana. Hapa kuna mpango wa mfano unaoonyesha matumizi ya kutofautisha:

#pamoja na kutumia nafasi ya majina std; int main() ( int number; cout<< "Введите число: "; cin >> nambari; cin.puuza(); koti<< "Вы ввели: "<< number <<"\n"; cin.get(); }

Hebu tuangalie mpango huu na tuchunguze kanuni zake, mstari kwa mstari. Neno kuu int linaonyesha kuwa nambari ni nambari kamili. cin >> kitendakazi husoma thamani katika nambari , mtumiaji lazima abonyeze ingiza baada ya nambari iliyoingizwa. cin.ignore() ni chaguo la kukokotoa ambalo husoma herufi na kuipuuza. Tumepanga pembejeo yetu kwenye programu; baada ya kuingiza nambari, tunabonyeza kitufe cha ENTER, ishara ambayo pia hupitishwa kwa mkondo wa kuingiza. Hatuitaji, kwa hivyo tunaitupa. Kumbuka kwamba kigezo kilitangazwa kama aina kamili, ikiwa mtumiaji atajaribu kuingiza nambari ya desimali, itapunguzwa (yaani, sehemu ya desimali ya nambari hiyo itapuuzwa). Jaribu kuingiza nambari ya decimal au mlolongo wa wahusika, unapoendesha programu ya mfano, jibu litategemea thamani ya pembejeo.

Kumbuka kwamba wakati wa kuchapisha kutoka kwa kutofautiana, nukuu hazitumiwi. Kutokuwepo kwa nukuu humwambia mkusanyaji kuwa kuna tofauti, na kwa hivyo kwamba programu inapaswa kuangalia thamani ya kutofautisha ili kuchukua nafasi ya jina la kutofautisha na thamani yake wakati wa utekelezaji. Taarifa nyingi za mabadiliko kwenye mstari huo huo zinakubalika kikamilifu na matokeo yatafanywa kwa mpangilio sawa. Unapaswa kutenganisha herufi halisi za kamba (kamba zilizoambatanishwa katika nukuu) na vigeu, ukitoa kila opereta wake wa zamu<< . Попытка поставить две переменные вместе с одним оператором сдвига << выдаст сообщение об ошибке . Не забудьте поставить точку с запятой. Если вы забыли про точку с запятой, компилятор выдаст вам сообщение об ошибке при попытке скомпилировать программу.

Kubadilisha na kulinganisha maadili

Bila shaka, haijalishi ni aina gani ya data unayotumia, vigeuzo havivutii sana bila uwezo wa kubadilisha thamani yao. Ifuatayo inaonyesha baadhi ya waendeshaji kutumika kwa kushirikiana na vigezo:

  • *kuzidisha,
  • - kutoa,
  • + nyongeza,
  • / mgawanyiko,
  • = kazi,
  • == usawa,
  • > zaidi
  • < меньше.
  • != zisizo sawa
  • >= kubwa kuliko au sawa na
  • <= меньше или равно

Waendeshaji wanaofanya kazi za hisabati lazima watumike upande wa kulia wa ishara ya mgawo ili kugawa matokeo kwa kutofautisha upande wa kushoto.

Hapa kuna baadhi ya mifano:

A = 4 * 6; // tumia maoni ya mstari na semicolon, a ni sawa na 24 a = a + 5; // sawa na jumla ya thamani ya asili na tano a == 5 // haigawi tano, huangalia ikiwa ni sawa na 5 au la.

Mara nyingi utatumia == katika ujenzi kama vile taarifa za masharti na vitanzi.

A< 5 // Проверка, a менее пяти? a >5 // Angalia, ni zaidi ya tano? a == 5 // Kuangalia, ni sawa na tano? a != 5 // Angalia, si sawa na tano? a >= 5 // Angalia ikiwa a ni kubwa kuliko au ni sawa na tano? a<= 5 // Проверка, a меньше или равно пяти?

Mifano hii haionyeshi matumizi ya ishara za kulinganisha kwa uwazi, lakini tunapoanza kusoma waendeshaji wa uteuzi, utaelewa kwa nini hii ni muhimu.