freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

華中科技大學(xué)光電子學(xué)院c語言第七章-資料下載頁

2025-05-12 10:04本頁面
  

【正文】 定義形式 : 類型標(biāo)識符 (*指針變量名 ) ()。 例: int (*p) ( )。 /*與數(shù)組指針定義類似: char (*p)[ ] */ 說明 : 1. p是指向一個(gè)函數(shù)的指針變量 ,(指向該函數(shù)名代 表的入口地址送指針 p),此函數(shù)返回 int類型的值 2. 用函數(shù)指針變量調(diào)用函數(shù)時(shí) ,用函數(shù)名送入 p中 即可 . 作用 : 利用函數(shù)指針將函數(shù)名傳給一個(gè)函數(shù) . 例 : 求 a,b中的最小數(shù)的程序 . 1. 一般函數(shù)調(diào)用 main() { int a, b, c。 scanf ( “%d%d”,amp。a,amp。b )。 c=min(a,b)。 printf ( “min=%d\n”, c)。 } min( int x, int y ) { int z。 if ( xy) z=x。 else z=y。 return (z )。 } 2. 用函數(shù)指針調(diào)用 main() { int a,b,c。 int (*p)()。 scanf ( “%d%d”,amp。a,amp。b)。 p=min。 c=(*p)(a,b)。 /*不能寫成 p=min(a,b) 。 */ printf (“min=%d\”,c)。 } ||||||||||||||||||注 :函數(shù)指針作為函數(shù),函數(shù)名作 為形參,實(shí)現(xiàn)將函數(shù)名作為參 數(shù)傳給其他函數(shù)的目的 例 : 有函數(shù) max , min, mean 分別起兩個(gè)整數(shù)中最大 ,最小 ,平均值 . max(int x, int y) { int z。 if ( xy ) z=x。 else z=y。 return(z)。 } min(int x, int y) { int z。 if ( xy ) z=x。 else z=y。 return (z)。 } mean(int x, int y) { /* 轉(zhuǎn)右邊 */ int z。 z=(x+y)/2。 return(z)。 } main() { int a, b, c, e, d。 scanf ( “%d%d”, amp。a,amp。b )。 p=max。 c=(*p)(a,b)。 p=min。 e=(*p)(a,b)。 p=mean。 d=(*p)(a,b)。 printf (“%d,%d,%d\n”,c,e,d )。 } ||||||||||||||||||通過函數(shù)指針將函數(shù)名作為參數(shù)傳給其他函數(shù) ,便能創(chuàng)造出功能很強(qiáng)的高級函數(shù)系統(tǒng) ,在大型 c程序設(shè)計(jì)中很有作用 定義另一個(gè)函數(shù) all如下 void all ( int x, int y, func) int (*func )()。 /*函數(shù)名傳遞 */ { int z。 z=(*func)(x,y)。 printf (“%d\n”,z)。 } main() { int a,b。 scanf (“%d%d”,amp。a,amp。b)。 all(a,b,max)。 all(a,b,min)。 all(a,b,mean)。 } 三 .指針函數(shù) (與指針數(shù)組類似 ) 返回指針的函數(shù) 定義形式 : 類型標(biāo)識符 *函數(shù)名 (參數(shù)表 )。 例 : int *f(x,y)。 /*與指針數(shù)組類似 : int *f[10]。 */ 返回值是一個(gè)指向整型數(shù)據(jù)的指針 .(可返回?cái)?shù)組的首址 ,結(jié)構(gòu)首址 ,聯(lián)合首址 ,指針變量的地址和變量地址 ) 例,將兩個(gè)字符串連成一個(gè)串,并輸出。 char *cat( char *p1,char *p2) { static char a[160],*p。 p=a。 while ( *p1!=?\0?) *p++=*p1++。 while ( *p2!=?\0?) *p++=*p2++。 *p=*p2。 return(a)。 } main ( ) { char s1[80],s2[80]。 scanf(“%s”,s1)。 scanf(“%s”,s2)。 printf(“%s\n”,cat(s1,s2) )。 } 上機(jī)題 (以下各題全部用指針方法實(shí)現(xiàn)和數(shù)組方法完成 ) 1. 編程 :輸入 15個(gè)整數(shù)存入一維數(shù)組 ,再按逆序重新存放入 再輸出 2. 編程 :輸入一個(gè)字符串 ,按相反次序輸出其中的所有字符 3. 編程 :輸入 10個(gè)整數(shù) ,將其中最大數(shù)和最后一個(gè)數(shù)交換 ,最 小數(shù)和第一個(gè)數(shù)交換 ,然后顯示這 10個(gè)數(shù) 4. 編程 :輸入三個(gè)字符串 .輸出其中最長的字符串 ,(要求 :將 求串長編寫成函數(shù)然后調(diào)用 ) 練習(xí)題 ,改寫成指針參數(shù) ,且使函數(shù)的 功能不變 float av(a,n) float a[ ]。 int n。 { int i。 float s。 for (i=0,s=0。 in。 i++ ) s=s+a[i]。 return(s/n)。 } 1. 閱讀下列程序?qū)懗鲞\(yùn)算結(jié)果 1) unsigned f(unsigned num) { unsigned k=1。 do { k*=num%10。 num/=10。 }while(num)。 return(k)。 } main( ) { unsigned n=26。 printf (“%d\n”,f(n))。 } 2) char s[ ]=”ABCD”。 main( ) { char *p。 for ( p=s。 ps+4。 p++ ) printf ( “%s”\n”,p )。 } 3. 編程:輸入10個(gè)整數(shù)存入一維數(shù)組中 , 統(tǒng)計(jì)其中既能 被3整除又能被8整除的數(shù)的個(gè)數(shù) ( 用組數(shù)和指針兩種 方式做 ) 同時(shí)顯示這些數(shù)在該數(shù)組中的下標(biāo)值 4. 編程:輸入一個(gè)字符串 , 間隔顯示其中的字符 . ( 用 指針和數(shù)組兩種方法做 ) 如:abcdef 顯示 :ace 5 . 回答下列各題 1) x是指向 25的指針 , printf(“%d\n”,++*x)。輸出什么值 2) int a[10]={1,2,3,4,5,6,7,8,9,10}。 p=a。 則 p+=3。 ++*p。 執(zhí)行后 p指示的對象的值是多少 3) 執(zhí)行 char a[10]={“abcd”}。 *p=a后 ,*(p+4)的值是多少
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1