SlideShare a Scribd company logo
ÁÈÒ ÒÀËÁÀÐ,
ENUM, UNION
ҺкË
ÇÀÀÃ÷ ÕÓÂÜÑÀÃ÷
Õè÷ýýë 11
ÕÈ÷ÝÝËÈÉÍ ÀÃÓÓËÃÀ
Áèò òàëáàð
enum òºðºë
union òºðºë
Çààã÷ õóâüñàã÷
Òºðºëò çààã÷
Òºðºëò áèø çààã÷
2
ÁÈÒ ÒÀËÁÀÐ
3
Óòãûã ò¿¿íèé àâ÷ áîëîõ õÿçãààðò íü òîõèðóóëæ
õàäãàëàõ çîðèëãîîð áèò òàëáàð ãýæ íýðëýãäýõ òàëáàðûã
àøèãëàäàã.
 Æèø : Õè÷ýýë îðäîã óëèðëûã òýìäýãëýõýä 0 áà 1 ãýñýí
õî¸ð óòãà ë õàíãàëòòàé . 0 - íàìàð , 1 - õàâàð ãýæ òîîöú¸.
 Òýãâýë áèä ò¿¿íèéã õàäãàëàõäàà õàìãèéí áàãààð 1
byte õýìæýýòýé õóâüñàã÷ áóþó char òºðëèéí õóâüñàã÷
çàðëàíà.
char Semester;
 Òýãâýë çºâõºí 0 áà 1 ãýñýí óòãûã õàäãàëàõûí òóëä 8
áèò çàðöóóëæ áàéíà.
 Õýðâýý õóâüñàã÷äûã áèòýýð çàðëàæ áîëäîã áîë ¿¿íä
çºâõºí 1 ë áèò õàíãàëòòàé.
ÁÈÒ ÒÀËÁÀÐ
4
 Ñè õýëýíä èéì áàéäëààð áèò òàëáàðûã çàðëàõ áîëîìæ
