ភាសាស៊ី

ភាសាស៊ី ឬ C (ភាសាកម្មវិធីស៊ី) ជា​ភាសា​សម្រាប់​សរសេរ​កម្មវិធី​ព័ត៌មាន​វិទ្យា​ដែល​មាន​លទ្ធភាព​អាច​គ្រប់​គ្រង​ និង​ដាក់​ដំណើរ​ការ​លើ​​ប្រព័ន្ធ​គណនូបករណ៍​រួម​ទាំង​ប្រព័ន្ធ​អស្យាណូ​បាន​ទៀត​ផង។ **ភាសា C ត្រូវ​បាន​បង្កើត​ឡើង​ដោយ​លោក​ដេនីស រីឈី (Dennis Ritchie) នៅ​ចន្លោះ​ឆ្នាំ​១៩៦៩ និង ១៩៧៣ នៅ​បន្ទប់​ពិសោធ​របស់​Bell Telephone ។ ភាសា C ដំបូង​ឡើយ​ត្រូវ​បាន​បង្កើត​ឡើង​ដើម្បី​បង្កើត​ប្រព័ន្ធ​ប្រតិបត្តិ​ការ​យូនិក (Unix)ហើយ​ក៏​ត្រូវ​បាន​ប្រើ​ប្រាស់​ដើម្បី​បង្កើត​កម្មវិធី​ជា​ច្រើន​ដែល​ដំណើរ​ការ​នៅ​លើ​ប្រព័ន្ធ​ប្រតិបត្តិ​ការ​យូនិក រួម​ទាំង​កម្ម​វិធី​បម្លែង​កូដ​(Compiler) ផង​ដែរ។ ដូច្នេះ​ហើយ ភាសា C ក៏​ត្រូវ​បាន​គេ​ទទួល​ស្គាល់​ថា​ជា​ភាសា​សម្រាប់​បង្កើត​ប្រព័ន្ធ​ប្រតិបត្តិ​ការ (system programming language )។

ប្រវត្តិ

ភាសា C បាន​បង្កើត​ឡើង​ដោយ​លោក​ដេនីស រីឈី (Dennis Ritchie) នៅ​ចន្លោះ​ឆ្នាំ ១៩៦៩ និង ១៩៧៣ នៅ​បន្ទប់​ពិសោធ​របស់​Bell Telephone នឹង​មាន​សន្ទុះ​ខ្លាំង​នៅ​ឆ្នាំ ១៩៧២ នេះ​បើ​តាម​សំដី​របស់​លោក​​ដេនីស រីឈី។ គេ​បាន​ដាក់​ឈ្មោះ​ភាសា​នេះ​ថា​ជា "ភាសា C" ព្រោះ​វា​ត្រូវ​បាន​បង្កើត​ឡើង​ដោយ​ប្រើ​ប្រាស់​លក្ខណៈ​របស់​ភាសា B បង្កើត​ឡើង​ដោយ​លោក Ken Thompson។ ភាសា B គឺ​ត្រូវ​បាន​បង្កើត​ឡើង​ដោយ​ពឹង​ផ្អែក​លើ​លក្ខណៈ​របស់​ភាសា BCPL ដែល​បាន​បង្កើត​ឡើង​ដោយ​លោក ម៉ាធីន រីឆាត (Martin Richards)។ ដូច្នេះ ភាសា C ទទួល​លក្ខណៈ​ដោយ​ប្រយោល​អំពី​ភាសា BCPL តាម​រយៈ​ភាសា B។

