Flere forprosessorkommandoer finnes på C -språket. #Define og #UNDEF -kommandoene er de viktigste forbehandlerkommandoene som er til stede på C -språket. Hver av dem har noen unike funksjoner. I dette emnet vil vi diskutere i detalj om #IFDEF, #IFNDEF og ## -kommandoer.
Konseptet med forbehandler
Før vi diskuterer #IFDEF, #IFNDEF og ## -kommandoene, må vi vite om forprosessoren.
Et sett med programmer utført før programmet vårt er samlet, og det kalles forbehandler. Hovedfunksjonen til forbehandleren er bare å observere # symbolske utsagn. Resten av linjene forblir uendret av prosessoren. Dette # har et unikt navn på C -språket: forbehandlerdirektivet. Funksjonen til dette forbehandlerdirektivet er å gi en retning til den aktuelle uttalelsen. # Blir fulgt av forbehandlerkommandoen.
Forprosessor diagram
Forbehandleren løser alle # linjene. Det betyr at det ikke er noen linje igjen med # som er samlet av kompilatoren.
Nå vil vi diskutere om #IFDEF, #IFNDEF og ## -kommandoene i detalj. Disse listede forbehandlingskommandoene er:
Forprosessorkommandoer
Programmering Eksempel 1
I dette programmeringseksemplet vil vi se anvendelsen av forbehandlerkommandoen #if, #ELSE.
1 2 3 4 5 6 7 8 9 10 11 12 1. 3 14 15 16 17 18 19 20 | #inkludere #Define Country India int main () #hv. Printf ("Pakistani Rupees \ n"); #elif country == Bangladesh printf ("taka \ n"); #elif country == nepal Printf ("Nepali Rupees \ n"); #ELSE // Bruke av # Else Command. Printf ("Indian Rupees \ n"); #endif // land retur 0; |
Produksjon
Forklaring
På det aktuelle programmeringsspråket gir vi et eksempel på #if, #ELSE. #Hvis ikke trenger noen () parentes. Det brukes til å utføre den eneste sanne uttalelsen. Ellers vil vi bruke #elif til å angi forskjellige typer forhold i programmeringskoden. Når vi bruker IF -tilstanden, vil ingen annen tilstand bli sjekket, og den vil skrive ut riktig tilstand i vår skjerm.
For #if, bestemmes det om denne linjen er overholdt eller ikke. #elif er like god som annet hvis.
Programmering Eksempel 2
Her vil vi se et annet eksempel på #IF, #ELSE -kommandoen:
1 2 3 4 5 6 7 8 9 10 11 12 1. 3 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #inkludere #Define en 100 // forbehandlingskommando brukes her. #Define B 0 #Define C 10 Int Main (Void) int a = 100, b = 0, c = 10; #if a // # hvis uttalelse brukes her. Printf (“Verdien av a er %d \ n”, a); #elif b printf (“Verdien av B er %d \ n”, b); #ELSE // # Else Statement brukes her. Printf (“Verdien av C er %d \ n”, c); #slutt om retur 0; |
Produksjon
Forklaring
I dette programmeringseksemplet brukes #IF og #Else. Tidligere sa vi at disse kommandoene er forskjellige fra den normale IF-Else som ble brukt i programmet. Denne kommandoen utføres av prosessoren og utføres før sammenstilling. Men bare den sanne uttalelsen er utført og klar til å kompilere.
1 | #ifdef, #ifndef makroer |
#ifdef er en makro. Hvis noen makro er inneholdt i en #Define -uttalelse, må resten av uttalelsen samles av kompilatoren.
#ifndef er også en makro som #ifdef.
Programmeringseksempel 3
I dette programmeringseksemplet vil vi se anvendelsen av forprosessorkommando, #ifdef, #ifndef:
1 2 3 4 5 6 7 8 9 10 11 12 1. 3 14 15 16 17 18 | #inkludere #Define land "India" int main () #ifdef land // Bruke av # ifdef -kommandoen. printf ("%s er et flott land", land); #endif // land #ifndef Country // Bruke av # IFNDEF -kommandoen. printf ("Jeg elsker nasjonen min"); #endif // land retur 0; |
Produksjon
Forklaring
I denne spesielle programmeringen gir vi et eksempel på #ifdef, #ifndef. #IF og #ELSE er forskjellig fra normalt hvis ellers som brukes normalt på C -språket. De blir henrettet av forbehandleren for å bestemme hvilken tilstand som vil være klar for samling. Det brukes til å utføre bare ekte uttalelse. Ellers vil vi bruke #elif For å angi forskjellige typer tilstand i programmeringskoden. Når vi bruker dette hvis ekte tilstand, vil ingen annen tilstand bli sjekket, og den vil skrive ut riktig tilstand i vår skjerm.
#ifdef faktisk bruker hvis makro er definert med noen karaktersekvens. Hvis makro ikke er definert, så #ifndef Utfør. Her brukes en makro i det heter programmet land. Makroen land er definert med karaktersekvensen som heter “India”. For dette kjøres #ifdef i dette programmet.
Programmering Eksempel 4
I dette programmeringseksemplet vil vi se en annen anvendelse av forprosessorkommando #IFDEF, #IFNDEF.
1 2 3 4 5 6 7 8 9 10 11 12 1. 3 14 15 16 17 18 19 20 21 22 23 | #inkludere int main () int x = 0; #ifdef noinput // Bruke av # ifdef -kommandoen. #ellers printf ("Angi verdien av variabelen x:"); scanf ("%d", & x); #slutt om printf ("Verdien av x er: %d \ n", x); retur 0; |
Produksjon
Forklaring
I den aktuelle programmeringen gir vi et eksempel på #ifdef, #ifndef. Som jeg nevnte tidligere, bruker #IFDEF faktisk om makro er definert med en hvilken som helst karaktersekvens. Hvis makro ikke er definert, utfører #ifndef. Her brukes en makro i det heter programmet NoInput. Så den utføres og er klar for samling.
## Operatør
## er også en operatør som er løst av forbehandleren. Ved hjelp av ## operatør kan vi enkelt sammenkoble to utsagn eller to strenger.
Programmering Eksempel 5
I dette programmeringseksemplet vil vi se anvendelsen av forprosessorkommando ## operatør.
1 2 3 4 5 6 7 8 9 10 11 12 1. 3 | #inkludere #Define handling (A, B) A ## B+A*B int main () printf ("%d", handling (3,4)); retur 0; |
Produksjon
Forklaring
I dette programmeringseksemplet bruker vi ## operatør for å sammenkoble to strenger. Denne operatøren blir også utført av prosessoren. Det samvirker faktisk to strenger.
Her er uttrykket gitt Handling (3, 4), og det erstattes av A ## B + A * B = 34 + 3 * 4 = 34 + 12 = 46.
## concatenate de to operandene.
Konklusjon
I denne artikkelen diskuterte vi prosessoren og klar-for-kompilering og utførelse av forbehandler-kommandoer fra kompilatoren. Disse tidligere diskuterte forbehandlerkommandoene er veldig viktige for sammensetningen, hvilke ting den vil bli samlet. Basert på disse tingene vil programmet vårt bli utført.