áàéäàã.
#include <stdio.h>
struct AAAAA {
int Sem: 1; /* 0..1 */
int k :2; /* 0..3 */
int l :5; /* 0..31*/
int s: 2; /* 0..3 */
int m:6; /* 0..63 */
} AA;
ÆÈØÝÝ
main()
{
AA.Sem=1; printf(“%dn”,AA.Sem);
AA.k=3; printf(“%dn”,AA.k);
AA.l=31; printf(“%dn”,AA.l);
AA.s=3; printf(“%dn”,AA.s);
AA.m=63; printf(“%dn”,AA.m);
printf(“%un”,AA);
}
5
ENUM ҺкË
Ñè õýëýíä îëîíëîãèéã enum ò¿ëõ¿¿ð ¿ãèéí
òóñëàìæòàéãààð òîäîðõîéëäîã.
Æèøýýíä äîëîî õîíîãèéí ºäð¿¿äèéã òºëººëñºí íýð¿¿äòýé
Weekdays îëîíëîãèéã òîäîðõîéëîâ.
#include <stdio.h>
enum DAYS
{ Dabaa=1, Migmar=2, Lhagva=3, Purev=4, Baasan=5,
Bimba=6, Nim=0
} Weekdays;
6
ÆÈØÝÝ
main()
{ int i; printf(“ Day = ”); scanf(“%d”,&i);
switch(i)
{ case Dabaa : printf(“Äàâàà”);break;
case Migmar : printf(“Ìÿãìàð”);break;
case Lhagva : printf(“Ëõàãâà”);break;
case Purev : printf(“Ï¿ðýâ”);break;
case Baasan : printf(“Áààñàí”);break;
case Bimba : printf(“Áÿìáà”);break;
case Nim : printf(“Íÿì”);break;
default : printf(“Äîëîî õîíîãèéí ºäºð áèø ”);
} }
7
UNION ҺкË
Ýíý òºðëèéã àøèãëàí ÿëãààòàé òºðë¿¿äèéí
õóâüñàã÷äûã õóãàöààíû ººð àãøèíä õàäãàëàõ
õóâüñàã÷èéã çàðëàäàã.
Æèøýý :
#include<stdio.h>
union TEMPERARY
{ int n;
float m;
}temp;
8
ÆÈØÝÝ
int i=10,j=20;
float k=10.1,l=20.1;
main()
{ temp.n=i; i=j; j=temp.n;
printf("%d %dn",i,j);
temp.m=k; k=l; l=temp.m;
printf("%f %fn",k,l);
}
9
UNION ҺкË
struct áîëîí union –íû ãîë ÿëãàà íü ñàíàõ îéã
õýðõýí àøèãëàæ áàéãàà ÿâäàë þì.
Æèøýýíä çàðëàñàí temp íýðòýé õóâüñàã÷ íü
ñàíàõ îéä 2byte ýçýëíý. Ó÷èð íü union –íû
ãèø¿¿í ýëåìåíò¿¿ä ñàíàõ îéã ýýëæëýí, õàìòàð÷
ýçýìøäýã.
Õàðèí struct àøèãëàñàí áîë temp õóâüñàã÷ íü
ñàíàõ îéä 4byte ýçýëíý.
10
ÇÀÀÃ÷ ÕÓÂÜÑÀÃ÷
Çààã÷ ãýäýã áîë îáüåêòûã çààõ õóâüñàã÷ þì.
Çààã÷ òºðëèéí õóâüñàã÷èéã çàðëàõäàà ºìíº íü (*)
îä òàâèíà.
Çààã÷ õóâüñàã÷ íü ñàíàõ îéä áàéðëàñàí
õóâüñàã÷èéí õàÿãèéã íü àãóóëíà.
Çààã÷ õóâüñàã÷ áà åðäèéí õóâüñàã÷èéí ÿëãààã
äàðààõ æèøýýí äýýð àâ÷ ¿çüå.
11
ÇÀÀÃ÷ ÕÓÂÜÑÀÃ÷
int Var=10;
int *pVar=&Var;
Äýýðõ õî¸ð õóâüñàã÷ íü ñàíàõ îéä äàðààõ
áàéäëààð áàéðëàíà.
12
900 901 902 903 904
10 901
901- ð õàÿãí ü Var õóâüñàã÷èéí áàéðëàõ ñàí àõ î éí ¿¿ð
902- ð õàÿãí ü pVar õóâüñàã÷èéí áàéðëàõ ñàí àõ î éí ¿¿ð
ҺкËÒ ÇÀÀÃ÷ ÕÓÂÜÑÀÃ÷
Çààã÷ õóâüñàã÷ íü òºðºëò áà òºðºëò áèø ãýñýí
õî¸ð ÿíç áàéäàã.
Òºðºëò çààã÷ ãýäýã íü òîäîðõîé òºðºëòýé
õóâüñàã÷èéã çààõ çààã÷èéã õýëíý.
int i=10; /* int òºðëèéí õóâüñàã÷ çàðëàõ */
int *k; /* int òºðëèéí çààã÷ */
Á¿õýë òîîí òºðëèéí çààã÷ íü çºâõºí á¿õýë òîîí
(int) òºðëèéí õóâüñàã÷èéã, îáüåêòèéã çààíà.
13
ÇÀÀÃ÷ÈÄ ÀÍÕÍÛ ÓÒÃÀ ÎËÃÎÕ
Çààã÷èä óòãà îëãîîã¿é áàéõ ¿åä òýð ÿìàð ÷
îáüåêòèéã çààõã¿é, õàðèí ò¿¿íä ÿìàð íýã
õóâüñàã÷èéí õàÿãèéã îëãîõäîî & ¿éëäëèéã
àøèãëàíà.
int i;
int *p=&i;
/* p çààã÷èä i õóâüñàã÷èéí õàÿãèéã îëãîõ áóþó i
õóâüñàã÷èéã çààëãàõ */
14
ÇÀÀÃ÷ÈÄ ÓÒÃÀ ÎËÃÎÕ
Çààã÷ õóâüñàã÷èéã ÿìàð íýã îáüåêòèéã çààëãàõäàà äàðààõ
áàéäëààð çààëãàíà.
int i;
int *p;
p=&i;
/* p çààã÷èä i õóâüñàã÷èéí õàÿãèéã îëãîõ áóþó i
õóâüñàã÷èéã çààëãàõ */
15
ÇÀÀÃ÷ÈÉÍ ÇÀÀÆ ÁÓÉ ÎÁÜÅÊÒÎÄ
ÕÀÍÄÀÕ
Çààã÷èéí çààæ áàéãàà îáüåêòîä õàíäàõäàà *
òýìäãèéã àøèãëàíà.
int i=3, *p;
p=&i;
/* p çààã÷èä i õóâüñàã÷èéí õàÿãèéã îëãîõ áóþó i
õóâüñàã÷èéã çààëãàõ */
printf(“ i =%d”, *p);
/* 3 ãýñýí óòãà õýâëýãäýíý */
16
ÇÀÀÃ÷ÈÉÍ ÇÀÀÆ ÁÓÉ ÎÁÜÅÊÒÎÄ
ÕÀÍÄÀÕ
17
*p=10; /* i=10 ãýñýíòýé èæèë */
printf(“ i=%d”, i); /* 10 õýâëýãäýíý */
Æèøýý :
char c = 'Q';
char *ch = &c;
printf("%c %cn", c, *ch); c = 'Z';
printf("%c %cn", c, *ch); *ch= 'Y';
printf("%c %cn", c, *ch);
ÇÀÀÃ÷ ÄÝÝÐÕ ¿ÉËÄË¿¿Ä
Íýã çààã÷èéã íºãººä íü îëãîõ áîëîìæòîé.
int i=100,*p1,*p2;
p1=&i; /* i-ã çààëãàõ */
p2=p1; /* p1-èéí îáüåêòèéã çààëãàõ */
printf(“%d n”,*p1);/* 100 -ã õýâëýõ */
printf(“%d n”,*p2);/* 100 -ã õýâëýõ */
18
ÇÀÀÃ÷ ÄÝÝÐÕ ¿ÉËÄË¿¿Ä
Õî¸ð çààã÷èéã õîîðîíä íü õàðüöóóëæ áîëíî.
int x=2,y=1;
int *p1, *p2;
p1=&x; p2=&y;
if(p1!=p2)
printf(“2 çààã÷ òýíö¿¿ áèø”);
else printf(“2 çààã÷ òýíö¿¿”);
19
ÇÀÀÃ÷ ÄÝÝÐÕ ¿ÉËÄË¿¿Ä
Çààã÷ äýýð äàðààõ àðèôìåòèê ¿éëäë¿¿äèéã
ã¿éöýòãýæ áîëíî.
Çààã÷ äýýð íýìýãä¿¿ëýõ (++), õîðîãäóóëàõ (--),
íýìýõ (+), õàñàõ (-) ¿éëäë¿¿äèéã ã¿éöýòãýæ áîëíî.
int i, *p1=&i;
p1++, p1--, p1+=2, p1-=2 . . . ãýõ ìýò
20
ÇÀÀÃ÷ ÄÝÝÐÕ ¿ÉËÄË¿¿Ä
Òºðºëò çààã÷ àøèãëàæ áàéãàà ¿åä ýäãýýð
¿éëäë¿¿äèéã ã¿éöýòãýõýä çààã÷èéí òºðëèéí
õýìæýýãýýð íýìýãäýæ, õîðîãäîíî.
int *p1=&i;
p1++;/* Õàÿã = õàÿã + 2 */
p1--; /* Õàÿã = õàÿã - 2 */
p1+=2; /* Õàÿã= õàÿã + 4 */
p1-=2; /* Õàÿã= õàÿã - 4 */
21
ÇÀÀÃ÷ ÄÝÝÐÕ ¿ÉËÄË¿¿Ä
Äàðààõ çóðàãò 900 –ð õàÿãò áàéðëàõ i õóâüñàã÷èéã
çààñàí p çààã÷ äýýð ¿éëäýë õèéõýä çààã÷ õýðõýí
øèëæèõèéã õàðóóëàâ.
22
900 901 902 903 904
i i
P P+ + P+ = 2

