En av de enkleste og ofte vanskeligst å finne feil i programmering er en syntaksfeil . Som kode vokser i kompleksitet og størrelse , kan små feil i syntaks beskjære opp og forårsake hodepine. I et avvisende og grei programmeringsspråk som C + + , spiller syntaks en viktig rolle i hvordan språket fungerer . Noen vanlige syntaks feil i C + + kommer fra glemt eller forlagt symboler (for eksempel semikolon , parenteser og braketter ) , ved hjelp av uriktige betinget utsagn i looping strukturer , tildele feil datatyper til variabler , og misbruke pekere og referanser. Misbruk av Basic Symboler
C + + bruker et sett av symboler for å representere visse vilkår. Den semikolon (;) , for eksempel, betegner enden av en kodelinje . En linje av koden må avsluttes med et semikolon , eller det vil være en feil . Videre blokker av kode som er en del av "hvis" uttalelser av sløyfene må ligge inne i krøllete - bukseseler . Dette eksempelet viser hvordan disse feilene kan komme opp i koden : en
while ( 1 )
( //blokker av kode må vises i bukseseler , ikke parentes
int i = 1 ;
if ( i% 2 == 0 )
{
print i //ingen semikolon for å vise slutten av setningen
}
i + +;
}
betinget utsagn i Loops
Looping strukturer i C + + krever betinget utsagn som returnerer Sant eller usant verdier som bestemmer hvorvidt løkken vil fortsette eller ikke . må imidlertid løkken tilstanden faktisk produsere en Truth verdi , enten gjennom en numerisk verdi eller gjennom en sammenligning av verdier. Videre forskjellige looper krever forskjellig informasjon . følgende eksempel viser to feil som blir gjort ved hjelp av en "mens " loop og en " for " loop : en
int i = 0;
while ( 1 ) //1 er lik sant i C + + , vil denne sløyfen kjøre til uendelig
{
for (i , i < = 5; i - ) //denne sløyfen vil aldri slutte fordi jeg aldri vil være større enn 5
{
< p> /* gjøre ting * /
}
}
Mismatch mellom Variabeltype og Data Type
C + + er et sterkt skrevet språk , noe som betyr at programmerere skal erklære en variabel type når erklære variabelen . en variabel av type " heltall " må inneholde et heltall , og tilordne den en annen type vil skape en feil . i dette eksemplet , noen variabler av ulike typer er tildelt datatyper som ikke samsvarer :
int i = 2,5 //tildele en flytende desimal til et heltall
røye h = " Hello" //tildele en streng til en karakter variable
int j = " HI " //tildele en streng til en heltallsvariabel
Pekere og referanser
pekere er datatyper som refererer til en adresse i minne i stedet for å holde data . grunn av dette, pekere hovedsak " peker på " en blokk med minne , snarere enn å inneha disse dataene. med " dereferencing " pekeren (ved hjelp av "* "-symbolet ) , kan programmereren tilgang . dataene i minnet Men forskjellen mellom en peker og verdien den peker på kan føre til forvirring , som i følgende eksempel : en
int i = 3;
int * j = &i; //j peker nå til adressen i
j = i; //j nå peker til minnet adressen tre , betyr det ikke inneholder verdien 3
* j = i //NÅ minnet referert av j inneholder verdien 3