March 22, 2021

TechXlk

All About Technology

Data Types(දත්ත ප්‍රරුප) හා Operators|TechXlk C Tutorials – 04

data types C tutorial 04 _techxlk_

C ක්‍රමලේඛනයෙදී ,දත්ත වර්ගය යනු යම් විචල්‍යක, දත්ත වර්ගය හා ප්‍රමාණය තීරණය කිරීමට යොදාගනු ලබන ප්‍රකාශනය වේ .උදාහරණයක් වශයෙන්,

int cost;

මෙහි cost යනු int වර්ගයට අයත් විචල්‍යකි.මෙම විචල්‍යයේ ගබඩා කල හැකි දත්ත වල විශාලත්වය බයිට්(Byte) 4 කි.

C හි භාවිතා වන මූලික දත්ත ප්‍රරුප.

C හි භාවිතා වන දත්ත වර්ග පහත වගුවෙන් පෙන්වා දෙන්නම්,

data types

int දතත වර්ගය.

int යනු ශුන්‍ය,ධන හා සෘණ වන පූර්ණ සංඛ්‍යා ගබඩා කිරීමට යොදා ගන්නා දත්ත වර්ගය වේ.

int cost;

C භාෂාවේදී එකවර බහු විචල්‍යයන් ප්‍රකාශ කිරීමටද හැකියාව ඇත .මෙය ක්‍රමලේඛනය ඉක්මන් කිරීමට බෙහෙවින් උපකාර වේ.උදාහරණයක් ලෙස,

int cost,total;

int දත්ත වර්ගයේ ප්‍රමාණය බයිට් 4 (බිට් 32) ක් වේ.මේ නිසා -2147483648 සිට 2147483647 දකවා අගය පරාසයන් තුල ඕනෑම  සංඛ්‍යාවක් විචල්‍යකට පැවරිය හැකි වේ.

float හා double දත්ත වර්ගය.

මෙම දත්ත වර්ග දශම සංඛ්‍යා ගබඩා කිරීමට යොදා ගනු ලැබේ.

float salary;
double number;

float හා double අතර ඇති වෙනස මොකක්ද?

float වලදී බයිට් 4 ක දත්ත ගබඩා කිරීමට හැකි වීමත්,double වලදී මෙම දත්ත ප්‍රමාණය දෙගුණයක් නැතහොත් බයිට් 8 ක් ගබඩා කල හැකිවීමත් මෙම දත්ත වර්ග දෙකෙහි ප්‍රධානතම  වෙනස වේ.

Char දත්ත වර්ගය.

මෙම දත්ත වර්ගය අකුරු ආකාරයේ දත්ත රඳවා තබා ගැනීමට යොදා ගනී.

මෙම දත්ත වර්ගයෙන් ගබඩා කල හැකි දත්ත වල විශාලත්වය බයිට් 1 කි.උදාහරණක් ලෙස,

char letter;

short හා long දත්ත වර්ග.

අපට විශාල සංඛ්‍යාවක් ගබඩා කිරීමට අවශ්‍ය වූ විටෙක මෙම long දත්ත වර්ගය යොදාගත හැකි වේ.

එසේම කුඩා අගයක් ගබඩා කිරීමට අවශ්‍ය නම් short යන දත්ත වර්ගය යොදා ගැනේ.උදාහරණයක් ලෙස,

long a;
long long b;
long double c;

ඔයාලට මේ එක් එක් දත්ත වර්ග වල ගබඩා කල හැකි උපරිම දත්ත ප්‍රමාණය දැන ගන්න ඕනි කියල හිතන්න , එහෙනම් එකට ලේසියෙන්ම sizeof() යන operator එක භාවිතා කරන්න පුළුවන්.

#include <stdio.h>
int main(){
int a;
long b;
long long c;
short d;
char e;
double f;
float g;
long double h;

printf("size of int = %d bytes\n",sizeof(a));
printf("size of long= %d bytes\n",sizeof(b));
printf("size of long long= %d bytes\n",sizeof(c));
printf("size of short= %d bytes\n",sizeof(d));
printf("size of char= %d bytes\n",sizeof(e));
printf("size of double= %d bytes\n",sizeof(f));
printf("size of float= %d bytes\n",sizeof(g));
printf("size of long double= %d bytes\n",sizeof(h));
}

මේ code එක run කරලා බලන්න එතකොට පහලින් පෙන්නලා තියෙන විදියේ output එකක් බලාගන්න පුළුවන් වෙයි.

ඔන්න අපි දැන් අලුත් කොටසකට යන්න හදන්නේ ,ඒ තමයි C හි භාවිත වන operators ගැන කොටස .

C හි භාවිත වන Operators.

operator එකක් යනු විචල්‍යයක් මත හෝ අගයක් මත යම් ක්‍රියාකාරකමක් කිරීමට භාවිත කරන සංකේතයක් වේ. උදාහරණයක් ලෙස (+) සංකේතය  මගින් අගයන් කීපයක් එකතු කිරීමට භාවිත කරයි.තවත් උදාහරනයක් දෙන්නම් ,

a හා b කියල variable දෙකකට 10 හා 20 කියල අගයන් දෙකක් පවරලා තියෙන අවස්ථාවක් සලකමු,මේ අගයන් දෙකෙන් විශාලතම අගය සොයාගන්න (>) යන සංකේතයද කුඩා අගය සොයාගන්න (<) සංකේතයද යොදා ගන්න පුළුවන් .

C භාෂාවේදී ,ඉතා විශාල පරාසයක විහිදුන operators ප්‍රමාණයක් භාවිතා වෙනව.අපි මේවට උදාහරණ කීපයක් සලකා බලමු.

