CÓïÑÔ³ÌÐòÉè¼ÆʵÑéµç×Ó¸å ÏÂÔر¾ÎÄ

8.4 ʵÑé°Ë Ö¸Õë

Ò»¡¢ ʵÑéÄ¿µÄÓëÒªÇó

1. Àí½âºÍÕÆÎÕÖ¸ÕëµÄ¸ÅÄ¶¨ÒåºÍʹÓÃÖ¸Õë±äÁ¿¡£ 2. ÕÆÎÕº¯ÊýÖ®¼äÖ¸ÕëµÄ´«µÝ¹Øϵ¡£

3. ÕÆÎÕͨ¹ýÖ¸Õë²Ù×÷Êý×éÖÐÔªËصķ½·¨¡£ 4. ʵÑé2ѧʱ

¶þ¡¢ÊµÑéÄÚÈÝ

1£®³ÌÐòµ÷ÊÔ

£¨1£©µ÷ÊÔ±¾³ÌÐò£¬Á˽âÔËËã·û*Óë&µÄÓ÷¨£¬²¢×¢ÒâÈÝÒ׳ö´íµÄµØ·½¡£ #include void main() { float x;

float *xptr; //¢Ù xptr=&x; //¢Ú£¬´Ë´¦ÊÇ·ñ¿ÉÒÔÓÃ*xptr=&x;£¿ x=7.9;

printf(¡°The address of x is %x\\n¡±,&x); printf(¡°The value of xptr is %x\\n¡±,xptr); printf(¡°The value of x is %f\\n¡±,x);

printf(¡°The value of *xptr is %f\\n¡±,*xptr); //¢Û }

³ÌÐòÔËÐнá¹ûÈçÏ£º

ÔÚÉÏÃæµÄ³ÌÐòÖУ¬×¢ÒâÇø±ð*ptrµÄ²»Í¬ÒâÒå¡£Óï¾ä¢ÙÖеÄ*±íʾ´Ë´¦µÄxptrÊÇ×÷Ϊһ¸öÖ¸Õë±äÁ¿À´¶¨ÒåµÄ£¬¶øÓï¾ä¢ÛÖеÄ*Ôò±íʾȡ±äÁ¿xptrËùÖ¸ÏòµÄÖµ£¬ÔÚ±¾ÌâÖоÍÊDZäÁ¿xµÄÖµ£¬ÕâʱµÄ*¿ÉÒÔ×÷ΪÔËËã·ûÀ´¿´´ý¡£ÕâÒ²¿ÉÒÔÀí½âΪʲôÓï¾ä¢ÚÖÐÓÃÁËxptr=&x¶ø²»ÊÇ*xptr=&x£¬ÒòΪÔÚÔËËã¹ý³ÌÖÐ*xptrËù±íʾµÄ¾ÍÊÇx£¬Èç¹û½«xµÄµØÖ·¸³¸øx£¬¿Ï¶¨»á²úÉú´íÎó¡£Ã÷°×ÁË*Óë&µÄÓ÷¨ºó£¬¿ÉÒÔ½Ó×Å¿´ÏÂÃæÒ»¸öÀý×Ó£¬·ÖÎöÆä³ö´íµÄÔ­Òò¡£

£¨2£© µ÷ÊÔ³ÌÐò¡£ÏÂÃæ³ÌÐòÖÐÓдíÎó£¬Çëµ÷ÊÔÐÞ¸Ä

ÊäÈë3¸öÕûÊý£¬°´´ÓСµ½´óµÄ˳ÐòÊä³ö¡£ #include ¡°stdio.h¡± void main( ) { int a,b,c ;

int *p1,*p2,*p3 ; //¶¨Òå3¸öÖ¸Õë±äÁ¿ void swap(int *p1,int *p2) ; scanf(¡°%d,%d,%d¡±,&a,&b,&c) ;

p1=&a ; p2=&b ; p3=&c ; //3¸öÖ¸Õë·Ö±ðÖ¸Ïò3¸öÕûÐͱäÁ¿

//ÓÃswapº¯Êý½»»»2¸öÊý£¬Ê¹½ÏСÊý·Åµ½±äÁ¿aÖУ¬½Ï´óÊý·Åµ½±äÁ¿bÖÐ if(a>b) swap(p1,p2) ; // ¢Ù if(a>c) swap(p1,p3); if(b>c) swap(p2,p3);

printf(¡°%d,%d,%d¡±,a,b,c); //°´´ÓСµ½´óµÄ˳ÐòÊä³ö3¸öÊý

}

void swap(int *p1,int *p2) //swapº¯ÊýÊÔͼʵÏÖ2¸öÊýµÄ½»»» { int *x;

x=p1; // ¢Ú p1=p2; //¢Û p2=x; //¢Ü }

±¾Ìâ±àÒëÁ¬½Ó¶¼Ã»ÓÐÎÊÌ⣬µ«ÊDz»ÄÜÔËÐгöÕýÈ·½á¹û¡£Ô­ÒòÔÚÄÄÀïÄØ£¿¶ÔÓï¾ä¢ÙµÄµ÷ÓýøÐзÖÎö£¬Çë´ó¼Ò×Ðϸ¹Û²ìswapº¯ÊýµÄʵÏÖ²¿·Ö¡£Óï¾ä¢Ù±íÃ÷a>b³ÉÁ¢£¬Òò´ËÐèÒª½«±äÁ¿aºÍbÖеÄÊýÖµ½øÐе÷»»£¬Ê¹ÆäÂú×ã´ÓСµ½´óµÄÅÅÁÐ˳Ðò¡£swapº¯ÊýÖж¨ÒåÁËÒ»¸öÖ¸Õë±äÁ¿x£¬Óï¾ä¢Ú~¢ÜÊÇÒÔÖ¸Õë±äÁ¿x×÷ΪÖмä±äÁ¿£¬½«ÐβÎÖ¸Õëp1ºÍp2ËùÖ¸µÄ·½Ïò½øÐÐÁ˵÷»»£¬¼´£¬Ê¹ÐβÎÖ¸Õëp2Ö¸ÏòÁ˽ÏСֵ£¬¶øp1Ö¸ÏòÁ˽ϴóÖµ£¬µ«ÊÇÕâÖÖ½»»»¶Ô±äÁ¿aºÍb²¢Ã»ÓвúÉúÈκÎÓ°Ï죬µ±swapº¯Êýµ÷ÓÃÍê±Ïºó£¬±äÁ¿aºÍbÒÀȻά³ÖÔ­ÓÐÇé¿ö£¬ÎÞ·¨Ê¹ËüÃÇÖеÄÊýÖµ°´´ÓСµ½´óµÄ˳ÐòÖØÐÂÅÅÁУ¬Òò´ËÎÞ·¨µÃµ½ÕýÈ·µÄÔËÐÐЧ¹û¡£

¶Ôswapº¯ÊýÈçºÎ¸ÄÔì²ÅÄܵõ½ÕýÈ·½á¹ûÄØ£¿Çë´ó¼Ò½áºÏ±¾Ìâ½øÐÐ¸Ä´í¡£

2£® ³ÌÐòÍêÕûÌâ

ÔËÓÃÖ¸Õë¶Ô´«µÝ½øÀ´µÄÁ½¸öÕûÐÍÁ¿¼ÆËãËüÃǵĺÍÓë»ýÖ®ºó£¬Í¨¹ý²ÎÊý·µ»Ø£¬²¢ÓèÒÔÊä³ö¡£»®ºáÏßµÄλÖÃÊDZ¾³ÌÐòȱʧµÄ²¿·Ö£¬ÇëÌîдÕýÈ·ÄÚÈݲ¢ÔËÐд˳ÌÐò¡£

#include

void compute(int m, int n, int *sum, int *p) { }

void main() { }

int x,y,sum,product;

