I dataprogrammering, representerer " boolsk " datatype bare én av to verdier : Ekte , eller False . I C-programmering ( i motsetning til andre programmeringsspråk, som C + + ) , finnes det 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 kontroll flyt, funksjon returnere verdier , og hvordan andre datatyper sammenligne med 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å staten sin utførelse , og foreta valg basert på den tilstanden. For eksempel betinget utsagn som "hvis" uttalelser og "mens " looper krever evaluering av sammenligning operasjoner som sant eller usant for å fungere. Dette binære skillet mellom sant og usant gjør program kontroll operere. For eksempel følgende "mens " loop ikke kan fungere uten evalueringen av en sann eller falsk tilstand : en
int i = 0
while ( i < 10 ) //enten jeg er mindre enn ti, eller ikke. Sant eller usant
{
jeg + + Online
}
boolske og andre datatyper
Siden C har ingen definert datatype for Boolean , 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 en enkelt heltall representerer. Anvender imidlertid C hele tall som boolske verdier ved å utpeke 0 som en falsk verdi , og en hvilken som helst ikke- null som en sann (vanligvis 0 og 1 betegne Falsk og sann, respektive ) . For eksempel de to påfølgende sløyfer begge inneholder "sanne" betinget utsagn , og vil kjøre for alltid (eller til programfilene stopper) : en
int i = 1;
while ( i == 1 ) //jeg vil alltid lik en, og returnere true
{ printf ( "% d" , jeg ;}
while ( i)
{ printf ( "% d " , i) ;}
hjelp Funksjon returnere verdier
Fordi funksjoner kan returnere verdier basert på den prosessen de utfører , de også kan tjene som Boolean expressions.The enkleste måten er å bruke et resultat av en funksjon som en boolsk verdi . følgende eksempel anvender en funksjon som kontrollerer om eller ikke et tall er selv ( ved hjelp av E-modul , eller "%" operatør , som returnerer resten . . av en rekke deles med et annet ) Hvis funksjonen returnerer 0 , deretter nummeret er enda Hvis den gir en en , er antall merkelig : en
int checkEven ( x )
{
avkastning x % 2; . //The ' %
}
if ( checkEven ( y) == 0 ) //returnerer true hvis '0 ' Kan også være skrevet som " if ( ! checkEven ( y) )"
Kompliserte boolske sjekker
en mindre grei måte å sjekke en boolsk verdi er å bruke en loop struktur for å utføre en kommando mens du sjekker avkastningen verdien av den kommandoen i hver iterasjon følgende eksempel er et vanlig uttrykk for inntasting av tegn informasjon i C : .
røye innspill ;
while ( (inngang = getchar ( ) ) ! = ' z ' )
{
/* gjør noe * /
}
funksjonen " getchar ( )" vil hente et karakter fra inngang og tildele den til " input" , som da vil sammenligne mot tegnet "z ". Skulle tilstanden ende opp som falske (inngang lik z ) da løkken vil stanse , med karakteren z i input variabel.