Like us on Facebook

01. C භාෂාවේ නොදත් දේ දැන ගන්න A to Z ...









Hi Friends...
කොහොමද කට්ටියම හොදින් කියල හිතනවා After 3 months පොස්ට් එකේදී ඔයාලට ලබා දුන්න තවත් පොරොන්දුවක් ඉටු කරන්නයි මේ සුදානම C Language A to Z ඔයාලට කියල දෙන්නයි අපි මේ සුදානම් වෙන්නේ. හැබැයි අද පොඩි විශේෂත්වයක් තියෙනවා ඒ තමයි ඔයාලට C Lessons කියල දෙන්නෙ 3 idiots Blog Team එකත් එක්ක එකතු උන අපේ අලුත්ම යාළුවා. k මං හදුන්වා දෙන්නම්කො මේ අලුත්ම Idiot කව්ද කියල නමින් සමී අපිත් එක්කම Campus එකේ Computer Science Degree එක හදාරනවා, මෑන් ගැන කියනවනම් ආතල්ම  බුවෙක් තමා අපේ සෙට් එකේ සෑහෙන රස කතා ගොඩක හිමිකරුවෙක් තමා, නොහික්මුණු ඇස බ්ලොග් එකේ අපේ රුවා සමීගේ ( මෑන්ට අපි නම් කියන්නේ වෙන නමක්) රස කතා ලියන්න වෙනම බ්ලොග් එකක් කරමුද කියලත් මගෙන් දවසක් ඇහැව්වා මොකද පොරගෙ කතා බ්ලොග් එකක ලියන්න තරම්ම වටිනවා ලොල්..


k අපි ඒ ගැන පසුවට සලකා බලමුකෝ අද වැඩේ ඉවර කරලා,  මේ සමීයා වැඩකාරයා අන්න ඒ නිසාම තමා අපිත් එක්ක එකතු වෙන්න අවස්ථාව ලබා දුන්නෙ, ඔයාල දන්නවනේ 3idiots අපි ඔයාලට හැමදාම ලබා දෙන්නේ හොදම දෙයක් කියල. ඒ වගේම අපේ අනිත් යාලුවන්ටත් මතක් කරනවා ඔයාලත් කැමති නම් ඔයාලගේ හැකියාවන් එක්ක අපිත් එක්ක එකතු වෙන්න එකට අපි ඔයාලට අවස්ථාව ලබා දෙනවා කැමති ඈයෝ ඉන්නවනම් අපිට mail 1ක් දාන්නකෝ ඈ.. මෙන්න මේකයි 3idiots mail ad එක 3idiotcs@gmail.com , k එහෙමනම් මෙතැන් සිට වැඩේ අපේ අලුත් යාලුවට බාර දෙනවා කට්ටියටම ජය වේවා කිව්ව...!

C language ආරම්භය

හායි friends!!! මම මේ site එකේ අද ඉදන්  C භාෂාව කොටස් ආකාරයෙන් ඉදිරිපත් කරන්න බලාපොරොත්තු වෙනවා මම අලුත් යාලුවෙක් තමයි එත් මම ඉදිරිපත් කරන මේ පාඩම් මාලාව ඔයගොල්ලෝ හොදින් අද්‍යනය කරාවී කියල මම බලාපොරොත්තු වෙනවා සහ ඔයාලගේ අදහස් යෝජනා චෝදනා තියෙනවනම් එවත් එවන්න කියල මම ඉල්ලනවා.හරි වැඩි කතා නැතුව අපි වැඩේට බහිමු.

01.C භාෂාව හඳුන්වාදීම- C language introduction
අපි පරිගණකයකින් යම් කිසි ක්‍රියාවක් ඉටු කරගන්න නම් ඒ පරිගණකයට අපි instruction නොහොත් විධානයන් ලබා දෙන්න ඕන කියල යාලුවෝ දන්නවනේ?? ඒ විදියට අපි පරිගනකයත් එක්ක සම්බන්ද වෙන්න අපි මෘදුකාංග භාවිතා කරනවනේ මෙන්න මේ මෘදුකාංග අපි ලබාදෙන විදානයන් හා පරිගණකය සම්බන්ද කරන්න යම්කිසි භාෂාවන් නොහොත් languages යොදා ගන්නේ.මෙන්න මේ කියන languages වලින් එකක් තමයි මේ අපි කතා කරන c language එකත් අයිති වෙන්නේ.අපි එමගින් පරිගණකයට විදානයන් ලබාදෙන්න පුළුවන් programs හදා ගන්න එක ගැන තමයි මේ පාඩම් මාලාවෙන් කතා කරන්න බලාපොරොත්තු වෙන්නේ.ඇත්තටම කියනවනම් පරිගණක භාෂාකරණයේ අත්පොත වෙන්නේ මෙන්න මේ අපි කතා කරන්න හදන c language එක තමයි.

