C märgid, märksõnad ja identifikaatorid: tüübid ja näited

⚡ Nutikas kokkuvõte

C-keele märgid (tokenid) on kompilaatori loetavad väikseimad üksused ja iga C-programm on üles ehitatud kuuest märgitüübist: märksõnad, identifikaatorid, konstandid, stringid, operaatorid ja C-märgistikust võetud erisümbolid.

  • 🔤 Märkide komplekt: C-koodi lähtekood kasutab tähti, numbreid, tühikuid ja erimärke, mis koos moodustavad iga märgi ja sümboli.
  • 🧩 Kuus žetooni tüüpi: Kompilaator jagab programmi märksõnadeks, identifikaatoriteks, konstantideks, stringideks, operaatoriteks ja erisümboliteks.
  • 🔑 Märksõnad: C reserveerib 32 väiketähelist märksõna, näiteks int, for ja return, millel kõigil on kindel tähendus, mida ei saa ümber defineerida.
  • ???? ️ Identifikaatorid: Muutujate ja funktsioonide kasutaja määratletud nimed peavad algama tähe või alakriipsuga ning vältima reserveeritud märksõnu.
  • 🔢 Konstandid ja stringid: Konstandid hoiavad fikseeritud väärtusi, samas kui stringiliteraalid grupeerivad märke jutumärkidesse, mis lõpevad nullmärgiga.
  • 🤖 AI abi: GitHub Copilot ja sarnased assistendid soovitavad kehtivaid identifikaatoreid, märgistavad märksõnade konflikte ja kiirendavad C-kodeerimist.

C märgid, identifikaatorid ja märksõnad

Mis on C-keele märgistik?

Nagu igal teisel keelel, on ka C-l oma märgistik. Programm on käskude kogum, mis täitmisel genereerib väljundi. Programmi töödeldavad andmed koosnevad erinevatest märkidest ja sümbolitest. Genereeritud väljund on samuti märkide ja sümbolite kombinatsioon.

C-keele märgistik jaguneb järgmisteks osadeks:

  • Kirjad
  • Numbers
  • Erimärgid
  • Valged ruumid (tühjad ruumid)

Kompilaator ignoreerib alati märkide kasutamist, kuid seda kasutatakse laialdaselt andmete vormindamiseks. Järgnev on C-programmeerimise märgistik:

1) Kirjad

  • Suurtähed (AZ)
  • Väikesed tähed (az)

2) Numbers

  • Kõik numbrid 0 kuni 9

3) Valged tühikud

  • tühi koht
  • Uus rida
  • Vankri tagasipöördumine
  • Horisontaalne sakk

4) Erimärgid

C-tähe erimärgid on näidatud antud tabelis:

Eriline tegelane Kirjeldus
, (koma) { (avamine lokkis sulg)
. (periood) } (sulguv sulg)
; (semikoolon) [ (vasak sulg)
: (koolon) ] (parem sulg)
? (küsimärk) ( (vasakpoolse sulu avamine)
' (apostroof) ) (sulguv parem sulg)
” (jutumärk) & (ampersand)
! (hüüumärk) ^ (hool)
|(vertikaalne riba) + (lisa)
/ (kaldkriips) – (alamrubriik)tractsioon)
\ (tagurpidi kaldkriips) * (korrutamine)
~ (tilde) / (jaotis)
_ (alajoon) > (suurem kui või sulgemisnurksulg)
$ (dollari märk) < (väiksem kui või avamisnurksulg)
% (protsendimärk) # (räsimärk)

Mis on C-keeles token?

Token on C-programmi väikseim ühik. See on iga sõna ja kirjavahemärk, millega C-programmis kokku puutute. Kompilaator jagab programmi võimalikult väikseimateks ühikuteks (tokeniteks) ja liigub edasi kompileerimise eri etappidesse. AC-token jaguneb kuueks erinevaks tüübiks: märksõnad, Operatorid, stringid, konstandid, erimärgid ja identifikaatorid.

Kuus tüüpi tokeneid C-keeles

Järgmistes osades vaadeldakse kõiki neid märgitüüpe, alustades kahest, millest iga C-lause koosneb: märksõnadest ja identifikaatoritest.

Märksõnad C-keeles

C-keeles saab iga sõna olla kas märksõna või identifikaator.

Märksõnadel on fikseeritud tähendus ja seda tähendust ei saa muuta. Need toimivad C-programmi ehitusplokkidena. C-keeles on kokku 32 märksõna. Märksõnad kirjutatakse väiketähtedega.

Järgnev tabel näitab C-keele märksõnu:

Märksõnad sisse C Programming Language
auto kahekordistada int struktuur
murdma teine pikk lüliti
juhul loend registreerima typedef
sõjavanker väline tagasipöördumine liit
const lühike ujuk allakirjutamata
jätkama eest allkirjastatud tühine
vaikimisi goto suurus Voolav
do if staatiline kuigi

Identifikaatorid C-keeles

Identifikaator pole midagi muud kui programmi elemendile määratud nimi, näiteks elemendi nimi. muutuja või funktsioon. Identifikaatorid C keel on kasutaja määratletud nimed, mis koosnevad C-standardi märgistikust. Nagu nimigi ütleb, kasutatakse identifikaatoreid programmi konkreetse elemendi tuvastamiseks. Igal identifikaatoril peab olema unikaalne nimi. Identifikaatorite puhul tuleb järgida järgmisi reegleid:

  • Esimene märk peab alati olema tähestik või alakriips.
  • See tuleks moodustada ainult tähtede, numbrite või alakriipsuga.
  • Märksõna ei saa identifikaatorina kasutada.
  • See ei tohiks sisaldada tühikumärki.
  • Nimi peab olema tähendusrikas.

