C-tokenit, avainsanat ja tunnisteet: tyypit ja esimerkit

⚡ Älykäs yhteenveto

C-kielen tokenit ovat kääntäjän lukemia pienimpiä yksittäisiä yksiköitä, ja jokainen C-ohjelma rakennetaan kuudesta token-tyypistä: avainsanoista, tunnisteista, vakioista, merkkijonoista, operaattoreista ja C-merkistöstä poimituista erikoissymboleista.

  • 🔤 Merkistö: C-lähdekoodi käyttää kirjaimia, numeroita, välilyöntejä ja erikoismerkkejä, jotka yhdessä muodostavat jokaisen tunnuksen ja symbolin.
  • 🧩 Kuusi merkkityyppiä: Kääntäjä jakaa ohjelman avainsanoihin, tunnisteisiin, vakioihin, merkkijonoihin, operaattoreihin ja erikoissymboleihin.
  • 🔑 Avainsanat: C varaa 32 pientä kirjainta käyttävää avainsanaa, kuten int, for ja return, joilla jokaisella on kiinteä merkitys, jota et voi määrittää uudelleen.
  • 🏷️ Tunnisteet: Käyttäjän määrittämien muuttujien ja funktioiden nimien on alettava kirjaimella tai alaviivalla, ja niissä on vältettävä varattuja avainsanoja.
  • 🔢 Vakiot ja merkkijonot: Vakiot pitävät sisällään kiinteitä arvoja, kun taas merkkijonoliteraalit ryhmittelevät merkit lainausmerkkien sisään, jotka päättyvät null-merkkiin.
  • 🤖 AI-apu: GitHub Copilot ja vastaavat avustajat ehdottavat kelvollisia tunnisteita, merkitsevät avainsanojen törmäyksiä ja nopeuttavat C-koodausta.

C-tokenit, tunnisteet ja avainsanat

Mikä on merkistö C-kielessä?

Kuten kaikilla muillakin kielillä, myös C:llä on oma merkistönsä. Ohjelma on joukko käskyjä, jotka suoritettaessa tuottavat tulosteen. Ohjelman käsittelemä data koostuu erilaisista merkeistä ja symboleista. Myös tuotettu tuloste on merkkien ja symbolien yhdistelmä.

C-kielen merkistö jaetaan seuraaviin osiin:

  • Kirjaimet
  • Numbers
  • Erikoismerkit
  • Valkoiset kohdat (tyhjät kohdat)

Kääntäjä jättää aina huomiotta merkkien käytön, mutta sitä käytetään laajalti datan muotoiluun. Seuraava on C-ohjelmoinnin merkistö:

1) Kirjeet

  • Isot kirjaimet (AZ)
  • Pienet kirjaimet (az)

2) Numbers

  • Kaikki numerot 0-9

3) Valkoiset välilyönnit

  • Tyhjä tila
  • Uusi rivi
  • Kuljetuspaluu
  • Vaaka-välilehti

4) Erikoismerkit

C-kielen erikoismerkit on esitetty annetussa taulukossa:

