Join Us on Facebook Follow us on Twitter Add to Circles

Monday, December 29, 2014

C Program: មេរៀនទី២ កន្សោម(Expression)

2.1. ប្រភេទទិន្នន័យ
2.1.1. និយមន័យ
ទិន្នន័យ(Data) គឺជាបណ្តាពត៌មានដែលមានពិតដូចជា អត្ថបទតំលៃលេខ សំលេង និង រូបភាព សម្ដែងក្រោមទម្រង់មួយដែលកុំព្យូទ័រអាចធ្វើការប្រាស្រ័យទាក់ទង ឬ អនុវត្ថ
ការងារណាមួយសំដែងក្រោមទំរង់មួយដែល ជាមួយវាបាន។


2.1.2. ប្រភេទទិន្នន័យ(Data Type)
ប្រភេទទិន្នន័យត្រូវបានគេអោយនិយមន័យដោយពីរចំនុចខាងក្រោមគឺៈ
+ ជាប្រភេទ និង ដែនកំណត់តំលៃ​ ដែលក្រោយពេលអថេរមួយបានប្រកាសជាមួយប្រភេទ
នៃទិន្នន័យនោះរួច វាអាចទទូលតំលៃនោះបាន
+ ក្នុងប្រភេទទិន្នន័យនិមួយៗអាចមានកំណត់ប្រមាណវិធីមួយចំនួនជាក់លាក់
ប្រភេទិន្នន័យក្នុងភាសា C

Data Type
+ Scalar Type(long, Short,integer,char,float)
+ Structure Type(array,struct,union,FILE
+ Pointer Type

ប្រភេទទិន្នន័យ
ពាក្យគន្លឹះ
ចំនួន Byte
ដែនតំលៃ
Character
Char
1
-128  --> 127
Integer
Int
2
-32768 --> 32767
Short Integer
Short
2
-32768 --> 32767
Long integer
Long
4
-2147483648 --> 2147483647
Unsigned character
Unsigned char
1
0 --> 255
Unsigned integer
Unsigned int
2
0 --> 65535
Unsigned short integer
Unsigned short
2
0 --> 65535
Unsigned long integer
Unsigned long
4
0 --> 4294967295
 
 



ការដាក់តំលៃអោយអថេរចំនួនគត់
- ការភ្ជាប់តំលៃចាប់ផ្តើម
ឧទាហរណ៍ៈ យើងចង់ភ្ជាប់តំលៃ 10 ទៅអោយអថេរ x
int x;
x=10;
Or
int x=10;
- ការភ្ជាប់តំលៃតាមការបញ្ចូល
int x;
printf(“Enter value x=“);
scanf(“%d”,&x);
2.1.3. ចំនួនពិត(Real)
ក្នុងភាសា C ប្រភេទចំនួនពិតត្រូវបានគេបែងចែកជា៣ផ្សេងៗគឺFloat, double, long double


ប្រភេទទិន្នន័យ

ពាក្យគន្លឹះ

ចំនួន Byte

ដែនកំណត់

Single-precision
Float point

Float

4
3.4E-38 --> 3.4E+38

Double-precision
Float point

Double

8
1.7E-308 --> 1.7E+308

Long double-precision float point

Long double

10
3.4E-4932 --> 1.1E+4932


របៀបសរសេរតំលៃនៃចំនួនពិតក្នុងភាសា C

4.4   ត្រឹមត្រូវ            5  ខុស             5.​ ត្រឹមត្រូវ                  .5  ត្រឹមត្រូវ
5.0   ត្រឹមត្រូវ               4,4 ខុស           -4.4  ត្រឹមត្រូវ              4E-2  ត្រឹមត្រូវ

ការដាក់អថេរអោយចំនួនពិត
- ការភ្ជាប់តំលៃចាប់ផ្តើម
ឧទាហរណ៍ៈ យើងចង់ភ្ជាប់តំលៃ 2x10-5 ទៅអោយ អថេរ x
float x;
  x=2E-5;
or
  float x=2E-5;

- ការភ្ជាប់តំលៃតាមការបញ្ចូល
float x;
printf(“Enter value x=“);
scanf(“%f”,&x);

2.1.4.  ទិន្នន័យប្រភេទ​ Char(Character)
នៅក្នុងភាសា C ដើម្បីសរសេរចំនួនថេរនៃ Character  យើងត្រូវសរសេរនៅក្នុងចន្លោះសញ្ញា ‘ ’
( single quote)
ឧទាហរណ៍ៈ  ‘a’ , ‘0’ , ‘ 2’ , ‘A’ ,…
Character និមួយៗសុទ្ធតែត្រូវបានគេកំណត់តំលៃរបស់នៅក្នុងតារាង ASCII ដើម្បីងាយស្រួល
ក្នុងការរក្សាទុក និង អនុវត្តន៍ប្រមាណវិធីលើវា។
ASCII : American Standard Code for Information Interchange)