අපි c language හි ඉතිහාසය පොඩ්ඩක් බැලුවොත් භාෂාව නිර්මානය කලේ ඩෙනිස් රිචි සහ බ්‍රයන් කනිංහැම් යන පරිගණක විද්‍යාඥ්‍යවරුන් විසින්. ඒ 1969-1973 කාලයේදි  UNIX පරිගණක මෙහෙයුම් පද්ධතිය සමඟ භාවිතය සඳහා භාෂාව නිර්මාණය කලා.


ඇත්තටම කියනවනම් මේ උඩින් තියෙන්නේ ඔයාලගේ මුල්ම program එක.ඒත් මම දැන්ම පටන් ගන්නේ නැතුව.c language හි අඩංගු දේවල් ගැන මම තව විස්තරාත්මකව කතා කරන්න හිතුවා.මොකද මේ පාඩමට මුල සිටම එකතු වෙන මේ ගැන මුකුත්ම නොදන්නා අපේ යාළුවන්ට උදව්වක් විදියටි එහෙම කරන්නේ මේ සම්බන්දව basic knowledge එකක් තියෙන අපේ යාලුවෝ තරහ වෙන්න එපා දිගටම අපිත් එක්ක රැඳෙන්න කියල මම ඉල්ලනවා.....
අවශ්‍ය මෘදුකාංග සපයා ගන්න:
C ඉගෙන ගැනීමේදි මෙන්ම අප ලියන ක්‍රමලේඛ (Codes) compile කරගැනීම සඳහා Compiler එකක් තිබිය යුතුය.
ඒ සඳහා මා භාවිතා කරන්නෙ Code::Blocks cross-platform IDE නැමැති Compiler මෘදුකාංගයයි.
එය මෙතනින් බාගත කරගන්න. http://www.coadblocks.org
එසේ නැතිනම් Borland Turbo C++ 4.51Compiler මෘදුකාංගයද භාවිත කල හැකිය.
එසේත් නැතිනම් ඔබ කැමති ඕනෑම C compiler එකක් මේ සඳහා භාවිතා කල හැක.
ඉහත මෘදුකාංග දෙකෙන් ඕනෑම එකක් ස්ථාපනය කරගත් පසු ඔබ C programming සඳහා සන්නද්ධව සිටියි.
මන්ද අප මෙම c භාෂාව හදුන්වා දීමේ කොටස් වලින් අනතුරුව මෙමගින් අප වැඩසටහන් තැනීමට බලාපොරොත්තු වෙනවා එම අවස්ථාවේදී ඔබ මේ සඳහා සන්නද්ධ වී තිබිය යුතුය .
හරි එහෙනම් නම් පාඩම පටන්ගමු. ඊට කලින් මේ මේ c language ගැන සාරාංශයක් කියන්නම්.මොකද අද ඒක ඕන වෙනවා.










*රූප සටහන දැක්කම මොනවද හිතෙන්නේ??? මිනිස්සු මුලින්ම හැදුවේ machine code කියන programming language එක ඊළගට එකම ටිකක් modify කරලා හදාගත්ත assembly programming language එකක්, ඊළගට ඉතිහාසය උඩි යටිකුරු කරලා හැදුව human readable නැත්තම් මිනිස්සුන්ට තේරෙන භාෂාහවෙන් code කරන්න පුළුවන්  High level language එක.

*අද ඉදන් අපි කතා කරන්නේ high level language එකක් ගැන. high level language එකේ ඇති වූන languages ගොඩක් තියනවා ඒ අතරේ වැදගත්තම 2ක් තමා C කියන programming language එකයි Pascal කියන programming language එකයි.

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

*තවද මෙම සාමාන්‍ය මිනිසුන්ට වඩාත් සමීප high level language පරිගණකයට වඩාත් සමීප machine language බවට පත් කර ගන්න අපි translators භාවිත කරනවා. Translators වර්ග 2ක් ලෝකයේ දැනට තිබෙනවා.
1. Compilers
2. Interpreters