scanf(\ //ÊäÈëÁ½¸öÕûÐÍÁ¿

compute(x,y,&sum,&product); //½«Á½ÊýºÍ´æÈë±äÁ¿sum£¬»ý´æÈë±äÁ¿product printf(\

3£®Ò»°ã±à³ÌÌâ

1. ÓÃÖ¸Õ뷨ͳ¼Æ10¸öÊýÖÐÕýÊý¡¢¸ºÊýºÍÁãµÄ¸öÊý£¬²¢·Ö±ðÇóÕýÊýµÄ×ܺͣ¬¸ºÊýµÄ×ܺ͡£

2. ͨ¹ýÖ¸ÏòÕûÐÍÊý×éµÄÖ¸Õ뽫Êý×éa[m][n]µÄÄÚÈÝ°´mÐÐnÁеĸñʽÊä³ö£¬ÈçÒ»¸ö2¡Á3µÄ

Êý×齫ÏÔʾΪÈçÏÂËùʾµÄ2ÐÐ3ÁеÄÐÎʽ£º

4£®½ÏÄѱà³ÌÌâ

1. ÊäÈëÒ»ÐÐ×Ö·û£¬¿ªÊ¼ÓÃÒ»¸öÖ¸ÕëÖ¸ÏòÕâÐÐ×Ö·ûµÄ¿ªÍ·£¬²¢ÒÀ´ÎÏòºóÒÆ£¬·Ö±ðͳ¼Æ³öÆäÖÐ

Ó¢ÎÄ×Öĸ¡¢¿Õ¸ñ¡¢Êý×ÖºÍÆäËü×Ö·ûµÄ¸öÊý¡£

2. ÊäÈëÒ»¸öÕýÕûÊý±íʾһ¸öÐÇÆÚÖеÄijһÌ죬Èô´ËÊý×ÖÔÚ[1,7]ÄÚ£¬Ôò Êä³ö¶ÔÓ¦Ó¢ÎÄÐÇÆÚ

Ãû£¬·ñÔò±íʾÊäÈë´íÎó£¬ÀýÈ磬ÊäÈë2£¬³ÌÐòÊä³ö¡°Tuesday¡±£¬ÊäÈë¡°16¡±£¬³ÌÐòÊä³ö¡°Illegal day¡± ÒªÇóÓÃÖ¸ÕëÊý×é´¦Àí¡£

9.4 ʵÑé¾Å ½á¹¹ÌåÓëÁ´±í

Ò»¡¢ ʵÑéÄ¿µÄÓëÒªÇó

1. 2. 3. 4.

ÕÆÎսṹÌåÀàÐͱäÁ¿µÄ¶¨ÒåºÍʹÓᣠÕÆÎսṹÌåÀàÐÍÊý×éµÄ¶¨ÒåºÍʹÓᣠÕÆÎÕÀûÓýṹºÍÖ¸Õë´¦Àíµ¥ÏòÁ´±íµÄ·½·¨ ʵÑé4ѧʱ¡£

¶þ¡¢ÊµÑéÄÚÈÝ

1. ³ÌÐòÍêÕûÌâ

¶¨ÒåÒ»¸ö½á¹¹Ìå±äÁ¿£¨°üÀ¨Äê¡¢Ô¡¢ÈÕ£©£¬¼ÆËã¸ÃÈÕÔÚ±¾ÄêÖÐÊǵڼ¸Ì죬עÒâÈòÄêÎÊÌâ¡£ÒÔϵijÌÐòûÓп¼ÂÇÈòÄêÎÊÌ⣬Çëµ÷ÊÔÒÔϳÌÐò£¬²¢½«ÈòÄêµÄÅжϼÓÔÚ³ÌÐòÖÐʹÆäÍêÕû¡£

#include struct { int year; int month; int day; } date;

void main( ) { int i,days; int day_tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; printf(¡°Input year, month, day:¡±); scanf(¡°%d,%d,%d¡±, &date.year, &date.month, &date.day); days=0; for(i =1; i

//´Ë´¦ÒÅ©ÅжÏÈòÄêµÄÓï¾ä£¬Çë²¹³ä

printf(¡°%d/%d is the %dth day in %d.¡±, date.month, date.day, days, date.year); }

2. ³ÌÐò¸ÄдÌâ

¸ÄдÉÏÃæµÄ³ÌÐò£¬ÓÃÒ»¸öº¯ÊýdaysÀ´ÊµÏÖÉÏÃæµÚ1ÌâµÄ¼ÆË㣬ÓÉÖ÷º¯Êý½«Äê¡¢Ô¡¢ÈÕ´«µÝ¸ødaysº¯Êý£¬¼ÆËãºó½«ÈÕÊý´«»ØÖ÷º¯ÊýÊä³ö¡£

#include struct