Constance character នៅក្នុង តារាង ASCII
Constance character

ASCII

មុខងារ

\a

7
បញ្ចេញសំលេងជួង(BELL)

\b

8
Back Space

\t

9
Tab

\n

10
New line



សញ្ញាពិសេស
របៀបសរសេ

Character

\ ‘


\ “


\\

\

\0

Null




ការដាក់អថេរអោយប្រភេទ Char
ការភ្ជាប់តំលៃចាប់ផ្តើម

  char x;
  x=‘3’;
or
char x=‘3’;

-ការភ្ជាប់តំលៃតាមការបញ្ចូល
char x;
printf(“Enter value x=“);
scanf(“%c”,&x);

ឧទាហរណ៍ :ចូរពិនិត្យមើលកូដនៃកម្មវិធីខាងក្រោមៈ
#include<stdio.h>
#include<conio.h>
void main()
{
   char a,b,z;
   int zz;
   printf(“Enter value a=“); scanf(“%c”,&a);
   flushall();
   printf(“Enter value b=“); scanf(“%c”,&b);
   z=a+b;
   zz=a+b;
   printf(“Value sum in char=%c \n”,z);
   printf(“Values sum in Int=%d “,zz);
   getch();
}

2.1.5.  ទិន្នន័យប្រភេទ​ String
- នៅក្នុងភាសា C String គឺជាស៊េរីនៃ character ដែលត្រូវបានគេសរសេរនៅក្នុងចន្លោះ
សញ្ញា ( double quote)
ឧទាហរណ៍ៈ  BBU, Cambodia ,
-ធាតុនិមួយៗរបស់ String ត្រូវបានតំរៀបជាប់ៗគ្នានៅក្នុង Memory ហើយផ្នែកខាងចុង
បំផុតនៃធាតុរបស់វាផ្ទុក character Null \0

2.1.6. ទិន្នន័យប្រភេទ Boolean
ទិន្នន័យប្រភេទ Boolean គឺសំដៅទៅលើតែតំលៃ២ប៉ុណ្នោះ គឺ១ និង ០ ដែលជាតំលៃ
តក្កតំណាងអោយលទ្ធផលសំណើរមួយពិត (True) ​ឬ មិនពិត(False)

ឧទាហរណ៍
សំណើរ        ១០ >  ២០ នោះលទ្ធផល គឺ មិនពិត ឬ ០
                             ១០< ២០ នោះលទ្ធផល គឺ ពិត ឬ ១

2.2. ចំនួនថេរ និង អថេរ(Constance & Variable)
2.2.1. ចំនួនថេរ(Constance)
ចំនួនថេរគឺជាចំនួនដែលមានតំលៃមិនប្រែប្រួលក្នុងពេលដំណើរ  ការនៃកម្មវិធី។
ការប្រកាសចំនួនថេរត្រូវមានពាក្យ  const នៅពីខាងមុខ
const ប្រភេទទិន្នន័យ ឈ្មោះចំនួនថេរ = តំលៃនៃចំនួនថេរ
ឧទាហរណ៍ៈ
const int a=10;
const float b=5.5;
const char ch=‘A’;

2.2.2. អថេរ
តើអ្វីទៅជាអថេរ?
គឺជាឈ្មោះដែលត្រូវបានគេតាងសម្រាប់រក្សាទុកទិន្នន័យប្រភេទណាមួយនៅក្នុង
Memory កុំព្យួទ័រ។
ការប្រកាសអថេរ:
ប្រភេទទិន្នន័យ អថេរ១, អថេរ២,, ​​​អថេរ n
ឧទាហរណ៍ៈ
int x,y;             float a;             char ch;