*අප c language එකක් භාවිත කිරීමට ප්‍රධාන හේතුව වන්නේ භාවිතයට ඇති පහසුව,සරල බව, භාවිතයට ඇති පහසුව සහ ඉගෙනීමට ඇති පහසුව යනාදී කරුණු නිසාවෙනි.

*තවද c යනු දැනට ඇති පැරණිම programming language වලින් එකකි.

*නමුත් එම භාෂාව සතුව නවීන පන්නයේ programming language එකක් සතුව ඇති ගුණාංග අඩංගු වෙයි.

*මෙම c language මගින් අප තනාගන්නා යම් වැඩසටහනක් ක්‍රියා කරවා output එක ලබාගැනීමට අපට විශේෂිත c compiler එකක් භාවිත කිරීමට සිදු වෙනවා.

02.C programs සම්බන්ධ තවත් කරුණු - Note about C programs

01.{ හා } මෙම වරහන් යුගලය c program එකක යම් කොටසක ආරම්භය හා අවසානය සනිටුහන් කරනවා

02.c program එකකදී lower case හා upper case characters ඉතාමත් වැදගත්.c program එකක සියලුම විධානයන් මෙම lowercase එකෙහි අඩංගු වෙනවා.c program එකක ආරම්භක ස්ථානය main( ) කියන වචනය මගින් අඳුනාගන්නවා.

03. එමෙන්ම C භාෂාව case sensitive ය. එනම් ක්‍රමලේඛණයේදි ඉංග්‍රිසි කැපිටල් සහ සිම්පල් අක්ෂර භේදය ගැන සැලකිලිමත් විය යුතුය.

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

05.printf(“......”); - මෙම function එක මගින් සිදු වන්නේ මූලික වශයෙන් ප්‍රථිපලයක් තිරය මත දිස්කිරීම සඳහා යොදා ගනී. ඒ සඳහා output එක ලබාගැනීමට printf යෙදුම භාවිතා කරයි. එය C හි සම්මත output command එකකි.
printf යටතේ තිරය මත මුද්‍රනය විය යුතු කොටස වරහන් තුල “ “ ඇතුලත ලිවිය යුතුය. එමගින් ලියා ඇති කොටස වචන මාලාවක් ලෙස පරිගණකය හදුනාගනි.

06.සෑම Statments එකක්ම අවසානයේදී Statments එක අවසාන කිරීමට ; යෙදිය යුතුය.

07. return 0;  ඉහත මෙම කේතයේදි මූලික වශයෙන් තිරය මත මුද්‍රණයක් ලබාගත්තා විනා කිසිවක් පිටතට නොයවයි. එම නිසා return 0; ලෙස යෙදිමෙන් 0 අගය return කරන බව දන්නා ඇත.
නිතරම int හෝ එවැනි  data type එකක් යෙදු function එකක return  එකක් අනිවාර්යෙන්ම පැවතිය යුතුය. Data type ගැන ඉදිරියේදි සවිස්තරාත්මකව විස්තර කෙරේ.
යම් කිසි function එකකින් කිසිවක් return නොවේ නම්  එය void ලෙස හඳුන්වා දිය හැකිය.

08. Comments - C භාෂාවෙදි Comment කිරිමේ පහසුකම සලසා ඇත. එමගින් සිදුවන්නෙ සරලව comment කර ඇති කොටස මග හැර ඉතිරු කොටස් පමණක් compile වීමයි.
C හි comment කල හැකි ආකාර දෙකක් පවතී.
1). තනි line එකක් comment කිරීම.



මෙහි දැක්වෙන ආකාරයට "//" සංඛේතයෙන් හැදින්වෙන්නෙ comment එකක ආරම්භය බවයි. ක්‍රමලේඛය compile වන අවස්ථාවේදි මෙලෙස ඇරඹී ඇති පද අතහැර ඉදිරියට යයි.

2). පේලි කිහිපයක් එකවර comment කිරීම.





මෙහි දැක්වෙන ආකාරයට "/*" ලෙස ඇරඹෙන code line එක comment එකෙහි ආරම්භය ලෙසත් "*/" ලෙස එහි අවසානය සනිටුහන් වන තුරු පේලි කිහිපයක් වුවත් commented කොටසක් ලෙස compiler එක විසින් හදුනාගනියි.
09.getch( ) - මෙය function එකක් වන අතර මෙම functionඑකට prototype නොහොත් මූළාකෘතියක් තියෙනවා.මෙම prototypeඑක conio.h කියන header file එක නිශ්චය කර ගන්නවා.ඔබ ලියන program එක dos windowව තුල රඳවා තබන්නේද මෙම funtion එක වීම තවත් වැදගත් කරුණක්.
10.Characters & Tokens – c භාෂාවේ හමුවන අකුරු හා ටෝකන් පත් -
c programe එකක ප්‍රධාන තැනුම් ඒකකය එම c programe එක ගොඩනග තිබෙන අකුරු වෙනවා.මෙම අකුරු භාෂාමය වශයෙන් ඉංග්‍රීසි අක්ෂර වේ.
උදාහරණ විදියට,