ភាសា C ត្រូវ​បាន​បង្កើត​ដោយ​មាន​លក្ខណៈ​ជិត​ស្និត​នឹង​ការ​បង្កើត​ប្រព័ន្ធ​ប្រតិបត្តិ​ការ​យូនិក (Unix) ដែល​តំបូង​ឡើយ​ប្រព័ន្ធ​ប្រតិបត្តិ​ការ​យូនិក (Unix)​នេះ​បាន​បង្កើត​ដោយ​កូដ​បណ្ដុំ​(assembly) ប៉ុណ្ណោះ សម្រាប់​ដាក់​ប្រតិបត្តិ​ការ​ម៉ាស៊ីន PDP-7 ហើយ​ដែល​ក្រោយ​មក​ក៏​ត្រូវ​បាន​ប្រើ​ប្រាស់​ដើម្បី​ដាក់​ប្រតិបត្តិ​ការ​ម៉ាស៊ីន PDP-11។ នៅ​ឆ្នាំ ១៩៧៣ ភាសា C បាន​​បន្ថែម​នូវ​រចនា​សម្ព័ន្ធ(struct type)​និង​ត្រូវ​បាន​យក​ទៅ​ប្រើ​ប្រាស់​សម្រាប់​សរសេរ​ស្នូល​របស់​ប្រព័ន្ធ​ប្រតិបត្តិ​ការ​យូនិក (Unix Kenal) ហើយ​ដែល​បាន​ក្លាយ​ជា​ភាសា​សរសេរ​កម្ម​វិធី​ព័ត៌មាន​វិទ្យា​ទី​មួយ​​ដែល​ត្រូវ​បាន​គេ​យក​ទៅ​ប្រើ​ប្រាស់​សម្រាប់​បង្កើត​ប្រព័ន្ធ​ប្រតិបត្តិ​ការ​ជំនួស​ការ​សរសេរ​បែប​កូដ​បណ្ដុំ (assembly)។

នៅ​ឆ្នាំ ១៩៧៨ លោក ប្រ៊ីយ៉ាន ឃ័រនីញ៉ាន (Brian Kernighan) និង ដេនីស រីឆាត (Dennis Ritchie) បាន​បោះពុម្ព​សៀវភៅ The C Programming Language លើក​ទី​មួយ ដែល​ក្រោយ​មក​បាន​គេ​ហៅ​ថា "K&R"។

នៅ​ឆ្នាំ ១៩៨៣ វិទ្យាស្ថាន​បទដ្ឋាន​ជាតិ​នៃ​សហរដ្ឋ​អាមេរិច American National Standards Institute (ANSI) បាន​បង្កើត​បទដ្ឋាន​ថ្មី​សម្រាប់​ភាសា C ហើយ​​នៅ​ឆ្នាំ ១៩៨៩ ក៏​ត្រូវ​បាន​ទទួល​ស្គាល់​ជា​បទដ្ឋាន​ ANSI X3.159-1989 "Programming Language C" ដែល​ត្រូវ​បាន​ហៅ​ជា​ទូទៅ​ថា ANSI C ឫ​បទដ្ឋាន C, ឫ C89។

នៅ​ឆ្នាំ​១៩៩០ បទដ្ឋាន ANSI C ត្រូវ​បាន​ទទួល​ស្គាល់​ដោយ​សហព័ន្ធ​បទដ្ឋាន​អន្តរជាតិ ISO ហើយ​ដែល​ត្រូវ​បាន​គេ​ហៅ​ថា "C89" ឫ "C90"។

ក្រោយ​មក​បទដ្ឋាន"C89" ក៏​ត្រូវ​បាន​កែ​ប្រែ​និង​បញ្ចូល​បន្ថែម​លក្ខណៈ​ថ្មី​ និង​ត្រូវ​បាន​ទទួល​ស្គាល់​ដោយ​ប្រព័ន្ធ​បទដ្ឋាន​អន្តរ​ជាតិ ISO (ISO/IEC 9899:1999)​នៅ​ឆ្នាំ​ ១៩៩៩ដែល​​ត្រូវ​បាន​ស្គាល់​ថា C99 ។

លក្ខណៈ

ភាសា C មាន​លក្ខណៈ​ជា​លំដាប់​នៃ​ប្រតិបត្តិ​ការ (Procedural) និង​ត្រូវ​បាន​បង្កើត​ឡើង​អោយ​មាន​ជា​បទដ្ឋាន ដែល​អាច​ដាក់​អោយ​ប្រតិបត្តិ​ការ​នៅ​លើ​គ្រប់​ប្រព័ន្ធ​ប្រតិបត្តិ​ការ​ទាំង​អស់ (Linux, Mac, Window)។ ភាសា C ត្រូវ​ការ​ប្រើ​ប្រាស់​កម្មវិធី​បម្លែង​កូដ (compiler)​អោយ​ទៅ​ជា​កូដ​ម៉ាស៊ីន​ដែល​អាច​ដាក់​អោយ​ប្រតិបត្តិ​ការ​លើ​ម៉ាស៊ីន​បាន។ ដូច្នេះ ភាសា​នេះ​ត្រូវ​បាន​ចាត់​ចូល​ក្នុង​ជំពូក​ភាសា​កូដ​បម្លែង (compiler) ដែល​ខុស​ពី​ជំពូក​ភាសា​កូដ​បក​ប្រែ (Interpreter)។

