Lecture 11
- 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;
- 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
- 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