Konstandid C-s

Konstant on sümbol, mille väärtus programmi täitmise ajal ei muutu. C konstandid võimaldavad salvestada fikseeritud andmeid, näiteks numbreid või teksti, ja kaitsta neid juhusliku muutmise eest. Need jagunevad mõnda levinud kategooriasse:

  • Täisarvu konstandid — täisarvud, näiteks 10, -45 või 0.
  • Ujukoma konstandid — komaga reaalarvud, näiteks 3.14 või -0.5.
  • Tähemärkide konstandid — üks märk ülakomade vahel, näiteks „A” või „9”.
  • Stringi konstandid — jutumärkides olev märkide jada, näiteks „Guru99. "

Konstandi saab defineerida funktsiooniga const kvalifitseerija või #define näiteks eelprotsessori direktiiv const int DAYS = 7;Fikseeritud väärtuste deklareerimise põhjalikuma ülevaate saamiseks vaadake C juhendit. muutuja, andmetüübid ja konstandid.

Keeled C-s

C-keeles on string ühemõõtmeline tähemärkide massiiv, mille lõpus on nullmärk (\0). Kuna C-l puudub spetsiaalne stringi andmetüüp, salvestatakse stringi literaalid tähemärkide massiividena ja nullmärk tähistab teksti lõppu. See võimaldab teegifunktsioonidel leida stringi lõpu ilma eraldi pikkusloendurita.

Stringi saab luua kahel levinumal viisil:

  • Märkide massiivina: char name[] = "Guru99";
  • Viitena literaalile: char *name = "Guru99";

Mõlemad vormid salvestavad kuus nähtavat märki ja lõpetava nullmärgi. Märkide massiivide ja tekstitöötluse kohta lisateabe saamiseks lugege õpetust stringid C-keeles.

OperaC-keelega

Operaator on märk, mis annab kompilaatorile juhised sooritada ühe või mitme operandiga konkreetne matemaatiline, relatsiooniline või loogiline tehe. OperaOperandid on C-programmi tegevussümbolid ja väärtusi, millega nad töötavad, nimetatakse operandideks. C jagab need mitmeks perekonnaks:

  • Aritmeetilised operaatorid — teha arvutusi, näiteks +, -, *, / ja %.
  • Relatsioonilised operaatorid — võrdleb kahte väärtust, näiteks ==, !=, > ja <.
  • loogiline operaatorid — kombineerib tingimusi, näiteks &&, || ja !.
  • Määramise operaatorid — salvestada väärtus muutujasse, näiteks = ja +=.
  • Bitipõhised operaatorid — töötada üksikute bittidega, näiteks &, |, ^ ja ~.

Koos märksõnade ja identifikaatoritega võimaldavad operaatorid programmil väljendada täielikke juhiseid, mida kompilaator saab masinkoodiks tõlkida.

KKK

Jah. C on tõstutundlik keel, seega käsitletakse suur- ja väiketähti erinevalt. 32 märksõna tuleb kirjutada väiketähtedega ning identifikaatorid nagu „Total” ja „total” viitavad kahele eraldi elemendile samas programmis.

C-standard ei sea küll piiranguid, kuid nõuetele vastav kompilaator peab oluliseks pidama ainult sisemise identifikaatori esimesi 63 tähemärki ja välise identifikaatori esimesi 31 tähemärki.ping Lühikesed ja kirjeldavad nimed väldivad kaasaskantavuse üllatusi.

Ei. Tühikud, tabulaatorid, reavahetused ja kommentaarid on eraldajad, mida kompilaator kasutab sümbolite eristamiseks ja seejärel hülgab. Neid ei arvestata kuue sümbolitüübi hulka, kuigi tühik võib stringi literaali sees olla oluline.

Esimeses etapis, mida nimetatakse leksikaalseks analüüsiks, skannib kompilaator lähtekoodi tähemärki tähemärgi haaval ja grupeerib need väikseimateks tähendusrikasteks ühikuteks. Seejärel liigitatakse iga märk märksõnaks, identifikaatoriks, konstandiks, stringiks, operaatoriks või erisümboliks.

Lekseem on lähtekoodi tegelik tähemärkide jada, näiteks tekst „int“ või „count“. Märk on kategooria, mille kompilaator sellele lekseemile määrab, näiteks märksõna või identifikaator. Iga märk pärineb sobivast lekseemist.

Märgikonstant on üksikmärk jutumärkides, näiteks 'A', ja see hõivab ühe baidi. Stringiliteraal on jutumärkides märkide jada, näiteks Guru99 ja lõpeb alati peidetud nullmärgiga, vajades ühte lisabaiti.

Jah. Tehisintellekti kodeerimisassistendid pakuvad välja kehtivaid identifikaatoreid, täielikke märksõnapõhiseid lauseid ja märgistavad tippimise ajal reserveeritud märksõnadega konfliktis olevaid nimesid. Samuti saavad nad lihtkeelse kommentaari teisendada korrektseteks C-deklaratsioonideks, kuigi peaksite ikkagi genereeritud koodi üle vaatama.

GitHubi koopia Täidab automaatselt C-keele identifikaatoreid, märksõnu ja terveid lauseid teie kommentaaride või muutujate nimede põhjal. See pakub sisukaid nimesid, hoiatab märksõnade konfliktide eest ja koostab malli, kuid iga ettepanek vajab siiski hoolikat ülevaatamist.

Võta see postitus kokku järgmiselt: