C සඳහා උදාහරණ – 17

අපි කලින් උදාහරණයෙදි Increment Operators හා Decrement Operators කියන ජාති දෙකම printf යන නියෝගය තුළ ලියල බැලුවා prefix විදිටත් postfix විදියටත්. වෙනස අපි ඉගෙන ගත්තා. මේ වගේම වෙනත් ඕනෑම නියෝගයක් තුළදිත් මේ Operators පාවිච්චි කරන්න පුළුවන්. අපි යම්කිසි ගණනය කිරීමක් ඇතුළේ මේවා පාවිච්චි කර බලමු.

#include<stdio.h>
void main() {
  int x=10, y=10, a, b;
  a=x++ + ++y;
  b=--x*2 + y--*3;
  printf("%s%i%s", "Value of a = ",a,"\n");
  printf("%s%i%s", "Value of b = ",b,"\n");
  printf("%s%i%s", "Value of x = ",x,"\n");
  printf("%s%i%s", "Value of y = ",y,"\n"); }

පහත දැක්වෙන්නෙ Windows මත වැඩ කරන MinGW වලින් Compile කර Run කළ විට දක්නට ලැබෙන ප්‍රතිඵලයයි.

Test17.cpp

Test17.cpp

මුලින්ම a=x++ + ++y; යන පේළිය සලකා බලමු. x++ වශයෙන් ඇති නිසා x හි අගය 1 කින් වැඩි වන නමුදු a වල ගණනය කිරීම සඳහා ++y වශයෙන් ඇති y හි අගය ගන්නේ 10 යනුවෙනි. එබැවින් a හි අගය යනු 11+10 හෙවත් 21 වේ.

ඊළඟට b=–x*2 + y–*3; යන පේළිය සලකා බලමු. –x*2 වශයෙන් ඇති නිසා මුලින් වර්තමාන x හි අගය වන 11න් 1ක් අඩු වී ඉන්පසු එය 2න් ගුණ වන අතර y–*3 වශයෙන් ඇති නිසා වර්තමාන yහි අගය වන 11, 3න් ගුණ වන අතර ඉන්පසු හි අගය 1කින් අඩු වේ. මේ නිසා b යනු 10*2 + 11*3 හෙවත් 53 වේ.

එසේම a හි ගණනය කිරීම සඳහා x හා y හි අගයයන් 1කින් වැඩි වූ අතර b හි ගණනය කිරීම සඳහා නැවත ඒවායේ අගයයන් 1කින් අඩු වූ බැවින් x හා y හි අගයයන් අවසානයේ 10 ලෙසම පවතිනු ඇත.

දැන් ඔබට Increment හා Decrement Operators එක් එක් අවස්ථාවකදී ක්‍රියා කරන අන්දම හොඳින් පැහැදිලි වී ඇතුවාට සැකයක් නැත.

This entry was posted in 16. C++, සිංහල and tagged , . Bookmark the permalink.

2 Responses to C සඳහා උදාහරණ – 17

  1. Hasitha says:

    අපේ කැම්පස් එකේ [කැලණිය විශ්වවිද්‍යාලයේ] Computer Studies එහෙමත් නැත්නම් COST එක කරන කට්ටියට මේ දවස්වල උගන්වන්නේ C language එක. ඉතින් ඊයේ ඒ subject එක කරන කෙනෙක් එක්ක කතා කර කර ඉද්දී එයා කිව්වේ හරි අමාරුයි C language එක තේරුම් ගන්න. කිසි පොතක් සිංහලෙන් නැහැ කරගන්න අමාරුයි කියලා.

    මට ඒ වෙලේ මතක් වුණේ ඔබතුමා C language එක ගැන blog එකේ posts කීපයක් ලිව්වා නේද කියලා. මම ඒ ටික ඔක්කොම print කරලා එයාට දෙන්න තමා හිතුවේ. ඒ ගැන ඔබතුමා දැනුවත් කරලා අවසර ගන්න තමා හිතුවේ. ඒ වගේම තව ඉදිරියටත් ඒ ලිපි පෙළ ලිව්වොත් ඒ අයගේ යහපතට හේතු වෙයි කියලා විශ්වාස කරනවා.

    • kumudupinto says:

      කෙනෙකුගේ අධ්‍යාපනය වෙනුවෙන් කරන කිසිම දෙයකට අවසර ගන්න ඕනෑ නැහැ කාගෙන් වත්. මම ඒ ලිපි පෙළ ඉදිරියට ගෙන යන්න උත්සාහ ගන්නම්. දිරි ගැන්වීමට ස්තුතියි.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s