C hvis ... ellers Erklæring

I denne vejledning lærer du om if-sætning (herunder hvis … ellers og nestet hvis … ellers) i C-programmering ved hjælp af eksempler.

C hvis erklæring

Syntaksen for ifudsagnet i C-programmering er:

 if (test expression) ( // statements to be executed if the test expression is true )

Hvordan hvis udsagn fungerer?

Den ifopgørelse evaluerer testen udtryk inde i parentesen ().

  • Hvis testudtrykket vurderes til sandt, ifudføres udsagn inde i kroppen .
  • Hvis testudtrykket evalueres til falsk, ifudføres udsagn inde i kroppen ikke.

For at lære mere om hvornår testudtryk evalueres til sandt (ikke-nul-værdi) og falsk (0), skal du kontrollere relationelle og logiske operatorer.

Eksempel 1: hvis udsagn

 // Program to display a number if it is negative #include int main() ( int number; printf("Enter an integer: "); scanf("%d", &number); // true if number is less than 0 if (number < 0) ( printf("You entered %d.", number); ) printf("The if statement is easy."); return 0; )

Udgang 1

Indtast et heltal: -2 Du indtastede -2. Hvis-erklæringen er let.

Når brugeren indtaster -2, number<0evalueres testudtrykket til sandt. Derfor indtastes -2 vises på skærmen.

Udgang 2

 Indtast et heltal: 5 if-sætningen er let.

Når brugeren indtaster 5, number<0evalueres testudtrykket til falsk, og udsagnet inde i kroppen ifudføres ikke

C hvis… ellers Erklæring

Den ifsætning kan have en valgfri elseblok. Syntaksen for if… elseudsagnet er:

 if (test expression) ( // statements to be executed if the test expression is true ) else ( // statements to be executed if the test expression is false )

Hvordan hvis … ellers erklæring fungerer?

Hvis testudtrykket vurderes til sandt,

  • udsagn inde i kroppen ifudføres.
  • udsagn inde i kroppen elsespringes over fra udførelse.

Hvis testudtrykket vurderes til falsk,

  • udsagn inde i kroppen elseudføres
  • udsagn inde i kroppen ifspringes over fra udførelse.

Eksempel 2: hvis … ellers udsagn

 // Check whether an integer is odd or even #include int main() ( int number; printf("Enter an integer: "); scanf("%d", &number); // True if the remainder is 0 if (number%2 == 0) ( printf("%d is an even integer.",number); ) else ( printf("%d is an odd integer.",number); ) return 0; )

Produktion

 Indtast et heltal: 7 7 er et ulige heltal.

Når brugeren indtaster 7, number%2==0evalueres testudtrykket til falsk. Derfor er udsagnet inde i kroppen elseudført.

C hvis… ellers Ladder

Den if… elsesætning udfører to forskellige koder, afhængigt af om testen udtryk er sand eller falsk. Nogle gange skal der vælges ud fra mere end to muligheder.

Stigen if … else giver dig mulighed for at kontrollere mellem flere testudtryk og udføre forskellige udsagn.

Syntaks for hvis… ellers Ladder

 if (test expression1) ( // statement(s) ) else if(test expression2) ( // statement(s) ) else if (test expression3) ( // statement(s) )… else ( // statement(s) )

Eksempel 3: C hvis … ellers Ladder

 // Program to relate two integers using =,> or < symbol #include int main() ( int number1, number2; printf("Enter two integers: "); scanf("%d %d", &number1, &number2); //checks if the two integers are equal. if(number1 == number2) ( printf("Result: %d = %d",number1,number2); ) //checks if number1 is greater than number2. else if (number1> number2) ( printf("Result: %d> %d", number1, number2); ) //checks if both test expressions are false else ( printf("Result: %d < %d",number1, number2); ) return 0; )

Produktion

 Indtast to heltal: 12 23 Resultat: 12 <23

Indlejret hvis … ellers

Det er muligt at inkludere en if… elseerklæring inde i kroppen af ​​en anden if… elseerklæring.

Eksempel 4: Indlejret hvis … ellers

Dette program givet nedenfor angår to heltal anvendelse af enten <, >og =svarende til if… elsestigen eksempel. Vi bruger dog en indlejret if… elseerklæring til at løse dette problem.

 #include int main() ( int number1, number2; printf("Enter two integers: "); scanf("%d %d", &number1, &number2); if (number1>= number2) ( if (number1 == number2) ( printf("Result: %d = %d",number1,number2); ) else ( printf("Result: %d> %d", number1, number2); ) ) else ( printf("Result: %d < %d",number1, number2); ) return 0; )

Hvis brødteksten i en if… elseerklæring kun har én sætning, behøver du ikke bruge parenteser ().

For eksempel denne kode

 if (a> b) ( print("Hello"); ) print("Hi");

svarer til

 if (a> b) print("Hello"); print("Hi"); 

Interessante artikler...