En af de enkleste og ofte sværeste at finde fejl i programmering er en syntaksfejl . Som koden vokser i kompleksitet og størrelse , kan små fejl i syntaks dukke op og forårsage hovedpine. I en kortfattet og ligetil programmeringssprog som C + +, syntaks spiller en vigtig rolle i, hvordan sproget fungerer. Nogle almindelige syntaksfejl i C + + kommer fra glemt eller forlagt symboler ( f.eks semikolon , parenteser og beslag ) , ved hjælp af ukorrekte betingede udsagn i looping strukturer , tildele forkerte datatyper til variabler og misbruge pegepinde og referencer . Misbrug af grundlæggende symboler
C + + bruger et sæt af symboler til at repræsentere visse betingelser. Semikolon ( ;) , for eksempel betegner enden af en linje kode . En linje kode skal slutte med et semikolon , eller der vil være en fejl. Desuden blokke af kode, der er en del af "hvis" udsagn af loops skal ligge inde krøllede - seler. Dette eksempel viser, hvordan disse fejl kan komme op i kode : Hej
mens (1 )
( //blokke af kode skal vises i seler , ikke parenteser
int i = 1 ,
hvis (i % 2 == 0)
{
print i //nej semikolon at vise slutningen af erklæring
} < br >
i + +;
}
betingede erklæringer i Loops
Looping strukturer i C + + kræver betingede udsagn , der returnerer Sandt eller falsk værdier , der bestemmer hvorvidt sløjfen vil fortsætte eller ej . dog skal løkken betingelse faktisk producere en sandheds værdi , enten gennem en numerisk værdi eller gennem en sammenligning af værdier . Desuden forskellige loops kræve forskellige oplysninger . følgende eksempel viser to fejl begået ved hjælp a ", mens " loop og en " for" loop : Hej
int i = 0;
mens (1 ) //1 er sandt i C + +, vil denne løkke køre til uendeligt
{
for (i , i < = 5; i - ) //denne løkke vil aldrig stoppe , fordi jeg aldrig vil være større end 5
{
< p> /* gør stuff * /
}
}
misforhold mellem Variable Type og Datatype
C + + er en stærkt skrevet sprog , hvilket betyder, at programmører skal erklære en variabel s type, når erklære variablen. en variabel af typen " integer " , skal indeholde et heltal, og tildele den en anden type vil skabe en fejl . i dette eksempel variabler nogle af forskellige typer tildeles datatyper , der ikke passer :
int i = 2,5 //tildele en flydende decimal til et heltal
char h = "Hello" //tildele en streng til en karakter variable
int j = "HI" //tildele en streng til en heltalsvariabel
Pointers og Referencer
pointers er datatyper, der refererer til en adresse i hukommelsen frem for at holde data. grund af dette, pointers væsentlige "point til" en blok af hukommelse, i stedet for direkte at holde disse data. med " dereferere " markøren (ved hjælp af "*" symbol) , kan programmøren adgang . data i denne hukommelse Men forskellen mellem en pointer og den værdi, det peger på kan forårsage forvirring, som i det følgende eksempel : Hej
int i = 3 ,
int * j = &i; //j peger nu til adressen på jeg
j = i; //j peger nu til hukommelsen adresse 3 , betyder det ikke indeholde værdien 3 fotos
* j = i //NU hukommelsen refereres af j indeholder værdien 3 fotos