Sąlyginiai sakiniai C programavime

Skaitymo trukmė: 4 minutės

Sąlyginių sakinių galime rasti kiekvienoje programavimo kalboje. Šie sakiniai leidžia kelti sąlygas ir tokiu būdu kontroliuoti informacijos tėkmę programoje.

Šiame straipsnyje susipažinsime su sąlyginiais sakiniais, tai yra informacijos tėkmės kontrolės priemone programose. Prieš susipažindami su sąlyginių sakinių blokais, tai yra if, else if ir else, mes taip pat peržvelgsime reliacinius ir loginius operatorius. Su šiais operatoriais, mes galime formuluoti sąlygas sąlyginių sakinių blokuose.

Šis straipsnis yra suskirstytas į keturias dalis.

1. Kas tie reliaciniai operatoriai?

Reliacinis operatorius yra programavimo konstruktas, kurį naudodami, mes galime patikrinti lygybę tarp dviejų reikšmių. C programavimo kalboje yra iš viso 6 reliaciniai operatoriai. Šiuos galite matyti lentelėje žemiau.

Reliaciniai operatoriai C kalboje

Simbolis Operatoriaus vardas
< Mažiau nei
> Daugiau nei
== Lygu
>= Daugiau arba lygu
<= Mažiau arba lygu
!= Nelygu

Reliaciniai operatoriai gali būti taikomi tarp dviejų reikšmių. Pavyzdžiui, 10 <= 10. Ši išraiška yra teisinga, kadangi yra tikrinama ar dešimt yra mažiau arba lygu dešimčiai. O dešimt, kaip žinia, yra lygu dešimčiai.

Naudinga žinoti: dažna programavimo klaida, yra priskyrimo operatoriaus (=) ir reliacinio lygybės operatoriaus (==) sumaišymas. Jeigu norite lyginti reikšmes, rinkitės naudoti reliacinį lygybės operatorių (==).

2. Kas tie loginiai operatoriai?

Loginiai operatoriai yra programavimo konstruktai, kurie leidžia tikrinti išraiškas (true ir false) tarpusavyje. Iš viso yra 3 loginiai operatoriai.

Loginiai operatoriai C kalboje

Simbolis Operatoriaus vardas
&& AND
|| OR
! NOT

Loginis AND operatorius yra teisingas tik tuo atveju, jeigu abi tikrinamos išraiškos turi true reikšmes.

Pavyzdys 1: loginis AND ir reliaciniai operatoriai

Pavyzdys 1.1: (8 != 7) && (8 == 8) // grąžina true

Pavyzdys 1.2: (8 != 8) && (8 == 8) // grąžina false

Pavyzdys 1.1 grąžina true, nes 8-ni nėra lygus 7-niems ir 8-ni yra lygus 8-niems. Tai reiškia, kad abi išraiškos grąžina true, dėl to ir loginis operatoius AND grąžina true reikšmę. Pavyzdys 1.2 grąžina false, nes viena išraiška grąžina false reikšmę (8 != 8).

Loginis OR operatorius yra teisingas, jeigu bent viena išraiška yra teisinga.

Pavyzdys 2: loginis OR ir reliaciniai operatoriai

Pavyzdys 2.1: (8 != 8) || (8 <= 8) // grąžina true

Pavyzdyje 2.1 loginis OR operatorius grąžina true, nes viena iš išraiškų yra teisinga (8 <= 8).

Galiausiai galime pažvelgti į loginį NOT operatorių (!), kuris yra teisingas jeigu tikrinama išraiška yra false, o neteisingas, jeigu tikrinama išraiška yra true.

Pavyzdys 3: loginiai NOT ir AND operatoriai:

Pavyzdys 3.1: !((8 != 8) && (8 <= 8)) // grąžina true

Pavyzdyje 1.2 matėme, jog sąlyga be loginio NOT operatoriaus grąžina false, o pavyzdyje 3.1 galime matyti, jog ta pati sąlyga dėl loginio NOT operatoriaus grąžina true.

Naudinga žinoti: C programavimo kalboje true atitinka 1, o false atitinka 0.

3. Sąlyginiai sakiniai C programavime

Jau apžvelgėme reliacinius ir loginius operatorius, todėl dabar galime susipažinti ir su sąlyginiais sakiniais.

Pavyzdys 4: operatoriaus if naudojimas.

#include <stdio.h>

int main (void)
{
    
int a, b;
    
a = 10;
    
b = 0;
    
if (a > b)
    
{
        
printf ("a yra daugiau nei b");
    
}
    
if (b > a)
    
{
        
printf ("a yra maziau nei b");
    
}
    
return (0);
}

Galimas rezultatas:

a yra daugiau nei b

Šiame kodo gabalėlyje mes galime matyti sąlygini sakinį (7-ta eilutė). Šiame sakinyje mes tikriname ar a yra daugiau už b. Kadangi a kintamajam mes priskyrėme reikšmę 10, o b kintamajam - 0, todėl if operatorius grąžina true ir yra vykdomi nurodymai esantys tarp garbanotųjų skliaustelių. Todėl konsolėje programa atspausdina "a yra daugiau nei b".

Nurodymai, kuriuos galime matyti tryliktoje eilutėje (pavyzdys 4) nėra vykdomi, nes if operatorius (11-ta eilutė) grąžina false.

Pavyzdys 5: if, else if ir else operatoriai C kalboje.

#include <stdio.h>

int main (void)
{
    
int a, b;
    
a = 10;
    
b = 10;
    
if (a > b)
    
{
        
printf ("a yra daugiau nei b");
    
}
    
else if (b > a)
    
{
        
printf ("a yra maziau nei b");
    
}
    
else
    
{
        
printf ("a ir b reiksmes yra lygios");
    
}
    
return (0);
}

Galimas rezultatas:

a ir b reiksmes yra lygios

Penktame pavyzdyje galite matyti else operatorių (15-ta eilutė). Žemiau šio operatoriaus esantys nurodymai tarp garbanotųjų skliaustelių yra vykdomi tik tuo atveju, jeigu visi iki tol buvę if ir else if operatoriai grąžina false reikšmes.

Penkto pavyzdžio atveju, kintamasis a ir kintamasis b yra lygūs, nes jiems abiems yra priskirta reikšmė 10. Todėl tiek if operatorius (7-ta eilutė), tiek ir else if operatorius (11-ta eilutė) grąžina false. O mes konsoleje matome, kad a ir b reiksmes yra lygios .

4. C kalbos žinių patikrinimas

Sąlyginiai sakiniai C programavimo kalboje

1Kuri sąlyga yra teisinga?

2Kuris iš operatorių nėra palyginimo operatorius?

3Kuri sąlyga nėra teisinga?

Žinių patikrinimas baigtas!

Sveikiname!

Pasidalinkite savo geru rezultatu!