 |
:: ÇÓÊÇÐ æ ãÔÑÝ ÞÓã ÇáÇáßÊÑæäíÇÊ ::
ÊÇÑíÎ ÇáÊÓÌíá: May 2007
ÇáãÔÇÑßÇÊ: 6,832
|
|
äÔÇØ [ F.Abdelaziz ]
ÞæÉ ÇáÓãÚÉ:
|
|
23-01-2014, 07:41 PM
ÇáãÔÇÑßÉ 31
|
|
ÇáÏÑÓ ÇáÓÇÈÚ : ÚÈÇÑÇÊ ÇáÔÑØ :
ÇáÃåÏÇÝ :
Ýì äåÇíÉ åÐÇ ÇáÏÑÓ íÌÈ ÃäÉ Êßæä ÞÇÏÑÇ Úáì :
1- ÇáÊÍßã Ýì ÇáÈÑäÇãÌ Úä ØÑíÞ ÚÈÇÑÇÊ ÇáÔÑØ ÈÇÓÊÎÏÇã if æ if-else æ switch .
2- ÇáÝåã ÈÔßá ÃÝÖá áãÝåæã "ÕæÇÈ" true æãÝåæã "ÛíÑ ÕæÇÈ" false Ýì áÛÉ ÇáÓì .
ÇáÊÍßã Ýì ÇáÈÑäÇãÌ :
áÞÏ ÍÇä ÇáæÞÊ áÊÍæíá ÇäÊÈÇåäÇ Åáì ãæÖæÚ ãÎÊáÝ ÃáÇ æåæ "ÇáÊäÝíÐ ÇáãÔÑæØ" . ÝäÍä ÛÇáÈÇ ãÇ äÍÊÇÌ Åáì Ãä äßæä ÞÇÏÑíä Úáì ÇÎÊíÇÑ ãÌãæÚÉ ÇáÊÚáíãÇÊ ÇáÊì íÊã ÊäÝíÐåÇ æÝÞÇ áÔÑØ condition. Úáì ÓÈíá ÇáãËÇá ¡ ÅÐÇ ßäÊ ÊÍÊÝÙ ÈÞíãÉ Ýì ÇáãÊÛíÑ total ¡ æÊÍÊÇÌ Åáì ÚÑÖ ÇáÑÓÇáÉ "OK" ÅÐÇ ßÇäÊ åÐå ÇáÞíãÉ ÃßÈÑ ãä ÇáÕÝÑ ¡ ÚäÏÆÐ ÝÃäÊ ÊÍÊÇÌ Åáì ßÊÇÈÉ ÔìÁ ãä åÐÇ ÇáÞÈíá :
ßæÏ:
if (total>0) printf("OK");
åÐå ÇáÚÈÇÑÉ Êßæä ãÚÞæáÉ ÊãÇãÇ ÈÇááÛÉ ÇáÅäÌáíÒíÉ ¡ æáßäåÇ ÌíÏÉ ÃíÖÇ Ýì áÛÉ ÇáÓì . ÝÚÈÇÑÉ if ÊÓãÍ áß ÈÊÞííã "ÔÑØ ÃßÈÑ ãä" ">" æÊäÝíÐ ÇáÚÈÇÑÉ Ãæ ÇáÚÈÇÑÇÊ ÇáÊì Êáì if ÝÞØ ÅÐÇ ßÇä ÇáÔÑØ ÕæÇÈ true . æÈÚÈÇÑÉ ÃÎÑì ÝÅä ÇáÏÇáÉ printf ÓæÝ Êßæä ãØíÚÉ ÝÞØ ÅÐÇ ßÇä ÇáÔÑØ total>0 ÕæÇÈ true .
ÅÐÇ ßÇä ÇáÔÑØ ÛíÑ ÕæÇÈ false ÝÅä ÇáÈÑäÇãÌ ÓæÝ íÓÊãÑ ãä ÚäÏ ÇáÊÚáíãÉ ÇáÊÇáíÉ . ÚÇãÉ Êßæä ÚÈÇÑÉ if ÈÇáÕíÛÉ ÇáÊÇáíÉ :
ßæÏ:
if (condition) statement;
æÈÇáØÈÚ ¡ íãßä Ãä Êßæä ÇáÚÈÇÑÉ statement ÚÈÇÑÉ ãÑßÈÉ .
ÝíãÇ íáì ãËÇá áÈÑäÇãÌ íÓÊÎÏã ÚÈÇÑÊíä ãä ÚÈÇÑÇÊ if ÇáÈÓíØÉ :
ßæÏ:
#include <stdio.h>
main()
{
int a , b;
do {
printf("\nEnter first number: ");
scanf("%d" , &a);
printf("\nEnter second number: ");
scanf("%d" , &b);
if (a<b) printf("\n\nFirst number is less than second\n\n");
if (b<a) printf("Second number is less than first\n\n");
} while (a < 999);
}
æÝíãÇ íáì ãËÇá áÈÑäÇãÌ ÂÎÑ íÓÊÎÏã ßáãÉ if æÚÈÇÑÉ ãÑßÈÉ Ãæ ßÊáÉ :
ßæÏ:
#include <stdio.h>
main()
{
int a , b;
do {
printf("\nEnter first number: ");
scanf("%d" , &a);
printf("\nEnter second number: ");
scanf("%d" , &b);
if (a<b) {
printf("\n\nFirst number is less than second\n");
printf("Their difference is : %d\n" , b-a);
printf("\n");
}
printf("\n");
} while (a < 999);
}
ÚÈÇÑÉ if ÊÌÚáß "ÊäÝÐ" Ãæ "ÊÊÎØì" ÊÚáíãÉ ÈäÇÁ Úáì ÞíãÉ "ÇáÔÑØ" .
ÇáÇÍÊãÇá ÇáÂÎÑ ¡ Ãäß ÞÏ ÊÑÛÈ Ýì "ÇÎÊíÇÑ æÇÍÏ ãä ÚÈÇÑÊíä ãÍÊãáÊíä" ¡ ÃÍÏ ÇáÚÈÇÑÇÊ íÊã ÊäÝíÐåÇ (ÊØÇÚ) ÚäÏãÇ íßæä "ÇáÔÑØ ÕæÇÈ" æíÊã ÊäÝíÐ ÇáÚÈÇÑÉ ÇáÃÎÑì ÚäÏãÇ íßæä "ÇáÔÑØ ÛíÑ ÕæÇÈ" . íãßäß ÝÚá Ðáß ÈÇÓÊÎÏÇã ÇáÕíÛÉ ÇáÊÇáíÉ :
ßæÏ:
if (condition) statement1;
else statement2;
Ýì åÐå ÇáÍÇáÉ íÊã ÊäÝíÐ ÇáÚÈÇÑÉ ÇáÃæáì statement1 ÅÐÇ ßÇä ÇáÔÑØ ÕæÇÈ true ¡ æíÊã ÊäÝíÐ ÇáÚÈÇÑÉ ÇáËÇäíÉ statement2 ÅÐÇ ßÇä ÇáÔÑØ ÛíÑ ÕæÇÈ false .
áÇÍÙ Ãäå ãä ÇáãÄßÏ ÓíÊã ÊäÝíÐ ÃÍÏ ÇáÚÈÇÑÊíä áÃä ÇáÔÑØ íÌÈ Ãä íßæä ÃãÇ ÕæÇÈ true Ãæ ÛíÑ ÕæÇÈ false . ÞÏ Êßæä Ýì ÍíÑÉ Íæá ÇáÝÇÕáÉ ÇáãäÞæØÉ ÇáãæÌæÏÉ ÚäÏ äåÇíÉ ßá ÌÒÁ ãä ÚÈÇÑÉ if . ÇáÌÒÁ ÇáÃæá ÈÚÈÇÑÉ if åæ ÚÈÇÑÉ ¡ æÇáÌÒÁ ÇáËÇäì ÈÚÈÇÑÉ else íÊÕÑÝ ãËá ÚÈÇÑÉ ãäÝÕáÉ ËÇäíÉ ¡ áÐáß íÌÈ Ãä íßæä åäÇß ÝÇÕáÉ ãäÞæØÉ Ýì äåÇíÉ ßá ÚÈÇÑÉ .
ÇáÊÚÈíÑÇÊ ÇáãäØÞíÉ :
ÍÊì ÇáÂä ÝÑÖäÇ Ãä ØÑíÞÉ ßÊÇÈÉ ÇáÔÑæØ ÇáãÓÊÎÏãÉ Ýì ÇáÍáÞÇÊ æÝì ÚÈÇÑÇÊ if æÇÖÍÉ ÈÍíË áÇ äÍÊÇÌ Ãä ääÙÑ ÅáíåÇ Úä ßËÈ . Ýì ÇáæÇÞÚ åäÇß ÚÏÏ ãä ÇáÇäÍÑÇÝÇÊ Úä ãÇ ÞÏ äÊæÞÚ . ÝáãÞÇÑäÉ ÞíãÊíä íãßäß ÇÓÊÎÏÇã ÇáÚæÇãá ÇáãäØÞíÉ ÈÇáÑãæÒ ÇáÞíÇÓíÉ ÇáÊÇáíÉ :
· ÇáÑãÒ ">" ÃßÈÑ ãä .
· ÇáÑãÒ "<" ÃÕÛÑ ãä .
· ÇáÑãÒ ">=" ÃßÈÑ ãä Ãæ íÓÇæì .
· ÇáÑãÒ "<=" ÃÕÛÑ ãä Ãæ íÓÇæì .
· ÇáÑãÒ "==" ÇÎÊÈÇÑ ÇáÊÓÇæì .
ÇáÓÈÈ Ýì ÇÓÊÎÏÇã ÚáÇãÊíä ÊÓÇæì áÇÎÊÈÇÑ ÇáÊÓÇæì ¡ åæ Ãä ÚáÇãÉ ÇáÊÓÇæì ÇáãÝÑÏÉ ÏÇÆãÇ ÊÚäì ÊÎÒíä ÞíãÉ Ýì ãÊÛíÑ ¡ Ãì ÃäåÇ ÚÇãá ÊÎÕíÕ . æåÐÇ ÞÏ íÓÈÈ ãÔÇßá Ýì ÇáÈÏÇíÉ ¡ ÍíË íÎØÃ ÇáÈÚÖ ÈßÊÇÈÉ :
ÈÏáÇ ãä :
æÊãÇãÇ ßãÇ Ãä ÍÇáÉ ÇáÊÓÇæì ÊßÊÈ ÈÔßá ãÎÊáÝ Úä ãÇ ÞÏ äÊæÞÚ ¡ ÝÅä ÅÔÇÑÉ ÚÏã ÇáÊÓÇæì ÊÈÏæ ÛÑíÈÉ ÈÚÖ ÇáÔìÁ ¡ ÍíË ÊßÊÈ ÈÇáÔßá (!=) ¡ ÝÚáì ÓÈíá ÇáãËÇá äßÊÈ :
åäÇ äÞæá : åá "a" áÇ ÊÓÇæì ÇáÕÝÑ ¿
ÝíãÇ íáì ãËÇá áÈÑäÇãÌ íÈíä ÈäÇÁ ÚÈÇÑÇÊ if-else :
ßæÏ:
#include <stdio.h>
main ()
{
int num1, num2;
printf("\nEnter first number ");
scanf("%d",&num1);
printf("\nEnter second number ");
scanf("%d",&num2);
if (num2 ==0) printf("\n\nCannot devide by zero\n\n");
else printf("\n\nAnswer is %d\n\n",num1/num2);
}
åÐÇ ÇáÈÑäÇãÌ íÓÊÎã ÚÈÇÑÉ if-else áãäÚ ÇáÞÓãÉ Úáì ÇáÕÝÑ .
ÇáÕæÇÈ true æÇáÎØÃ false Ýì áÛÉ ÇáÓì :
ÇáÂä äÃÊì Åáì ÎÏÚÉ ãÊÞÏãÉ ÃäÊ ÈÍÇÌÉ áãÚÑÝÊåÇ . ÝãÚÙã ÇáãÈÑãÌíä Ðæì ÇáÎÈÑÉ ÈáÛÉ ÇáÓì íÌÝáæä ãä ÇáÊÚÈíÑ :
ÇáÓÈÈ åæ Ãäå áÇ íæÌÏ Ýì ÇáÈÑãÌÉ ÈáÛÉ ÇáÓì ãÝåæã "ÇáãÊÛíÑ ÇáãäØÞì" Ãì ÝÆÉ ÇáäæÚ ÇáÐì íãßä Ãä íßæä ÅãÇ ÕæÇÈ true Ãæ ÎØÃ false . ÝáãÇÐÇ äåÊã ÈíäãÇ íãßääÇ ÇÓÊÎÏÇã Þíã ÚÏÏíÉ .
Ýì áÛÉ ÇáÓì "ÕæÇÈ" true íãËá Ãì ÞíãÉ ÚÏÏíÉ áÇ ÊÓÇæì ÇáÕÝÑ ¡ æ"ÎØÃ" íãËá ÇáÕÝÑ . åÐå ÇáÍÞíÞÉ ÚÇÏÉ Êßæä ãÎÈÃÉ ÈÔßá ÌíÏ æíãßä ÊÌÇåáåÇ ¡ æáßäåÇ ÊÓãÍ áß ÈßÊÇÈÉ :
ÈÇáÔßá ÇáÊÇáì :
áÃäå ÅÐÇ ßÇä a áÇ ÊÓÇæì ÇáÕÝÑ ¡ ÝÅä åÐÇ ÃíÖÇ íÚãá ßÞíãÉ ÕæÇÈ true .
ÇÓÊÎÏÇã break æ continue ÏÇÎá ÇáÍáÞÇÊ :
ÚÈÇÑÉ break : áß ÈÇáÎÑæÌ ãä ÇáÍáÞÉ ãä Ãì äÞØÉ ÏÇÎá ÌÓãåÇ ¡ æÊÌÇæÒ (ÊãÑíÑ) ÊÚÈíÑ ÇáÅäåÇÁ ÇáÚÇÏì . ÚäÏ ãæÇÌåÉ ÊÚÈíÑ break ÏÇÎá ÍáÞÉ ¡ íÊã Úáì ÇáÝæÑ ÅäåÇÁ ÇáÍáÞÉ ¡ æíÓÊÃäÝ ÇáÊÍßã Ýì ÇáÈÑäÇãÌ ãä ÚäÏ ÇáÚÈÇÑÉ ÇáÊì Êáì ÇáÍáÞÉ .
íãßä ÇÓÊÎÏÇã ÚÈÇÑÉ break ãÚ ÌãíÚ ÇáÍáÞÇÊ ÇáËáÇËÉ ááÛÉ ÇáÓì . íãßä Ãä íßæä áÏíß ÇáÚÏíÏ ãä ÇáÚÈÇÑÇÊ ÏÇÎá ÇáÍáÞÉ ßãÇ ÊÑíÏ . æÚÇãÉ ãä ÇáÃÝÖá ÇÓÊÎÏÇã ÚÈÇÑÉ break ááÃÛÑÇÖ ÇáÎÇÕÉ ¡ æáíÓ ßÎÑæÌ ÚÇÏì ãä ÇáÍáÞÉ . ßãÇ Ãä ÚÈÇÑÉ break ÊÓÊÎÏã ÃíÖÇ ãÚ ÇáÏæÇá æãÚ ÚÈÇÑÇÊ case æÇáÊì ÓíÊã ÊÛØíÊåÇ áÇÍÞÇ .
ÚÈÇÑÉ continue : Åáì ÍÏ ãÇ ÚßÓ ÚÈÇÑÉ break ¡ ÍíË ÃäåÇ ÊÌÈÑ ÇáÊßÑÇÑ ÇáÊÇáì ãä ÇáÍáÞÉ áßì íÃÎÐ ãßÇäå ¡ æÊÎØì Ãì ßæÏ ÈíäåÇ æÈíä ÇÎÊÈÇÑ ÔÑØ ÇáÍáÞÉ .
ÝÝì ÍáÞÇÊ while æ do while ¡ ÝÅä ÚÈÇÑÉ continue ÓæÝ ÊÓÈÈ ÐåÇÈ ÇáÊÍßã ãÈÇÔÑÉ Åáì ÇÎÊÈÇÑ ÇáÔÑØ Ëã ãÊÇÈÚÉ ÚãáíÉ ÊäÝíÐ ÇáÍáÞÇÊ . æÝì ÍÇáÉ ÍáÞÉ for ¡ íÓÊãÑ ÌÒÁ ÇáÊÒÇíÏ ááÍáÞÉ .
æÇÍÏ ãä ÃÝÖá ÇÓÊÎÏÇãÇÊ ÚÈÇÑÉ continue åæ ÅÚÇÏÉ ÊÔÛíá restart ÊÊÇÈÚ ÚÈÇÑÉ ÚäÏ ÍÏæË ÎØÃ .
ãËÇá :
ßæÏ:
#include <stdio.h>
main()
{
int x ;
for ( x=0 ; x<=100 ; x++) {
if (x%2) continue;
printf("%d\n" , x);
}
}
åäÇ íÊã ÇÓÊÎÏÇã ãÚÇãá ÈÇÞì ÇáÞÓãÉ Ãæ modulus æåæ ( % ) Ýì áÛÉ ÇáÓì :
åÐå ÇáÚÈÇÑÉ ÊäÊÌ "ÇáÈÇÞì" ÚäÏ ÞÓãÉ "a" Úáì "b" ¡ æÊäÊÌ ÕÝÑ ÚäÏãÇ áÇ íßæä åäÇß ÈÇÞì .
ÝíãÇ íáì ãËÇá áÇÓÊÎÏÇã ÚÈÇÑÉ break :
ßæÏ:
#include <stdio.h>
main()
{
int t ;
for ( ; ; ) {
scanf("%d" , &t) ;
if ( t==10 ) break ;
}
printf("End of an infinite loop...\n");
}
ÇÎÊíÇÑ ÇáãÓÇÑÇÊ ÈÚÈÇÑÉ switch :
Ýì Ííä Ãä ÚÈÇÑÉ if Êßæä ÌíÏÉ ááÇÎÊíÇÑ Èíä ÈÏíáíä ¡ ÝÅäå ÓÑÚÇä ãÇ ÊÕÈÍ ãÑåÞÉ ÚäÏãÇ Êßæä åäÇß ÍÇÌÉ ááÚÏíÏ ãä ÇáÈÏÇÆá . ÇáÍá Ýì áÛÉ ÇáÓì áåÐå ÇáãÔßáÉ åæ ÇáÚÈÇÑÉ switch . åÐå ÇáÚÈÇÑÉ ÎÇÕÉ ÈÇáÇÎÊíÇÑ ÇáãÊÚÏÏ. Ýåì ÊÓÊÎÏã Ýì ÇÎÊíÇÑ æÇÍÏ ãä ÚÏÉ ãÓÇÑÇÊ ÈÏíáå Ýì ÊäÝíÐ ÇáÈÑäÇãÌ æÊÚãá ÈÇáÔßá ÇáÊÇáì : íÊã ÇÎÊÈÇÑ ãÊÛíÑ Úáì ÇáÊÓáÓá ãÞÇÈá ÞÇÆãÉ ËæÇÈÊ ãä ÇáÃÚÏÇÏ ÇáÕÍíÍÉ Ãæ ÇáÍÑæÝ . ÚäÏãÇ íÊã ÇáÚ辄 Úáì ÊØÇÈÞ ¡ íÊã ÊäÝíÐ ÊÓáÓá ÇáÚÈÇÑÇÊ ÇáãÑÊÈØÉ ÈÇáÊØÇÈÞ .
ÇáÔßá ÇáÚÇã áÚÈÇÑÉ switch ßãÇ íáì :
ßæÏ:
switch(expression)
{
case constant1: statement sequence; break;
case constant2: statement sequence; break;
case constant3: statement sequence; break;
.
.
.
default: statement sequence; break;
}
ßá ÍÇáÉ íÎÕÕ áåÇ ÇÓã lable ÈæÇÍÏ Ãæ ÃßËÑ ãä ÇáÊÚÈíÑÇÊ ÇáËÇÈÊÉ ( Ãæ ËæÇÈÊ ÈÞíã áÃÚÏÇÏ ÕÍíÍÉ constant1: , constant2: , constant3: ) .
íÊã ÊäÝíÐ ÊÓáÓá ÇáÚÈÇÑÉ ÇáÇÝÊÑÇÖíÉ default ÅÐÇ áã íÊæÇÌÏ ÊØÇÈÞ . åÐÇ ÇáÊÓáÓá ÇÎÊíÇÑì .
ÅÐÇ ÝÔá æÌæÏ ÊØÇÈÞ ãÚ ÌãíÚ ÇáÍÇáÇÊ ¡ æÛÇÈÊ ÇáÚÈÇÑÉ ÇáÇÝÊÑÇÖíÉ ¡ ÚäÏÆÐ áä íÊã ÃÎÐ Ãì ÝÚá .
ÚäÏ æÌæÏ ÊØÇÈÞ ãÚ ÃÍÏ ÇáÍÇáÇÊ ¡ ÝÅä ÊÊÇÈÚ ÇáÚÈÇÑÇÊ ÇáãÑÊÈØ ÈåÐå ÇáÍÇáÉ íÊã ÊäÝíÐå ÍÊì ãæÇÌåÉ ßáãÉ break .
ÝíãÇ íáì ãËÇá áÈÑäÇãÌ :
ßæÏ:
#include <stdio.h>
main()
{
int i;
printf("Enter a number between 1 and 4");
scanf("%d",&i);
switch (i)
{
case 1:
printf("one");
break;
case 2:
printf("two");
break;
case 3:
printf("three");
break;
case 4:
printf("four");
break;
default:
printf("unrecognized number");
} /* end of switch */
}
åÐÇ ÇáÈÑäÇãÌ ÇáÈÓíØ íÊÚÑÝ Úáì ÇáÃÑÞÇã ãä 1 Åáì 4 æíØÈÚ ÇáÑÞã ÇáÐì ÃÏÎáÊå . ÚÈÇÑÉ switch ÊÎÊáÝ Úä ÚÈÇÑÉ if Ýì Ãä ÚÈÇÑÉ switch íãßä ÝÞØ Ãä ÊÎÊÈÑ ÔÑØ "ÇáãÓÇæÇÉ" ¡ Ýì Ííä Ãä ÚÈÇÑÉ ÔÑØ if íãßä Ãä ÊÎÊÈÑ Ãì äæÚ . ÃíÖÇ ÚÈÇÑÉ switch ÓæÝ ÊÚãá ÝÞØ ãÚ ÇáÃäæÇÚ int æ char . áÇíãßäß ¡ Úáì ÓÈíá ÇáãËÇá ¡ ÇÓÊÎÏÇã ÇáÃÚÏÇÏ ÇáÍÞíÞíÉ . ÅÐÇ ÊÖãä ÊÓáÓá ÇáÚÈÇÑÉ ÃßËÑ ãä ÚÈÇÑÉ ÝíÌÈ ÅÍÇØÊåÇ ÈÇáÃÞæÇÓ {} áÊÔßíá ÚÈÇÑÉ ãÑßÈÉ .
|