Pages

Thursday, October 7, 2010

C වලින් If else සහ switch

ගොඩක් අය Java වල මූලික කරුණු කාරණා දන්න නිසාC ගැන විස්තර කරද්දි Java වලට සාපේක්ෂව විස්තර කරන්න උත්සහ ගන්නම්. ඒක තේරුම් ගැනීමේ පහසුවක් වේවි. මාතෘකාවේ පිලිවෙලටම වැඩේ පටන් ගන්නම්....

if.....else

මේකෙන් වෙන්නේ මොකක්ද කියලා විස්තර කරන්න අවශ්‍ය වෙන එකක් නැහැ. කෙටියෙන් විස්තර කරනවා නම්, යම්කිසි සලකනු ලබන condition එකක සත්‍ය අසත්‍ය භාවය (true & false) මත යම්කිසි statement කිහිපයක් හෝ වෙනමම method එකක execute කරවීම if else භාවිතයෙන් කරගන්න පුළුවන්. C program එකක if else පාවිච්චි වෙන විදිය ගැන මෙහිදී බලමු. Java  වලට සාපේක්ෂව මෙහි වෙනසක් නැතිම තරම්.... if else භාවිතා කරන ආකාරය ගැන උදාහරණයකින් සලකමු. 
#include <stdlib.h>
#include <stdio.h>

int main()
{
    int x = 9;
    if ( x == 5 )
    {
//     if condition is true
        printf("You are the winner\n");
    }
    else
    {
//     if condition is false
        printf("You are the looser\n");
    }
    return 0;
}


මේ උදාහරණයෙන් පැහැදිලි වෙනවා ඇති ඔබට Java හා C වලදි, if-else භාවිතයේ වෙනසක් නොමැතිම තරම් බව. මෙම උදාහරණයට අනුව සිදු වන්නේ x වල අගය 5 ට සමාන නම් You are the winner ලෙසත් එසේ නොවේ නම් You are the looser ලෙසත් print වේ. මේ ආකාරයට if statement එකක් තුළ තවත් if statement එකක් ලිවීමේ හැකියාවද තියනවා. 


Switch

If statement කිහිපයකින් කිරීමට හැකි සමහර කාර්යයන් switch statement එකක් භාවිතයෙන් කිරීමේ හැකියාවක් තියනවා. if....else සේම Switch statement එකද C වලදී හා Java වලදී වෙනසක් නැතිම තරම්. උදාහරණයක් සලකා බලමු.
#include <stdlib.h>
#include <stdio.h>

int main()
{
    int x = 1;
    switch (x)
    {
        case 1:
            printf("hello\n");
            break;

        case 2:
            printf("fool\n");
            break;

        default:
            printf("fellow\n");
            break;
    }
    return 0;
}

මෙහිදී සිදුවන දේ කෙටියෙන් පැහැදිලි කළොත්, if-else කිහිපයකින් කර ගැනීමට හැකි වැඩක් switch මගින් සිදු කරල තියනවා. මුලින්ම x කියල variable එකක් හදලා තියනවා. ඊට පස්සේ switch (x) කියන පේළියෙන් අපි සදහන් කරල තියනවා ඉස්සරහට කරන comparisons සියල්ල මේ x කියන variable එකත් සමග සිදුකළ යුතුයි කියලා. මේ variable එකට ගන්න පුළුවන් වෙන්නේ int එකක් හෝ char එකක් විතරයි.  ඒ වගේම මතක තියාගන්න char එකක් පාවිච්චි කරනව නම් char variable value එක single quotation ඇතුලේ ලියන්න. ඒක එහෙමයි. case කියලා තවත් keyword එකක් පාවිච්චි වෙලා තියනවා මෙතන. ඒකෙන් කරන්නේ x සදහා අපි compare කරන value එක මොකක්ද කියලා දෙන එකයි. break කියලා තවත් keyword එකක් තියනවා. අපි හිතමු මේ උදාහරණයට කියන code එක ගැන. ඒකෙ දැන් case 1 : කියන තැනින්ම true වෙන නිසා එතනින් පස්සේ තියන line එකේ සිට execute වෙන්න පටන් ගන්නවා. නමුත් case 1: නිසා execute වෙන්න ඕනි lines ටික අවසන් වෙන තැන අපි break කියන keyword එක use කලේ නැත්තම් case 1: වුණ තැන ඉදන් default කියන තැනට එනකං තියන සියලුම lines ටික execute වීම සිදු වෙනවා. break කියන keyword එක use කිරීමේ අරමුණ එයයි. default කියන්නේ නිකන් හරියට else වගේ තමා. case වල එක  value එකකටවත් true වුනේ නැතිනම් අවසානයට සිදුවන්නේ default යටතේ තියන lines ටික execute වෙන එක තමා. ඔන්න ඔහොමයි switch. මේකටම loops ගැනත් ලියන්න හිටියෙ. ඒකත් ලිව්ව නම් මේක මා ගලක් වගේ දික් වෙනවා. ඒක නිසා කතාව මතු සම්බන්ධයි. Loops සමගින් නැවත C ගැන ටිකක්....

ජය වේවා!!!

1 comment:

  1. මේක ඇත්තටම දැන් වැඩක් වෙන එකකුත් නැහැ. ඒ වුණාට අපැහැදිලි කවුරුම හරි ඉන්නවනම් බලන්න තමා දැම්මේ....

    ReplyDelete

ඔබගේ අදහස් පවසන්න ...
මට ඒව මසුරන් වටිනවා ....