Funksjon C boolsk

Funksjon C boolsk


I dataprogrammering, representerer "boolsk" datatype kun en av to verdier: Ekte, eller usant. I C-programmering (i motsetning til andre programmeringsspråk, for eksempel C ++), det finnes ingen definert boolsk type. Men C-programmerere bruke ekte og falske verdier i C-programmer hver dag. For å forstå funksjonen av boolske verdier i C, må en programmerer forstår program kontrollflyt, funksjonsreturverdier, og hvordan andre datatyper i forhold til boolske verdier.

kontroll Flow

Sanne og falske verdier er avgjørende for programmerere å kontrollere flyten av et program. Disse verdiene sikre at et program kan forstå tilstanden sin utførelse, og foreta valg basert på staten. For eksempel betinget utsagn som "hvis" uttalelser og "mens" looper krever evalueringen av sammenligningsoperasjoner som sant eller usant for å fungere. Denne binære skillet mellom sant og usant gjør program kontroll operere. For eksempel, følgende "mens" loop ikke kan fungere uten evaluering av en sann eller falsk tilstand:

int i = 0

while (i <10) // enten jeg er mindre enn ti, eller ikke. Sant eller usant

{

i ++

}

Booleans og andre datatyper

Siden C har ingen definert datatype for boolsk kan heltall eller tegn fungere som sanne eller falske indikatorer. Ta heltall som et eksempel. Det virker som det er et uendelig antall muligheter for hva et enkelt heltall representerer. Men bruker C heltall som boolske verdier ved å utpeke 0 som en falsk verdi, og alle ikke-null som en sann (typisk, 0 og 1 betegne Falsk og sann, henholdsvis). For eksempel, følgende to sløyfer begge inneholder "sanne" betinget uttalelser, og vil kjøre for alltid (eller inntil programmet stopper):

int i = 1;

mens (i == 1) // Jeg vil alltid lik en, og return true

{Printf ( "% d", jeg;}

mens jeg)

{Printf ( "% d", i);}

Ved hjelp av funksjonen returnere verdier

Fordi funksjonene kan returnere verdier basert på den prosessen de utfører, de også kan tjene som boolsk expressions.The enkleste måten er å bruke resultatet av en funksjon som en boolsk verdi. Det følgende eksempel anvender en funksjon som kontrollerer hvorvidt eller ikke et tall er til og med (ved hjelp av modulus, eller "%" operatør, som returnerer det gjenværende av et tall dividert med en annen). Hvis funksjonen returnerer 0, så tallet er et partall. Hvis den gir en 1, er antall odde:

int checkEven (x)

{

returnere x% 2; // The '%

}

if (checkEven (y) == 0) // returnerer true hvis "0". Kan også skrives som "if (! CheckEven (y))"

Kompliserte boolske Sjekker

En mindre grei måte å sjekke en boolsk verdi er å bruke en løkke struktur å utføre en kommando mens du sjekker returverdien av den kommandoen i hver iterasjon. Følgende eksempel er en felles formspråk for inntasting av tegn informasjon i C:

char innspill;

while ((input = getchar ())! = 'z')

{

/ Gjøre noe /

}

Funksjonen "getchar ()" vil hente en karakter fra input og tilordne den til "input", som da vil sammenligne mot karakteren "z". Skulle tilstanden ende opp som falske (input lik z) da løkken vil stanse, med karakteren z i input variabel.