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

正文內(nèi)容

c語言程序設計(下)ppt-在線瀏覽

2025-01-24 21:49本頁面
  

【正文】 1,*p2)。 } 23 指針 指針變量的定義與引用 指針作為函數(shù)參數(shù) void chang(int*pt1,int*pt2) /* 函數(shù)實現(xiàn)將兩數(shù)值調(diào)整為由大到小 */ {int t。*pt1=*pt2。 } /* 交換內(nèi)存變量的值 */ return。但此時傳值傳遞的是變量地址,使得在函數(shù)中 pt1和 pt2具有了 p1和 p2的值,指向了與調(diào)用程序相同的內(nèi)存變量,并對其在內(nèi)存存放的數(shù)據(jù)進行了交換,其效果與例 62相同。使用多級指針變量的要點是:① 多級指針變量均用基類型定義,定義幾級指針變量要將變量名前放幾個 “ *” 號;② 各指針變量均應取得低一級指針變量的地址后才能引用;③ 引用幾級指針變量訪問最終的普通變量時,變量名前需用幾個指向運算符 “ *” 號。 p1=amp。p2=amp。p3=amp。p4=amp。 printf( x=%d\n,****p4) 。在 C語言中,數(shù)組名是該數(shù)組的首地址。a[0];是等價的,都表示指針變量 p指向 a數(shù)組的首地址。因此,語句 a=p。都是非法的。例如,下述程序段: int a[ ]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}。 /* 相當于 a[5]=50 。a[8])。 */ printf(%d\n, *(a+5) )。例如,下述程序段: int a[ ]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, *p=a。 /* 相當于 a[5]=50 。a[8])。 */ printf(%d\n, *(p+5) )。因此 p[i]與 *(p+i)等價。 p[5]=50。 */ scanf(%d, amp。 /* 相當于 scanf(%d, amp。 */ printf(%d\n, p[5] )。例如定義了二維數(shù)組 int a[3][4],它是由一維數(shù)組int a[3]擴展形成,即以 a[0]、 a[1]、 a[2]為數(shù)組名(首地址)形成三行一維數(shù)組,元素個數(shù)均為列數(shù) 4。例如 0行的 a[0]=amp。 0行有四個元素,它們是 a[0][0]、 a[0][1]、 a[0][2]、a[0][3]。a[0]指向的“元素”為一級指針常量,因此 a為二級指針常量,指向 0行(行指針)。 include void main( ) {int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}。 /* 0行首地址和 0行 0列首地址 */ printf(%u,%u\n,a+1, *a+1)。a[0])。a[1][0])。 /* 1行 2列的元素 7 */ } 程序運行結(jié)果: 1310544,1310544 1310560,1310548 1310544,1310544 1310560,1310560,1310560 7,7,7 32 指針 指針與數(shù)組 指針與二維數(shù)組 (1) 指向數(shù)組元素的指針變量(一級指針變量):將二維數(shù)組當成一維數(shù)組訪問。 include void main( ) {int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12},i,j,*p。 /* 指針變量必須得到首元素地址 a[0]或 *a或amp。 i3。 j4。 printf(\n)。但是如果有定義: int a[3][4], (*prt)[4]。 考慮其中的 (*prt)[4],因為 ( )和 [ ]的優(yōu)先級相同, *prt表示 prt應為指針變量,它指向一個含有 4個元素的整型一維數(shù)組,而不是指向一個元素,因此它是二級指針變量(行指針變量),可以移動。 定義指向一維數(shù)組的指針變量,按照上面的說明表示二維數(shù)組任意行任意列的元素,程序如下: include void main( ) {int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}。 printf(Enter arbitrary number of row and column:\n)。row, amp。 printf(a[%d][%d]=%d\n, row, col ,*(*(p+row)+col))。 我們首先假設一維數(shù)組中下標為 0的元素是最大和用指針變量指向該元素。 sub_max()函數(shù)的形式參數(shù)為一維數(shù)組,實際參數(shù)是指向一維數(shù)組的指針。 /* 函數(shù)聲明 */ int n,a[10],*ptr=a。 for (n=0。n++) /* 輸入數(shù)據(jù) */ scanf(%d,amp。 max=sub_max(ptr,10)。 } int sub_max(b,i) /* 函數(shù)定義,其形參為數(shù)組 */ int b[ ],i。 temp=b[0]。j=9。 return temp。在 sub_max()函數(shù)中對數(shù)組 b的操作,與操作數(shù)組 a意義相同。 sub_max()函數(shù)完成對數(shù)組元素找最大的過程。 39 指針 指針與數(shù)組 數(shù)組指針作函數(shù)的參數(shù) include void main( ) {int sub_max( )。 int max。n=9。a[n])。 printf(max=%d\n,max)。 { int temp,j。 /* 數(shù)組元素指針的下標法表示 */ for(j=1。j++) if(tempb[j]) temp=b[j]。} 40 指針 指針與數(shù)組 數(shù)組指針作函數(shù)的參數(shù) 在 sub_max()中,形式參數(shù)是指針,調(diào)用程序的實際參數(shù) ptr為指向一維數(shù)組 a的指針,虛實結(jié)合, sub_max()的形式參數(shù) b得到 ptr的值,指向了內(nèi)存的一維數(shù)組。 程序輸入數(shù)據(jù): 1 3 5 6 89 1 2 56 23 78 程序運行結(jié)果: max=89 41 指針 指針與數(shù)組 數(shù)組指針作函數(shù)的參數(shù) 上述程序的函數(shù)中,數(shù)組元素還可以用指針表示 int sub_max(b,i) /* 函數(shù)定義 */ int *b,i。 temp=*b++。j=i1。 return temp。編寫三個函數(shù)用于輸入數(shù)據(jù)、數(shù)據(jù)排序、數(shù)據(jù)輸出。 /* 函數(shù)聲明 */ void sort( )。 int a[N],*p。 /* 數(shù)據(jù)輸入函數(shù)調(diào)用,實參 a是數(shù)組名 */ p=a。 /* 排序,實參 p是指針變量 */ output(p,N)。 {int i。 for (i=0。i++) /* 采用傳統(tǒng)的下標法 */ scanf(%d,amp。 } void sort(ptr,n) /* 冒泡排序,形參 ptr是指針變量 */ int*ptr,n。 for (i=0。i++) for (j=0。j++) if(*(ptr+j)*(ptr+j+1)) /* 相臨兩個元素進行比較 */ {t=*(ptr+j)。 *(ptr+j+1)=t。 {int i,*ptr=arr。 for(。 ptr++) /* 輸出數(shù)組的 n個元素 */ printf(%4d,*ptr)。 } 46 指針 指針與數(shù)組 數(shù)組指針作函數(shù)的參數(shù) 【 例 610】 用指向二維數(shù)組的指針作函數(shù)的參數(shù),實現(xiàn)對二維數(shù)組的按行相加。 float score1,score2,score3,*pa=a[0]。 void fun()。iM。jN。a[i][j])。score1,amp。score3)。 } void fun(b,p1,p2,p3) float b[ ][N],*p1,*p2,*p3。 *p1=*p2=*p3=0。iM。jN。 /* 第 0行的數(shù)據(jù)相加 */ if(i==1) *p2=*p2+b[i][j]。 /* 第 2行的數(shù)據(jù)相加 */ } } 48 指針 指針與數(shù)組 數(shù)組指針作函數(shù)的參數(shù) 程序中與形式參數(shù) p p2和 p3相對應的是實際參數(shù)amp。score2和 amp。score1等,即將變量的地址傳遞給指針變量達到按行相加。 。通過指針引用以上各類型數(shù)據(jù)。 。 本次課等級考試考點 51 指針 練習 :等級考試真題 一、選擇題 :( 2022年 9月份考題) ( 33)若有定義語句: int a[2][3],*p[3]。 B)p[0]=a。a[1][2]。a。 Scanf(“%d%d%d”,amp。y,amp。 Px=amp。 Py=amp。 Pz=amp。 Pmax=amp。 __________________ If(*pmax*py)*pmax=*py。 Printf(“max=%d\n”,max)。 return(p+strlen(t)/2)。 str=fun(str)。 } efgh 54 指針 練習 : 本次課作業(yè) : 習題集 :第六章 選擇題: 4 填空題: 5 改錯題: 2 編程題: 2 55 指針 第 6章 指針 指向字符串的指針變量 指針數(shù)組 指針數(shù)組作 main函數(shù)的形參 指向指針的指針變量 56 指針 57 指針 字符串的表示形式 字符串作函數(shù)參數(shù) 字符指針變量與字符數(shù)組的區(qū)別 指針數(shù)組的一般定義形式 命令行參數(shù)的應用 指向指針的指針變量的一般定義形式 指針數(shù)組的應用 帶參數(shù)的 main函數(shù)的一般形式 指向指針的指針變量的應用 58 指針 指向字符串的指針變量 字符串的表示形式 字符串是特殊的常量,它一般被存儲在一維的字符數(shù)組中并且以 ‘ \0’結(jié)束。 在 C語言程序中,可以采用兩種方法來實現(xiàn)訪問一個字符串:其中一種方法是采用字符數(shù)組,另一種方法是采用字符指針。 59 指針 程序運行輸出結(jié)果: Beijing Olympics Beijing Olympics ( 1)定義一個字符數(shù)組,并且將一個字符串存放在字符數(shù)組中, 以空字符‘ \0’結(jié)束。 include void main( ) {char string[ ]=Beijing Olympics。 for(i=0。\039。 /*通過下標每次輸出一個字符 */ printf(\n)。 /*從數(shù)組名 string指向的元素開始,輸出 } 字符串到‘ \0’為止 */ 60 指針 在 【 例 611】 中 string是存放給定字符串的數(shù)組名,它代表字符數(shù)組第 0號數(shù)組元素的地址。 所以將字符串存儲在一個數(shù)組中以后,就可以通過該數(shù)組名對它進行存取。 61 指針 程序運行輸出結(jié)果: Beijing Olympics ( 2)定義一個字符指針變量,并且將字符指針指向一個字符串常量。 include void main( ) {char *string=“Beijing Olympics”。 /* 輸出字符串 */ } 62 指針 注意,在對字符指針變量 string賦初值為字符串常量時,并不是把整個字符串的內(nèi)容都賦給該字符指針變量,而僅僅是把該字符串在內(nèi)存單元的首地址(即第一個字符的地址)賦給該字符指針變量,這樣就可以將字符指針指向字符串的第一個字符。就是說,在內(nèi)存中分配給字符數(shù)組一片連續(xù)的存儲單元用來存放該字符串常量。在內(nèi)存中,由于字符串的最后被自動填加了一個‘ \0’,所以使用字符指針變量來處理字符串的時候就很容易判斷字符串的終止位置。所以,雖然一個數(shù)值型數(shù)組不能使用數(shù)組名來輸出該 數(shù)組的全部元素,而只能逐個元素進行輸出;但是使用字符數(shù) 組名或者字符指針變量卻可以整體輸出一個字符串。 /* 定義字符數(shù)組并且初始化 */ char *p=string。 } /* 輸出字符串 */ 64 指針 程序運行輸出結(jié)果: string1 is: I am a tearcher. string2 is: I am a tearcher. 【 例 613】 使用字
點擊復制文檔內(nèi)容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1