I edb-programmering , repræsenterer " Boolean " datatype kun én af to værdier : True eller False . I C -programmering (i modsætning til andre programmeringssprog , såsom C + +) , der ikke findes nogen definerede Boolean type. Men C- programmører bruger sande og falske værdier i C-programmer hver dag. For at forstå funktionen af booleske værdier i C skal en programmør at forstå program kontrol flow , funktions returværdier , og hvordan andre datatyper sammenligne med booleske værdier. Kontrol Flow
Sande og falske værdier er afgørende for programmører at kontrollere strømmen af et program. Disse værdier sikrer , at et program kan forstå tilstanden af dets gennemførelse, og træffe valg baseret på den tilstand. For eksempel betingede udsagn som "hvis" udsagn og " mens" loops kræver evaluering af sammenligning operationer som sandt eller falsk for at kunne fungere . Denne binære skelnen mellem sandt og falsk gør program kontrol betjene. For eksempel , efter " , mens" loop kan ikke fungere uden en vurdering af en sand eller falsk betingelse : Hej
int i = 0
while ( i < 10 ) //enten i er mindre end ti , eller ikke . Sandt eller falsk
{
I + + Online
}
Booleans og andre data Typer
Siden C har ingen datatype for Boolean kan heltal eller tegn fungere som sande eller falske indikatorer. Tag heltal som et eksempel . Det lader til, at der er et uendeligt antal muligheder for, hvad et enkelt heltal værdi repræsenterer . Men C bruger heltal som booleske værdier ved udpegelse 0 som en falsk værdi , og alle ikke - nul som en sand (typisk 0 og 1 betegner False og sand , henholdsvis ) . For eksempel betyder både de to følgende sløjfer indeholder "sande" betingede udsagn , og vil køre for evigt (eller indtil programmet stopper) : Hej
int i = 1;
mens (i == 1 ) //i vil altid lig én, og returnere sandt
{ printf (" % d ", jeg ;}
while ( i)
{ printf ( "% d " , i) ;}
Brug Function returværdier
Fordi funktioner kan returnere værdier baseret på den proces, de udfører , de også kan tjene som Boolean expressions.The mest ligefremme måde er at anvende resultatet af en funktion som en boolsk værdi . det følgende eksempel bruger en funktion, der kontrollerer, om eller ikke et tal er endnu ( ved hjælp af modulus , eller "%" operatør , som returnerer den resterende . . en række divideres med et andet ) Hvis funktionen returnerer 0 , så antallet er endnu Hvis den returnerer en 1 , tallet er ulige : Hej
int checkEven (x )
{ < br >
afkast x % 2 , . //De '%
}
if ( checkEven ( y) == 0 ) //returnerer true hvis '0' kan også være skrives som " if (! checkEven (y) )"
Komplicerede booleske kontrol
A mindre ligetil måde at kontrollere en boolesk værdi , er at bruge en løkke struktur til at udføre en kommando , mens du kontrollerer returværdien af denne kommando i enhver iteration følgende eksempel en fælles formsprog til indtastning karakter oplysninger i C: .
char indgang;
while ( (input = getchar ( ) ) ! = ' z' )
{
/* gør noget * /
}
funktionen " getchar ()" vil hente et karakter fra input og tildele den til "input" , som så vil sammenligne med karakter "z ". skal betingelsen ender som falsk ( input er lig z ), så løkken vil stoppe , med karakter z i input variabel. < br >