Recommended
PDF
Òðàíñôîðìàòîðûí îðóóëãûí á¿ä¿¿â÷
PDF
PDF
PDF
Òîãòìîë ã¿éäëèéí ìàøèíû á¿òýö õèéö
PDF
PDF
PDF
PDF
Çàíãèëààíû õ¿÷äëèéíí àðãà
PDF
PDF
Òðàíñôîðìàòîðûí àæèëëàõ çàð÷èì
PDF
PPT
PPTX
PDF
PPT
Lecture1 kомпьютерт мэдээлэл_дүрслэх
PPT
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
More Related Content
PDF
Òðàíñôîðìàòîðûí îðóóëãûí á¿ä¿¿â÷
PDF
PDF
PDF
Òîãòìîë ã¿éäëèéí ìàøèíû á¿òýö õèéö
PDF
PDF
PDF
PDF
Çàíãèëààíû õ¿÷äëèéíí àðãà
What's hot
PDF
PDF
Òðàíñôîðìàòîðûí àæèëëàõ çàð÷èì
PDF
PPT
PPTX
PDF
PPT
Lecture1 kомпьютерт мэдээлэл_дүрслэх
PPT
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
More from Tuguldurbayar Gantogoo
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
Lecture 12 1. 2. Õè÷ýýëèéí Àãóóëãà
Òºðºëò çààã÷
Òºðºëò áèø çààã÷
Õºðâ¿¿ëýëò õèéõ
Ôóíêö ðóó õàÿãààð äàìæóóëàõ
Ôóíêöûí çààã÷
Çààã÷ áà ìàññèâ
[ ] ¿éëäýë
2
3. Çààã÷ äýýðõ ¿éëäë¿¿ä 3
Äàðààõ ¿éëäë¿¿äèéã çààã÷èä çºâøººðäºãã¿é.
Õî¸ð çààã÷èéã íýìýõ
ßëãààòàé îáüåêò äýýðõ 2 çààã÷èéã õàñàõ
Áîäèò òîîòîé çààã÷èéã íýìýõ
Çààã÷èéã ¿ðæ¿¿ëýõ
Çààã÷èéã õóâààõ
Çààã÷èéã øèëæ¿¿ëýõ ¿éëäýë
4. Òºðºëò çààã÷
4
Òºðºëò çààã÷èéã àøèãëàí ººð òºðºëòýé
îáüåêòîä õàíäàæ áîëíî.
#include <stdio.h>
main()
{ char c[10]=”ababababab”;
int i, *p1=c;
for(i=0;i<5;i++)
printf(“%c ”,*p1++);
}
¯ð ä¿í:
a a a a a
charòºðëèéí îáüåêò
int òºðëèéí çààã÷
int òºðëèéí õýìæýýãýýð íýìýãäýõ
5. 6. Òºðºëò áèø çààã÷
• Òºðºë íü òîäîðõîéëîãäîîã¿é çààã÷èéã òºðºëò áèø çààã÷
ãýíý.
• Èéì çààã÷èéã àøèãëàí á¿õ òºðëèéí îáüåêòîä õàíäàõ
áîëîìæòîé.
• Òºðºëò áèø çààã÷èéã çàðëàõäàà void ò¿ëõ¿¿ð ¿ãèéã
àøèãëàäàã.
6
7. Æèøýý
#include <stdio.h>
int x=567; double y=56.23;
main()
{ void *p;
p=&x;
printf(“x=%d n”,*(int *)p);
p=&y;
printf(“y=%lf n”,*(double *)p);
}
7
Òºðºëò áèø çààã÷
int òºðëèéí îáüåêòûã çààëãàõ
double òºðëèéíîáüåêò çààëãàõ
8. Òºðºëò áèø çààã÷
• Òºðºëò áèø çààã÷èéíçààæ áóé îáüåêòîäõàíäàõäààçààâàëõºðâ¿¿ëýëò õèéæ
ºãíº.
• Õºðâ¿¿ëýëò õèéõ ¿éëäýë íü åðäèéí õóâüñàã÷ äýýð õèéäýã ¿éëäýëòýé
òºñòýé.
• int i; float f;
f=(float)i/2;
• Çààã÷îáüåêò äýýð õºðâ¿¿ëýëò õèéõäýý äàðààõõºðâ¿¿ëýëò õèéõäýý
äàðààõáè÷ëýã àøèãëàíà.
• Áè÷ëýã : (Òºðºë*)
8
Åðäèéí îáüåêòäýýðõºðâ¿¿ëýëòõèéõ
9. Õºðâ¿¿ëýëò õèéõ
Äýýðõ áè÷ëýãèéã àøèãëàí òºðºëò áèø p çààã÷ äýýð
õºðâ¿¿ëýëò õèéâýë :
• int òºðëèéí çààã÷ áîëãîõ
(int *)p
• int òºðëèéí çààã÷ áàéäëààð õàíäàæ óòãûã óíøèõ
*(int *)p
• double òºðëèéí çààã÷ áàéäëààð õàíäàæ óíøèõ
*(double *)p
9
10. 11. Ôóíêö ðóó õàÿãààð äàìæóóëàõ
• Æèøýý : A[N] ìàññèâûí MAX ýëåìåíòèéã ìàññèâûí
òºãñãºëä àâàà÷.
#include<stdio.h>
Swap(int *p1, int *p2)
{ int tmp; tmp=*p1; *p1=*p2; *p2=tmp; }
main()
{ int A[10]={4,2,5,1,3,1,3,6,2,1}, n=10, i;
for(i=0;i<n-1;i++) if(A[i]>A[i+1])
Swap(&A[i], &A[i+1]); printf(“MAX=%d”,A[n-1]);
}
11
12. Ôóíêöèéí çààã÷
• Ñè õýëýíä ôóíêöèéã äóóäàõ 2 àðãà áàéäàã.
• Øóóä äóóäàõ
• Øóóä áóñ äóóäàõ
• Áèä ºìíº íü ôóíêöèéã øóóä äóóäàæ áàéñàí . ª.õ
øóóä íýðýýð íü õàíäàæ äóóäíà.
int Sum(int x,int y) { . . . }
main()
{ Sum(5,6); /* Øóóä íýðýýð íü äóóäàõ */
}
12
13. Ôóíêöûí çààã÷
• Ôóíêöèéã øóóä áóñààð äóóäàõäàà ôóíêöèéí çààã÷
ãýæ íýðëýãäýõ çààã÷ õóâüñàã÷èéã àøèãëàäàã.
• Ôóíêöèéí çààã÷èéã çàðëàõ :
<Áóöààõ òºðºë> (*<ÔóíêöèéíÍýð>)(<Òºðºë>, ..);
• Øóóä áóñààð äóóäàõ ãýæ áàéãàà ôóíêöûí çàðëàëò
ÿìàð áàéíà, ÿã òèéì áàéäëààð çàðëàäàã.
13
14. Ôóíêöûí çààã÷
• /* int ºãºãäºë áóöààäàã, àðãóìåíòã¿é ôóíêöèéã
äóóäàõàä àøèãëàõ ôóíêöèéí çààã÷ */
• int (*func)();
• Óòãà îëãîõäîî :
• <Ôóíêöèéí çààã÷>=&<Ôóíêö>;
• Àæèëëóóëàõäàà áóþó äóóäàõäàà :
• <Ôóíêöèéí çààã÷>( [àðãóìåíòóóä] );
14
15. Ôóíêöûí çààã÷
• Æèøýý : 2 òîîíû íèéëáýð îëîõ
#include<stdio.h>
int Sum(int a,int b)
{ return (a+b); }
main()
{ int (*func)(int,int);
func=∑
printf("%d", func(5,3)); /* 8 */
}
15
Çàðëàõ
Óòãà îëãîõ áóþó çààëãàõ
Ôóíêö äóóäàõ
16. Çààã÷ áà ìàññèâ
• Ìàññèâûí ýõíèé ýëåìåíòèéí õàÿã íü ìàññèâûí íýð
áàéäàã.
• Íýã õýìæýýñò ìàññèâ ñàíàõ îéä äàðààëæ
áàéðëàäàã.
À Ìàññèâûí 0-ð ýëåìåíòèéí õàÿã áóþó &À[0]
A+1 1-ð ýëåìåíòèéí õàÿã áóþó &A[1]
A+2 2-ð ýëåìåíòèéí õàÿã áóþó &A[2]
A+3 3-ð ýëåìåíòèéí õàÿã áóþó &A[3]
. . .
A+i i-ð ýëåìåíòèéí õàÿã áóþó &A[i]
16
17. Çààã÷ áà ìàññèâ
17
Ýíäýýñ ìàññèâûí ýëåìåíòýä õàíäàõäàà äàðààõ 2 àðãààð õàíäàæ
áîëîõ íü õàðàãäàæ áàéíà.
A[i]=10; ýñâýë *(A+i)
A[50] Ìàññèâûã õýâëýâýë :
for(i=0; i<50; i++) printf(“%d n”, *(A+i));
À ìàññèâûí ýõëýëèéí õàÿãààñ ýõëýí i-ð
ýëåìåíòèéã óíøèõ
18. 19. Çààã÷ áà ìàññèâ
• Ýíý á¿õíýýñ ä¿ãíýæ¿çâýë ìàññèâûí íýð áîë çààã÷ õóâüñàã÷áîëæ áàéíà.
• Áèä a[i] ìàññèâûíýëåìåíòýä èíãýæ õàíääàã.
• Òýãâýë [ ] ¿éëäýë ìààíü à õàÿãààñ ýõëýí i -ð øèëæèëòýä áóé
îáüåêòûí óòãûã àâäàã ¿éëäýë áîëæ áàéíà.
int i=259; char *p=&i;
printf(" p[0] = %d ",p[0]); /* 3 */
printf(" p[1] = %d ",p[1]); /* 1 */
• ª.õýëáýë *(p+1) = p[i] ¿éëäë¿¿ä èæèë ¿ð ä¿íòýé.
19
20. Æèøýý : [ ] ¿éëäýë
#include <stdio.h>
char c[12]="ababababab"; int i=10;
void *p1=(void*)c;
main()
{ clrscr();
for(i=0; i<12; i+=2)
printf("%c ",((char*)p1)[i]);
} /* ¯ð ä¿ííü : a a a a a */
20