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;

    1. ans = num1++ --> මෙහි තේරුම වන්නේ
    ans = num1;
    num1 = num1 + 1;
    
    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
    

    ඔබට අවශ්‍යනම් ඔබේ බ්‍රව්සර් එක හරහා online C programms run කරන්න පුලුවන්. එහෙම කරන්න පුලුවන් ලින්ක්ස් මන් පහතින් දාන්නම්

    සරලව මුල ඉදන් C programming ඉගෙන ගන්න පුලුවන් හොදම site දෙකත් මන් දාන්නම්

    කලින් ලිපි වල වගේ මේ ලිපියෙත් ඉල්ලනවා අඩු පාඩු තිබ්බොත් පහලින් කමෙන්ට් එකක් දාන්න. තව වැඩි දියුණු වෙන්න ඕන ඒවා තියෙනවනම් ඒවත් දාන්න.


  • Linux Help

    Niyamai bro. Digatama karamu wade . Supiri



  • supiri bro



  • Keep it up bro


Log in to reply