ភាសា​C មាន​លក្ខណៈ​ពិសេសៗ​ដូច​ជា

  • មិន​ប្រកាន់​ប្រភេទ​ទិន្នន័យ​រវាង characters និង Interger ដែល​មាន​ន័យ​ថា​ប្រភេទ​ទិន្នន័យ​ទាំង​ពីរ​នេះ​អាច​ប្រើ​ប្រាស់​ជំនួស​គ្នា​បាន
  • អាច​ធ្វើ​ការ​គណនា​ដោយ​ផ្ទាល់​ដល់​អង្គ​ចង​ចាំ​របស់​កុំព្យូទ័រ (computer memory) ដោយ​ការ​ប្រើ​ប្រាស់ Pointer
  • ធ្វើ​ការ​ជាមួយ​និង​លក្ខណៈ Polymorphism
  • អាច​បង្កើត​បណ្ដុំ​ទិន្នន័យ (array) ជំនួស​ការ​ប្រើ​ប្រាស់ pointer
  • មាន​ប្រព័ន្ធ​ប្រតិបត្តិ​ដែល​អាច​គ្រប់​គ្រង​ច្រក​ចេញ​ចូល Standard Input Output (I/O)
  • មាន​ប្រមាណ​វិធី​សម្រាប់​គណនា​ច្រើន​ដូច​ជា +=, -=, *=, ++ ។ល។និង។ល។

បណ្ដុំ​ឯកសារ​នៅ​ក្នុង​ភាសា C អាច​បែង​ចែក​ជា​ពីរ​ផ្នែក គឺ​ផ្នែក​នៅ​ក្នុង​បណ្ដុំ​ឯកសារ .h និង បណ្ដុំ​ឯកសារ .c។ បណ្ដុំ​ឯកសារ .h គឺ​ប្រើ​ប្រាស់​ដើម្បី​សរសេរ​គ្រោង​របស់​កម្មវិធី​ដែល​មាន​ដូច​ជា​ការ​ប្រកាស​អញ្ញាត(variable) ការ​បង្កើត​ សម្ព័ន្ធ​ទិន្នន័យ (struct type) និង​ឈ្មោះ​របស់​ប្រតិបត្តិ​ការ (Function) ។ល។ និង ។ល។ ក្រៅ​ពី​នេះ ការ​ប្រើ​ប្រាស់​បណ្ដុំ​ឯកសារ .h នេះ អាច​ផ្ដល់​លទ្ធ​ភាព​ក្នុង​ការ​បង្កើត​ជា​ប្រតិបត្តិការ (Function) ដែល​មាន​លក្ខណៈ​ជា​បណ្ណាល័យ​មាន​ស្រាប់ ឫ ការ​បង្កើត​បណ្ណាល័យ​ថ្មី​សំរាប់​ប្រើ​ប្រាស់​ក្នុង​ការ​បង្កើត​កម្មវិធី​ឯទៀត។ បណ្ដុំ​ឯកសារ .c គឺ​ប្រើ​ប្រាស់​សម្រាប់​សរសេរ​បញ្ចូល​កូដ​ទាំង​អស់។ ផ្នែក​ខាង​លើ​នៃ​កូដ​ដែល​សរសេរ​នៅ​ក្នុង​ឯកសារ .c គឺ​ប្រើ​ប្រាស់​សម្រាប់​ភ្ជាប់​ទៅ​បណ្ដុំ​ឯកសារ .h ដើម្បី​ប្រើ​ប្រាស់​នូវ​រាល់​គម្រោង​ទាំង​អស់​ដែល​បាន​ធ្វើ​ស្រាប់​នៅ​ក្នុង​បណ្ណាល័យ​នោះ។ ក្នុង​ភាសា c មាន​ប្រតិបត្តិ​ការ​ចំណាប់​ផ្ដើម​មួយ​ឈ្មោះ main ដែល​ជា​ចំណុច​ចាប់​ផ្ដើម​នែ​ប្រតិបត្តិ​ការ​នៅ​ពេល​ដែល​កម្មវិធី​ត្រូវ​បាន​ដាក់​អោយ​ដំណើរ​ការ។