Erikoishahmo Tuotetiedot
, (pilkku) { (avaava kihara sulku)
. (Ajan) } (sulkeva kihara)
; (puolipiste) [ (vasen hakasulku)
: (kaksoispiste) ] (oikea hakasulku)
? (kysymysmerkki) ((avaa vasen sulku)
' (heittomerkki) ) (oikea sulkeva sulku)
” (lainausmerkki) & (et-merkki)
! (huutomerkki) ^ (huoli)
|(pystypalkki) + (lisäys)
/ (vinoviiva) – (alaotsikkotracseen)
\ (takaviiva) * (kertolasku)
~ (tilde) / (jako)
_ (alaviiva) > (suurempi kuin tai sulkeva kulmasulku)
$ (dollarin merkki) < (pienempi kuin tai avautumiskulmasulku)
% (prosenttimerkki) # (hash-merkki)

Mikä on token C-kielessä?

Tunnusmerkki (token) on C-ohjelman pienin yksikkö. Se on jokainen sana ja välimerkki, johon törmäät C-ohjelmassasi. Kääntäjä jakaa ohjelman pienimpiin mahdollisiin yksiköihin (tunnuksiin) ja etenee kääntämisen eri vaiheisiin. AC-tunnusmerkki jaetaan kuuteen eri tyyppiin: avainsanat, Operatorit, merkkijonot, vakiot, erikoismerkit ja tunnisteet.

Kuusi merkkityyppiä C-kielellä

Seuraavissa osioissa tarkastellaan kutakin näistä token-tyypeistä, alkaen kahdesta, jotka muodostavat jokaisen C-lauseen: avainsanoista ja tunnisteista.

Avainsanat C-kielellä

C-kielessä jokainen sana voi olla joko avainsana tai tunniste.

Avainsanoilla on kiinteät merkitykset, eikä merkitystä voi muuttaa. Ne toimivat C-ohjelman rakennuspalikoina. C-kielessä on yhteensä 32 avainsanaa. Avainsanat kirjoitetaan pienillä kirjaimilla.

Seuraava taulukko esittää C-kielen avainsanat:

Avainsanat sisään C Programming Language
auto kaksinkertainen int rakenne
rikkoa muu pitkä kytkin
tapaus ENUM ilmoittautua typedef
sotavaunut ulkoinen palata liitto
const lyhyt kellua allekirjoittamaton
jatkaa varten allekirjoitettu mitätöidä
oletusarvo goto sizeof haihtuva
do if staattinen vaikka

Tunnisteet C:ssä

Tunniste ei ole muuta kuin ohjelmassa elementille annettu nimi, esimerkiksi jonkin elementin nimi. muuttuja tai funktio. Tunnisteet kohdassa C-kieli ovat käyttäjän määrittämiä nimiä, jotka koostuvat C-kielen standardimerkistöstä. Kuten nimestä voi päätellä, tunnisteita käytetään tietyn elementin tunnistamiseen ohjelmassa. Jokaisella tunnisteella on oltava yksilöllinen nimi. Tunnisteiden osalta on noudatettava seuraavia sääntöjä:

  • Ensimmäisen merkin on aina oltava aakkoset tai alaviiva.
  • Se tulee muodostaa käyttämällä vain kirjaimia, numeroita tai alaviivaa.
  • Avainsanaa ei voi käyttää tunnisteena.
  • Se ei saa sisältää välilyöntejä.
  • Nimen tulee olla merkityksellinen.

Vakiot C:ssä

Vakio on merkki, jonka arvo ei muutu ohjelman suorituksen aikana. C-vakioiden avulla voit tallentaa kiinteää dataa, kuten numeroita tai tekstiä, ja suojata sitä vahingossa tapahtuvalta muokkaamiselta. Ne jakautuvat muutamiin yleisiin luokkiin:

  • Kokonaislukuvakiot — kokonaisluvut, kuten 10, -45 tai 0.
  • Liukulukuvakiot — reaaliluvut, joissa on desimaalipilkku, kuten 3.14 tai -0.5.
  • Merkkivakiot — yksi merkki lainausmerkkien sisällä, kuten 'A' tai '9'.
  • Merkkijonovakiot — lainausmerkkien sisällä oleva merkkijono, kuten “Guru99. "

Voit määritellä vakion käyttämällä const karsinta tai #define esiprosessoridirektiivi, esimerkiksi const int DAYS = 7;Katso tarkempi kuvaus kiinteiden arvojen määrittämisestä C-kielen oppaasta. muuttuja, tietotyypit ja vakiot.

Jouset C:ssä

C-kielen merkkijono on yksiulotteinen merkkijono, jonka lopussa on null-merkki (\0). Koska C:llä ei ole erillistä merkkijonotietotyyppiä, merkkijonoliteraalit tallennetaan merkkijonotaulukoina ja null-merkki merkitsee tekstin loppukohdan. Tämä antaa kirjastofunktioille mahdollisuuden löytää merkkijonon loppu ilman erillistä pituuslaskuria.

Voit luoda merkkijonon kahdella yleisellä tavalla:

  • Merkkijonona: char name[] = "Guru99";
  • Osoitin literaalille: char *name = "Guru99";

Molemmat lomakkeet tallentavat kuusi näkyvää merkkiä sekä lopettavan null-merkin. Jos haluat tutustua merkistötaulukoihin ja tekstinkäsittelyyn tarkemmin, lue tutoriaali aiheesta C-kielen merkkijonot.

OperaC-kielen tekijät

Operaattori on merkki, joka käskee kääntäjää suorittamaan tietyn matemaattisen, relationaalisen tai loogisen operaation yhdelle tai useammalle operandille. OperaOperandit ovat C-ohjelman toimintosymboleja, ja arvoja, joihin ne vaikuttavat, kutsutaan operandeiksi. C ryhmittelee ne useisiin ryhmiin:

  • Aritmeettiset operaattorit — suorittaa laskutoimituksia, kuten +, -, *, / ja %.
  • Relaatiooperaattorit — vertaa kahta arvoa, kuten ==, !=, > ja <.
  • loogisia operaattoreita — yhdistää ehtoja, kuten &&, || ja !.
  • Tehtäväoperaattorit — tallenna arvo muuttujaan, kuten = ja +=.
  • Bitwise-operaattorit — työskennellä yksittäisten bittien, kuten &, |, ^ ja ~, parissa.

Yhdessä avainsanojen ja tunnisteiden kanssa operaattorit antavat ohjelman ilmaista kokonaisia ​​ohjeita, jotka kääntäjä voi kääntää konekoodiksi.

UKK

Kyllä. C on kirjainkokoa huomioiva kieli, joten isoja ja pieniä kirjaimia käsitellään eri tavoin. 32 avainsanaa on kirjoitettava pienillä kirjaimilla, ja tunnisteet, kuten Total ja total, viittaavat kahteen erilliseen elementtiin samassa ohjelmassa.

C-standardi ei aseta mitään kiinteää rajoitusta, mutta standardin mukainen kääntäjä tarvitsee käsitellä vain sisäisen tunnisteen 63 ensimmäistä merkkiä ja ulkoisen tunnisteen 31 ensimmäistä merkkiä merkittävinä.ping Lyhyet ja kuvaavat nimet välttävät siirrettävyyden yllätyksiä.

Ei. Välilyönnit, tabulaattorit, rivinvaihdot ja kommentit ovat erottimia, joita kääntäjä käyttää tokenien erottamiseen ja sitten hylkäämiseen. Niitä ei lasketa kuuden token-tyypin joukkoon, vaikka tyhjällä välilyönnillä voi olla merkitystä merkkijonoliteraalin sisällä.

Ensimmäisessä vaiheessa, jota kutsutaan leksikaaliseksi analyysiksi, kääntäjä skannaa lähdekoodin merkki merkiltä ja ryhmittelee ne pienimpiin merkityksellisiin yksiköihin. Jokainen merkki luokitellaan sitten avainsanaksi, tunnisteeksi, vakioksi, merkkijonoksi, operaattoriksi tai erikoissymboliksi.

Lekseemi on lähdekoodin varsinainen merkkijono, kuten teksti int tai count. Tunnusmerkki on kategoria, jonka kääntäjä antaa kyseiselle lekseemille, kuten avainsana tai tunniste. Jokainen tunnusmerkki on peräisin vastaavasta lekseemista.

Merkkivakio on yksittäinen lainausmerkeissä oleva merkki, kuten 'A', ja se vie yhden tavun. Merkkijonoliteraali on lainausmerkeissä olevien merkkien sarja, kuten Guru99, ja päättyy aina piilotettuun null-merkkiin, joka tarvitsee yhden ylimääräisen tavun.

Kyllä. Tekoälykoodausavustajat ehdottavat valideja tunnisteita, täydellisiä avainsanapohjaisia ​​lauseita ja merkitsevät kirjoittaessasi nimiä, jotka ovat ristiriidassa varattujen avainsanojen kanssa. Ne voivat myös muuntaa selkokielisen kommentin oikeiksi C-määritelmiksi, vaikka sinun tulisi silti tarkistaa luotu koodi.

GitHub Copilot täydentää automaattisesti C-tunnisteet, avainsanat ja kokonaiset lauseet kommenteistasi tai muuttujien nimistäsi. Se ehdottaa merkityksellisiä nimiä, varoittaa avainsanojen yhteentörmäyksistä ja laatii luonnokset, mutta jokainen ehdotus vaatii silti huolellisen tarkastelun.

Tiivistä tämä viesti seuraavasti: