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

正文內(nèi)容

計算機(jī)本科c語言第十章講(1)(參考版)

2025-01-21 19:38本頁面
  

【正文】 {…} 問題:( 1)實(shí)參從何處來 ( 2。 1 無參主函數(shù) 類型標(biāo)識符 main() {…} 2 有參主函數(shù) 類型標(biāo)識符 main(argc,argv) int argc。見下圖。 若指針變量中存放的是目標(biāo)變量的地址,稱為“ 單級間址 ”,指向指針的指針為“ 二級間址 ”。 p++。i5。 p=num。a[4]}。a[2],amp。a[0],amp。 例 main() {static a[5]={1,3,5,7,9}。而 **p是 p間接指向的對象 (值 )。 此時為了得到數(shù)據(jù) 5,可以先使 p=num+2, 然后輸出**p。a[4]}。a[2],amp。a[0],amp。 } } 4) 指針數(shù)組的元素也可以不指向字符串,而指向整 型數(shù)據(jù)或?qū)嵭蛿?shù)據(jù),例如: int a[5]={1,3,5,7,9}。i++) { p=name+i。 for(i=0。 char **p。 2)通常多級指針都可以用同類型的低一級的指針的地 址來初始化 3)多級指針與指針數(shù)組有很大的內(nèi)在聯(lián)系。p2。p1。 輸出: 2022, 3016, Great wall 注意: 1)多級指針就是指向指針的指針 char *p1。 又如: p=name+2。 如: char *name[4], **p。 p為一個指向字符指針變量的指針變量。 上面 name是指針數(shù)組,元素均是指針數(shù)據(jù),可定義一指針變量,指向數(shù)組,對數(shù)組各元素操作。 printf(%s\n,p)。 p=name[0]。 { int i=0。 } 運(yùn)行結(jié)果: BASIC Computer design FORTRAN Follow me Great Wall void print(name,n) char *name[]。in。 {int i。} } } void print(name,n) char *name[]。name[i]=name[k]。j++) if(strcmp(name[k],name[j])0) k=j。 for(j=i+1。in1。 int i,j,k。int n。 print(name,n)。 int n=5。 void print(_______)。 思路:定義一指針數(shù)組,存放各字符串的首地址,要排序,只需交換指針數(shù)組元素的值。這樣,各字符串的長度可以不同,而且移動指針變量的值(地址)要比移動字符串所化的時間少得多。 可以分別定義一些字符串,然后用指針數(shù)組中的元素分別指向各字符串,見下圖。但實(shí)際上各字符串(書名)長度是不相等的。因此要設(shè)計一個二維的字符數(shù)組才能存放各字符串。 例如,圖書館有若干本書,想把書名放在一個數(shù)組中(見下圖),然后要對這些書目進(jìn)行排序和查詢。t++) printf(“%4d”,*p[t])。 for (t=0。t=3。k[3]}。k[1],amp。 int *p[4]={amp。 char *str[3]={“Guangzhou”,”Biejing”,”Wuhan”}。i2,amp。 int *p[3]={amp。 不能寫成 int (*p)[4] 注意: 1) 在使用指針數(shù)組中的元素之前,必須為該元素指定一個確定的值;對指針數(shù)組的初始化時其每個元素的值都為地址。} 10. 7 指針數(shù)組和指向指針的指針 重點(diǎn):指針數(shù)組及其應(yīng)用 一、指針數(shù)組 其元素均為指針型數(shù)據(jù)的數(shù)組,稱為指針數(shù)組。t)=5。 int t=3。} main() {*fun1()=10。k。 例: 通過改變函數(shù)返回值改變它所指向的存儲單元的值 include int k=0。 return (pt)。i4。 float *pt。}} } float *search(pointer) float (*pointer)[4]。j++) printf(% ,*(p+j))。 for(j=0。k++) {p=search(score+k)。 for (k=0。 float *p。 main() {static float score[][4]={{60,70,80,90}, {50,89,67,88},{34,78,90,66}}。 return (pt)。 {float *pt。 } float *search(pointer,n) float (*pointer)[4]。i4。 p=search(score,m)。m)。 printf(enter the number of student:)。 float *p。 include main() {static float score[][4]={{60,70,80,90}, {56,89,67,88},{34,78,90,66}}。/* 函數(shù)體中必有 return語句 */ } 二、指針函數(shù)的應(yīng)用 例 有若干個學(xué)生的成績(每個學(xué)生有 4門課程),要求輸入學(xué)生序號后,輸出該生的全部成績。 返回指針值的函數(shù) 一、指針函數(shù)的定義 數(shù)據(jù)類型標(biāo)識符 *函數(shù)名(形參表列) 形參說明 { 函數(shù)體 } 如: int *a(x,y) /*存儲類別為外部函數(shù) */ int x,y 。 printf(%d\n,result)。 { int result。} process(x,y,fun) int x,y。 z=x+y。 } add(x,y) int x,y。 {int z。 return(z=xy?x:y)。 } max(x,y) int x,y。 process(a,b,add)。 process(a,b,min)。 process(a,b,max)。b)。 scanf(%d,%d,amp。 int a,b。 : } f1 x1 f1 f2 x2 f2 例 設(shè)一個函數(shù) process,在調(diào)用它時,每次實(shí)現(xiàn)不同的功能,調(diào)用三次,分別求出 a、 b中較大者、較小者和二者之和。 : /* 次主調(diào)函數(shù) */ a=(*x1)(i)。 /* 主調(diào)函數(shù) /* : sub(x1, x2) int (*x1)( ), (*x2)( )。 printf(“%d\n”,(*p)(x,y))。x,amp。 p=max。} main( ) {int x,y。 else x=b。 指向函數(shù)的指針變量 定義的一般形式: 數(shù)據(jù)類型標(biāo)識符 (*指針變量名 )( ) 例: int max(int a,int b) {int x。i++) printf(%c,a[i])。a[i]!=39。 printf(The sixth character is %c\n,a[5])。 } 字符指針也可用下標(biāo)法來表示: 例 main() { char *a=I love China!。 a=a+7。 printf(%s,a)。 字符指針變量的值可改變; 例 main() { char *a=I love China。 scanf(“%s”,a)。 為錯誤的, 而 char *a, str[10]。 為正確, 但 char *a。 定義字符數(shù)組時,編譯后便分配了存儲單元,但 存儲單元的值為空; 如: char str[10]。 a= “I love China!”。 str=“I love China!”。 而字符指針變量賦初值一般不用 static,如: char *p=“I love China!”。 while((*p2++=*p1++)!=?\0?)。 p1=from。 } 6) 用字符數(shù)組 void copy_string(from,to) char from[ ],to[ ]。( *to++=*from++) !=?\0?。 } 5) void copy_string(from,to) char *from,*to。 } 4) void copy_string(from,to) char *from,*to。 { while(*from!=?\0?) *to++=*from++。 { while((*to++=*from++)!=?\0?) 。from++。 ( 3)函數(shù)體 的幾種簡化形式 1) void copy_string(from,to) char *from,*to。p++) printf(%c,p)。 for(p=b。 copy_string(a,b)。 printf(string a is: %s\n,a)。 } main() { char *a=I am a teacher.,*b=you are a student.。 *to=39。*from!=39。 { int i=0。 printf(string b is: %s\n,b)。 copy_string(a,b)。 printf(string a is: %s\n,a)。\039。i++。\039。 {int i=0。 例 用函數(shù)調(diào)用實(shí)現(xiàn)字符串的復(fù)制。 } 二、字符串指針作函數(shù)參數(shù) 實(shí)參是字符串、字符數(shù)組名或字符串指針,傳遞的是地址。 p2=b。\039。p1++,p2++) *p2=*p1。*p1!=39。 p2=b。 int i。 } 例 用指針變量來處理例 。i++) printf(%c,*(b+i))。b[i]!=39。 printf(string b is: %s\n,b)。\039。i++) *(b+i)=*(a+i)。*(a+i)!=39。 int i。 例 將字符串 a復(fù)制到字符串 b。 s=“I love China !”。 在輸出時,系統(tǒng)先輸出 string所指向的第一個字符數(shù)據(jù),然后使 string自動加 1,使之指向下一個字符,然后輸出 …… 直至遇到字符串結(jié)束標(biāo)志。 在程序中定義了一個字符指針變量 string ,用字符串“ I love China !”對它初始化, 對字符指針變量的初始化實(shí)際上是把字符串第一個元素的地址賦給 string。 等價于下面兩行: char *string。 printf(“%s\n”,string)。 一、字符串的表示形式 用字符數(shù)組 如: char a[ 10]=“CHINA”。 printf(\n)。i4。 if(flag) {printf(No. %d is fail,his(her) scores are:\n,j+1)。i4。j++) /*查找人 */ {flag=0。 for (j=0。int n。 search(score,3)。 main() { void search(_________)。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1