Arithmetic operators.(ගණිතමය ක්‍රියාකාරකයන්)

ගණිතමය ක්‍රියාකාරකයන් යනු , එකතුකිරිම ,අඩුකිරීම ,බෙදීම ,වැඩිකිරීම වැනි අංක ගණිතමය ක්‍රියාකාරකම් සිදුකිරීමට භාවිත කරන operators වේ.

ඉහත ගණිතමය ක්‍රියාකාරකම් කර ගන්නා ආකාරය පහත උදාහරණයෙන් විමසා බලමු.මේ උදාහරණ ඔක්කොම අනිවාර්යයෙන්ම කරන්න .මේකම නැතුව තව තව දේවල් කරලා බලන්න .

#include<stdio.h>
int main(){
    int num1=20,num2=10,anw;
    //addition
    anw=num1+num2;
    printf("num1 + num2 = %d\n",anw);

    //subtraction
    anw=num1-num2;
    printf("num1 - num2 = %d\n",anw);

    //division
    anw=num1/num2;
    printf("num1 / num2 = %d\n",anw);

    //multiplication
    anw=num1*num2;
    printf("num1 * num2 = %d\n",anw);

    //modulus
    anw=num1%num2;
    printf("Remender = %d\n",anw);

    return 0;

}

Increment හා Decrement operator.

C හි භාවිතා වන increment (++) හා decrement (–) operator මගින් යම් විචල්‍යක අගය එකකින් වැඩි කිරීමට හා එකකින් අඩු කිරීමට පිලිවෙලින් යොදා ගැනේ.

#include<stdio.h>
int main(){
    int num1=10,num2=100;
    float num3=10.5,num4=100.5;

    printf("++num1 = %d\n",++num1);
    printf("--num2 = %d\n",--num1);

    printf("++num3 = %f\n",++num3);
    printf("++num4 = %f\n",--num4);

    return 0;
}

Assignment operators.(පැවැරුම් ක්‍රියාකාරකයන්)

විචල්‍යකට අගයක් පැවරීම සඳහා මෙම ක්‍රියාකරුවන් යොදා ගැනේ.උදාහරණ ලෙස,

පැවැරුම් ක්‍රියාකරුවන් භාවිතා කරන ආකාරය.

#include<stdio.h>
int main(){
    int num=10,anw;

    anw=num;
    printf("anw = %d\n",anw);

    anw+=num;
    printf("anw = %d\n",anw);

    anw-=num;
    printf("anw = %d\n",anw);

    anw*=num;
    printf("anw = %d\n",anw);

    anw/=num;
    printf("anw = %d\n",anw);

    anw%=num;
    printf("anw = %d\n",anw);

    return 0;
}

Relational operators.(සම්භාන්දතා ක්‍රියාකාරකයන්)

operands දෙකක් අතර සම්භාන්දතාවය පරික්ෂා කිරීම සඳහා මෙම operator එක භාවිතා කරයි.

පවතින සම්භාන්ධතාවය සත්‍යය නම් 1 ද ,අසත්‍ය නම් 0 ද return කෙරේ .

#include<stdio.h>
int main(){
    int a=50,b=40,c=10;
    
    printf("%d == %d is %d \n",a,b,a==b);
    printf("%d == %d is %d \n",a,c,a==c);
    printf("%d > %d is %d \n",a,b,a>b);
    printf("%d > %d is %d \n",a,c,a>c);
    printf("%d < %d is %d \n",a,b,a<b);
    printf("%d < %d is %d \n",a,c,a<c);
    printf("%d != %d is %d \n",a,b,a!=b);
    printf("%d != %d is %d \n",a,c,a!=c);
    printf("%d >= %d is %d \n",a,b,a>=b);
    printf("%d >= %d is %d \n",a,c,a>=c);
    printf("%d <= %d is %d \n",a,b,a<=b);
    printf("%d <= %d is %d \n",a,c,a<=c);
   
    return 0;
}

Logical operators.(තාර්කික ක්‍රියාකාරකයන්)

Logical operator මගින් ,ප්‍රකාශනයේ ප්‍රතිධානයේ සත්‍යය හෝ අසත්‍ය බව මත පදනම්ව , සත්‍යය නම් 1 හා අසත්‍ය නම් 0 ලබා දේ,මෙම ක්‍රියාකාරකය තීරණ ගැනීමේ අවස්ථා වලදී බෙහෙවින් යොදා ගනී.

මෙම ක්‍රියාකාරකය යොදා ගන්නා ආකාරය පිළිබඳ උදාහරණයක් මගින් සලකා බලමු.

#include<stdio.h>
int main(){
    int a=10,b=5,c=10,result;

    result=(a==b)&&(c>b);
    printf("(a==b)&&(c>b) is %d \n",result);

    result=(a==b)&&(c<b);
    printf("(a==b)&&(c<b) is %d \n",result);

    result=(a==b)||(c>b);
    printf("(a==b)||(c>b) is %d \n",result);

    result=(a!=b)||(c<b);
    printf("(a!=b)||(c<b) is %d \n",result);

    result=!(a!=b);
    printf("!(a!=b) is %d \n",result);

    result=!(a==b);
    printf("!(a==b) is %d \n",result);

    return 0;
}

හරි ඔන්න අපි මේ post එකෙන් data type හා operators කියන්නේ මොනවද කියල ඉගෙන ගත්ත.

මේ ඉගෙනගත්ත කොටස් ගැන තව හොයල බලන්න.