Tuesday, July 24, 2012

3. C තුන්වන පාඩම - C හි කාරකයන් සහ දත්ත ප්‍රදානය (Operators and data Input method)


Conversion letters සහ ඒවායේ data types
අප ඉහත පාඩමේදි int type හි variable print කර ගැනීම සඳහා %d මෙලෙස සංඛේතයක් භාවිතා කලා මතක ඇති. මෙමගින් දැක්වෙනුයේ conversion latter එකයි. එනම්, ක්‍රමලේඛයේ යමක් ප්‍රදානය හෝ ප්‍රතිදානය කිරීමේදි variable හදුන්වාදීමට C හිදි භාවිතා වන එක් සුවිශේෂි ආකාරයකි. පහත වගුවේ C හි භාවිතා වන conversion letters කිහිපයක් සහ ඒවයේ data types දක්වා ඇත. conversion latter යොදාගැනිමේදි අනිවාර්යෙන්ම ඊට ඉදිරියෙන් ‘%‘ සංඛේතය භාවිතා කල යුතුය.


LetterType of Matching ArgumentExampleOutput
%none printf( "%%" );%
d, iint printf( "%i", 17 );17
uunsigned int (Converts to decimal)printf( "%u", 17u );17
ounsigned int (Converts to octal)printf( "%o", 17 );21
xunsigned int (Converts to lower-case hex)printf( "%x", 26 );1a
Xunsigned int (Converts to upper-case hex)printf( "%X", 26 );1A
f, Fdoubleprintf( "%f", 3.14 );3.140000
e, Edoubleprintf( "%e", 31.4 );3.140000e+01
g, Gdoubleprintf( "%g, %g", 3.14, 0.0000314 );3.14, 3.14e-05
a, Adoubleprintf( "%a", 31.0 );0x1.fp+0
cint printf( "%c", 65 );A
sstring printf( "%s", "Hello" );Hello
pvoid* (convert a pointer)int a = 1; printf( "%p", &a );0064FE00
nint* (Number of character output)int a; printf( "ABC%n", &a );ABC  (a==3)


දත්ත ප්‍රදානය කිරිම (Input handling)

අප මෙතෙක් භාවිතා කලේ ප්‍රතිදානයක් තිරය මත මුද්‍රණය කරගන්නා printf statement එකයි. එමෙන්ම විචල්‍යන් සඳහා අගයන් යෙදීම සිදුකලේ source code එකේදි වන අතර compile කරන ලද programe එක ධාවනය වන අවස්ථාවේදි අගයන් ඇතුලු කිරීමට නොහැකි විය.
ධාවනය වන අවස්ථාවේදි ප්‍රධානයක් (input)  ලබාදීමට C හිදි භාවිතා කරන්නේ scanf statement එකයි.

scanf ("%conversion latter..", &variable....); 

Example:
scanf("%d", i);

කාරක (Operators)

ක්‍රමලේඛයේදි අපට විවිධ අවස්තාවන්වලදි ගණිත කර්ම, සැසඳිම, වැනි කර්තව්‍යන් කරගැනීමට අවශ්‍ය වේ. එවැනි අවස්ථාවන් වලදි අප භාවිතා කරන සම්මත කාරක (Operators) ඇත. C හිදි භාවිතා වන එවැනි කාරක කිහිපයක් පහත දැක්වේ.

Arithmetic (ගණිත කර්ම) 
+      එකතු කිරිම (plus)
-      අඩු කිරීම (decrease)
/      බෙදීම (Divide)
*      වැඩිකිරිම (Multiplex)
%      මාපාංකානුකූලකය-බෙදා ඉතිරිවන අගය (modulo)
--     පවතින අගයෙන් එකක් අඩුකිරිම (Decrement)  
++     පවතින අගයට එකක් එකතුකිරිම (Increment) 



Assignment (පැවරුම්) 


 =      Assign 
*=      Multiply
/=      Divide.
%=      Modulus.
+=      add.
-=      Subtract.
<<=     left shift.
>>=     Right shift.
&=      Bitwise AND.
^=      bitwise exclusive OR (XOR).
|=      bitwise inclusive OR.


Logical/Relation (තාර්කික/සම්බන්ධතා) 


==      Equal to
!=      Not equal to
>       Greater Than
<       Less than 
>=      Greater than or equal
<=      Less than or equal
&&      Logical AND
||      Logical OR
!       Logical NOT

Bitwise (බිටු අගයන් සම්බන්ධ කාරක)  



&       AND (Binary operator)
|       inclusive OR
^       exclusive OR
<<      shift left.
>>      shift right. 
~       one's complement

C හි භාවිතා වන තවත් කාරක කීපයක්
sizeof() size of objects and data types.
&       Address of (Unary operator)
*       pointer (Unary operator)
?       Conditional expressions
:       Conditional expressions
,       Series operator.


මෙම එක් එක් කාරකයේ භාවිතාවන් හදුනාගැනීමට සරල වැඩසටහනක් භාවිතයෙන් පුලුවන. ඉදිරියේදි විවිධ අවස්ථාවලදිකාරක භාවිතාවන විට මේ පිළිබඳ වඩාත් හොදින් අවබෝධ කරගත හැකිවනු ඇත. 

මීලඟ පාඩමෙන් Selection (තොරා වෙන්කර ගැනිම) සම්බන්ධයෙන් කතා කරමු.

1 comment:

  1. මේක මට පොඩ්ඩක් තේරෙනෝ මදි වගේ!

    ReplyDelete