More Related Content

PDF
068 alqalam iphone
PDF
Vevaiosi imerida
TXT
Vector india ass 2
PDF
Simple menu ui efek flip css3
PPT
Surgaltiin orchinii eruul ahui
PDF
Numi svid13
PDF
068 alqalam iphone
Vevaiosi imerida
Vector india ass 2
Simple menu ui efek flip css3
Surgaltiin orchinii eruul ahui
Numi svid13

Viewers also liked (20)

PDF
PDF
PDF
PDF
Design+Startup 2013
PPTX
PPTX
Output Screens of wget based web crawler
PPTX
"de:coded 2011" winners
PPT
Coding for a wget based Web Crawler
PPT
Working with WebSPHINX Web Crawler
ODP
Pronoms toniques: formes et emplois.
PPT
Working of a Web Crawler
Design+Startup 2013
Output Screens of wget based web crawler
"de:coded 2011" winners
Coding for a wget based Web Crawler
Working with WebSPHINX Web Crawler
Pronoms toniques: formes et emplois.
Working of a Web Crawler
Ad

Lecture 11

  • 2. ÕÈ÷ÝÝËÈÉÍ ÀÃÓÓËÃÀ Áèò òàëáàð enum òºðºë union òºðºë Çààã÷ õóâüñàã÷ Òºðºëò çààã÷ Òºðºëò áèø çààã÷ 2
  • 3. ÁÈÒ ÒÀËÁÀÐ 3 Óòãûã ò¿¿íèé àâ÷ áîëîõ õÿçãààðò íü òîõèðóóëæ õàäãàëàõ çîðèëãîîð áèò òàëáàð ãýæ íýðëýãäýõ òàëáàðûã àøèãëàäàã.  Æèø : Õè÷ýýë îðäîã óëèðëûã òýìäýãëýõýä 0 áà 1 ãýñýí õî¸ð óòãà ë õàíãàëòòàé . 0 - íàìàð , 1 - õàâàð ãýæ òîîöú¸.  Òýãâýë áèä ò¿¿íèéã õàäãàëàõäàà õàìãèéí áàãààð 1 byte õýìæýýòýé õóâüñàã÷ áóþó char òºðëèéí õóâüñàã÷ çàðëàíà. char Semester;  Òýãâýë çºâõºí 0 áà 1 ãýñýí óòãûã õàäãàëàõûí òóëä 8 áèò çàðöóóëæ áàéíà.  Õýðâýý õóâüñàã÷äûã áèòýýð çàðëàæ áîëäîã áîë ¿¿íä çºâõºí 1 ë áèò õàíãàëòòàé.
  • 4. ÁÈÒ ÒÀËÁÀÐ 4  Ñè õýëýíä èéì áàéäëààð áèò òàëáàðûã çàðëàõ áîëîìæ áàéäàã. #include <stdio.h> struct AAAAA { int Sem: 1; /* 0..1 */ int k :2; /* 0..3 */ int l :5; /* 0..31*/ int s: 2; /* 0..3 */ int m:6; /* 0..63 */ } AA;
  • 5. ÆÈØÝÝ main() { AA.Sem=1; printf(“%dn”,AA.Sem); AA.k=3; printf(“%dn”,AA.k); AA.l=31; printf(“%dn”,AA.l); AA.s=3; printf(“%dn”,AA.s); AA.m=63; printf(“%dn”,AA.m); printf(“%un”,AA); } 5
  • 6. ENUM ÒºÐºË Ñè õýëýíä îëîíëîãèéã enum ò¿ëõ¿¿ð ¿ãèéí òóñëàìæòàéãààð òîäîðõîéëäîã. Æèøýýíä äîëîî õîíîãèéí ºäð¿¿äèéã òºëººëñºí íýð¿¿äòýé Weekdays îëîíëîãèéã òîäîðõîéëîâ. #include <stdio.h> enum DAYS { Dabaa=1, Migmar=2, Lhagva=3, Purev=4, Baasan=5, Bimba=6, Nim=0 } Weekdays; 6
  • 7. ÆÈØÝÝ main() { int i; printf(“ Day = ”); scanf(“%d”,&i); switch(i) { case Dabaa : printf(“Äàâàà”);break; case Migmar : printf(“Ìÿãìàð”);break; case Lhagva : printf(“Ëõàãâà”);break; case Purev : printf(“Ï¿ðýâ”);break; case Baasan : printf(“Áààñàí”);break; case Bimba : printf(“Áÿìáà”);break; case Nim : printf(“Íÿì”);break; default : printf(“Äîëîî õîíîãèéí ºäºð áèø ”); } } 7
  • 8. UNION ÒºÐºË Ýíý òºðëèéã àøèãëàí ÿëãààòàé òºðë¿¿äèéí õóâüñàã÷äûã õóãàöààíû ººð àãøèíä õàäãàëàõ õóâüñàã÷èéã çàðëàäàã. Æèøýý : #include<stdio.h> union TEMPERARY { int n; float m; }temp; 8
  • 9. ÆÈØÝÝ int i=10,j=20; float k=10.1,l=20.1; main() { temp.n=i; i=j; j=temp.n; printf("%d %dn",i,j); temp.m=k; k=l; l=temp.m; printf("%f %fn",k,l); } 9
  • 10. UNION ÒºÐºË struct áîëîí union –íû ãîë ÿëãàà íü ñàíàõ îéã õýðõýí àøèãëàæ áàéãàà ÿâäàë þì. Æèøýýíä çàðëàñàí temp íýðòýé õóâüñàã÷ íü ñàíàõ îéä 2byte ýçýëíý. Ó÷èð íü union –íû ãèø¿¿í ýëåìåíò¿¿ä ñàíàõ îéã ýýëæëýí, õàìòàð÷ ýçýìøäýã. Õàðèí struct àøèãëàñàí áîë temp õóâüñàã÷ íü ñàíàõ îéä 4byte ýçýëíý. 10
  • 11. ÇÀÀÃ÷ ÕÓÂÜÑÀÃ÷ Çààã÷ ãýäýã áîë îáüåêòûã çààõ õóâüñàã÷ þì. Çààã÷ òºðëèéí õóâüñàã÷èéã çàðëàõäàà ºìíº íü (*) îä òàâèíà. Çààã÷ õóâüñàã÷ íü ñàíàõ îéä áàéðëàñàí õóâüñàã÷èéí õàÿãèéã íü àãóóëíà. Çààã÷ õóâüñàã÷ áà åðäèéí õóâüñàã÷èéí ÿëãààã äàðààõ æèøýýí äýýð àâ÷ ¿çüå. 11
  • 12. ÇÀÀÃ÷ ÕÓÂÜÑÀÃ÷ int Var=10; int *pVar=&Var; Äýýðõ õî¸ð õóâüñàã÷ íü ñàíàõ îéä äàðààõ áàéäëààð áàéðëàíà. 12 900 901 902 903 904 10 901 901- ð õàÿãí ü Var õóâüñàã÷èéí áàéðëàõ ñàí àõ î éí ¿¿ð 902- ð õàÿãí ü pVar õóâüñàã÷èéí áàéðëàõ ñàí àõ î éí ¿¿ð
  • 13. ҺкËÒ ÇÀÀÃ÷ ÕÓÂÜÑÀÃ÷ Çààã÷ õóâüñàã÷ íü òºðºëò áà òºðºëò áèø ãýñýí õî¸ð ÿíç áàéäàã. Òºðºëò çààã÷ ãýäýã íü òîäîðõîé òºðºëòýé õóâüñàã÷èéã çààõ çààã÷èéã õýëíý. int i=10; /* int òºðëèéí õóâüñàã÷ çàðëàõ */ int *k; /* int òºðëèéí çààã÷ */ Á¿õýë òîîí òºðëèéí çààã÷ íü çºâõºí á¿õýë òîîí (int) òºðëèéí õóâüñàã÷èéã, îáüåêòèéã çààíà. 13
  • 14. ÇÀÀÃ÷ÈÄ ÀÍÕÍÛ ÓÒÃÀ ÎËÃÎÕ Çààã÷èä óòãà îëãîîã¿é áàéõ ¿åä òýð ÿìàð ÷ îáüåêòèéã çààõã¿é, õàðèí ò¿¿íä ÿìàð íýã õóâüñàã÷èéí õàÿãèéã îëãîõäîî & ¿éëäëèéã àøèãëàíà. int i; int *p=&i; /* p çààã÷èä i õóâüñàã÷èéí õàÿãèéã îëãîõ áóþó i õóâüñàã÷èéã çààëãàõ */ 14
  • 15. ÇÀÀÃ÷ÈÄ ÓÒÃÀ ÎËÃÎÕ Çààã÷ õóâüñàã÷èéã ÿìàð íýã îáüåêòèéã çààëãàõäàà äàðààõ áàéäëààð çààëãàíà. int i; int *p; p=&i; /* p çààã÷èä i õóâüñàã÷èéí õàÿãèéã îëãîõ áóþó i õóâüñàã÷èéã çààëãàõ */ 15
  • 16. ÇÀÀÃ÷ÈÉÍ ÇÀÀÆ ÁÓÉ ÎÁÜÅÊÒÎÄ ÕÀÍÄÀÕ Çààã÷èéí çààæ áàéãàà îáüåêòîä õàíäàõäàà * òýìäãèéã àøèãëàíà. int i=3, *p; p=&i; /* p çààã÷èä i õóâüñàã÷èéí õàÿãèéã îëãîõ áóþó i õóâüñàã÷èéã çààëãàõ */ printf(“ i =%d”, *p); /* 3 ãýñýí óòãà õýâëýãäýíý */ 16
  • 17. ÇÀÀÃ÷ÈÉÍ ÇÀÀÆ ÁÓÉ ÎÁÜÅÊÒÎÄ ÕÀÍÄÀÕ 17 *p=10; /* i=10 ãýñýíòýé èæèë */ printf(“ i=%d”, i); /* 10 õýâëýãäýíý */ Æèøýý : char c = 'Q'; char *ch = &c; printf("%c %cn", c, *ch); c = 'Z'; printf("%c %cn", c, *ch); *ch= 'Y'; printf("%c %cn", c, *ch);
  • 18. ÇÀÀÃ÷ ÄÝÝÐÕ ¿ÉËÄË¿¿Ä Íýã çààã÷èéã íºãººä íü îëãîõ áîëîìæòîé. int i=100,*p1,*p2; p1=&i; /* i-ã çààëãàõ */ p2=p1; /* p1-èéí îáüåêòèéã çààëãàõ */ printf(“%d n”,*p1);/* 100 -ã õýâëýõ */ printf(“%d n”,*p2);/* 100 -ã õýâëýõ */ 18
  • 19. ÇÀÀÃ÷ ÄÝÝÐÕ ¿ÉËÄË¿¿Ä Õî¸ð çààã÷èéã õîîðîíä íü õàðüöóóëæ áîëíî. int x=2,y=1; int *p1, *p2; p1=&x; p2=&y; if(p1!=p2) printf(“2 çààã÷ òýíö¿¿ áèø”); else printf(“2 çààã÷ òýíö¿¿”); 19
  • 20. ÇÀÀÃ÷ ÄÝÝÐÕ ¿ÉËÄË¿¿Ä Çààã÷ äýýð äàðààõ àðèôìåòèê ¿éëäë¿¿äèéã ã¿éöýòãýæ áîëíî. Çààã÷ äýýð íýìýãä¿¿ëýõ (++), õîðîãäóóëàõ (--), íýìýõ (+), õàñàõ (-) ¿éëäë¿¿äèéã ã¿éöýòãýæ áîëíî. int i, *p1=&i; p1++, p1--, p1+=2, p1-=2 . . . ãýõ ìýò 20
  • 21. ÇÀÀÃ÷ ÄÝÝÐÕ ¿ÉËÄË¿¿Ä Òºðºëò çààã÷ àøèãëàæ áàéãàà ¿åä ýäãýýð ¿éëäë¿¿äèéã ã¿éöýòãýõýä çààã÷èéí òºðëèéí õýìæýýãýýð íýìýãäýæ, õîðîãäîíî. int *p1=&i; p1++;/* Õàÿã = õàÿã + 2 */ p1--; /* Õàÿã = õàÿã - 2 */ p1+=2; /* Õàÿã= õàÿã + 4 */ p1-=2; /* Õàÿã= õàÿã - 4 */ 21
  • 22. ÇÀÀÃ÷ ÄÝÝÐÕ ¿ÉËÄË¿¿Ä Äàðààõ çóðàãò 900 –ð õàÿãò áàéðëàõ i õóâüñàã÷èéã çààñàí p çààã÷ äýýð ¿éëäýë õèéõýä çààã÷ õýðõýí øèëæèõèéã õàðóóëàâ. 22 900 901 902 903 904 i i P P+ + P+ = 2