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

正文內(nèi)容

c語言程序設(shè)計(jì)(下)ppt-wenkub

2022-12-22 21:49:19 本頁面
 

【正文】 f(i1i2){*p=*p1。問題是:指針變量 p沒有存放普通變量的地址,因此也是錯(cuò)誤的(運(yùn)行時(shí)有警告)。}將會(huì)怎樣? 【 分析 】 第一種情況是:在 i1i2的情況下,利用臨時(shí)指針變量 p交換指針變量 p p2存放的地址值,而 i i2的值沒有改變,因此題目的要求沒有實(shí)現(xiàn)(如圖 65所示)。 p2=p。*p2=t。 printf(Enter two numbers:\n)。 p1=amp。 } 程序運(yùn)行結(jié)果 : *p=10 Enter a:15 a=15 p=13ff7c amp。 /* 輸出指針變量 p自身的地址 */ *p=5。 printf(p=%x\n,p)。 printf(*p=%d\n,*p)。( *p) ==p 注意,在定義指針變量時(shí),“ *”表示其后是指針變量;在執(zhí)行部分的表達(dá)式中,“ *”是指向運(yùn)算符。 *運(yùn)算符為單目運(yùn)算符,與其他的單目運(yùn)算符具有相同的優(yōu)先級(jí)和結(jié)合性(右結(jié)合性)。 (4) 給指針變量賦“空”值,如: p=NULL; 這樣做的目的是:讓指針變量存有確定的地址值又不指向任何變量(類似于給數(shù)值型變量賦初值 0)。k; 這時(shí) scanf( %d,amp。 4.用 NULL給指針變量賦空值 除了給指針變量賦地址值外,還可以給指針變量賦空值,如 p=NULL。 p=amp。 2.指針變量的初始化 與動(dòng)態(tài)變量的初值一樣,在定義了一個(gè)(動(dòng)態(tài)的)指針變量之后,其初值也是一個(gè)不確定的值?!笔菃文窟\(yùn)算符,運(yùn)算對(duì)象放在地址運(yùn)算符“ amp。a)訪問變量的方式叫直接訪問方式; 通過指針變量(如 p)訪問它指向的變量(如 a)的方式叫間接訪問方式。例如讓變量 p存放整型變量 a的地址(如圖所示),這樣,由變量 p的值(地址,圖中為1012)就可以找到變量 a,因此稱變量 p指向變量 a,變量 p就是指針變量,它存放的地址就稱為“指針”。不能作用到常量或表達(dá)式上。a、 amp。a,amp。例如在如下的程序段中: int a。 7 指針 指針的基本概念 指針的概念 main() {float x。所以在計(jì)算機(jī)中,所有的數(shù)據(jù)都是存放在存儲(chǔ)器中的。正確靈活的運(yùn)用指針可以有效地表示負(fù)責(zé)的數(shù)據(jù)結(jié)構(gòu)。 能動(dòng)態(tài)的分配內(nèi)存,方便的使用字符串,有效的而方便的使用數(shù)組,在調(diào)用函數(shù)時(shí)能獲得一個(gè)以上的結(jié)果,能直接處理內(nèi)存單元地址等。一般把存儲(chǔ)器中的一個(gè)字節(jié)稱為一個(gè)內(nèi)存單元,為了正確地訪問這些內(nèi)存單元,必須為每個(gè)內(nèi)存單元編號(hào)。 int y。 float b。b,amp。b和 amp。 9 指針 指針的基本概念 指針的概念 根據(jù)內(nèi)存單元的編號(hào)或地址就可以找到所需的內(nèi)存單元,通常把這個(gè)地址稱為指針。因此,指針就是地址。 11 指針 指針變量的定義與引用 指針變量的定義與初始化 指針變量的一般定義形式為: 類型名 *標(biāo)識(shí)符; 其中“標(biāo)識(shí)符”是指針變量名,標(biāo)識(shí)符前加“ *”號(hào)表示該變量是指針變量,用于存放地址,“類型名”表示該指針變量所指向變量的類型?!钡挠疫?,用于求出運(yùn)算對(duì)象的地址??梢栽诙x變量時(shí)給指針變量賦初值,如 float f, *p=amp。f。 14 指針 指針變量的定義與引用 指針的運(yùn)算及引用 在函數(shù)的執(zhí)行部分給指針變量賦地址值有以下幾種情況。k);與 scanf( %d,q);作用相同。 15 指針 指針變量的定義與引用 指針的運(yùn)算及引用 (1) 指向運(yùn)算符 * *運(yùn)算符作用在指針(地址)上,代表該指針?biāo)赶虻拇鎯?chǔ)單元(及其值),實(shí)現(xiàn)間接訪問,因此又叫 “ 間接訪問運(yùn)算符 ” 。根據(jù) *運(yùn)算符的作用, *運(yùn)算符和取地址運(yùn)算符 amp。 (2) 指針變量的引用 知道了指針變量的作用以及相關(guān)的運(yùn)算符以后,我們就可以引用指針變量了。 /* 打印指針變量 p所指向的變量 a的值 10 */ printf(Enter a: )。 /* 輸出指針變量 p存儲(chǔ)的變量 a的地址 */ printf(amp。 /* 把 5賦給 p所指向的存儲(chǔ)單元,相當(dāng)于 a=5; */ printf(a=%d\n,a)。p=13ff78 a=5 a=6 17 指針 指針變量的定義與引用 指針的運(yùn)算及引用 【 例 62】 輸入兩個(gè)整數(shù) i1和 i2,利用指針將大數(shù)存放到 i1中,小數(shù)存放到 i2中,最后按 i i2的順序輸出。i1。 scanf(%d%d,p1,p2)。} /* 利用指針變量的指向操作交換 i i2的值 */ printf(i1=%d,i2=%d\n,i1, i2)。}或者 if(i1i2){*p=*p1。但如果同時(shí)將輸出語句改為: printf(max=%d,min=%d\n,*p1, *p2)。 20 指針 指針變量的定義與引用 指針的運(yùn)算及引用 【 思考 】 如果將變量定義改為 int i1, i2, *p1, *p2, *p; 交換 ii2值的語句改為: if(i1i2){p=p1。 *p1=*p2。 可實(shí)現(xiàn)從大到小輸出。使用指針類型做函數(shù)的參數(shù),實(shí)際向函數(shù)傳遞的是變量的地址。 /* 函數(shù)聲明 */ int *p1,*p2,a,b,*t。 p1=amp。 chang(p1,p2)。 if (*pt1*pt2) {t=*pt1。 } 由于在調(diào)用函數(shù)時(shí),實(shí)際參數(shù)是指針變量,形式參數(shù)也是指針變量,實(shí)參與形參相結(jié)合,傳值調(diào)用將指針變量傳遞給形式參數(shù) pt1和 pt2。 25 指針 指針變量的定義與引用 多級(jí)指針的概念 【 例 64】 運(yùn)行下面的程序 include void main( ) {int *p1, **p2, ***p3, ****p4, x=10。p1。p3。例如有以下定義語句: int a[10], *p; 則語句 p=a;和 p=amp。 或 a++。 *(a+5)=50。 /* 相當(dāng)于 scanf(%d, a+8 )。 *(p+5)=50。 /* 相當(dāng)于 scanf(%d, p+8 )。例如,下述程序段: int a[ ]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, *p=a。a[8])。 /* 相當(dāng)于 printf(%d\n, a[5]) ) */ 30 指針 指針與數(shù)組 指針與二維數(shù)組 C語言規(guī)定,二維數(shù)組由一維數(shù)組擴(kuò)展形成,即一維數(shù)組的每一個(gè)元素作為數(shù)組名形成一行數(shù)組,各行數(shù)組的元素個(gè)數(shù)相同,是二維數(shù)組的列數(shù)。a[0][0]指向 0行 0列。 31 指針 指針與數(shù)組 指針與二維數(shù)組 【 例 65】 輸出二維數(shù)組的有關(guān)值,程序編寫如下,注意理解各語句的含義。 /* 1行首地址和 0行 1列首地址 */ printf(%u,%u\n,a, amp。 /* 1行 0列首地址 */ printf(%d,%d,%d\n,*(*(a+1)+2), *(a[1]+2), a[1][2])。 p=a[0]。 i++) for(j=0。 } 程序運(yùn)行結(jié)果 : 1 2 3 4 5 6 7 8 9 10 11 12 34 指針 指針與數(shù)組 指針與二維數(shù)組 (2) 指向一維數(shù)組的指針變量(行指針變量) 二維數(shù)組名(設(shè)為 a)以及 a+ a+2等均為行指針(二級(jí)指針)常量,分別指向由一行元素組成的行一維數(shù)組,但它們不能移動(dòng)(例如不能由 a++使 a得到地址 a+1)。指向一維數(shù)組的指針變量的一般定義形式為: 類型 (*指針變量名 )[一維數(shù)組元素個(gè)數(shù) ]; 35 指針 指針與數(shù)組 指針與二維數(shù)組 【 例 67】 輸出二維數(shù)組任意行任意列的元素值。 scanf(%d,%d, amp。 } 程序運(yùn)行結(jié)果:a[2][3]=12 Enter arbitrary number of row and column: 2,3 36 指針 指針與數(shù)組 數(shù)組指針作函數(shù)的參數(shù) 【 例 68】 調(diào)用函數(shù),實(shí)現(xiàn)求解一維數(shù)組中的最大元素。 37 指針 指針與數(shù)組 數(shù)組指針作函數(shù)的參數(shù) include void main( ) {int sub_max( )。n=9。 /* 函數(shù)調(diào)用,其實(shí)參是指針 */ printf(max=%d\n,max)。 for (j=1。 } 38 指針 指針與數(shù)組 數(shù)組指針作函數(shù)的參數(shù) 程序的 main()函數(shù)部分,定義數(shù)組 a共有 10個(gè)元素,由于將其首地址傳給了 ptr,則指針變量 ptr就指向了數(shù)組,調(diào)用 sub_max()函數(shù),再將此地址傳遞給 sub_max()函數(shù)的形式參數(shù) b,這樣一來, b數(shù)組在內(nèi)存與 a數(shù)組具有相同地址,即在內(nèi)存完全重合。在 sub_max()函數(shù)內(nèi)數(shù)組元素的表示采用下標(biāo)法。 for (n=0。 max=sub_max(ptr,10)。 temp=b[0]。 return temp。 {int temp,j。j++) if(temp*b) temp=*b++。 43 指針 指針與數(shù)組 數(shù)組指針作函數(shù)的參數(shù) include define N 10 void main( ) {void input( )。 /* 定義一維數(shù)組和指針變量 */ input(a,N)。 /* 輸出,實(shí)參 p是指針變量 */ } 44 指針 指針與數(shù)組 數(shù)組指針作函數(shù)的參數(shù) void input(arr,n) /*無需返回值的輸入數(shù)據(jù)函數(shù)定義 ,形參 arr是數(shù)組 */ int arr[ ],n。in。 {int i,j,t。jn1i。 }/*兩個(gè)元素進(jìn)行交換 */ } 45 指針 指針與數(shù)組 數(shù)組指針作函數(shù)的參數(shù) void output(arr,n) /* 數(shù)據(jù)輸出 */ int arr[ ],n。 ptrarrn。 include define M 3 define N 4 void main( ) {float a[M][N]。 for(i=0。j++) scanf(%f,amp。score2,amp。 {int i,j。i++) for(j=0。 /* 第 1行的數(shù)據(jù)相加 */ if(i==2) *p3=*p3+b[i][j]。score3,其實(shí)際含義為p1=amp。二維數(shù)組和字符串的地址以及指向變量、數(shù)組、字符串、函數(shù)、結(jié)構(gòu)體的指針變量的定義。 ,指向指針的指針。 C) p[0]=amp。 答案: C 52 練習(xí) :等級(jí)考試真題 二、填空題 :( 2022年 4月份考題) (15) 以下程序的功能是:利用指針指向三個(gè)整型變量,并通過指針運(yùn)算找出三個(gè)數(shù)中的最大值,輸出到屏幕上,請(qǐng)?zhí)羁眨? Main() {int x,y,z,max,*px,*py,*pz,*pmax。z)。y。max。 } *pmax=*px 53 指針 三、填空題 :( 2022年 9月份考題填空題) 練習(xí) :等級(jí)考試真題 (11) 以下程序的輸出結(jié)果是 ________. include include char *fun(char *t) { char *p=t。 puts(str)。 在字符串的處理中,使用字符指針比使用字符數(shù)組更方便。 /*定義字符數(shù)組并且初始化 */ int i。 i++) /*逐個(gè)選取字符數(shù)組中的所有數(shù)組元素 */ printf (%c, string[i])。 在 C語言中規(guī)定,數(shù)組名代表數(shù)組的首地址,也就是數(shù)組中第 0號(hào)數(shù)組元素的地址 (即指向該數(shù)組第 0號(hào)數(shù)組元素的指針)。 【 例 612】 定義一個(gè)字符指針,然后通過它引用字符串。 在 C語言中,對(duì)字符串常量的存放是按靜態(tài)字符數(shù)組處理的。 63 指針 對(duì)于使用字符指針變量處理字符串的情況,在輸出字符串 時(shí)要使用“ %s”格式符,輸出項(xiàng)中要給出字符指針變量名,這 樣,計(jì)算機(jī)就先輸出字符指針變量所指向字符串的第一個(gè)字 符,然后字符指針變量自動(dòng)加 1而指向字符串的下一個(gè)字符,接 著再輸出該字符, … ,重復(fù)上述操作直到遇到字符串結(jié)束標(biāo)志 ‘ \0’為止。 /*
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1