Friday, June 22, 2012

1. C පළමු පාඩම - Say hello to C world.

පෙර පාඩමේදි මවිසින් විස්තරකල ආකාරයට C ක්‍රමලේඛණය සඳහා දැන් ඔබ සන්නද්ධව සිටිය යුතුය.


C ක්‍රමලේඛ භාෂාව Structured Programming Language (ව්‍යුහගත ක්‍රමලේඛ භාෂාව) කි. එනම් මෙමගින් ක්‍රමලේඛණයේදි යම් කිසි අනුපිළිවෙලකට ක්‍රමලේඛණය සිදුකල යුතුය.
එමෙන්ම C භාෂාව case sensitive ය. එනම් ක්‍රමලේඛණයේදි ඉංග්‍රිසි කැපිටල් සහ සිම්පල් අක්ෂර භේදය ගැන සැලකිලිමත් විය යුතුය.
හොදයි අපි දැන් සරල ක්‍රමලේඛයක් ඔස්සේ C භාෂාවට පිවිසෙමු.

ඉහත කේත කොටස ඔබේ compiler මෘදුකාංගයේ coding window හි type කරගන්න.

දැන් අපි මෙහි එක් එක් කොටස් පැහැදිලි කරගනිමු.

#include<stdio.h> 
මෙම කේත කොටස මගින් සිදුවන්නෙ කලින් සැකසූ කේත කොටස් සහිත ගොනු අපේ program එකට import කර ගැනීමයි. එමගින් අපට වඩා පහසුවෙන් ක්‍රම‍ලේඛනය කිරීමට පහසුකම් සලසයි. එමෙන්ම මෙහි stdio.h නමැති header ගොනුව මගින් අපේ ක්‍රමලේඛනයට අවැසි මූලික ආදාන/ප්‍රතිදාන (Basic Input/Output) operation වලට ඉඩසලසා දෙයි.

int main()
මෙම කේත කොටසින් මූලික වශයෙන් C හි භාවිතාවන function එක නිරූපනය වේ.
Function යනු C හිදි භාවිතා වන වැදගත් යෙදුමකි. එමගින් අප ලියන සංකීර්ණ කේතයක් කොටස් වලට වෙන් කොට පහසුවෙන් පරිපාලනය කරගත හැකිය. මේ පිළිබඳව ඉදිරියේදි සවිස්තරාත්මකව කතාකරිමට බලාපොරොත්තු වෙමි. දැනට මෙහි භාවිතා වන main function එක ගැන අවබෝධයක් ලබාගනිමු.
C ක්‍රමලේඛන භාශාවේදි විවිධ Function සිය ගණනක් ලිව්වත් අනිවාර්යෙන්ම එහි එක main function එකක් පැවතිය යුතුය. මෙහිදි අප භාවිතා කර ඇත්තෙ main function එක පමණි. එමගින් කේතයේ මුලින්ම කියවිය යුත්තේ කුමන කොටසදැයි අවබෝධයක් පරිගණකයට ලබාදෙයි. මෙහි යොදා ඇති වරහන් “()“ මගින් main යනු function එකක් බව හදුන්වා දී ඇත.

මෙම කේතකොටසේ int ලෙස යොදා ඇත්තේ මෙම main function එක මගින් integer වර්ගයේ return (ඊම) ක් ඇති බව පෙන්වා දීමයි.

හැම විටම function එකක් හඳුන්වාදීමෙන් පසු සඟල වරහන් “{ }“  භාවිතයෙන් එම function එකට අදාල කේත කොටස වෙනම කේත කොටසක් ලෙස කොටස් කිරීම සිදු කෙරේ. එනම් { වරහනින් ඇරඹී } වරහනින් අවසන් වන තෙක් කොටස එම function එකට අදාල යයි හඳුන්වා දෙයි.

printf("hello world\n" );
මෙහිදි දක්වා ඇත්තෙ function එක මගින් අප කරගන්නට යෙදෙන කටයුත්තයි. මෙහි මූලික වශයෙන් ප්‍රථිපලයක් තිරය මත දිස්වීම සිදුකරගෙන ඇත. ඒ සඳහා output එක ලබාගැනීමට printf යෙදුම භාවිතා කරයි. එය C හි සම්මත output command එකකි. 
printf යටතේ තිරය මත මුද්‍රනය විය යුතු කොටස වරහන් තුල “ “ ඇතුලත ලිවිය යුතුය. එමගින් ලියා ඇති කොටස වචන මාලාවක් ලෙස පරිගණකය හදුනාගනි.
\n යනු newline character එකයි. එමගින් අලුත් තීරුවකින් අරඹන ලෙස පරිගණකයට විධාන කෙරේ. 
සෑම කේත පේලියකම අවසානයට තිත් කොමාව(semicolon) “ ; “ යෙදීමෙන් එම පේලියේ අවසානය බව පරිගණකයට දැනුම් දීම සිදු කෙරේ. 
return 0;
  ඉහත main function ගැන කල සටහනේදි int ලෙස යෙදීමෙන් main function එක මගින් integer return එකක ඇති බව පවසන ලදි. නමුත් මෙම කේතයේදි මූලික වශයෙන් තිරය මත මුද්‍රණයක් ලබාගත්තා විනා කිසිවක් පිටතට නොයවන ලදි. එම නිසා return 0; ලෙස යෙදිමෙන් 0 අගය return කරන බව දන්නා ඇත. 
