C-keele if-lause ja mitme tingimuse kasutamise täielik juhend algajatele

1. Sissejuhatus

C-keelt kasutatakse laialdaselt kui lihtsat, kuid võimsat programmeerimiskeelt. Selle raames on “tingimuslause” oluline funktsioon programmi töö juhtimiseks. Eriti oluline on if-lause abil mitme tingimuse käsitlemise viis, mis on hädavajalik keeruka loogika realiseerimiseks.

Selles artiklis selgitame samm-sammult, kuidas C-keeles if-lause abil määrata mitu tingimust nii, et isegi algajad saaksid aru. Käsitleme nii põhistruktuuri kui ka rakendusnäiteid, et pakkuda laiapõhjalist juhendit.

2. C-keele if-lause põhistruktuur

Mis on if-lause?

If-lause kontrollib, kas määratud tingimus on tõene, ja kui see on täidetud, käivitatakse kindel koodiplokk. C-keeles kirjutatakse if-lause järgmiselt:

if (tingimus) {
    // Käivitatakse, kui tingimus on tõene
}

Põhiline näide

Järgmine näide kontrollib, kas muutuja x on positiivne väärtus:

#include <stdio.h>

int main() {
    int x = 10;

    if (x > 0) {
        printf("x on positiivne väärtus.\n");
    }

    return 0;
}

Selles koodis käivitatakse printf, kui x on suurem kui 0.

Olulised punktid if-lause tingimusavaldises

  • Tingimusavaldistes saab kombineerida arve, muutujaid ja loogikaoperaatoreid (&&, ||, !).
  • C-keeles loetakse kõik nullist erinevad väärtused “tõeks” ja nulli “vääraks”.
侍エンジニア塾

3. Loogikaoperaatorite tüübid ja roll C-keeles

Mis on loogikaoperaator?

Mitme tingimuse käsitlemisel tuleb need kombineerida loogikaoperaatoritega. C-keeles on kolm peamist loogikaoperaatorit:

Loogiline korrutis (AND: &&)

  • Tõene ainult siis, kui mõlemad tingimused on tõesed.
  • Näide: kontrollida, kas muutuja a on vähemalt 10 ja maksimaalselt 20.
if (a >= 10 && a <= 20) {
    printf("a on vahemikus 10 kuni 20.\n");
}

Loogiline liitmine (OR: ||)

  • Tõene, kui vähemalt üks tingimus on tõene.
  • Näide: kontrollida, kas muutuja b on 0 või 100.
if (b == 0 || b == 100) {
    printf("b on 0 või 100.\n");
}

Loogiline eitus (NOT: !)

  • Muudab tingimuse vastupidiseks — “väär” muutub “tõeks” ja “tõene” muutub “vääraks”.
  • Näide: kontrollida, kas muutuja c ei ole 0.
if (!(c == 0)) {
    printf("c ei ole 0.\n");
}

Märkus

  • Mitme loogikaoperaatori kombineerimisel kasutage sulgusid, et parandada loetavust.
  • Näide: (a > 0 && b < 10) || c == 5

4. Mitme tingimuse kombineerimine C-keeles

Mis on mitme tingimuse kombineerimine?

C-keeles saab if-lausega kombineerida mitu tingimust, mis võimaldab kirjutada keerulisemat loogikat lühidalt. Selleks kasutatakse loogikaoperaatoreid (&&, ||) ja sulgusid.

Näide mitme tingimuse kombineerimisest

Alljärgnevas näites käivitatakse kindel kood, kui x on 10 kuni 20 (kaasa arvatud) ja y on väiksem kui 30.

#include <stdio.h>

int main() {
    int x = 15;
    int y = 25;

    if ((x >= 10 && x <= 20) && y < 30) {
        printf("x on 10 kuni 20 ja y on alla 30.\n");
    } else {
        printf("Tingimused ei ole täidetud.\n");
    }

    return 0;
}

Näpunäiteid tingimusavaldise loetavuse parandamiseks

  1. Kasutage sulgusid
  • Määrake selgelt tingimuste täitmise järjekord.
  1. Jagage tingimused osadeks
  • Jagage keerukad tingimused muutujatesse, et kood oleks lühem ja selgem.

5. else if-lause kasutamine tingimuste harutamisel

Mis on else if-lause?

Else if-lause abil saab järjest hinnata mitut tingimust ja käivitada vastava koodiploki.

Näide else if-lause kasutamisest

#include <stdio.h>

int main() {
    int num;

    printf("Sisestage arv: ");
    scanf("%d", &num);

    if (num > 0) {
        printf("Sisestatud arv on positiivne.\n");
    } else if (num < 0) {
        printf("Sisestatud arv on negatiivne.\n");
    } else {
        printf("Sisestatud arv on 0.\n");
    }

    return 0;
}

6. Sisestatud if-lause kasutamine keerukamate tingimuste jaoks

Näide sisestatud if-lause kohta

#include <stdio.h>

int main() {
    int x = 10;
    int y = 5;

    if (x > 0) {
        if (y > 0) {
            printf("x ja y on mõlemad positiivsed.\n");
        } else {
            printf("x on positiivne, kuid y ei ole.\n");
        }
    } else {
        printf("x ei ole positiivne.\n");
    }

    return 0;
}

7. Praktiline näide|Mitme tingimuse kasutamine

Näide 1: Kontroll, kas arv jääb kindlasse vahemikku

#include <stdio.h>

int main() {
    int number;

    printf("Sisestage arv: ");
    scanf("%d", &number);

    if (number >= 10 && number <= 20) {
        printf("Sisestatud arv on vahemikus 10 kuni 20.\n");
    } else {
        printf("Sisestatud arv on väljaspool vahemikku.\n");
    }

    return 0;
}

8. Korduma kippuvad küsimused (KKK)

K1. Miks mitme tingimuse kontroll ei tööta?

  • Põhjus: Tingimuste täitmise järjekorda ei mõisteta õigesti.
  • Lahendus: Kasutage sulgusid, et määrata täitmise järjekord selgelt.

9. Kokkuvõte

Õppides C-keeles if-lause ja mitme tingimuse kasutamist, saate kirjutada paindlikumaid ja tõhusamaid programme.