Wednesday, December 9, 2009

Лекц №7

Õàäãàëàõ àíãèëàë
Õàäãàëàõ àíãèëàë íü õóâüñàã÷ûí àæèëëàõ õ¿ðýý áà àìüäðàëûí õóãàöààã òîäîðõîéëäîã. Default áóþó àíõäàã÷ õàäãàëàõ àíãèëàë íü auto àíãèëàë áîëíî. ªºðººð õýëáýë õóâüñàã÷ûã çàðëàõäàà õàäãàëàõ àíãèëàëûã íü çààæ ºãººã¿é áîë òýð õóâüñàã÷ íü øóóä auto õàäãàëàõ àíãèëàëààð çàðëàãäàíà. Èéì õàäãàëàõ àíãèëàëòàé çàðëàãäñàí õóâüñàã÷ûí àæèëëàõ õ¿ðýý íü

Static õóâüñàã÷
Óòãà íü òóõàéí ïðîðàìûí àìüäðàëûí õóãàöààíä õàäãàëàãääàã , õàðèí àæèëëàõ õ¿ðýý íü íýã ôóíêöûí õ¿ðýýãýýð òîäîðõîéëîãääîã õóâüñàã÷ûã ñòàòèê õóâüñàã÷ ãýíý. Ǻâõºí õóâüñàã÷ áèø , ôóíêöûã ñòàòèê àíãèëàëààð çàðëàæ áîëíî.Õýðýâ Ñè ïðîãðàì õýä õýäýí ôàéëààñ òîãòäîã áîë ñòàòèê àíãèëàëààð çàðëàãäñàí ôóíêöûã òóõàéí ôàéëä ë õýðýãëýõ áóþó áóñàä ôàéëààñ ýíý ôóíêöûã àæèëëóóëàõ áîëîìæã¿é áîëíî.
Æèøýý íü :
#include
count()
{ static int k=1; print(“k=%d\n”, k++) ; }
main()
{count (); count (); / *k=1 * / / *k=2* /
count(); / *k=3* /
count(); / *k=4* /
count(); / *k=5* /
}

Extern õóâüñàã÷
-ãàäààä õóâüñàã÷ áîëîí ãàäààä ôóíêöûã àøèãëàõäàà ò¿¿íèéã ò¿ëõ¿¿ð ¿ñãýýð çàðëàäàã.
-ººðººð õýëáýë òàíû àøèãëàõ ãýæ áóé ôóíêö , õóâüñàã÷ ýíý ôàéëä áèø ººð áóñàä ôàéëóóä áàéðëàäàã ¿åä ýíý ò¿ëõ¿¿ð ¿ãèéã àøèãëàí çàðëàñíààð òýäãýýðèéã àøèãëàõ áîëîìæòîé áîëíî.
-çºâõºí ãëîáàëü õóâüñàã÷äûã ë õàäãàëàõ àíãèëàëààð òîäîðõîéëæ ºãíº.
Õàäãàëàõ àíãèëàëóóä

Ò¿ëõ¿¿ð ¿ã Àæèëëàõ õ¿ðýý Àìüäðàëûí õóãàöàà
Auto Ëîêàëü Ôóíêöûí õóãàöàà
Static Ëîêàëü Ïðîãðàìûí òóðøèä
Register Ëîêàëü Ïðîãðàìûí òóðøèä
External Á¿õ ôàéëóóäàä Áàéíãà
External static Íýã ôàéëä Áàéíãà

