C-tokens, nyckelord och identifierare: typer och exempel

โšก Smart sammanfattning

Tokens i C รคr de minsta individuella enheterna som kompilatorn lรคser, och varje C-program รคr byggt av sex tokentyper: nyckelord, identifierare, konstanter, strรคngar, operatorer och specialsymboler hรคmtade frรฅn C-teckenuppsรคttningen.

  • ๐Ÿ”ค Teckenuppsรคttning: C-kรคllkod anvรคnder bokstรคver, siffror, mellanslag och specialtecken som kombineras fรถr att bilda varje token och symbol.
  • ๐Ÿงฉ Sex tokentyper: Kompilatorn delar upp ett program i nyckelord, identifierare, konstanter, strรคngar, operatorer och specialsymboler.
  • ๐Ÿ”‘ Nyckelord: C reserverar 32 nyckelord med gemener som int, for och return, vart och ett med en fast betydelse som du inte kan omdefiniera.
  • ๐Ÿท๏ธ Identifierare: Anvรคndardefinierade namn fรถr variabler och funktioner mรฅste bรถrja med en bokstav eller ett understreck och undvika reserverade nyckelord.
  • ๐Ÿ”ข Konstanter och strรคngar: Konstanter har fasta vรคrden, medan strรคnglitteraler grupperar tecken inom dubbla citationstecken som slutar med ett null-tecken.
  • ๐Ÿค– AI-hjรคlp: GitHub Copilot och liknande assistenter fรถreslรฅr giltiga identifierare, flaggar nyckelordskrockar och snabbar upp C-kodning.

C-tokens, identifierare och nyckelord

Vad รคr en teckenuppsรคttning i C?

Precis som alla andra sprรฅk har รคven C sin egen teckenuppsรคttning. Ett program รคr en uppsรคttning instruktioner som, nรคr de kรถrs, genererar en utdata. Data som bearbetas av ett program bestรฅr av olika tecken och symboler. Den genererade utdata รคr ocksรฅ en kombination av tecken och symboler.

En teckenuppsรคttning i C รคr indelad i:

  • Brev
  • Numbers
  • Speciella karaktรคrer
  • Vita utrymmen (tomma utrymmen)

En kompilator ignorerar alltid anvรคndningen av tecken, men den anvรคnds ofta fรถr att formatera data. Fรถljande รคr teckenuppsรคttningen i C-programmering:

1) Bokstรคver

  • Versaler (AZ)
  • Smรฅ bokstรคver (az)

2) Numbers

  • Alla siffror frรฅn 0 till 9

3) Vitt utrymme

  • Mellanslag
  • Ny linje
  • Vagnretur
  • Horisontell flik

4) Specialtecken

Specialtecken i C visas i den givna tabellen:

