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
කලින් ලිපි වල වගේ මේ ලිපියෙත් ඉල්ලනවා අඩු පාඩු තිබ්බොත් පහලින් කමෙන්ට් එකක් දාන්න. තව වැඩි දියුණු වෙන්න ඕන ඒවා තියෙනවනම් ඒවත් දාන්න.
-
-
Niyamai bro. Digatama karamu wade . Supiri
-
supiri bro
-
Keep it up bro