C jos ... muuta lausunto

Tässä opetusohjelmassa opit if-lauseesta (mukaan lukien jos… muut ja sisäkkäiset, jos… muut) C-ohjelmoinnista esimerkkien avulla.

C jos lausunto

ifC-ohjelmoinnin lauseen syntaksi on:

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

Miten lausunto toimii?

ifSelvitys arvioi testin ilmaus sisällä suluissa ().

  • Jos testilauseke arvioidaan tosi, lausekkeet rungon sisällä ifsuoritetaan.
  • Jos testilauseke arvioidaan vääräksi, lausekkeita rungon sisällä ifei suoriteta.

Jos haluat lisätietoja siitä, milloin testilauseke arvioidaan tosi (ei-nolla-arvo) ja epätosi (0), tarkista relaatio- ja loogiset operaattorit.

Esimerkki 1: if-lause

 // 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; )

Lähtö 1

Syötä kokonaisluku: -2 Annoit -2. If-lause on helppo.

Kun käyttäjä syöttää arvon -2, testilauseke number<0arvioidaan tosi. Näin ollen Syötit -2 näkyy näytöllä.

Lähtö 2

 Syötä kokonaisluku: 5 if-käsky on helppoa.

Kun käyttäjä syöttää 5, testilauseke number<0arvioidaan vääräksi eikä rungon sisällä olevaa lausetta ifsuoriteta

C jos… muuta lausunto

ifSelvitys voi olla valinnainen elselohko. Lausunnon syntaksi if… elseon:

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

Entä jos… muuten lause toimii?

Jos testilausekkeen arvo on tosi,

  • lauseet rungon sisällä ifsuoritetaan.
  • lausekkeet rungon sisällä elseohitetaan suorittamisesta.

Jos testilauseke arvioidaan vääräksi,

  • lauseet rungon sisällä elsesuoritetaan
  • lausekkeet rungon sisällä ifohitetaan suorittamisesta.

Esimerkki 2: jos… muu lause

 // 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; )

Tuotos

 Syötä kokonaisluku: 7 7 on pariton kokonaisluku.

Kun käyttäjä syöttää 7, testilauseke number%2==0arvioidaan vääräksi. Näin ollen lause kehon sisällä elsesuoritetaan.

C jos … muuten tikkaat

if… elseLausunto suorittaa kaksi eri koodia riippuen siitä, onko testi lauseke on tosi tai epätosi. Joskus valinta on tehtävä useammasta kuin kahdesta mahdollisuudesta.

Jos… muuten tikkaat antavat sinun tarkistaa useita testilausekkeita ja suorittaa erilaisia ​​lauseita.

Syntaksi jos… muusta tikasta

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

Esimerkki 3: C jos… muut tikkaat

 // 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; )

Tuotos

 Syötä kaksi kokonaislukua: 12 23 Tulos: 12 <23

Sisäkkäin, jos… muuta

Lauseke on mahdollista sisällyttää if… elsetoisen if… elselauseen runkoon .

Esimerkki 4: Sisäkkäin, jos… muuta

Tämän ohjelman alla koskee kahden kokonaisluvun käyttäen joko <, >ja =samanlainen kuin if… elsetikkaiden esimerkki. Käytämme kuitenkin sisäkkäistä if… elselausetta tämän ongelman ratkaisemiseksi.

 #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; )

Jos if… elselauseen rungossa on vain yksi lause, sinun ei tarvitse käyttää sulkeita ().

Esimerkiksi tämä koodi

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

vastaa

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

Mielenkiintoisia artikkeleita...