Speciell karaktรคr BESKRIVNING
, (kommatecken) { (รถppnande lockigt fรคste)
. (period) } (slutande krullig parentes)
; (semi-kolon) [ (vรคnster hakparentes)
: (kolon) ] (hรถger hakparentes)
? (frรฅgetecken) ((รถppning till vรคnster parentes)
' (apostrof) ) (stรคngande hรถger parentes)
โ€ (dubbla citattecken) & (ampersand)
! (utropstecken) ^ (caret)
|(vertikal stapel) + (tillรคgg)
/ (snedstreck) โ€“ (underordnadtraction)
\ (bakรฅt snedstreck) * (multiplikation)
~ (tilde) / (division)
_ (understreck) > (stรถrre รคn eller stรคngningsvinkelfรคste)
$ (dollartecken) < (mindre รคn eller รถppningsvinkelfรคste)
% (procenttecken) # (hash-tecken)

Vad รคr en token i C?

En token รคr den minsta enheten i ett C-program. Det รคr varje ord och interpunktion som du stรถter pรฅ i ditt C-program. Kompilatorn delar upp ett program i minsta mรถjliga enheter (tokens) och gรฅr vidare till de olika stegen i kompileringen. AC-token รคr indelad i sex olika typer, nรคmligen nyckelord, Operators, strรคngar, konstanter, specialtecken och identifierare.

De sex typerna av tokens i C

Nรคsta avsnitt tittar pรฅ var och en av dessa token-typer, med bรถrjan i de tvรฅ som utgรถr varje C-sats: nyckelord och identifierare.

Nyckelord i C

I C kan varje ord vara antingen ett nyckelord eller en identifierare.

Nyckelord har fasta betydelser, och betydelsen kan inte รคndras. De fungerar som byggstenar i ett C-program. Det finns totalt 32 nyckelord i C. Nyckelord skrivs med gemener.

Fรถljande tabell representerar nyckelorden i C:

Nyckelord i C Programming Language
bil dubbla int struktur
bryta annars lรฅng strรถmbrytare
Vid upprรคkning registrera typdef
rรถding extern avkastning fackliga
const kort flyta unsigned
fortsรคtta fรถr signerad ogiltig
standard goto storlek av flyktiga
do if statisk medan

Identifierare i C

En identifierare รคr inget annat รคn ett namn som tilldelats ett element i ett program, till exempel namnet pรฅ en variabel eller en funktion. Identifierare i C-sprรฅk รคr de anvรคndardefinierade namnen som bestรฅr av C-standardteckenuppsรคttningen. Som namnet antyder anvรคnds identifierare fรถr att identifiera ett visst element i ett program. Varje identifierare mรฅste ha ett unikt namn. Fรถljande regler mรฅste fรถljas fรถr identifierare:

  • Det fรถrsta tecknet mรฅste alltid vara ett alfabet eller ett understreck.
  • Den bรถr skapas med endast bokstรคver, siffror eller understreck.
  • Ett nyckelord kan inte anvรคndas som identifierare.
  • Det bรถr inte innehรฅlla nรฅgot blanksteg.
  • Namnet mรฅste vara meningsfullt.

Konstanter i C

En konstant รคr en token vars vรคrde inte รคndras under programkรถrning. C-konstanter lรฅter dig lagra fasta data, sรฅsom siffror eller text, och skydda dem frรฅn oavsiktlig รคndring. De faller inom nรฅgra vanliga kategorier:

  • Heltalskonstanter โ€” heltal som 10, -45 eller 0.
  • Flyttalskonstanter โ€” reella tal med decimalpunkt, sรฅsom 3.14 eller -0.5.
  • Karaktรคrskonstanter โ€” ett enskilt tecken inom enkla citattecken, till exempel 'A' eller '9'.
  • Strรคngkonstanter โ€” en sekvens av tecken inom dubbla citattecken som till exempel โ€œGuru99. "

Du kan definiera en konstant med const kvalificeraren eller #define fรถrbehandlingsdirektiv, till exempel const int DAYS = 7;Fรถr en djupare titt pรฅ hur man deklarerar fasta vรคrden, se guiden om C variabel, datatyper och konstanter.

Strรฅkar i C

En strรคng i C รคr en endimensionell array av tecken som avslutas med ett nulltecken (\0). Eftersom C inte har nรฅgon dedikerad strรคngdatatyp lagras strรคngliteraler som teckenarrayer, och nulltecknet markerar var texten slutar. Detta lรฅter biblioteksfunktioner hitta slutet pรฅ strรคngen utan en separat lรคngdrรคknare.

Du kan skapa en strรคng pรฅ tvรฅ vanliga sรคtt:

  • Som en teckenuppsรคttning: char name[] = "Guru99";
  • Som en pekare till en bokstavlig: char *name = "Guru99";

Bรฅda formerna lagrar de sex synliga tecknen plus det avslutande nulltecknet. Fรถr att utforska teckenuppsรคttningar och texthantering ytterligare, lรคs handledningen om strรคngar i C.

Operatorer i C

En operator รคr en token som instruerar kompilatorn att utfรถra en specifik matematisk, relationell eller logisk operation pรฅ en eller flera operander. Operatorer รคr handlingssymbolerna i ett C-program, och de vรคrden de arbetar med kallas operander. C grupperar dem i flera familjer:

  • Aritmetiska operatorer โ€” utfรถra berรคkningar, sรฅsom +, -, *, / och %.
  • Relationsoperatorer โ€” jรคmfรถr tvรฅ vรคrden, sรฅsom ==, !=, > och <.
  • logiska operatorer โ€” kombinera villkor, sรฅsom &&, || och !.
  • Uppdragsoperatรถrer โ€” lagra ett vรคrde i en variabel, till exempel = och +=.
  • Bitvisa operatรถrer โ€” arbeta med enskilda bitar, sรฅsom &, |, ^ och ~.

Tillsammans med nyckelord och identifierare lรฅter operatorer ett program uttrycka fullstรคndiga instruktioner som kompilatorn kan รถversรคtta till maskinkod.

Vanliga frรฅgor

Ja. C รคr ett sprรฅk som skiljer mellan versaler och gemener, sรฅ stora och smรฅ bokstรคver behandlas som olika. De 32 nyckelorden mรฅste skrivas med gemener, och identifierare som Total och total refererar till tvรฅ separata element i samma program.

C-standarden sรคtter ingen hรฅrd grรคns, men en kompilator som uppfyller kraven behรถver bara behandla de fรถrsta 63 tecknen i en intern identifierare och 31 i en extern identifierare som signifikanta.ping Korta och beskrivande namn undviker รถverraskningar vid portabilitet.

Nej. Vita mellanslag, tabb, radbrytningar och kommentarer รคr avgrรคnsare som kompilatorn anvรคnder fรถr att skilja tokens รฅt och sedan ignorerar. De rรคknas inte bland de sex tokentyperna, รคven om ett mellanslag kan vara signifikant inuti en strรคngliteral.

Under den fรถrsta fasen, kallad lexikal analys, skannar kompilatorn kรคllkoden tecken fรถr tecken och grupperar dem i de minsta meningsfulla enheterna. Varje token klassificeras sedan som ett nyckelord, identifierare, konstant, strรคng, operator eller specialsymbol.

Ett lexem รคr den faktiska sekvensen av tecken i kรคllkoden, sรฅsom texten int eller count. En token รคr den kategori som kompilatorn tilldelar det lexemet, sรฅsom nyckelord eller identifierare. Varje token kommer frรฅn ett matchande lexem.

En teckenkonstant รคr ett enskilt tecken inom enkla citattecken, till exempel 'A', och upptar en byte. En strรคngliteral รคr en sekvens av tecken inom dubbla citattecken, till exempel Guru99, och slutar alltid med ett dolt null-tecken, vilket behรถver en extra byte.

Ja. AI-kodningsassistenter fรถreslรฅr giltiga identifierare, kompletterar nyckelordsbaserade uttalanden och flaggar namn som krockar med reserverade nyckelord medan du skriver. De kan ocksรฅ konvertera en kommentar i enkelt sprรฅk till korrekta C-deklarationer, men du bรถr fortfarande granska den genererade koden.

GitHub Copilot autokompletterar C-identifierare, nyckelord och hela uttalanden frรฅn dina kommentarer eller variabelnamn. Den fรถreslรฅr meningsfulla namn, varnar fรถr nyckelordskrockar och utarbetar standardbeskrivningar, men varje fรถrslag behรถver fortfarande granskas noggrant.

Sammanfatta detta inlรคgg med: