Good article. Keep it up.
Posts made by Kalana
-
RE: Machinelearning is an application of artificial intelligence
-
C Programming මුල සිට ඉගෙනගනිමු (part 6 - Decision making(if-else statement - part 2))
කලින් කොටසේ අපි ඉගෙන ගත්තා if, else if, else වැඩ කරන විදිහ හා ඒවා භාවිතා කරන ආකාරය පිලිබද. මේ කොටසින් මන් තව දුරටත් මේ statement එක ගැන කතා කිරීමට බලාපොරොත්තු වෙනවා.
අපි දැන් බලමු
&& (AND)
,|| (OR)
,! (NOT)
gates if condition එකක් ඇතුලේ වැඩ කරන ආකාරය.&&
,||
,!
ගැන මන් මගේ කලින් ලිපියක සඳහන් කලාC Programming මුල සිට ඉගෙනගනිමු (part 3 - Operators) -: https://bit.ly/2ruMH22
&&
(AND)-
කලින් ලිපියේ අපිට 0 ට වඩා විශාල සංඛ්යා සෙවීමට දුන් විට අපි if(num > 0) භාවිතා කලා.
-
ඒ වගේම අපිට 0 ට වඩා කුඩා සංඛ්යා සෙවීමට දුන් විට අපි if(num < 0) භාවිතා කලා.
-
නමුත් අපිට කිව්වොත් 0 ත් 100ත් අතර සංඛ්යාවක් සෙවීමට දුන්නොත් කොහොමද if එකක් යොදාගෙන ඒ දේ කරන්නේ
මන් මේක සරල ප්රශ්නයක් ඔස්සේ පැහැදිලි කරන්නම්.
Question 1 -: Write a C program to input number from keyboard. find out that number in between 0 and 100. If it is true
display a message called "success" otherwise display a message "fail".මේ ප්රශ්නෙන් කියවෙන්නේ අපි සංඛ්යාවක් input කරපු විට එම සංඛ්යාව 0 ත් 100 ත් අතර පවතින සංඛ්යාවක් නම් "success" කියලා message එකක් එන්න ඕන. එම සංඛ්යාව 0 ත් 100 ත් අතර නැතිනම්
"fail" කියලා message එකක් එන්න ඕන. මන් මේක පියවර ආකාරයෙන් පැහැදිලි කරන්නම්.-
අපි 0 ට වැඩි සංඛ්යා නිරූපණය කරන්නේ
num > 0
මගින්. (num
කියලා කියන්නේ අපි ගත්තු random variable එකක්) -
අපි 100 ට වඩා අඩු සංඛ්යා නිරූපණය කරන්නේ
num < 100
මගින්. -
** එම නිසා 0 ත් 100 ත් අතර සංඛ්යාවක් වීමට නම්
num
කියන variable එක0 < num < 100
මේ විදිහට පැවතිය යුතුය.** එනම්num > 0
හාnum < 100
යන කරුණු දෙක එකවර
සත්ය විය යුතුය. කරුණු එකකට වඩා වැඩි ගණනක් එක වර සත්යදැයි බලන gate එක වන්නේ AND(&&
) gate එකයි. අපි දැන් මේ ප්රශ්නය විසදමු.
#include <stdio.h> int main() { int num; printf("Enter a number = "); scanf("%d", &num); //කිසියම් සංඛ්යාවක් input කිරීම if(num > 0 && num < 100) //එම සංඛ්යාව 0ට වඩා විශාල හා 100ට වඩා කුඩානම් { printf("Success"); } else //එම සංඛ්යාව 0ත් 100ත් අතර නොමැතිනම් { printf("fail"); } return 0; }
First run -: Enter a number = 50 Success
Second run-: Enter a number = 105 fail
Third run -: Enter a number = -20 fail
||
(OR)මේකෙන් කරන්නේ කරුණු රාශියකින් එක කරුණක් හෝ සත්ය නම් ක්රියාත්මක වෙන එක. මන් මේකත් සරල උදාහරණයක් මඟින් දක්වන්නම්
**Question 2 -: ** Write a C programm to input number from keyboard. That number should be smaller than 0 or
greater than 100. otherwise display "fail" message.මේ ප්රශ්නෙන් කියවෙන්නේ අපි සංඛ්යාවක් input කරපු විට එම සංඛ්යාව 0 ට වඩා කුඩා හෝ 100 ට වඩා විශාල බව සොයන්න යන්නයි. මෙම අවස්තාවේදී අපි 0ත් 100ත් අතර සංඛ්යාවක් ඇතුලත් කලොත්
"fail" කියලා message එකක් display කල යුතු වේ.- එනම් num < 0 උනොත් සත්ය වේ. (success)
- num > 100 උනොත් සත්ය වේ. (success)
- 0 < num < 100 උනොත් අසත්ය වේ (fail)
අපි දැන් මේ ප්රශ්නය විසදමු.
#include <stdio.h> int main() { int num; printf("Enter a number = "); scanf("%d", &num); //කිසියම් සංඛ්යාවක් input කිරීම if(num < 0 || num > 100) //සංඛ්යාව 0ට වඩා කුඩා හෝ සංඛ්යාව 100ට වඩා විශාල නම්. එනම් මෙම කාරණා දෙකෙන් එක කාරණයක් සත්ය විය යුතුය. { printf("Success"); } else //සංඛ්යාව 0ත් 100ත් අතර පවතී නම් { printf("fail"); } return 0; }
First run -: Enter a number = 105 Success
Second run-: Enter a number = -5 Success
Third run -: Enter a number = 40 fail
!
(NOT)දී ඇති කාරණය සත්ය නම් එය අසත්යක් ලෙස පිලිගැනීම මෙමගින් සිදු කරයි.
**Question 3 -: ** Write a C programm to input number from keyboard. If that number not equal to 0 display "success" message.
otherwise display "fail" message.මෙහිදී කියන්නේ ඔබ ඇතුලත් කරන සංඛ්යාව 0ට අසමාන නම් "success" කියලා message එකක් output කරන්න කියලා. 0ට සමාන නම් "fail" කියලා message එකක් output කල යුතුයි.
අපි දැන් මේ ප්රශ්නය විසදමු.
#include <stdio.h> int main() { int num; printf("Enter a number = "); scanf("%d", &num); //කිසියම් සංඛ්යාවක් input කිරීම if(!(num == 0)) //එම සංඛ්යාව 0 සමඟ සසදා එය අසත්යනම් එය සත්යක් ලෙස ගැනීම { printf("Success"); } else // //එම සංඛ්යාව 0 සමඟ සසදා එය සත්යනම් එය අසත්යක් ලෙස ගැනීම { printf("fail"); } return 0; }
First run -: Enter a number = 5 Success
Second run-: Enter a number = 0 fail
අපි අවසාන වශයෙන් තරමක් දිගු C application එකක් සාදමු.
Question 4 -: write a program to fulfill this table
Mark Grade 100 >= Mark >= 80 A 79 >= Mark >= 70 B 69 >= Mark >= 45 C 0>= Mark <= 44 F Otherwise Error
#include <stdio.h> int main() { int mark; printf("Enter a mark = "); scanf("%d", &mark); //කිසියම් සංඛ්යාවක් input කිරීම if(mark <= 100 && mark >= 80) //එම සංඛ්යාව 100 හා 80 අතර ඇත්නම් { printf("A Grade"); } else if(mark <= 79 && mark >= 70) //එම සංඛ්යාව 79 හා 70 අතර ඇත්නම් { printf("B Grade"); } else if(mark <= 69 && mark >= 45) //එම සංඛ්යාව 69 හා 45 අතර ඇත්නම් { printf("C Grade"); } else if(mark <= 44 && mark >= 0) //එම සංඛ්යාව 44 හා 0 අතර ඇත්නම් { printf("F Grade"); } else //එම සංඛ්යාව 100 වඩා වැඩි හෝ 0 ට වඩා අඩුනම් { printf("Error"); } return 0; }
First run -: Enter a mark = 90 A Grade
Second run-: Enter a mark = 70 B Grade
Third run -: Enter a mark = 50 C Grade
Forth run -: Enter a mark = 35 F Grade
Fifth run -: Enter a mark = -5 Error
Sixth run -: Enter a mark = 105 Error
මන් මේ පිලිබද ප්රශ්න කිහිපයකුත් දාන්නම් ඒවගේ උත්තරත් එක්ක.
- Obtain two numbers from the keyboard and display the larger number.
answer -> https://drive.google.com/open?id=1_HwG20mPZOdRcl3Hakorim9KixD4howV
- Enter the final mark of a student and display “Pass” or “Fail”. Student should get more than 45 marks to pass a subject.
answer -> https://drive.google.com/open?id=1ZM65EF1eBzgVR86egEjXkRkAYjvTIEEW
- Read an integer from the keyboard. If the number is > 0 display “number is positive”.
If number is zero display “ Number is zero”. Otherwise display “Number is negative”.
answer -> https://drive.google.com/open?id=1AGC9wTuQgRQXCtB4S_3XGvbs8AGBc9m6
- Develop a C program to determine if a customer has exceeded the credit limit on an account. Following details are
taken from the keyboard.
- Account Number
- Balance at the beginning of the month
- Allowed Credit Limit
- Total credits
- Total charges
Calculate the new balance (= balance at the beginning + charges – credits) and determine if the new balance exceeds
credit limit. The program should display the new balance and the message, “Credit Limit exceeded”.answer -> https://drive.google.com/open?id=1ZwiClrRQ-rPX9cx2XNX3XF6mWhT3SDeH
- Develop a program that will determine the gross pay for employees. The company pays “straight time” for the first
40 hours worked by the employee and pays “time-and-a –half” for all hours excess of 40 hours.
Write a C program to enter the no of hours worked, hourly rate and calculate the employee’s gross pay.
answer -> https://drive.google.com/open?id=1ua96xG_lfxdDtHOqWwu-e6RzUFb5m6nd
- C programm එකක් windows වල run කරන විදිහ --> https://bit.ly/2O6rLXR
ඔබට අවශ්යනම් ඔබේ බ්රව්සර් එක හරහා online C programms run කරන්න පුලුවන්. එහෙම කරන්න පුලුවන් ලින්ක්ස් මන් පහතින් දාන්නම්
- https://www.onlinegdb.com/online_c_compiler
- https://www.tutorialspoint.com/compile_c_online.php
- https://repl.it/languages/c
සරලව මුල ඉදන් C programming ඉගෙන ගන්න පුලුවන් හොදම site දෙකත් මන් දාන්නම්
- https://www.geeksforgeeks.org/c-programming-language/
- https://www.tutorialspoint.com/cprogramming/index.htm
මගේ කලින් ලිපි
- C Programming මුල සිට ඉගෙනගනිමු(part 1 - Introduction) -: https://bit.ly/2O6rLXR
- C Programming මුල සිට ඉගෙනගනිමු (part 2 - Variables) -: https://bit.ly/2spD6Kn
- C Programming මුල සිට ඉගෙනගනිමු (part 3 - Operators) -: https://bit.ly/2ruMH22
- C Programming මුල සිට ඉගෙනගනිමු (part 4 - Input & Output functions) -: https://bit.ly/2qU8IaK
- C Programming මුල සිට ඉගෙනගනිමු (part 5 - create simple applications) -: https://bit.ly/2DDfy7b
- C Programming මුල සිට ඉගෙනගනිමු (part 6 - Decision making(if-else statement - part 1)) -: https://bit.ly/2LiVsmZ
මන් ඊළග ලිපියෙන් කියලා දෙන්නම් switch statement ගැන . මගේ ලිපි වල අඩුපාඩු තියෙනවනම් දන්නේ නැති දේවල් තියෙනවනම් පහලින් කමෙන්ට් එකක් දාන්න.
තව ලිපියකින් හම්බෙමු ජය වේවා. -
-
RE: C Programming මුල සිට ඉගෙනගනිමු (part 6 - Decision making(if-else statement - part 1))
@root oyalage fb page eke nama mokkda?
-
C Programming මුල සිට ඉගෙනගනිමු (part 6 - Decision making(if-else statement - part 1))
Decision making පිලිබද සරල හැදින්වීමක් කලොත් එයින් අදහස් වන්නේ යම් කිසි තීරණයක් ගැනීමයි. එනම් යම් කිසි නිර්ණායකයක් මත ගැලපෙන හොදම තීරණය ගැනීමයි. මෙය සංකීර්ණ වගේ පෙනුනට හරිම
සරලයි. මන් පොඩි උදාහරණයක් අරගෙන මේ දේ පැහැදිලි කරන්නම්.උදා -: මන් වර්ණ කිහිපයකින් සමන්විත බෝල මල්ලක් ඔයාට දෙනවා දීලා කියනවා රතු පාට බෝලයි නිල් පාට බෝලයි ඉතුරු වෙන අනිත් පට බෝලයි වෙන වෙනම පෙට්ටි තුනකට දාන්න කියලා. ඔයා ඊට පස්සේ මේ බෝල
විශ්ලේශණය කරලා පාට අනූව ගොඩවල් තුනට වෙන් කරනවා.- පලමුව ලබා ගන්නා බෝලය නිල් පාටනම් එය පලමු පෙට්ටියට දානවා.
- එසේ නොවේනම් පලමුව ලබා ගන්නා බෝලය රතු වේ නම් එය දෙවන පෙට්ටියට දානවා.
- ඉහත කී පාටවල් දෙකම නොවී වෙන පාටක් ලැබුනේ නම් එය තුන්වන පෙට්ටියට දානවා.
ඉහත මන් සදහන් කලේ ඔබට ගත හැකි තීරණ(Decision) ගණනයි.
C Programming වල Decision making(තීරණ ගතහැකි) නිර්ණායක 4ක් තිබේ.
1.if
statement.
2.switch
statement.
3.? :
operator.
4.goto
statement.C Programming වල අප වැඩි වශයෙන් භාවිතා කරන්නේ පලමු කාරණා දෙක පමණි.
if
statementif
යන්නේ සරල අදහස වන්නේ එනම් යන්නයි. මෙය C Program වල පවතින ආකෘතිය වන්නේ
if(expression) //expression යනු අපගේ නිර්ණායකයයි { statement; //statement යනු අපගේ නිර්ණායකය සත්ය වුවහොත් run වෙන අපගේ code එකයි. }
අපි දැන්
if
පාවිච්චි කරලා සරල c code එකක් ලියමු. මෙහිදී අප කරන්නේ ඉලක්කම් දෙකක් ගෙන පලමු ඉලක්කම දෙවන ඉලක්කමට වඩා වැඩිනම් message එකක් පරිගණක තිරයේ display කරන එකයි.
මගේ කලින් ලියපු C Programming මුල සිට ඉගෙනගනිමු (part 3 - Operators) -: https://bit.ly/2ruMH22 කියවලා තිබ්බනම් දැන් කියන් දේ ගොඩක් පැහැදිලි වෙයි.#include <stdio.h> int main() { int num1 = 10; int num2 = 5; if(num1 > num2) //10 සෑම විටම 5 ට වඩා විශාල වන නිසා මෙම නිර්ණායකය සත්ය වේ. එම නිසා if එක ඇතුලේ ඇති printf එක run වේ. { printf("Number1 is greater than Number2"); } return 0; }
output -: Number1 is greater than Number2
else
නමුත් මොකද වෙන්නේ Number1 වලට වඩා Number2 විශාල උනොත්. ඔබට පේනව ඇති හැම විටම අපිටif
වලින් විතරක් සෑහීමකට පත්වීමට බැරි බව. එබැවින් අපිif
සමගelse
භාවිතා
කල යුතු වේ.else
යන්නේ සරල අදහස වන්නේ එසේ නොවේනම් යන්නයි.else
statement කිසිවිටකත් තනිව යෙදිය නොහැකිය. එය සෑම විටමif
එකක් සමග යෙදිය යුතු වේ. එමෙන්මif
වල
ආකාරයට වරහන් තුල නිර්ණායක ලිවීම සිදු නොකරයි.if(expression) { statement; } else //මෙහි නිර්ණායක ලිවීමක් සිදු නොකරයි. { statement; //if තුල ඇතු නිර්ණායකය(expression එක) වැරදි නම් මෙය run වේ. }
අපි මෙය
scanf
යොදා ගනිමින් පරික්ෂා කරමු.#include <stdio.h> int main() { int num1; int num2; printf("Enter number1 = "); scanf("%d", &num1); //number1 හි අගය ඇතුලත් කිරීම. printf("Enter number2 = "); scanf("%d", &num2); //number2 හි අගය ඇතුලත් කිරීම. if(num1 > num2) //number1 හි අගය number2 හි අගයට වඩා විශාලනම් මෙය run වේ. { printf("Number1 is greater than Number2"); } else //number2 හි අගය number1 හි අගයට වඩා විශාලනම් මෙය run වේ. { printf("Number2 is greater than Number1"); } return 0; }
First run -: Enter number1 = 10 Enter number2 = 5 Number1 is greater than Number2
Second run-: Enter number1 = 5 Enter number2 = 10 Number2 is greater than Number1
අපි දැන්
if-else
භාවිතා කරමින් සරල c application එකක් හදමු.Question 1 -: When you enter a number from keyboard that number should be categorized into positive and negative.
Write a C program to fulfill this.මෙයින් කියවෙන්නේ ඔබ යම්කිසි සංඛ්යාවක් input කල විට එම සංඛ්යාව ධන සංඛ්යාවක්ද සෘණ සංඛ්යාවක්ද යන්න නිර්ණය කරන්න යන්නයි.
- ධන සංඛ්යා(possitive numbers) -: 0 ට වඩා වැඩි සංඛ්යා
- සෘණ සංඛ්යා(negative numbers) -: 0 ට වඩා අඩු සංඛ්යා
#include <stdio.h> int main() { int number; printf("Enter a number = "); scanf("%d", &number); //යම්කිසි සංඛ්යාවක් ඇතුලත් කිරීම if(number > 0) //ඇතුලත් කල සංඛ්යාව 0ට වඩා විශාලනම් { printf("Positive number"); } else // ඇතුලත් කල සංඛ්යාව 0ට වඩා කුඩානම් { printf("Negative number"); } return 0; }
First run -: Enter a number = 3 Positive number
Second run-: Enter a number = 3 Positive number
Question 2 -: Improve above code to check whether entered number is odd or even.
මෙහි සඳහන් වන්නේ අපි ඇතුලත් කරන සංඛ්යාව ඔත්තේ(odd) ද ඉරට්ටේද(even) යන්න නිර්ණය කරන ලෙසයි. ප්රශ්නය සදහන් කර ඇති පරිදි කලින් අපි run කල code එක වැඩි දියුනු කරන්න කියලා තමා
ප්රශ්නයේ සඳහන් කරන්නේ. මෙය කරන විදිහ පියවර ආකාරයෙන් මන් පැහැදිලි කරන්නම්.-
අපි සංඛ්යාවක් ධනද සෘණද යන්න වෙන් කර අවසන් දැන් තිබෙන්නේ එය
- ධන ඔත්තේද(possitive odd)
- ධන ඉරට්ටේද(possitive even)
- සෘණ ඔත්තේද(negative odd)
- සෘණ ඉරට්ටේද(negative even)
-
කොහොමද අපි සංඛ්යාවක් ඔත්තේද ඉරට්ටේද යන්න සොයා බලන්නේ. මන් ඔයාලට කියලා දෙන්නම් සරල ක්රමයක්.
- යම් කිසි සංඛ්යාවක් 2න් ඉතුරු නැතුව බෙදේ නම් එය ඉරට්ටේ සංඛ්යාවක් වේ. C program වල ගත්තොත්
number % 2 == 0
(2න් බෙදූ විට ඉතුරු බිංදුවට සමාන නම්). - යම් කිසි සංඛ්යාවක් 2න් බෙදූ විට ඉතුරු 1ක් ලැබේ නම් එය ඔත්තේ සංඛ්යාවකි. C program වල ගත්තොත්
number % 2 == 1
(2න් බෙදූ විට ඉතුරු එකට සමාන නම්).
- යම් කිසි සංඛ්යාවක් 2න් ඉතුරු නැතුව බෙදේ නම් එය ඉරට්ටේ සංඛ්යාවක් වේ. C program වල ගත්තොත්
-
ඔබ දන්නවාද අපිට
if-else
ඇතුලේ තවත්if-else
ලිවිය හැකි බව. ඒif-else
තුලත් තවත්if-else
ලිවිය හැකි බව. මෙය අනන්තය දක්වා ලිවිය හැක.
උදා -:
if(expression) { if(expression) { statement; } else { statement; } } else { if(expression) { statement; } else { statement; } }
මෙම ආකෘතිය යොදා ගනිමින් Question 2 එක විසදමු.
#include <stdio.h> int main() { int number; printf("Enter a number = "); scanf("%d", &number); //යම්කිසි සංඛ්යාවක් ඇතුලත් කිරීම if(number > 0) //සංඛ්යාව 0ට වඩා විශාලදැයි බැලීම { if(number % 2 == 0) //සංඛ්යාව 2න් ඉතුරු නැතිව බෙදේදැයි බැලීම. එනම් ඉතුරි 0 ට සමාන වේදැයි බැලීම. { printf("Positive even number"); } else { printf("Positive odd number"); } } else //ඇතුලත් කල සංඛ්යාව 0ට වඩා කුඩානම් { if(number % 2 == 1) //සංඛ්යාව 2න් බෙදූවිට ඉතුරු 1ක් ලැබේදැයි බැලීම { printf("Negative even number"); } else { printf("Negative odd number"); } } return 0; }
First run -: Enter a number = 4 Positive even number
Second run-: Enter a number = 3 Positive odd number
Third run -: Enter a number = -4 Negative even number
Forth run -: Enter a number = -3 Negative odd number
else if
කලින් ප්රශ්න වලදි ඔයාට කිව්වා සංඛ්යාවක් input කල විට එය ධනද සෘණද යන්න සොයා බලන විට. නමුත් අපි 0 ඇතුලත් කලොත් එයට කුමක් සිදු වේද. 0 යනු ධනත් නොවේ සෘණත් නොවේ. එමනිස ඔබට පේනවා ඇති
if-else
පමණක් අපට සෑහීමකට පත්විය නොහැකි බව. එම නිසා අපිටelse if
මෙහිදී භාවිතා කිරීමට සිදු වනවා.else if
සරල අදහස වන්නේ එසේත් නැතිනම් යන්නයි.else if
භාවිතා කල හැක්කේif
තිබ්බොත් පමණි.if
වලට පසුවත්else
වලට කලිනුත්else if
යොදා භාවිතා කරයි.- මෙහි ඇති තවත් විශේශත්වයක් වන්නේ අපිට කැමති ප්රමාණයක්
else if
භාවිතා කල හැකි වීමයි.
උදා-:
if(expression) { statement; } else if(expression) { statement; } else { statement; }
Question 3 -: When you enter a number from keyboard that number should be categorized into positive and negative.
And also if you enter 0(zero) program should display a message. Write a C program to fulfill this.මෙහි පවසන ආකාරයට කලින් පරිදි සංඛ්යාවක් ධනද සෘණද යන්න නිර්ණය කල යුතු අතර. 0 ඇතුලත් කරොත් එය මෙනම display කල යුතු වේ.
#include <stdio.h> int main() { int number; printf("Enter a number = "); scanf("%d", &number); //යම්කිසි සංඛ්යාවක් ඇතුලත් කිරීම if(number > 0) //සංඛ්යාව 0ට වඩා විශාලදැයි බැලීම { printf("Positive number"); } else if(number < 0) //සංඛ්යාව 0ට වඩා කුඩාදැයි බැලීම { printf("Negative number"); } else //සංඛ්යාව ධන හෝ සෘණ යන දෙකම නොවේනම් { printf("Zero"); } return 0; }
First run -: Enter a number = 4 Positive number
Second run-: Enter a number = -4 Negative number
Third run -: Enter a number = 0 Zero
- මූලාශ්ර -: https://www.studytonight.com/c/decision-making-in-c.php
- C programm එකක් windows වල run කරන විදිහ --> https://bit.ly/2O6rLXR
ඔබට අවශ්යනම් ඔබේ බ්රව්සර් එක හරහා online C programms run කරන්න පුලුවන්. එහෙම කරන්න පුලුවන් ලින්ක්ස් මන් පහතින් දාන්නම්
- https://www.onlinegdb.com/online_c_compiler
- https://www.tutorialspoint.com/compile_c_online.php
- https://repl.it/languages/c
සරලව මුල ඉදන් C programming ඉගෙන ගන්න පුලුවන් හොදම site දෙකත් මන් දාන්නම්
- https://www.geeksforgeeks.org/c-programming-language/
- https://www.tutorialspoint.com/cprogramming/index.htm
මගේ කලින් ලිපි
- C Programming මුල සිට ඉගෙනගනිමු(part 1 - Introduction) -: https://bit.ly/2O6rLXR
- C Programming මුල සිට ඉගෙනගනිමු (part 2 - Variables) -: https://bit.ly/2spD6Kn
- C Programming මුල සිට ඉගෙනගනිමු (part 3 - Operators) -: https://bit.ly/2ruMH22
- C Programming මුල සිට ඉගෙනගනිමු (part 4 - Input & Output functions) -: https://bit.ly/2qU8IaK
- C Programming මුල සිට ඉගෙනගනිමු (part 5 - create simple applications) -: https://bit.ly/2DDfy7b
මන් ඊළග ලිපියෙන් කියලා දෙන්නම්
&&
,||
,!=
භාවිතා කරලා if-else statement ලියන විදිහ . මගේ ලිපි වල අඩුපාඩු තියෙනවනම් දන්නේ නැති දේවල් තියෙනවනම් පහලින් කමෙන්ට් එකක් දාන්න.
තව ලිපියකින් හම්බෙමු ජය වේවා. -
C Programming මුල සිට ඉගෙනගනිමු (part 5 - create simple applications)
අද අපි කරන්න යන්නේ අපි මෙතෙක් කරන් ආපු පාඩම් උපයෝගී කරගෙන එදිනෙදා භාවිතා කල හැකි සරල applications කිහිපයක් නිර්මාණය කිරීමටයි. මන් කෙලින්ම ප්රශ්න වලට යොමු වෙන්නම්.
Question 1 -: Write a C program to enter the length and width of a rectangle and displays the diameter and area.
-
මෙයින් කියවෙන්නේ දිග හා පළල උපයෝගී කරගනිමින් සෘජුකෝණාස්රයක පරිමිතිය හා වර්ගපලය සොයන්න යන්නයි.
-
මෙවැනි ප්රශ්නයකදී අප පලමුව අප කල යුත්තේ අපගේ inputs හා outputs හඳුනාගැනීමයි.
inputs -: මෙහිදී අපට keyboard එකෙන් දත්ත ඇතුලත් කර යුත්තේ දිග(length) හා පළල(width) යන ඒවාගේය.
outputs-: මෙහිදී අපට පරිගනක තිරයේ display කල යුත්තේ පරිමියතිය(diameter) හා වර්ගපලයයි(area). -
ඔබට දැන් පෙනෙනවා මෙම ප්රශ්නයේදි අපි variables 4ක් මතු කලා. ඒවා නම්
- length
- width
- diameter
- area
-
අපි දැන් බැලිය යුත්තේ මේවා පූර්ණ සංඛ්යාද, දශම සංඛ්යාද යන වගයි. මෙම variables 4 සැලකූ කල මේවා පූර්ණ සංඛ්යා හා දශම සංඛ්යා යන දෙයාකාරයෙන්ම පවතී. එබැවින් මෙයට සුදුසුම variable type
එකfloat
වේ.
#include <stdio.h> int main() { float length, width; // අපගේ input variables දෙක float diameter = 0, area = 0; // මෙහිදී මෙම variables දෙක බිංදුවට සමාන කරන්නේ මෙම variables දෙක keyboard එකෙන් දත්ත input නොකරන නිසා වේ. // මෙහිදී අප මේවා බිංදුවට සමාන නොකලහොත් අවසන් පිලිතුර වැරදි පිලිතුරක් වීමේ ඉඩකඩක් පවතී. printf("Enter length = "); scanf("%f", &length); // දිග ඇතුලත් කිරීම printf("Enter width = "); scanf("%f", &width); // පලළ ඇතුලත් කිරීම. diameter = 2 * (length + width); // පරිමිතිය ලබා ගන්නා සමීකරණය area = length * width; // වර්ගපලය ලබා ගන්නා සමීකරණය printf("\nDiameter is = %.2f\n", diameter); // අවසාන දශම ස්තාන දෙකට පිලිතුර ලබා ගැනීම සදහා %f අතර මැදට .2 යොදයි printf("Area is = %.2f", area); return 0; }
මෙහිදී අපට ලැබෙන output එක වන්නේ
Enter length = 3.5 Enter width = 2.5 Diameter is = 12.00 Area is = 8.75
අපි දැන් තව උදාහරණයකට අවදානය යොමු කරමු.
Question 2 -: An Ice cream seller charge Rs.50/= for one ice creame. You can buy multiple ice creams from him. Write a C program to
find total bill and balance.-
මෙහි සදහන් පරිදි අයිස්ක්රීම් එකක මිල රුපියල් 50කි. ඔබට අයිස්ක්රීම් කිහිපයක් මිලදී ගත හැකිය. හිතන්න අයිස්ක්රීම් පහක් ගත්තා කියලා එතකොට මුළු බිල(total bill) රුපියල් 250යි. ඔයා මුදලාලිට 500ක්
දුන්නොත් ඔයාට 250ක් ඉතුරු(balance) හම්බෙනවා. -
කලින් වගේම මෙහිදීත් inputs හා outputs හදුනා ගනිමු
inputs -: මිලදී ගන්නා අයිස්ක්රීම් ගණන(quantity), අපි මුදලාලිට දෙන මුදල(given money)
outputs-: මුලු බිල(total bill), ඉතුරු මුදල(balance) -
මෙහිදීත් අප variables 4ක් මතු කලා.
- quantity
- given money
- total bill
- balance
-
වර්තමානයේදී අප සත භාවිතා නොකරන නිසා අපිට මෙහිදී සියලුම variables වලට
int
භාවිතා කල හැකිය. නමුත් සම්මත භාවිතයේදීfloat
භාවිතා කිරීම වඩාත් සුදුසු වේ.
int main() { int quantity; float given_money; float total_bill = 0, balance = 0; printf("Enter icecream quantity = "); scanf("%d", &quantity); // මිලදී ගැනීමට අව්ශ්ය අයිස්ක්රීම් ගණන ඇතුලත් කිරීම total_bill = 50.00 * quantity; // මුලු බිල ගණනය කිරීම printf("\nTotal bill is = %.2f\n", total_bill); printf("Money given by customer = "); scanf("%f", &given_money); // පාරිභෝගිකයා ලබා දුන් මුදල ඇතුලත් කිරීම balance = given_money - total_bill; // ඉතුරු මුදල ගණනය කිරීම printf("Balance is = %.2f", balance); return 0; }
මෙහිදී අපට ලැබෙන output එක වන්නේ
Enter icecream quantity = 5 Total bill is = 250.00 Money given by customer = 500 Balance is = 250.00
C programm එකක් windows වල run කරන විදිහ --> https://bit.ly/2O6rLXR
ඔබට අවශ්යනම් ඔබේ බ්රව්සර් එක හරහා online C programms run කරන්න පුලුවන්. එහෙම කරන්න පුලුවන් ලින්ක්ස් මන් පහතින් දාන්නම්
- https://www.onlinegdb.com/online_c_compiler
- https://www.tutorialspoint.com/compile_c_online.php
- https://repl.it/languages/c
සරලව මුල ඉදන් C programming ඉගෙන ගන්න පුලුවන් හොදම site දෙකත් මන් දාන්නම්
- https://www.geeksforgeeks.org/c-programming-language/
- https://www.tutorialspoint.com/cprogramming/index.htm
මගේ කලින් ලිපි
- C Programming මුල සිට ඉගෙනගනිමු(part 1 - Introduction) -: https://bit.ly/2O6rLXR
- C Programming මුල සිට ඉගෙනගනිමු (part 2 - Variables) -: https://bit.ly/2spD6Kn
- C Programming මුල සිට ඉගෙනගනිමු (part 3 - Operators) -: https://bit.ly/2ruMH22
- C Programming මුල සිට ඉගෙනගනිමු (part 4 - Input & Output functions) -: https://bit.ly/2qU8IaK
ඉහත ක්රමවේද අනුගමනය කරමින් අපට බොහෝ applications C programing භාවිතා කර නිර්මාණය කරගත හැකිය. තව උදාහරණ අව්ශ්යනම්, අඩුපාඩු තියෙනවනම්, දන්නේ නැති දේවල් තියෙනවනම්
පහලින් කමෙන්ට් එකක් දාන්න. තව ලිපියකින් හම්බෙමු ජය වේවා! -
-
RE: C Programming මුල සිට ඉගෙනගනිමු (part 4 - Input & Output functions)
@ciaompe එල මන් කිහිපයක්ම දාන්නම්.තෑන්ක් යූ
-
RE: C Programming මුල සිට ඉගෙනගනිමු (part 4 - Input & Output functions)
@ciaompe application එකක් කියලා කිව්වේ. පොඩ්ඩක් පැහැදිල කරන පුලුවන්ද
-
RE: jasper report printing problem
oyage full error eka add karana post ekata podk
-
C Programming මුල සිට ඉගෙනගනිමු (part 4 - Input & Output functions)
සුබ දවසක් ඔයාලට. කලින් දවසේ මන් ඔයාලට කියලා දුන්නා operators කියන්නේ මොනාද ඒවා වැඩ කරන්නේ කොහොමද කියලා. අද මන් කියලා දෙන්න යන්නේ C programming වල එන Input & Output
function ගැනයි.- Input -: සරලව පැහැදිලි කලොත් programm එකකට දත්ත ඇතුලත් කිරීමට තමා අපි Input එකක් කියලා කියන්නේ.
- Output -: සරලව කිව්වොත් යම්කිසි දත්තයක් අපේ screen එකේ display කරන functions වලට තමා Output function කියලා කියන්නේ.
C programming වල අපි Input & Output functions වර්ග තුනක් ගැන කතා කරනවා.
1.getchar()
andputchar()
2.gets()
andputs()
3.scanf()
andprintf()
getchar() and putchar()
- getchar() -: මෙම function එකෙන් එක්වරකට එක character value එකක් පමණක් Input කර ගනී.
- putchar() -: මෙම function එකෙන් එක්වරකට එක character value එකක් පමණක් Output කරයි
උදා -:
#include <stdio.h> int main() { int c; printf( "Enter a value :"); c = getchar( ); //මෙහිදී අපට අවශ්ය දත්තය keyboard එක ආධාරයෙන් Input කල යුතුය. printf( "\nYou entered: "); putchar( c ); //මෙහිදී අප කලින් keyboard එකෙන් Input කල දත්තය අපගේ පරිගණක තිරයේ display කරයි. return 0; }
output(1st run) -: Enter a value : aaaa You entered: a //ඔබ කෙතරම් characters ප්රමානයක් Input කලත් Output වන්නේ එක a එකක් පමනි. output(2nd run) -: Enter a value : 1111 You entered: 1
gets() and puts()
arrays භාවිතා කර Input හා Output කිරීමට මෙම function දෙක යොදා ගනී.උදා -:
#include <stdio.h> int main( ) { char comment[100]; printf( "Enter a value :"); gets(comment); //මෙහිදී අපට අවශ්ය දත්ත keyboard එක ආධාරයෙන් Input කල යුතුය. printf( "\nYou entered: "); puts(comment); ////මෙහිදී අප කලින් keyboard එකෙන් Input කල දත්ත අපගේ පරිගණක තිරයේ display කරයි. return 0; }
output(1st run) -: Enter a value : kalana123 You entered: kalana123
- scanf() and printf()
C programming වල අප වැඩියෙන්ම Input & Output සඳහා භාවිතා කරන්නේ මෙමෙ function දෙකයි. ඉහත සදහන් කල සියලුම දේවල් මෙම function දෙකෙන් ලේසියෙන්ම කරගන්න
පුලුවන් නිසා තමා මෙම function දෙක නිතරම අපි භාවිතා කරන්නේ.උදා -:
#include <stdio.h> int main( ) { int num; float height; char letter; char word[10]; printf("Enter a number = "); scanf("%d", &num); printf("Enter a height = "); scanf("%f%*c", &height); // මෙහිදී %f ට පසුව %*c යොදන්නේ ඊළගට ඇත්තේ char Input එකක් නිසායා. නැතහොත් අපට char අගයක් Input කල නොහැක. // සෑම විටම scanf("%c",) පෙර ඇති scanf එකකටම මෙමෙ %*c යෙදිය යුතු වේ. printf("Enter a letter = "); scanf("%c", &letter); printf("Enter a word = "); scanf("%s", &word); printf("\nNumber is = %d\n", num); printf("Height is = %f\n", height); printf("Letter is = %c\n", letter); printf("Word is = %s", word); }
output -: Enter a number = 1996 Enter a height = 2.22 Enter a letter = a Enter a word = kalana123 Number is = 1996 Height is = 2.220000 Letter is = a Word is = kalana123
සාරාංශය
scanf("%d", &xx);
-: Integers(int) Input කිරීමට මෙය යොදා ගනී. xx යනු ඕනෑම variable එකකි.scanf("%f", &xx);
-: Float numbers(float) Input කිරීමට මෙය යොදා ගනී.scanf("%c", &xx);
-: Charachter values(char) Input කිරීමට මෙය යොදා ගනී.scanf("%s", &xx);
-: String(char arrays) values Input කිරීමට මෙය යොදා ගනී.
මූලාශ්ර -: https://www.tutorialspoint.com/cprogramming/c_input_output.htm
C programm එකක් windows වල run කරන විදිහ --> https://bit.ly/2O6rLXR
ඔබට අවශ්යනම් ඔබේ බ්රව්සර් එක හරහා online C programms run කරන්න පුලුවන්. එහෙම කරන්න පුලුවන් ලින්ක්ස් මන් පහතින් දාන්නම්
- https://www.onlinegdb.com/online_c_compiler
- https://www.tutorialspoint.com/compile_c_online.php
- https://repl.it/languages/c
සරලව මුල ඉදන් C programming ඉගෙන ගන්න පුලුවන් හොදම site දෙකත් මන් දාන්නම්
- https://www.geeksforgeeks.org/c-programming-language/
- https://www.tutorialspoint.com/cprogramming/index.htm
මගේ කලින් ලිපි
- C Programming මුල සිට ඉගෙනගනිමු(part 1 - Introduction) -: https://bit.ly/2O6rLXR
- C Programming මුල සිට ඉගෙනගනිමු (part 2 - Variables) -: https://bit.ly/2spD6Kn
- C Programming මුල සිට ඉගෙනගනිමු (part 3 - Operators) -: https://bit.ly/2ruMH22
කලින් ලිපි වල වගේ මේ ලිපියෙත් ඉල්ලනවා අඩු පාඩු තිබ්බොත් පහලින් කමෙන්ට් එකක් දාන්න. තව වැඩි දියුණු වෙන්න ඕන ඒවා තියෙනවනම් ඒවත් දාන්න.
-
C Programming මුල සිට ඉගෙනගනිමු (part 3 - Operators)
සුබ දවසක් ඔයාලට. කලින් දවසේ මන් ඔයාලට කියලා දුන්නා variables කියන්නේ මොනාද ඒවා වැඩ කරන්නේ කොහොමද කියලා. අද මන් කියලා දෙන්න යන්නේ C programming වල එන operators
ගැනයිOperators
-
operator එකක් කියන්නේ කිසියම් අගයක් හෝ විචල්යයක්(variable) හසුරුවන කිසියම් සංකේතයකටයි.
උදා -: +, -, /, *, =, >, <....... -
C programming වල අපි ප්රධාන වශයෙන් operators වර්ග 4ක් ගැන අධ්යනය කරනවා
1. Arithmetic Operators -: ගණිතමය ක්රියාකාරකම් සඳහා මේවා යොදා ගනී. (උදා -: +, -, *, /, %) 2. Assignment Operators -: යම් කිසි අගයක් variable එකකට assign කරන්න මේවා යොදා ගනී. (උදා -: =, +=, -=, *=, /=, %=) 3. Relational Operators -: මෙහෙයුම් දෙකක් අතර සම්බන්ධතාවය පරීක්ෂා කිරීමට මේවා යොදා ගනී. (උදා -: ==, >=, <=, !=, >, <) 4. Logical Operators -: සරලව කිව්වොත් AND, OR, NOT වලට තමා logical pperators කියන්නේ(උදා -: &&, ||, !)
Arithmetic Operators
- කලින් කිව්වා වගේ මේවා යොදා ගන්නේ ගණිතමය ක්රියාකාරකම් සඳහා වේ.
operator meaning example + එකතු කිරීම 3 + 2 = 5 - අඩු කිරීම 3 - 2 = 1 * ගුණ කිරීම 3 * 2 = 6 / බෙදීම 4 / 2 = 2 % බෙදීමෙන් පසු ඉතුරු 3 % 2 = 1, 4 % 2 = 0
- අපි දැන් මෙම operators භාවිතා කරලා programm එකක් ලියමු.
#include <stdio.h> int main() { int num1 = 3, num2 = 2; int ans; ans = num1 + num2; printf("num1 + num2 = %d\n", ans); ans = num1 - num2; printf("num1 - num2 = %d\n", ans); ans = num1 * num2; printf("num1 * num2 = %d\n", ans); ans = num1 / num2; printf("num1 / num2 = %d\n", ans); ans = num1 % num2; printf("reminder = %d\n", ans); return 0; }
- මෙය run කල පසු output එක වන්නේ
num1 + num2 = 5 num1 - num2 = 1 num1 * num2 = 6 num1 / num2 = 1 reminder = 1
විශේෂ
- ඔයාලට මෙතන පේනවා ඇති බෙදීම වෙන තැන උත්තරය 1.5 ලැබිය යුතු වුවත් අපිට ලැබුනේ 1 පමණක් බව. මේකට ප්රධාන හේතුව වන්නේ අපේ
ans, num1, num2
යන variables සේරමintegers
වීමයි.integers
වලින් output කරන්නේ පූර්ණ සංඛ්යා විතරයි. මේ ප්රශ්නය මඟහැර ගන්න මේ පියවර අනුගමනය කරන්න
#include <stdio.h> int main() { int num1 = 3, num2 = 2; int ans; float answer; answer = num1 / (float)num2; //මෙහිදී අපි තාවකාලිකව num2 ව float අගයක් බවට පත්කරනවා. printf("num1 / num2 = %.2f\n", answer); answer = (float)num1 / num2; //මෙහිදී අපි තාවකාලිකව num1 ව float අගයක් බවට පත්කරනවා. printf("num1 / num2 = %.2f\n", answer); return 0; }
- මෙය run කල පසු output එක වන්නේ
num1 / num2 = 1.50 num1 / num2 = 1.50
-
තවදුරටත් Arithmetic Operators ගැන කතා කිරීමේදී අපිට හමුවනවා Increment and Decrement Operators යන වර්ග දෙක.
උදා -: num1 = 5 ලෙස ගනිමු. -
num++ --> num = num + 1;
- ans = num1++ --> මෙහි තේරුම වන්නේ
ans = num1; num1 = num1 + 1;
- ans = ++num1 --> මෙහි තේරුම වන්නේ
num1 = num1 + 1; ans = num1;
- මෙය භාවිතා කොට programm එකක් ලියමු.
#include <stdio.h> int main() { int num1 = 3; int num2 = 3; int num3 = 3; int num4 = 3; int ans; ans = num1++; printf("answer = %d\n", ans); ans = ++num2; printf("answer = %d\n", ans); ans = num3--; printf("answer = %d\n", ans); ans = --num4; printf("answer = %d\n", ans); return 0; }
- මෙය run කල පසු output එක වන්නේ
answer = 3 answer = 4 answer = 3 answer = 2
Assignment Operators
- යම් කිසි අගයක් variable එකකට assign කරන්න මේවා යොදා ගනී
Operator Example Meaning = a = b a = b += a += b a = a + b -+ a -= b a = a - b *= a *= b a = a * b /= a /= b a = a / b %= a %= b a = a % b
- අපි දැන් මෙම operators භාවිතා කරලා programm එකක් ලියමු.
#include <stdio.h> int main() { int ans; int num1 = 4; ans = num1; // ans = 4 printf("answer = %d\n", ans); ans += num1; //ans = 4 + 4 = 8 printf("answer = %d\n", ans); ans -= num1; //ans = 8 - 4 = 4 printf("answer = %d\n", ans); ans *= num1; // ans = 4 * 4 = 16 printf("answer = %d\n", ans); ans /= num1; // ans = 16 / 4 = 4 printf("answer = %d\n", ans); ans %= num1; // ans = 4 % 4 = 0 printf("answer = %d\n", ans); return 0; }
- මෙය run කල පසු output එක වන්නේ
answer = 4 answer = 8 answer = 4 answer = 16 answer = 4 answer = 0
Relational Operators
-
මෙහෙයුම් දෙකක් අතර සම්බන්ධතාවය පරීක්ෂා කිරීමට මේවා යොදා ගනී.
-
සම්බන්ධතාවය සත්ය නම් output ලෙස 1 ලැබේ.(එනම් එම condition එක true වේ)
-
සම්බන්ධතාවය අසත්ය නම් output ලෙස 0 ලැබේ.(එනම් එම condition එක false වේ)
Operator Meaning Example == සමාන වේද 5 == 3 පහ කිසිසේත්ම තුනට සමාන නොවේ, එනම් මෙය false වේ. එබැවින් output එක 0 වේ. 5 == 5 පහ හැමවිටම පහට සමාන වේ. මෙය true වේ. එබැවින් output එක 1 වේ. > විශාල වේද 5 > 3 පහ හැමවිටම තුනට වඩා විශාල වේ. එබැවින් output එක 1 වේ. 5 > 7 පහ කිසිවිටකත් හතට වඩා විශාල නොවේ. එබැවින් output එක 0 වේ. < කුඩා වේද 5 < 7 පහ හැමවිටම හතට වඩා කුඩා වේ. output = 1 5 < 3 පහ කිසිවිටකත් තුනට වඩා කුඩා නොවේ. output = 0 != අසමාන වේද 5 != 3 පහ සෑම විටම තුනට අසමාන වේ. එබැවින් මෙය සත්ය වේ. output = 1 5 != 5 පහ සෑම විටම පහට සමාන වේ. එබැවින් මෙය අසත්ය වේ. output = 0 >= විශාල හෝ සමාන වේද 5 >= 3 පහ තුනට සමාන නොවුනත් තුනට වඩා විශාල වේ. එබැවින් මෙය සත්ය වේ. output = 1 5 >= 5 පහ පහට වඩා විශාල නොවුනත් පහට සමාන වේ. එබැවින් මෙය සත්ය වේ. output = 1 5 >= 7 පහ හතට වඩා විශාලවත් සමානවත් වන්නේ නැත. එබැවින් මෙය අසත්ය වේ. output = 0 <= කුඩා හෝ සමාන වේද 5 <= 7 පහ හතට සමාන නොවුනත් හතට වඩා කුඩා වේ. එබැවින් මෙය සත්ය වේ. output = 1 5 <= 5 පහ පහට වඩා කුඩා නොවුනත් පහට සමාන වේ. එබැවින් මෙය සත්ය වේ. output = 1 5 <= 3 පහ තුනට වඩා කුඩාවත් සමානවත් වන්නේ නැත. එබැවින් මෙය අසත්ය වේ. output = 0
- අපි දැන් මෙම operators භාවිතා කරලා programm එකක් ලියමු.
#include <stdio.h> int main() { int ans; ans = (5 == 5); printf("(5 == 5)answer = %d\n", ans); ans = (5 == 3); printf("(5 == 3)answer = %d\n\n", ans); ans = (5 > 3); printf("(5 > 3)answer = %d\n", ans); ans = (5 > 7); printf("(5 > 7)answer = %d\n\n", ans); ans = (5 != 3); printf("(5 != 3)answer = %d\n", ans); ans = (5 != 5); printf("(5 != 5)answer = %d\n\n", ans); ans = (5 >= 3); printf("(5 >= 3)answer = %d\n", ans); ans = (5 >= 5); printf("(5 >= 5)answer = %d\n", ans); ans = (5 >= 7); printf("(5 >= 7)answer = %d\n\n", ans); ans = (5 <= 5); printf("(5 <= 5)answer = %d\n", ans); ans = (5 <= 7); printf("(5 <= 7)answer = %d\n", ans); ans = (5 <= 3); printf("(5 <= 3)answer = %d\n", ans); return 0; }
- මෙය run කල පසු output එක වන්නේ
(5 == 5)answer = 1 (5 == 3)answer = 0 (5 > 3)answer = 1 (5 > 7)answer = 0 (5 != 3)answer = 1 (5 != 5)answer = 0 (5 >= 3)answer = 1 (5 >= 5)answer = 1 (5 >= 7)answer = 0 (5 <= 5)answer = 1 (5 <= 7)answer = 1 (5 <= 3)answer = 0
Logical Operators
-
සරලව කිව්වොත් AND, OR, NOT වලට තමා logical pperators කියන්නේ
-
AND(ගුණ කිරීම)
x y output 0 0 0 0 1 0 1 0 0 1 1 1
- OR(එකතු කිරීම)
x y output 0 0 0 0 1 1 1 0 1 1 1 1
- NOT(ප්රතිවිරුද්ධ binary number එක)
x output 0 1 1 0
- මෙම operators C programming වල භාවිතා වන්නේ මේ ආකාරයෙනි.
Operator Meaning Example && සියලු කාරණා සත්ය නම් සත්ය වේනම් ((5 > 3) && (5 < 7)). (5 > 3) හා (5 < 7) යන කාරණා දෙකම සත්ය වේ. එබැවින් output එක 1 වේ. ((5 == 3) && (5 < 7)). (5 < 7) සත්ය වුවත් (5 == 3) සත්ය නොවේ. එබැවින් output එක 0 වේ. ((5 == 3) && (5 < 3)). (5 == 3) හා (5 < 3) යන දෙකම අස්ත්ය වේ. එබැවින් output එක 0 වේ. || සියලු කාරණා වලින් එකක් හෝ සත්ය වේනම් ((5 > 3) && (5 < 7)). (5 > 3) හා (5 < 7) යන කාරණා දෙකම සත්ය වේ. එබැවින් output එක 1 වේ. ((5 == 3) && (5 < 7)). (5 == 3) අසත්ය වුවත් (5 < 7) සත්ය වේ. එබැවින් output එක 1 වේ. ((5 == 3) && (5 < 3)). (5 == 3) හා (5 < 3) යන දෙකම අස්ත්ය වේ. එබැවින් output එක 0 වේ. ! දී ඇති කාරණය සත්ය නම් එය අසත්යක් ලෙස ගනී (!(5 == 3)). පහට තුන අසමාන හා කාරණය අසත්ය නමුත් එය සත්යක් ලෙස සලකයි. එබැවින් output එක 1 වේ. (!(5 == 5)). පහට පහ සමාන හා කාරණය සත්ය නමුත් එය අසත්යක් ලෙස සලකයි. එබැවින් output එක 0 වේ.
- අපි දැන් logical operators භාවිතා කරලා programm එකක් ලියමු.
#include <stdio.h> int main() { int ans; ans = (5 > 3) && (5 < 7); printf("(5 > 3) && (5 < 7)answer = %d\n", ans); ans = (5 == 3) && (5 < 7); printf("(5 == 3) && (5 < 7)answer = %d\n", ans); ans = (5 == 3) && (5 < 3); printf("(5 == 3) && (5 < 3)answer = %d\n\n", ans); ans = (5 > 3) || (5 < 7); printf("(5 > 3) || (5 < 7)answer = %d\n", ans); ans = (5 == 3) || (5 < 7); printf("(5 == 3) || (5 < 7)answer = %d\n", ans); ans = (5 == 3) || (5 < 3); printf("(5 == 3) || (5 < 3)answer = %d\n\n", ans); ans = !(5 == 3); printf("!(5 == 3)answer = %d\n", ans); ans = !(5 == 5); printf("!(5 == 5)answer = %d\n", ans); return 0; }
- මෙය run කල පසු output එක වන්නේ
(5 > 3) && (5 < 7)answer = 1 (5 == 3) && (5 < 7)answer = 0 (5 == 3) && (5 < 3)answer = 0 (5 > 3) || (5 < 7)answer = 1 (5 == 3) || (5 < 7)answer = 1 (5 == 3) || (5 < 3)answer = 0 !(5 == 3)answer = 1 !(5 == 5)answer = 0
-
මූලාශ්ර -: https://www.programiz.com/c-programming/c-operators
-
C programm එකක් windows වල run කරන විදිහ --> https://bit.ly/2O6rLXR
ඔබට අවශ්යනම් ඔබේ බ්රව්සර් එක හරහා online C programms run කරන්න පුලුවන්. එහෙම කරන්න පුලුවන් ලින්ක්ස් මන් පහතින් දාන්නම්
- https://www.onlinegdb.com/online_c_compiler
- https://www.tutorialspoint.com/compile_c_online.php
- https://repl.it/languages/c
සරලව මුල ඉදන් C programming ඉගෙන ගන්න පුලුවන් හොදම site දෙකත් මන් දාන්නම්
- https://www.geeksforgeeks.org/c-programming-language/
- https://www.tutorialspoint.com/cprogramming/index.htm
කලින් ලිපි වල වගේ මේ ලිපියෙත් ඉල්ලනවා අඩු පාඩු තිබ්බොත් පහලින් කමෙන්ට් එකක් දාන්න. තව වැඩි දියුණු වෙන්න ඕන ඒවා තියෙනවනම් ඒවත් දාන්න.
-
-
C Programming මුල සිට ඉගෙනගනිමු (part 2 - Variables)
සුබ දවසක් ඔයාලට. අපි අද ලෑස්ති වෙන්නේ තවදුරටත් C පිළිබඳ ඉගෙනගන්න. කලින් පෝස්ට් එකේදි මන් ඔයාලට කියලා දුන්නා C වල origin එකයි කොහොමද C programm එකක් code කරන එකයි.
අද මන් බලාපොරොත්තු වෙන්නේ C programming වල එන variables ගැනයි ඒවා ක්රියාත්මක වෙන විදිහයි කියලා දෙන්න.
Variables (විචල්යයන්)
- සාමාන්ය සිංහල විව්යහාරයේදී variable එකක් නැත්තම් විචල්යයක් කියලා කියන්නේ යම් කිසි දත්තයක් ගබඩා කරගත් හැකි දෙයකටයි.
උදා -: x = 10 (මෙතන variable එක x වන අතර දත්තය 10 වේ) apples = 5 උස = 172.5 cm name = john
-
මෙම variables වලයි C programming වල එන variables වලයි ලොකු වෙනකක් නෑ. C programming වල variable එකක් කියන්නේ යම්කිසි programm එකක් භාවිතා කර
දත්තයක් ගබඩා කල හැකි memory location එකක්. -
විශේෂත්වය වන්නේ අපේ variable එක අපි විශේෂ කරලා පෙන්නන්න ඕනා එය පූර්ණ සංඛ්යාවක්ද, දශම සංඛ්යාවක්ද නැත්නම් සංඛ්යාත්මක නොවන දෙයක්ද වන බව. එනම් අපි C වල variable වර්ග
තුනක් ගැන කතා කරනවා1. Integers(පූර්ණ සංඛ්යා) - short --> -32,768 සිට 32,767 දක්වා සංඛ්යා ගබඩා කර ගත හැකිය. - int --> -2,147,483,648 සිට 2,147,483,647 දක්වා සංඛ්යා ගබඩා කර ගත හැකිය. - long int --> -9223372036854775808 සිට 9223372036854775807 දක්වා සංඛ්යා ගබඩා කර ගත හැකිය. 2. Real Numbers(දශම සංඛ්යා) - float --> 1.2E-38 සිට 3.4E+38 දක්වා සංඛ්යා ගබඩා කර ගත හැකිය. - double --> 2.3E-308 සිට 1.7E+308 දක්වා සංඛ්යා ගබඩා කර ගත හැකිය. - long double --> 3.4E-4932 සිට 1.1E+4932 දක්වා සංඛ්යා ගබඩා කර ගත හැකිය. 3. Characters(සංඛ්යාත්මක නොවන) - char --> 'k', 'a', '@', '+' වැනි දෑ
-
variable වර්ග ගණනාවක් තිබුනත් අපි ගොඩක් අවස්තා වලදී පාවිච්චි කරන්නේ
int, float, double, char
වර්ග පමණි
මේ ගැන වැඩි විස්තර දැන ගැනීමට අවශ්ය නම් මේ ලින්ක් එකට ගිහින් බලන්න --> https://www.tutorialspoint.com/cprogramming/c_data_types.htm
- අපි දැන් කතා කලා variable එකක් විශේෂ කරන්නේ කොහොමද කියලා. අපි දැන් කරන්න හදන්නේ variable එකක් ලිවීමේදී අනුගමනය කල යුතු නීති.
වැරදි නිවැරදි int mymarks int myMarks හෝ int my_marks int 3cars (සංඛ්යාවකින් variable එකක් ආරම්භ කල නොහැක) int cars3 int my car(වචන අතර හිස්තැන් තිබිය නොහැක) int my_car හෝ int myCar int float, int return C වල භාවිතා වන වචන ලිවීමට නොහැක විරාම ලකුණු භාවිතා කල නොහැකිය. (underscore(_)) එක හැර.
තවද int Mark හා int mark යනු එකක් නොවේ variable වර්ග දෙකකි.
දැන් අපි variables භාවිතා කරලා programm එකක් ලියමු.
#include<stdio.h> int main(void){ // මෙම ඇල ඉරි දෙකෙන් සිදුවන්නේ මම මේ ලියන එක කමෙන්ට් එකක් ලෙස දිස් වීමයි. programm එක run කරන විට මේ කමෙන්ට්ස් run නොවේ. int age = 23; float price = 10.50; char letter = 'a'; //char variable එකක් භාවිතා කරන විට තනි කොමා යටතේ වචන ලිවිය යුතු වේ. නමුත් මෙමගින් ලිවිය හැක්කේ එක් අකුරක් පමණි char name[20] = "Kalana"; //මෙම char variable එක මගින් අකුරු එකකට වඩා ලිවිය හැකිය. ඔබට ලිවීමට අව්ශය අකුරු ගණන ඉලක්කමෙන් කොටු වරහන් තුල දැක්විය යුතුය. //අපි දැන් මේ ඉලක්කම් printf කිහිපයක් මගින් output කරමු. printf("Age is = %d \n", age); //%d යනු int variable එකේ අගය display කරන නිරූපකයයි. printf("Price is = %f \n", price); //%f යනු float variable එකේ අගය display කරන නිරූපකයයි. printf("Letter is = %c \n", letter); //%c , %s යනු char variable එකේ අගය display කරන නිරූපකයයි. printf("Name is = %s \n", name); /* පේලි එකකට වඩා කමෙන්ට් කල හැකිය */ return 0; }
මේ code එක run කලාම අපිට ලැබෙන output එක වන්නේ.
C programm එකක් windows වල run කරන විදිහ මන් කලින් ලිපියේ සදහන් කලා --> https://bit.ly/2O6rLXR
අමතර දැනුම
//
-: මෙම ලකුණින් කියවෙන්නේ එක් පේලියක් කමෙන්ට් කිරීමට හැකි බවයි./* */
-: මෙම ලකුණින් කියවෙන්නේ පේලි එකකට වඩ කමෙට් කල හැකි බවයි.float
වලදී ඔබට ආසන්න දශම ස්තාන දෙකකට තිබීමට අවශ්යනම්%0.2f
යොදන්න.
සාරාංශය
-
C programm වල අප වැඩි වශයෙන් භාවිතා කරන variable types වන්නේ
int, float, double, char
වේ. -
C programm වල නිවැරදිව variable ලියන ආකාරය අපි ඉගෙනගත්තා
-
මේ තියෙන්නේ අපි උදාහරණයක් වශයෙන් ගහපු code එක
#include<stdio.h> int main(void){ int age = 23; float price = 10.50; char letter = 'a'; char name[20] = "Kalana"; printf("Age is = %d \n", age); printf("Price is = %0.2f \n", price); printf("Letter is = %c \n", letter); printf("Name is = %s \n", name); return 0; }
- C programm එකක් windows වල run කරන විදිහ --> https://bit.ly/2O6rLXR
ඔබට අවශ්යනම් ඔබේ බ්රව්සර් එක හරහා online C programms run කරන්න පුලුවන්. එහෙම කරන්න පුලුවන් ලින්ක්ස් මන් පහතින් දාන්නම්
- https://www.onlinegdb.com/online_c_compiler
- https://www.tutorialspoint.com/compile_c_online.php
- https://repl.it/languages/c
සරලව මුල ඉදන් C programming ඉගෙන ගන්න පුලුවන් හොදම site දෙකත් මන් දාන්නම්
- https://www.geeksforgeeks.org/c-programming-language/
- https://www.tutorialspoint.com/cprogramming/index.htm
මන් ඊළඟ ලිපියෙන් මේ variables අතර සිද්ධ වෙන operations(+, -, /, *) ගැන කියලා දෙන්නම්.
මම දාන ලිපි කෙටි වැඩීනම් පහලින් කමෙන්ට් එකක් දාන්න. තව අඩු පාඩු තියෙනවනම් ඒවත් දාන්න.
-
C Programming මුල සිට ඉගෙනගනිමු(part 1 - Introduction)
මේ මගේ පලවෙනි පෝස්ට් එක, ඒ නිසා අඩුපාඩු ඇති, සමාවෙන්න අඩුපාඩු තිබ්බොත්. මන් කෙලින්ම කතාවට බහින්නම්. මොකක්ද මේ C Language කියන්නේ.
චාල්ස් බැබේජ් පරිඝනකය සොයා ගත් කාලයේ සිට මේ දක්වා මෘදුකාංග නිර්මාණය සදහා විවිධ වූ පරිඝනක භාශා භාවිතා කලා. මෙම පරිඝනක භාශා සංකීර්ණත්වය අනූව කොටස් දෙකකට බෙදා වෙන්කර තිබෙනවා.
1. Low-level programming languages - Machine Language(1 හා 0 සමන්විත භාශාව) උදා -: 110110, 111000110 - Assembly Language 2. High-level programming languages(අපි කතා කරන C Language එකත් අයිති වෙන්නේ මේකට තමා)
මේ කොටස් දෙක ගැන වැඩි විස්තර අවශ්යනම් පහලින් කමෙන්ට් එකක් දාන්න. මන් දැන් මාතෘකාවට එන්නම්.
-
C Language එක මේ තියන තත්වෙට ගෙනාවේ Dennis Ritchie(සොයා ගත් වර්ශය - 1972) විසින්. ඒ BCPL සහ B භාශා දෙක උපයෝගී කරගනිමින්.
-
මෙම භාශාව ගොඩක් දෙනා හඳුනන්නේ UNIX operating system එක develop කරන භාශාවක් ලෙසයි.
අපි C Language එකේ origin එක යම් තරමකට දැන ගත්තනේ. අපි දැන් පොඩි code එකක් ලියමු C වලින්.
ඔයා windows user කෙනෙක්නම් මේ පියවරවල් වලට කරන්න.
පලමු පියවර -: ඔයා ඔයාගේ Desktop එකට ගිහින් ඒක උඩ right-click කරන්න.
- ඊට පස්සේ new වලට ගිහින් Text Document එකක් create කරන්න.
- දැන් ඒ Text Document එක rename කරන්න First.c විදිහට.
උදා -: New Text Document.txt ----> First.c
දෙවන පියවර -: දැන් ඒ ෆයිල් එක උඩ double click කරන්න. අපි දැන් හදන්නේ අපිට run කරන්න අව්ශ්ය code එක ෆයිල් එක ඇතුලේ ටයිප් කරන්නයි
- අපිට සෙල්ලම් කරන්න ඕන උනාම අපි කරන්නේ පිට්ටනියට යන එක ඒ වගේ තමා C run කරන්නත් අපිට පිට්ටනියක් අවශ්ය වෙනවා. මම දැන් හදන්නේ ඒ අවශ්ය කරන පිටිය හදන්නයි.
#include<stdio.h> int main(void) { printf("Hello World"); return 0; }
-
int main(void){ }
-: මේක තමා අපේ main function එක. මේක ඇතුලේ තමා සේරම code ලියන්නේ. මේක තමා අපේ පිට්ටනිය සරලවම කිව්වොත්. -
printf("Hello World");
-: මේක තමා අපේ code එක. මේකෙන් වෙන්නේ මේ file එක run කලාම Hello World කියන එක අපිට පේන්න display කරන එක.
Hello World කියන එක හරියට පිට්ටනියේ සෙල්ලම් කරන ලමයි වගේ.
printf(); කියන්නේ ලමයි සෙල්ලම් කරන ක්රිකට් පිත්ත වගේ. -
#include<stdio.h>
-: මෙයා තමාprintf();
අයිති කරන් ඉන්න library එක.printf();
වගේ තව ඒවා මෙයා අයිති කරන් ඉන්නවා. ඉස්සරහට ඒ ගැන කියන්නම්.
මෙයා හරියට ක්රිකට් පිත්තේ අයිතිකාරයා වගේ. මෙයා නැත්තම් ලමයින්ට ක්රිකට් ගහන්න බෑ. මොකද පිත්ත අයිති එයාටනේ. -
return 0
; -: මෙයා තමා programm එකට දිගටම run වෙන්න දෙන් නැතුව terminate කරන්නේ. හරියට ඉන්ටර්වල් ඉවරයි කියලා ගහන බෙල් එක වගේ. මේක ගැහුවට පස්සේ
ලමයි සෙල්ලම නවත්තලා පන්තිවලට යනවා නැත්තම් දිගටම සෙල්ලම් කරනවා.
මන් හිත්නවා මන් කිව්ව දේ තේරෙන්න ඇති කියලා ඔයාලට. උඩ තියෙන code එක ටයිප් කරලා ඉවරනම් ඒක දැන් save කරලා ෆයිල් එක close කරන්න.
වැදගත්
ඔයා linux user කෙනෙක්නම් ඔයාට linux වල එන terminal එකේ C programs run කරන්න පුලුවන්.ඔයාට C programs, windows වල run කරන්න මේ ෆයිල් එක ඩවුන්ලෝඩ් කරලා ඉන්ස්ටෝල් කරගන්න ඕනා. ලින්ක් එක -: https://sourceforge.net/projects/tdm-gcc/ ඕක ඩවුන්ලෝඩ් කරලා ඉන්ස්ටෝල් කරද්දි දිගටම next දීගෙන යන්න.
තුන්වන පියවර -: දැන් ඔයාගේ cmd(comand prompt) එක run කරන්න, task bar එකේ cmd කියලා සර්ච් කලාම එනවා.
- මම මගේ ෆයිල් එක Desktop එකේ හදපු නිසා එතනට navigate කරන්න මට සිද්ධ වෙනව. Desktop එකට navigate කරන්න මේ පියවර අනුගමනය කරන්න.
C:\Users\User>cd Desktop C:\Users\User\Desktop>
- ඔයාලට පේනවා අපි දැන් ඉන්නේ Desktop එකේ ආයේ Back යන්න ඕනා උනොත්
cd .."
කියලා ටයිප් කරන්න
හතරවන පියවර -: දැන් කරන්න යන්නේ අපි අපේ ෆයිල් එක compile කරන එක. compile කරන එකෙන් වෙන්නේ අපේ code එකේ කෙහේ හරි වැරද්දක් තිබ්බොත් ඒක comand prompt එකේ display
කරන එක වැරද්දක් නැත්තම් කිසි ප්රශ්නයක් නෑ ඒ කියන්නේ compile errors නෑ කියන එකයි.- දැන් compile කරන්න මේ command එක ටයිප් කරන්න.
gcc -o first(first වෙනුවට ඔයාලට කැමති ඕනම නමක් දෙන්න පුලුවන්) First.c
C:\Users\User\Desktop>gcc -o first First.c
පස්වන පියවර -: compile errors නැත්තම් දැන් ඔයාලට First.c ෆයිල් එක run කරන්න පුලුවන්. run කරද්දි එන errors වලට කියන්නේ runtime errors කියලා
- දැන් run කරන්න මේ command එක ටයිප් කරන්න.
C:\Users\User\Desktop>first
අපි මේ කලේ සරල C programm එකක් windows වල run කරපු එකයි. අපි දැන් මෙතෙක් කරපු සාරාංශය බලමු.
සාරාංශය
-
Desktop එකේ New Text Document එකක් හදලා ඒ ෆයිල් එක rename කරන්න First.c විදිහට.
-
First.c උඩ ඩබල් ක්ලික් කරලා මේ code එක ලියලා ෆයිල් එක save කරන්න.
#include<stdio.h> int main(void) { printf("Hello World"); return 0; }
- comand prompt එක open කරලා මේවා පිලිවෙලට run කරන්න
C:\Users\User>cd Desktop C:\Users\User\Desktop>gcc -o first First.c C:\Users\User\Desktop>first
වැඩිදුර කරුණු
ඔබට කැමති තරම්
printf();
ප්රමාණයක් ටයිප් කරන්න පුලුවන්. වචන පහලින් පහලට ලිවීමට අවශ්ය නම්\n
සංකේතය ඔබට වෙන්කිරීමට අවශ්ය ස්තානයට යොදන්න
උදා -:printf("Hello World \n"); ^ printf("Hello \n World"); ^
output -:
Hello World Hello World
ඔබට අවශ්යනම් ඔබේ බ්රව්සර් එක හරහා online C programms run කරන්න පුලුවන්. එහෙම කරන්න පුලුවන් ලින්ක්ස් මන් පහතින් දාන්නම්
- https://www.onlinegdb.com/online_c_compiler
- https://www.tutorialspoint.com/compile_c_online.php
- https://repl.it/languages/c
සරලව මුල ඉදන් C programming ඉගෙන ගන්න පුලුවන් හොදම site දෙකත් මන් දාන්නම්
- https://www.geeksforgeeks.org/c-programming-language/
- https://www.tutorialspoint.com/cprogramming/index.htm
මේකේ අඩුපාඩු තියෙනවනම් ඒවා නිවැරදි කරගන්න මට උදව් කරන්න කියලා කාරුණික ඉල්ලීමක් කරනවා. මේ article එක ඉස්සරහට කරන් යන්න ඕනනම් පහලින් කමෙන්ට් එකක් දාන්න. ජය වේවා!
-