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

正文內(nèi)容

c語言程序設(shè)計教程(第2版)下ppt-文庫吧資料

2025-01-25 08:04本頁面
  

【正文】 for(i=0。 } 習(xí)題 :寫一函數(shù),將一個 3 3的矩陣轉(zhuǎn)置。strcpy(ps1,ps2)。 } void swap(char *ps1,char *ps2) { char ps[100]。 if(strcmp(s2,s3)0) swap(s2,s3)。 if(strcmp(s1,s2)0) swap(s1,s2)。 void swap(char *ps1,char *ps2)。*q=x。 x=*p。 printf(\n%6d %6d%6d,*p1,*p2,*p3)。 if(*p1*p3) swap(p1,p3)。c。b。a。 main() { int a=9,b=7,c=10,*p1,*p2,*p3。 p是一個指針變量,它指向一個指向整型數(shù)據(jù)的指針變量 本章程序舉例: 習(xí)題 :輸入 3個整數(shù),按由小到大的順序輸出。 p為帶回一個指針的函數(shù),該指針指向整型數(shù)據(jù) int (*p)( ) 。 定義指針數(shù)組 p,它有 n個指向整型數(shù)據(jù)的指針元素 int (*p)[n] 。 指針的數(shù)據(jù)類型小結(jié) 定 義 含 義 int *p 。 ps[k]=p。k++) if(strcmp(ps[i],ps[k])0) { p=ps[i]。i++) for(k=i+1。 for(i=0。 } void sort(char *ps[],int n) { int i, k。iN。 sort(ps,N)。iN。i++) ps[i]=(char*)malloc(60)。 for(i=0。 void sort(char *ps[ ],int n)。 p=(char *)malloc(60)。 功能:分配 size字節(jié)的存儲區(qū)。表示該函數(shù)返回的是一個地址,它指向空類型,如需要引用此地址,也需要根據(jù)情況進(jìn)行類型轉(zhuǎn)換。 將 p1的值轉(zhuǎn)換成void 指針類型。 p1=(char *)p2。 p2=amp。 int a=2。在將它的值賦給另一個指針變量時要進(jìn)行強制類型轉(zhuǎn)換使之適合于被賦值的變量的類型。 include main(int argc, char *argv[ ]) { while(-- argc0) printf(―%s\n‖, argv[argc]) 。 可執(zhí)行文件名 參數(shù) 1 參數(shù) 2 …… 參數(shù) n 實參是和命令一起給出的,也就是在 DOS提示符下,輸入本程序的可執(zhí)行文件名和需要傳給 main函數(shù)的參數(shù),命令行的一般形式為: main函數(shù)實參 : 帶參數(shù)的 main函數(shù)的原型是: main( int argc, char *argv[ ]) 。 3. 指向行指針的指針數(shù)組 定義的一般形式為 : 數(shù)據(jù)類型 *( *變量名 [數(shù)組長度 ]) [指向的數(shù)組長度 ]; 例如: int *(*b[3])[4]。 指向指針的指針 1.指向行指針的指針變量 定義形式 : 數(shù)據(jù)類型 *( *變量名) [指向的數(shù)組長度 ]; 例如: int *(*p)[4]。 例如:上例中 **q就是 i的值。p。i。 例如: int **q, *p, i=5。 定義形式 指向指針的指針變量 ( 也稱多級指針 ) 只能存放指針變量的地址 。 (5)字符指針變量的值是可以改變的,雖然字符數(shù)組名也表示數(shù)組的首地址,但是卻不能通過賦值的方法改變。 (3)賦值方式不同,對于字符數(shù)組,只能對各個元素賦值,而不能象字符指針變量那樣使用字符串對整體賦值。 } 區(qū)別如下: (1)字符數(shù)組由若干個元素組成,每一個元素是一個字符,字符指針變量中存放的是字符串的首地址,而不是把字符放到字符指針變量中。i5。 int i 。 } 方法⑵:用指針數(shù)組指向字符串常量。i5。 char (*pname)[80]=name, i 。i++)puts(pname[i])。 for(i=0。i5。 char *pname[10], i 。 三、指針數(shù)組的應(yīng)用 利用指針數(shù)組處理多個串 方法⑴:先用指針數(shù)組指向字符數(shù)組 , 再處理。 多字符串 二、定義多字符串的方法 1.用二維數(shù)組定義多字符串 例如: char state[4 ][9]={―china‖,‖american‖,‖japan‖,‖canada‖}。可以將 整型變量的地址賦值給元素 p[0]或 p[1]。 定義指針數(shù)組的一般形式 : 類型標(biāo)識符 *指針變量名 [常量表達(dá)式 ]; 例如: int *p[2]。 /*也可寫成 while(*p1); */ puts(b)。\039。p1++。 do { *p2=*p1。 } 上例程序還可寫成: main() { char a[]=It is a dog., b[20],*p1=a,*p2=b。 }while(*(a+i)!=?\0‘)。 do { *(b+i)=*(a+i)。 main() { char a[]=―It is a dog., b[20]。相當(dāng)于 printf(―a=%d\n‖,a)。 format=―a=%d\n‖。 如: int a。 ps[10]=?\0‘。 ⑺ 若把字符指針?biāo)笇ο螽?dāng)作數(shù)組使用,應(yīng)注意對象的長度。 ⑸ 若定義了一個指針變量,并使它指向一個字符串,就可以用下標(biāo)形式引用指針變量所指字符串中的字符。 √ ⑷ 字符數(shù)組名是指針常量,只能表示一個確定的字符串,不能改變。 ps=s。 scanf(―%s‖, ps)。 √ ⑶ 字符指針變量必須先賦值后使用,否則對系統(tǒng)構(gòu)成危險。 ╳ char *ps。而字符指針變量中存放的是地址(字符串的首地址),決不是將字符串放到字符指針變量中; ⑵ 字符數(shù)組和字符指針變量都可以在定義時賦初值,但以下方法對字符數(shù)組非法,對字符指針變量合法: char s[10]。 ps++)printf(―%c‖, *ps)。 ⑵ for(。 也可用 s[i]!=?\0‘ 2.用字符指針指向一個字符串 例如: char *ps=I am a student.。 s[i]。 i++)printf(―%c‖, s[i])。 ⑵ for(i=0。 單字符串 1. 用字符數(shù)組存放一個字符串 例如: char s []=I am a student.。 字符指針變量定義的一般形式 : char *指針變量名 。 例如: char *strp=―Hello!‖。 指針與字符串 字符串指針: 字符串的首地址。 …… fun(a)。 二維數(shù)組的指針作為函數(shù)參數(shù) 二維數(shù)組名作為實參 當(dāng)二維數(shù)組名作為函數(shù)實參時,對應(yīng)的形參必須是一個行指針變量 。 …… p=fun(w,N)。 … return b。 } 3.函數(shù)的指針形參和函數(shù)體中數(shù)組的區(qū)別 當(dāng)用數(shù)組元素的地址作為實參時,因為是地址值,所以對應(yīng)的形也應(yīng)當(dāng)是基類相同的指針變量。in。c[4],6)。 main() { char c[10]={?A‘,‘B‘,‘C‘,‘D‘,‘E‘,‘F‘,‘G‘,‘H‘,‘I‘,‘J‘}。 例 編寫程序,對具有 10個元素的 char類型數(shù)組,從下標(biāo)為 4的元素開始,全部設(shè)置為“ *”,保持前 4個元素不變。 …… f(p,10)。 main() { int a[10],*p。 …… f(p,10)。 例:實參、形參都用指針變量的形式 main() { int a[10],*p。 } } 數(shù)組名做函數(shù)參數(shù)小結(jié) : 如果有一個實參數(shù)組,想在函數(shù)中改變此數(shù)組的元素的值,實參與形參都可用數(shù)組名或指針變量其對應(yīng)關(guān)系有以下 4種情況: ⑴ 實參與形參都用數(shù)組名; ⑵ 實參用數(shù)組名,形參用指針變量; ⑶ 實參、形參都用指針變量; ⑷ 實參為指針變量,形參用數(shù)組名。 i++, x++) { if(*max*x) *max=*x。 for(i=1。 } void max_min(int *x, int n, int *max, int *min) { int i。min)。 max_min(a,10,amp。i10。 main() { int i,a[10]={2,4,1,6,7,32,45,75,45,90},max,min。 if(*mina[i]) *min=a[i]。in。 *max=*min=a[0]。 printf(max=%d min=%d,max,min)。max,amp。i++) printf(%5d,a[i])。 for(printf(The original array=),i=0。 void max_min(int a[],int n,int *max,int *min)。 使用形參數(shù)組的概念只是為了與實參數(shù)組對應(yīng),直觀,便于理解而已。因此, C編譯系統(tǒng)都是將形參數(shù)組名作為指針變量來處理的。 …… f(array,10)。 return z。 if(xy)z=x。 printf(―a=%d,b=%d,max=%d‖,a,b,c)。b)。 scanf(―%d,%d‖,amp。 int a,b,c。 main() { int max(int,int)。 p=max。 例如:若有定義 int max(int x,int y)。 注意: ⑵ 對指向函數(shù)的指針變量, p+n, p++, p 等運算是無意義的。 p=max。 如: int max(int x,int y)。 2 . 函數(shù)的指針變量 ⑴ (*p)()表示定義一個指向函數(shù)的指針變量, 它不是固定指向哪個函數(shù)。 定義指向函數(shù)的指針變量的一般形式 : 類型標(biāo)識符 (*指針變量名 )( ); 例如: float (*p)( )。 } *返回的指針必須在主調(diào)函數(shù)的可見域。\039。 while(*str2) *str1++=*str2++。 puts(ps)。 main() { char *ps, s1[80]=yhhhj。 1. 指針型函數(shù)的定義方法 例 : 編寫能返回結(jié)果串地址的串拷貝函數(shù)。 例如: int *a(int x, int y) 。 指針型函數(shù) 返回指針的函數(shù)稱作 指針函數(shù) 。 。 如:上例 swap函數(shù)中不能寫成: temp=p1。 } 圖示交換過程中存儲單元內(nèi)容的變化: 1 2 3 4 5 6 想一想: 如果函數(shù)的參數(shù)不用指針而用整數(shù), 能否實現(xiàn)值的交換?為什么? 通過函數(shù)調(diào)用得到 n個要改變的值的方法: ⑴ 在主調(diào)函數(shù)中設(shè) n個變量,用 n個指針變量指向它們; ⑵ 將指針變量作實參,將這 n個變量的地址傳給所調(diào)用 的函數(shù)的形參; ⑶ 通過形參指針變量,改變該 n個變量的值; ⑷ 主調(diào)函數(shù)中就可以使用這些改變了值的變量。 *p1=*p2。 } void swap(int *p1, int *p2) { int temp。x2)。 swap(amp。 main() { int x1=100,x2=200。 } 指針與函數(shù) 變量的指針作為函數(shù)參數(shù) 指針可以用作函數(shù)參數(shù),這在調(diào)用函數(shù)希望改變參數(shù)的值時非常有用。j10。i5。 j++) *(*(pf+i)+j)=i*j。 i++) for(j=0。 for(i=0。 main() { float fa[5][10], (*pf)[10]=fa。 則:⑴ p是一個指向由 3個整型元素
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1