ឧទាហរណ៍:
កម្មវិធី Hello world

#include  int main( ) {    printf("Hello, World!");  /*   ​បង្ហាញ Hello, World!*/    return 0; } 

ក្នុង​ឧទាហរណ៍​ខាង​លើ​នេះ

#include  

​ប្រើ​ប្រាស់​ដើម្បី​ភ្ជាប់​ទៅ​បណ្ណាល័យ​ដែលមានឈ្មោះ stdio(Standard Input/Output) ដែល​មាន​ស្រាប់នៅលើគ្រប់កំុព្យួទ័រ បណ្ណាល័យនេះមានអនុគមន៏មួយចំនួនដែលទាក់ទងនឹងការបញ្ចញបញ្ចូលតម្លៃ ។

printf("Hello, World!"); 

ជាអនុគមន៏មួយនៃអនុគមន៏ជាច្រើនទៀតដែលមានស្រាប់នៅក្នុង បណ្ណាល័យ(Library) Stdio ហើយមានមុខងារបង្ហាញនូវ តួអក្សរ(string) ។

លំហាត់ឧទាហរណ៍

(១). ចូរបង្កើតកម្មវិធីនៃប្រមាណវិធីបូក ដក គុណ ចែកនៃទិន្នន័យចំនួនពិត a និង b :
កម្មវិធី

#include  void main (void) {    double a, b; /* តាង a និង b ជាអញ្ញតិនៃអថេរចំនួនពិត*/     printf("input the value of a and b");    scanf("%lf %lf",&a, &b); /*បញ្ជូលតំលៃ a និង b*/     printf("Addition = %lf\n",a+b); /*ធ្វើប្រមាណវិធីបូករវាង a និង b*/    printf("subtraction = %lf\n",a-b); /*ធ្វើប្រមាណវិធីដករវាង a និង b*/    printf("multiplication = %lf\n",a*b); /*ធ្វើប្រមាណវិធីគុណរវាង a និង b*/    printf("Division = %lf\n",a/b); /*ធ្វើប្រមាណវិធីចែករវាង a និង b*/ } 

(២) សរសេរកូដដើម្បីរកមធ្យភាគពិន្ទុ សិស្សដែលរៀន៤មុខវិជ្ជា​ ហើយបង្ហាញលទ្ធផលជាប់​ រឺធ្លាក់​ :

#include #include #include void main() {    float a,b,c,d,average;/*ប្រកាសអថេរតាង​ a,b,c,d ជាប្រភេទមុខវិជ្ជានិមួយៗ និង​ average ជាមធ្យមភាគពិន្ទុ*/     printf("please input a:\n b:\n c:\n d:\n");    scanf("%f%f%f%f",&a,&b,&c,&d);     average=a+b+c+d/4;    if (average>=50) {       printf("you are passed exam!!");       printf("your score is %.2f:",average);    } else {       printf("you are failed exam!!");       printf("your score is %.2f:",average);    }    getch();/*សំរាប់ទប់screen មិនអោយ​back មកវិញ*/ } 

(៣) សរសេរកម្មវិធីដោះស្រាយសមីការដឺក្រទី២​ មានមួយអញ្ញាត:

#include #include #include void main(){    float a,b,c,delta,x1,x2;     printf("Please input value of a: "); scanf("%f",&a);    printf("Please input value of b: "); scanf("%f",&b);    printf("please input value of c: "); scanf("%f",&c);     delta =(b*b)-(4*a*c);    if (delta>0) {       x1=-b-sqrt(delta)/2*a;   //sqrt()ជាអនុគមន៍រឹសការេ       x2=-b+sqrt(delta)/2*a;       printf("result of x1 :%f\n",x1);       printf("result of x2 : %f\n",x2);    } else if (delta==o){       x1=-b/2*a;       printf("result of x1=x2=%f",x1);    } else {       printf("no answer");    }    getch(); } 