1). Numeric digits: 0-9
2). lowercase/uppercase letters: a-z & A-Z
3). Space: Blank
4). Special Characters: ,.:;?”/(){}*&%^ etc. කියල හදුන්වන්න පුළුවන්.

Tokens යනු high level language ගොඩ නැගීම සඳහා හැඩගැසුණු මුලාවයවයි. මෙම අකුරුද භාෂාමය වශයෙන් ඉංග්‍රීසි අක්ෂර වේ.විවිධ වර්ගයේ ටෝකෙන් පත් උපයෝගී කර ගනිමින් High level c language එකක ප්‍රකාශනයන් ගොඩ නගා ගන්න පුළුවන්.
මෙම භාෂාවේ ටොකන් පත් වර්ග 6ක් දකින්න පුළුවන්,

1). Reserved words (key boards)
2). Identifiers
3). Constants
4). String literals
5). Punctuators
6). Operators
  
අදට නම් ලිපිය ප්‍රමාණවත් කියල හිනතනවා. මොනවද මේ ටෝකන් පත් වලින් වෙන්නේ , තවත් c language එක සම්බන්ධ තොරතුරු සහ  programming කරන්නේ කොහොමද යනාදිය අපි ඉදිරියේදී කතා කරන්න බලාපොරොත්තු වෙනවා.ඒ වගේම ගොඩාක් අයට මේ වන විට යම් මුලික දැනුම ඇති, ඉදිරියදී එන ලිපි මගින් ඔයාලට c language සම්බන්දයෙන් විශාල දැනුමක් ලැබෙයි කියල මම විශ්වාස කරනවා.
එනහනම් යාලුවනේ මම ගියා අපි ඉක්මනින්ම නැවත හමුවෙමු.


***ඔයාලට මේ සම්බන්දයෙන් ඕනෑම ගැටළුවක් තිනයනවා නම් Comment මගින් විමසන්න.

Written by Sami.

18 comments :

චමීයා................ මන් ඔයාගේ ලොකු....... ෆෑන් කෙනෙක් :v ,
අම්මට සිරි , මු මේ දවස් ටිකට C ගිලලද , පට්ටට ලියල මචං ,
සුබ !

October 15, 2013 at 8:37 AM comment-delete

mach ane thwa kiyala diynko c kelevila ienne me mata

November 23, 2014 at 3:12 AM comment-delete

එලම පට්ට
මටත් තව ඉගෙන ගන්න ඕනා

March 14, 2016 at 7:52 AM comment-delete

superb
Thanks!

May 11, 2016 at 3:27 AM comment-delete

mt podi udwwk one

May 21, 2016 at 4:52 AM comment-delete

mama south eastern wala ICT karana kenek aiye, dena ewa ohe liwwata, stdio.h math return0 wage C wala basic allagaththe, monada e liyanne kiyala allagaththe me post eken thama aaa... thank U very much

February 19, 2017 at 12:35 AM comment-delete

Good bro

May 9, 2017 at 10:22 AM comment-delete

great job.congratulations...

February 12, 2018 at 7:48 PM comment-delete

Thanks matath igena ganna ona

February 27, 2018 at 2:31 AM comment-delete

��✔��niyamai

April 16, 2018 at 6:33 PM comment-delete

Very nice

May 29, 2018 at 10:39 AM comment-delete

thnkz for your help

June 28, 2018 at 10:20 PM comment-delete

Elama

July 30, 2018 at 9:24 AM comment-delete

Elama

July 30, 2018 at 9:26 AM comment-delete

PATTTA

March 30, 2019 at 10:12 AM comment-delete

Thanks sahoo

September 5, 2019 at 8:58 AM comment-delete

Thnx saho

March 7, 2020 at 6:27 AM comment-delete

pattai file handig danako

May 1, 2020 at 12:40 AM comment-delete

Post a Comment

Related Posts Plugin for WordPress, Blogger...