නිතරම int හෝ එවැනි  data type එකක් යෙදු function එකක return  එකක් අනිවාර්යෙන්ම පැවතිය යුතුය. data type ගැන ඉදිරියේදි සවිස්තරාත්මකව විස්තර කෙරේ. 
යම් කිසි function එකකින් කිසිවක් return නොවේ නම්  එය void ලෙස හඳුන්වා දිය හැකිය.
එනම් ඉහත කේතයම පහත ලෙසද ලිවිය හැක.  

දැන් ඔබ සාර්ථකව කේතනය කර ඇති ක්‍රමලේඛයේ output එක ලබාගත යුතුය. එනම් මෙම කේතය compile කරගත යුතුය. ඒ සඳහා ඔබ භාවිතා කරන compiler ය අනුව කේතය build කරගත යුතුය. පහත C-free මෘදුකාංගය සඳහා එය සිදුකරන ආකාරය පෙන්වා දී ඇත.

Build -> Run

හෝ
මෙහි පෙන්වා ඇති ආකාරයට Run බොත්තම මත clik කිරිමෙන් හෝ යතුරු පුවරුවේ F5 යතුර මගින් අපට පහසුවෙන් කේතය compile කරගත හැක. එමෙන්ම නිවැරදිව compile වූයෙ නම් එමගින් output එකද දිස්වේ.



Output window 


ක්‍රමලේඛය නිවැරදිව compile වී output එකක් ලබාගැනීමට හැකිවූයේ නම් ඔබේ source code එක save කල ස්ථානයේ එම නමින් .exe ෆයිල් එකක් දැක ගත හැකිවනු ඇත. එය ඔබ ලියු program එකෙහි සාර්ථකව නිපදවු application එකයි. එනම් ඔබ සාර්ථකව පළමු ක්‍රමලේඛය සකස්කරගෙන හමාරය. එය මත double click කිරීමෙන් සරලව ඔබේ ක්‍රමලේඛය run කල හැක. එය සැනෙන් දිස්වී නොපෙනි යනු ඇත. 
 මෙම ලිපියට අදාල source file එක මෙතනින් බාගත කරගන්න.

ඔබේ ප්‍රශ්න හා යෝජනා, චෝදනා, අදහස්, පහතින් comment කිරීමෙන් හෝ විද්‍යුත් තැපැල් මගින් යොමු කරන්න.
ndp.mymail@gmail.com

මීලඟ පාඩමින් හමුවන තෙක් ඔබට සැමට ජය...

19 comments:

  1. mamath meeka kiyewwa. Sook wedak... --nepa

    ReplyDelete
  2. හොඳ වැඩක්.ඒත් ප්‍රෝග්‍රැමිං ගැන කිසිම දෙයක් නොදන්න කෙනෙකුට තේරුම් ගන්න ටිකක් අමාරුයි.එහෙමත් පුලුවන් විදියට වෙනස් කරනවනම් හොඳයි කියල හිතෙනව..

    සුබ පතනව!
    දිගටම කරගෙන යමු.. :)

    ReplyDelete
    Replies
    1. ස්තූතියි ඔබේ අදහසට... :) අපි බලමු ඒගැන මොකද්ද කරන්න පුලුවං කියල.

      Delete
  3. නියම පාඩම් මාලාවක් නේ පටන් අරන් තියෙන්නේ.. ඇත්තටම ප්‍රෝග්‍රැමිං ගැන මෙලෝ දෙයක් නොදන්න මට නම් මේ කොටස හොදටම තේරුනා. දිගටම ලියාගෙන යන්න.

    ReplyDelete
    Replies
    1. අපි අපේ උපරිමයෙන් උත්සාහගන්නව හැමෝටම තේරෙන විදියට ලියන්න.... සිහින, ගොඩක් ස්තූතියි

      Delete
  4. niyama wedak mamath suba pathanawa wedeta..all the best dear..

    ReplyDelete
  5. This comment has been removed by the author.

    ReplyDelete
  6. mata danaganna ona.. c saha C++ kiyanne dekakda?
    mama pothakin balan me code use karala thiyanawa.. me language eka mokadda

    #include
    int main()
    {
    cout <<"hello world \n";
    return 0;
    }

    ReplyDelete
    Replies
    1. ඔව් ක්‍රමලේඛ භාෂා 2ක්. C++ භාෂාව සංවර්ධනය කරල තියන්නෙ C වලින්.

      ඔය පෙන්නල තියන කෝඩින් එක C++

      Delete
  7. mata me tike pdf ganna puluwanda??

    ReplyDelete
  8. fedora wala termial ekenuth karanna puluwan neda e ganath poddak kiyala dennako

    ReplyDelete
  9. Ow ow. Fedora newei, Onima Linux/Unix terminal ekakath C compile karanna puluwan. Eekata oyaa C compiler packages install karaganna wenawa.

    pahatha pennalaa thiyena command walain, eee package install kara ganna puluwan.

    Fedora:
    su -c 'yum install gcc* -y'

    Ubuntu:
    sudo apt-get install build-essential

    C file eka compile karana kota,

    gcc 'your filename.c' -o 'your compiled filename'

    Eg:
    oyaalage c file ekee name eka test.c nam,

    gcc test.c -o compiled

    ReplyDelete
  10. Api Linux/Unix walatath sinhalen lipi pelak lagadima patan gamu...

    ReplyDelete
    Replies
    1. අන්න ඒ අදහස නම් නියමයි!!

      Delete
  11. නියමයි. දිගටම කරගෙන යමු. ඔබට ජය

    ReplyDelete
  12. niyamai raththaranla.....godk pin..pdf ganna nadda mcn... thanks all...

    ReplyDelete