LOOP

Loop ត្រូវបានគេប្រើដើម្បីអនុវត្តនូវកិច្ចការដដែលៗតាមលក្ខខណ្ឌដែលគេបានកំនត់​។
ទំរង់ទូទៅរបស់​ for loop​ គឺ​:

for (initial; condition; update) 

for (តំលៃចាប់ផ្តើម;​ លក្ខខណ្ឌ; ការប្រែប្រួលតំលែ)
ឧទាហរណ៍ដូចជា​:

for (i=1; i<5; i++) 

មានន័យថា​​តំលៃចាប់ផ្តើមរបស់i​ គឺ់i​​=1​ហើយi នឹងកើនតំលៃរហុតដល់4​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​។
ដោយសារi++ វាកើនតំលៃម្តង1ៗ​ iមិនអាចស្មើ 5​ បានទេ ព្រោះ​i<5​។
ឧទាហរណ៍ :

#include #include void main(){    clrscr();    int i;    for (i=1; i<5; i++)       printf("%d ",i);    getch(); } 

លទ្ធផលដែលទទួបានគឺ
​1 2 3 4
​​​​​​​​​​​​​​​ សរសេរកម្មវិធីបង្ហាញតំលៃ​y​ ដោយy=x * 2ដោយបង្ហាញចាប់ពី០​ដល់​8ដោយប្រើ​for loop:

​​​​#include<stdio.h> #include void main() {    clrscr();    int x,y;    for(x=0; x<5; x++)        //x++ មានន័យថាxបញ្ចេញតំលៃហើយទើបកើនតំលៃ ​​​​​​​​      printf("y= %d ",x*2);  //យើងអាចដាក់រូបមន្ត(x*2)ដោយមិនចាំបាច់សរសេរstatement(x=x*2)    getch();   //wait for input } 

លទ្ធផលដែលទទួលបាន
y=0 y=2 y=4 y=6 y=8

សរសេរកម្មវិធីបញ្ចេញតំលៃដោយប្រើ while loop:

#include #include  void main() {    int count;    int answer;    count=1;     while (count<=5) {       answer=count*2;       printf("%d*2 =%d;",count,answer);       count=count+1;    }    getch(); } 

លទ្ទផលដែលទទួលបានគឺ
1*2=2;2*2=4;3*2=6;4*2=8;5*2=10;

ការប្រើប្រាស់ switch

switch ត្រូវបានគេប្រើ ដើម្បីជាជម្រើសក្នុងការជ្រើសយកមធ្យោបាយណាមួយ។
ទំរង់ទូទៅរបស់ switch គឺ៖

   switch (variable) {       case  const1: statement; break;       case  const2: statement; break;       ...       case  constn: statement; break;       default: statement;    } 

ឧទាហរណ៍ៈ កម្មវិធីដែលអាចឲ្យអ្នកវាយបញ្ចូលពិន្ទុ បន្ទាប់មកវានឹងបង្ហាញនិទ្ទេស:

#include #include  void main() {    clrscr();    float score;    char grade;     printf("Input your score:");    scanf("%f",&score);    switch(score/10) {    /*(score/10) យកពិន្ទុសរុបចែកនឹង១០ */       case 10:       case  9: grade='A'; break;    /* 90-100   បង្ហាញនិទ្ទេសA ដោយមិនចាំបាច់ដាក់លក្ខខណ្ឌ នៅក្នុង case 10 ឡើយ*/       case  8: grade='B'; break;    /* 80-89.99 បង្ហាញនិទ្ទេសB */       case  7: grade='C'; break;    /* 70-79.99 បង្ហាញនិទ្ទេសC */       case  6: grade='D'; break;    /* 60-69.99 បង្ហាញនិទ្ទេសD */       case  5: grade='E'; break;    /* 50-59.99 បង្ហាញនិទ្ទេសE */       default: grade='F';    }    printf("Your score is %f\n",score);    printf("Your grade is %c",grade);    getch(); } 