2.3. ប្រមាណវិធី       
2.3.1. បណ្តាសញ្ញាប្រើក្នុងប្រមាណវិធីនពន្ត
សញ្ញា

អត្ថន័យ

ឧទាហរណ៍

+
បូក
 a+b
-
ដក
a-b
*
គុណ
a*b
/
ចែក
a/b
%

ចែកយកសំណល់
a%b

ឧទាហរណ៍ៈ
10/3=3
10%3=1

2.3. ប្រមាណវិធី       
2.3.. ប្រមាណវិធីធៀប
សញ្ញា

អត្ថន័យ

ឧទាហរណ៍


ធំជាង

a>b

>=

ធំជាង ឬ ស្មើ

a>=b


តូចជាង

a<b

<=

តូចជាង ឬ ស្មើ

a<=b

==

ស្មើ

a==b

!=

មិនស្មើ ឬ ខុសគ្នា

a!=b



2.3. ប្រមាណវិធី       
2.3.3. ប្រមាណវិធីតក្ក
សញ្ញា

អត្ថន័យ

ឧទាហរណ៍

!
បដិសេធ(Not)
!a
&&
ប្រមាណវិធី and
a&&b
||
ប្រមាណវិធី or
a||b


          2.3.5. ការបង្កើន និង បន្ថយតំលៃអថេរ
នៅក្នុងភាសា Cគេប្រើ ++ ប្រើសំរាប់បូកតំលៃ ១ បន្ថែមទៅលើ
Operand ចំនែកឯ -- វិញគឺសំរាប់ដកតំលៃ ១ ចេញពី
Operand ដែលជាប់វានោះ។
ឧៈ យើងមានអថេរ n ដែល n=5
è ក្រោយប្រមាណវិធី ++នោះ n នឹងទទូលតំលៃ  6
è ក្រោយប្រមាណវិធី --នោះ n នឹងទទូលតំលៃ  4
ការី ++ និង -- អាចឈរនៅខាងមុខ Operand ឬ ខាងក្រោយ
Operand ប៉ុន្តែលទ្ធផលដែលទទូលបានមានភាពខុសគ្នា។
ឧៈ   ++n                      n++                  --n                    n—
+ភាពខុសគ្នារវាង ++n និង n++
++n ប្រៀបដូចទៅនឹង n=n+1
ឧៈ យើងមាន x=10;
បើ y=++x; è នោះ y=11
បើ​ y=x++  è នោះ y=10
Ex:
int x=5,y=5;
int a,b;
a=x++;
b=++y;
printf(“Value a=%d”,a);
printf(“value b=%d”,b);

2.3.6. កន្សោមលក្ខខណ្ឌ
នៅក្នុងភាសា C កន្សោមលក្ខខណ្ឌត្រូវបានគេកំណត់ទំរង់ដូចខាងក្រោមៈ
e1?e2:e3 ដែល e1,​​ e2 និង e3គឺជាកន្សោមផ្សេងៗគ្នា
ប្រសិនបើ e1 ពិតនោះលទ្ធផលទទូលបានស្មើនិងតំលៃ e2 ប៉ុន្តែបើផ្ទុយមកវិញនោះ
គឺស្មើនិងតំលៃ e3
ឧៈ យើងមានកន្សោម x=(a>b)?a:b ចូរពិនិត្យ
យើងនឹងទទូលបានតំលៃ x=a ប្រសិនបើ a>b តែបើផ្ទុយមកវិញ នោះ យើងនឹងបាន x=b

Ex:
សរសេកម្មវិធីដើម្បីរកអតិបរមានៃ២ចំនួន a , b

#include<stdio.h>
#include<conio.h>
void main()
{
   int a,b,max;
   printf(“Enter value a=“);
   scanf(“%d”,&a);
   printf(“Enter value b=“);
   scanf(“%d”,&b);
   max=(a>b)?a:b;
   printf(“Max=%d”,max);
  getch();
}

No comments:

Post a Comment