Pagp-program sa C/Mga Pag-uulit at Kalagayan

Sa pahinang ito makikita kung paano magsulat ng mga kalagayan at pag-uulit sa C. Isa ito sa mga pinakamahalagang kayarian sa kahit anong wikang pang-program.

Mahalagang malaman ang ukol sa mga bloke. Ang mga bloke ay isang grupo ng kodigo na nakapalibot sa isang pares ng kulot suhay ({ at }). Ang mga bloke ay maaring walang laman, at maari ring walang patuldik (;) matapos nito. Maari ring magkaroon ng isa o higit pang bloke sa isang bloke.

Mga Kalagayan baguhin

Halimbawa, nais nating gumawa ng program na magi-imprenta sa monitor ng isang bati depende sa edad na inimakinilya. Hindi natin ito magagawa kung hindi natin ito hahatiin sa mga kalagayan.

Ginagamit ang mga kalagayan upang magkaroon ng mga desisyon sa iyong program. Depende sa saysay ng isang kalagayan, maaaring mapatakbo, o 'di mapatakbo, ang isang bloke.

Ang Kalagayang If baguhin

int age = 19;

if(age < 18) [
    printf("Kamusta, isang menor-de-edad?\n");
}

Ang Kalagayang If-Else baguhin

int age = 22;

if(age < 18) {
    printf("Kamusta, isang menor-de-edad?\n");
}
else if(age < 60) {
    printf("Kamusta, isa sa mga working class?\n");
}


int age = 22;

if(age < 18) {
    printf("Kamusta, isang menor-de-edad?\n");
}
else if(age < 60) {
    printf("Kamusta, isa sa mga working class?\n");
}
else {
    printf("Kamusta, lolo at lola?\n");
}

Ang Kalagayang Switch baguhin

int araw;

printf("Pakimakinilya ng araw mula 0 (Linggo) hanggang 6 (Sabado): ");
scanf("%d", &araw);

switch(araw) {
    case 0:
    case 1:
        printf("Araw ng bakasyon ngayon.\n");
        break;
    default:
        printf("Araw ng pagtatrabaho ngayon.\n");
}

Mga Pag-uulit baguhin

Halimbawa, nais nating magdagdag ng 3 sa isang baryanteng x hanggang sa maging mas malaki ang x sa 10, o 'di kaya'y nais nating i-imprenta ang pangungusap na "Kamusta, Daigdig!" ng 100 beses sa ating monitor. Para magawa ang mga bagay na ito, maaari tayong gumawa ng isang linya ng kodigo at kopyahin ito ng 100 beses. Ngunit, paano kung gusto nating gawin ito ng 1000 beses o higit pa? Magiging matrabaho ito lalo pa't kung nais nating magbago kung ilang beses natin gawin ang isang bagay kada pagtakbo ng ating program.

May mga bagay tayong nais gawin ng paulit-ulit. Dito papasok ang kahalagahan ng mga pag-uulit.

Ang Pag-uulit na While baguhin

Ang pag-uulit na while ay isa sa mga saligang uri ng pag-uulit. Umuulit ang bloke kung totoo ang kalagayan na nasa while. Isang halimbawa ng gamit ng while ay makikita sa ibaba.

while(12) {
    printf("Kamusta, Daigdig!\n");
}

Ang pag-uulit na ito ay walang katapusan. Maaalala natin na ang kahit anong numero maliban sa 0 ay may saysay na totoo. Ang numero 0 lang ang may saysay na 'di totoo.

Ang Pag-uulit na Do-While baguhin

do {
    // Gumawa ng ano...
} while(may_gagawin_tayo());

Ang Pag-uulit na For baguhin

for(panimula; pagsuri; pagdagdag) {
    // Gumawa ng ano...
}