Æèøýý íü :
/ * prg1.c */
#include
int max , sum ;
sim( int a , int b );
{ sum=a+b;
max (int a , int b)
{ max=a>b ? a:b ;
}
/ * prg2.c */
#include
extern int max , sum ;
extern int sum( int a , int b );
extern int Max (int , int );
main()
{ sum(2,3); Max(2,3);
printf(“Sum:%d\n”, sum);
printf(“Max:%d\n”, sum);
}
PROJECT- ôàéë òîäîðõîéëîõ
-äýýðõ ôàéëóóäûã íýãòãýí ïðîãðàì ¿¿ñãýõèéí òóëä äàðààõ àãóóëãà á¿õèé ôàéë ¿¿ñãýõ øààðäëàãàòàé.
-/ *myprog.prj ôàéëûí àãóóëãà /




prj –ôàéë òîäîðõîéëîõ
-prj ôàéëóóä .c áîëîí .obj ºðãºòãºëòýé ôàéëûã çààæ ºã÷ áîëíî.ªºðººð õýëáýë èéì ôàéëûã íýãòãýí ïðîðàì ¿¿ñãýõ áîëîëöîîòîé.
-¿¿ñãýñýí ôàéëàà ðåäàêòîðûí öýñèéí ãýñýí ñîíãîëòîíä áè÷èæ ºãíº.

Áëîê á¿òýö
-õóâüñàã÷èä íü ôóíêö äîòîð òîäîðõîéëîãäâîë ëîêàëü àæèëëàõ õ¿ðýýòýé áîëäîã.
-òýãâýë áëîê äîòîð ëîêàëü àæèëëàõ õóâüñàã÷ çàðëàõ áîëîìæ ñè õýëýíä áàéäàã.
-èéì õóâüñàã÷ íü çºâõºí òóõàéí áëîê äîòîð ë àæèëëàõ áà áëîêîîñ ãàðàõàä óñòàæ ¿ã¿é áîëäîã.
Æèøýý íü:
int exam (a1,a2)
int a1, a2
{ int I, n;

{ int i , temp;
for (i=1; i }

}
Ðåêóðñ ôóíêö
Õýðýãëýã÷èéí ôóíêö áîëîí øóóä áóñ àðãàà𠺺𺺠ººðèé㺺 äóóäàõ áîëîìæ Ñè õýëýíä áàéäàã áà ¿¿íèéã ðåêóðñ ãýæ íýðëýíý. Òîîã òýìäýãò ìºð áîëãîí õýâëýäýã ôóíêö äýýð æèøýý àâ÷ ¿çüå.
• Ýõëýýä òîîíû öèôð¿¿äèéã îëæ õýâëýõ øààðäëàãàòàé áà öèôð¿¿äèéã îëîõîä òýäãýýð íü óðâóó äàðààëàëààð áóþó õîéíîîñîî ýõýëæ îëääîã.
• Èéìýýñ òýäãýýðèéã çºâ äàðààëàëä îðóóëàí õýâëýõ øààðäëàãàòàé.
Æèøýý: Òîîíû öèôð¿¿äèéã îëîõ .(øóóä )
include
void pr (Long n )
{ if (n<0) {putchar (‘-’); n= -n; }
if(n/10) pr (n/10);
putchar (n%10+’0’);
}
main()
{ clrscr(); pr(1234); printf(“\n”);
pr(7654321); printf(“\n”);
pr(-1234567); printf(“\n”);
}
-Ðåêóðñ ôóíêö íü ººðºº ººðèé㺺 äóóäàõ ¿åä øèíýýð äóóäàãäàõ ôóíêö íü ººðèéí á¿õ ëîêàëü õóâüñàã÷äàà àíõíû óòãûã íü òîãòîîí øèíýýð ¿¿ñãýäýã.
-ýíý ¿¿ññýí õóâüñàã÷èä íü ºìíºõ ôóíêöûí õóâüñàã÷äààñ ÿëãààòàé.
-ººðººð õýëáýë ôóíêö á¿ðèéí õóâüñàã÷ õàäãàëäàã ìóæ íü ÿëãààòàé áóþó ººð ººð ãàçàð áàéðëàäàã.
Æèøýýíèé òàéëáàð:
1. pr (1234/10) n=1234 áàéíà. Ôóíêö ðóó 123 ãýñýí óòãà äàìæèíà.
2. pr (123/10) n=123 áàéíà. Ôóíêö ðóó 12 ãýñýí óòãà äàìæèíà.
3. pr (12/10) n=12 áàéíà. Ôóíêö ðóó 1 ãýñýí óòãà äàìæèíà.
4. putchar (‘1’) n=1 , n%10 1
5. putchar (‘2’) n=12 , n%10 2
6. putchar (‘3’) n=123 , n%10 3
7. putchar (‘4’) n=1234 , n%10 4
Æèøýýã àëõàìààð ¿ç¿¿ëýâ.

1. pr(1234)
2. if(1234/10)
3. pr (123)
4. if(123/10)
5. pr(12)
6. if(12/10)
7. pr(1)
8. if(1/10) /*õóäàë*/
9. putchar(1%10+’0’)

Øóóä áóñ àðãà
Øóóä áóñ àðãààð ðåêóðñ ¿¿ñãýæ áîëäîã áà ýíý íü òóõàéí ôóíêö íü ººðèé㺺 øóóä äóóäàõ áóñ ò¿¿íèéã äóóäñàí ººð íýã ôóíêöýýñ òóõàéí ôóíêöûã äóóääàã àðãà þì.






Func 1 ( )
{

Func 2 ( )

}
Func 2 ( )
{

Func 1 ( )

}
Ôóíêö íýã íü àæèëëàõ ÿâöäàà Func 2 ôóíêöèéã äóóäàõ áà òýð ôóíêö íü ýðãýýä func 1-èéã äóóäàõ çàìààð ðåêóðñ ¿¿ñãýæ áàéíà.

Ðåêóðñûí à÷ õîëáîãäîë
-ïðîãðàìûí êîä÷èëîëûã áàãà õýìæýýòýé áîëãîõ
-áè÷èõ îéëãîõîä õÿëáàð áîëãîõ
-ìîä ãýõ ìýòèéí øàòëàñàí çîõèîí áàéãóóëàëòòàé á¿òö¿¿äòýé àæèëëàõ áîëîìæèéã á¿ðä¿¿ëæ ºãäºã.
Typedef Êîìàíä
Øèíýýð òºðºë òîäîðõîéëîõ áîëîìæòîé.
Áè÷èãäýõ õýëáýð :
Typedef <òºðºë><øèíý òºðºë >;
Æèøýý: typedef float real;
Ýíý Êîìàíä íü õààíà çàðëàãäñàíààñ øàëòãààëæ àæèëëàõ õ¿ðýý íü òîäîðõîéëîãääîã. ªºðººð õýëáýë ôóíêö äîòîð çàðëàãäâàë àæèëëàõ íü ëîêîëü ôóíêöýýñ ãàäíà çàðëàãäâàë ãëîáàëü áàéíà.
Void ff ( )
{ typedef short int integer ; }




No comments:

Post a Comment