Tags:

ភាសាស៊ី ប្រវត្តិភាសាស៊ី លក្ខណៈភាសាស៊ី លំហាត់ឧទាហរណ៍ភាសាស៊ី LOOPភាសាស៊ី ការប្រើប្រាស់ switchភាសាស៊ីភាសាកម្មវិធី

🔥 Trending searches on Wiki ភាសាខ្មែរ:

ប្រជាសាស្ត្រនៃកម្ពុជាព្រះរាជពិធីច្រត់ព្រះនង្គ័លពិធីរៀបអាពាហ៍ពិពាហ៍របស់ប្រជាជនកម្ពុជាកូរ៉េស្ថាប័នសំលៀកបំពាក់ខ្មែរ តំណាងថ្ងៃរចនាបថបាយ័នគណបក្សសម្ព័ន្ធដើម្បីប្រជាធិបតេយ្យប្រាសាទកោះកេរភូមិសាស្ត្ររដ្ឋបាលនៃកម្ពុជាប្រជាធិបតេយ្យប្រវត្តិសាស្ត្រអ៊ីស្រាអែលវប្បធម៌ល្បែងបោះអង្គញ់ពិធីខួបកំណើតខ្មែរព្រះរាជាណាចក្រកម្ពុជា (១៩៥៣-១៩៧០)ទិវាពលកម្មអន្ដរជាតិរឿងផ្កាស្រពោនសិក្ខាបទ៥និកាយនៃព្រះពុទ្ធសាសនាស្រុកឈូកផលិតផលទេសចរណ៍ស្រុកមេមត់កំណាព្យខ្មែរចលនាអក្សរសិល្ប៍ខ្មែរប្រជាធិបតេយ្យរឿងកុលាបប៉ៃលិនវគ្គទី១រឿង ក្បូនជីវិតល្បែងចាប់កូនខ្លែងអង្គការសុខភាពពិភពលោកអាស៊ានសាស្ត្រាចារ្យបញ្ជីរាយនាម សាកលវិទ្យាល័យនៅកម្ពុជាបរមរាជាទី១គ្រិស្តសាសនានិយមន័យ​សាសនាក្រសួងវប្បធម៌ និងវិចិត្រសិល្បៈព្រះ​បាទ​សម្តេច​ព្រះ ស៊ីសុវត្ថិវិបត្តិក្នុងុរាជវង្សខ្មែរ​និងការជ្រៀតជ្រែករបស់យួនពិធីចូលម្លប់ទិវាកុមារអន្តរជាតិបឹងទន្លេសាបខណ្ឌដង្កោសិទ្ធិកុមាររឿងថៅកែចិត្តចោរសេវាកម្មបុណ្យវិសាខបូជាសង្គ្រាមប្រាំមួយថ្ងៃស្រុកបាធាយប្រាសាទនាងខ្មៅបន្លែផ្លែឈើសហភាពឥណ្ឌូចិនTrichinellosisរឿងគ្រូ និង សិស្សក្រសួងអប់រំ យុវជន និងកីឡាដើមកំនើតជាតិខ្មែរពិធីបុណ្យអុំទូករឿង ភូមិតិរច្ឆានសុវណ្ណសាមជាតកទូរស័ព្ទរឿងអាខ្វាក់អាខ្វិនការស្រាវជ្រាវបែបវិទ្យាសាស្ត្រសាសនាតាវប្រវត្តិសាស្ត្រកម្ពុជាដើមត្នោតចក្រភពអង្គរ គ.ស (៨០២-១៤៣១)ពិធីរៀបមង្គលការជ័យវរ្ម័នទី២បក្សីចាំក្រុងព្រះបាទជ័យវរ្ម័នទី២ស្រុករលាប្អៀរចង្វាតនៃថៃភពអង្គាររមណីដ្ឋានភ្នំជើងព្រៃប្រាសាទកោះកេរ្តិ៍គុណម្ដាយ ១២ ប្រការ គុណឪពុក ២១ ប្រការឧស្សាហកម្មអាណាចក្រអយុធ្យា🡆 More