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

正文內(nèi)容

實(shí)用c語(yǔ)言程序設(shè)計(jì)教程6便捷工具指針ppt(編輯修改稿)

2024-11-14 13:51 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 p2=str2。 /*指針 p2重新賦值 */ printf(string 2:)。 puts(p2)。 } 【 例 68】 利用指針編程,將字符串 str1復(fù)制到字符串 str2中。 while (*p2=*p1) { p1++。 p2++。 } while 2++ = *p1++) 。 C語(yǔ)言程序設(shè)計(jì) 第 6章 指針 分析: ( 1)問(wèn)題陳述:要求用戶能夠從鍵盤(pán)輸入一篇英文摘要。 ( 2)需求分析:從鍵盤(pán)輸入一篇英文摘要并輸出。應(yīng)該能夠處理有多個(gè)段落的文章。 ( 3)處理過(guò)程和算法分析: ①本問(wèn)題要編程實(shí)現(xiàn)“文本編輯器”的文本“新建”、 “輸入”和“顯示”功能。 ②利用字符數(shù)組串存放一個(gè)文章段落。 ③利用字符指針和一維字符數(shù)組的指針及文件指針輸入文章并存入文本文件。在程序中將使用文件字符串輸入輸出 ——fgets和 fputs函數(shù)。 【 應(yīng)用案例 61】 使用指針和數(shù)組為某論文輸入一篇英文摘要。 C語(yǔ)言程序設(shè)計(jì) 第 6章 指針 算法偽代碼描述: /*算法開(kāi)始 */ 文件指針定義; 段落數(shù)組定義,用字符指針指向該數(shù)組; 新建或打開(kāi)文本文件;(新建功能) 利用指針從鍵盤(pán)輸入文章 :(程序中最多可以輸入 10個(gè)段落,輸入功能實(shí)現(xiàn) ) for(i=0。i10。i++) { gets(s2)。 /*輸入第 i+1句 */ strcat(str2,\n)。 /*連接回車(chē) */ fputs(str2,fp)。 /*輸出到文件 */ } 重新定位文件指針到文件首; 利用指針從文件輸出并顯示文章 :(輸出功能實(shí)現(xiàn) ) for(i=0。i10。i++) { fgets(s2,100,fp)。 /*從文件取回的字符串 */ printf(%s,s2)。 /*通過(guò)指針輸出字符串 */ } /*算法結(jié)束 */ C語(yǔ)言程序設(shè)計(jì) 第 6章 指針 include include include void main(void) { int i。 FILE *fp。 /*定義文件指針 */ char *str1=This is a test:The Abstract of Treatise char *s2,str2[100]。 /*字符數(shù)組存放一個(gè)文章段落 */ s2=str2。 printf(\n從鍵盤(pán)輸入一篇文章的摘要 :\n\n)。 if((fp=fopen(,w+))==NULL) { printf(Open error\n)。 exit(0)。 } /*文件指針指向 */ C語(yǔ)言程序設(shè)計(jì) 第 6章 指針 /*把字符串寫(xiě)入文件 */ fputs(str1,fp)。 fputs(\n,fp)。 /*存入回車(chē) */ for(i=0。i10。i++) /*最多可以輸入 10個(gè)段落 */ { printf(第 %d句 :,i+1)。 gets(s2)。 /*通過(guò)指針輸入字符串 */ strcat(str2,\n)。 /*鏈接回車(chē) */ fputs(str2,fp)。 /*輸出該句到文件 */ } fseek(fp,0,SEEK_SET)。 /*重新定位文件指針 */ /*從文件中取得字符串并輸出 */ printf(\n這篇文章的摘要是: \n\n)。 for(i=0。i10。i++) { fgets(s2,100,fp)。 /*s2指針指向從文件取回的字符串 */ printf(%s,s2)。 /*通過(guò)指針輸出字符串 */ } fclose(fp)。 } C語(yǔ)言程序設(shè)計(jì) 第 6章 指針 指向二(多)維數(shù)組和數(shù)組元素的指針 1.指向二維數(shù)組元素的指針 例: int x[3][3]={{1,2,3},{4,5,6},{7,8,9}}。 ?從內(nèi)存管理而言,二維數(shù)組是按行優(yōu)先順序存放的 ?指向二維數(shù)組元素的指針是一級(jí)指針。 例: int *pd=amp。x[0][0]。 *(pd+k)、 *pd++、 *(pd+行元素個(gè)數(shù) *行號(hào) +列號(hào) )等均可引用二維數(shù)組元素。 C語(yǔ)言程序設(shè)計(jì) 第 6章 指針 【 例 69】 閱讀并理解程序中引用二維數(shù)組元素的方法。 include include include void main(void) { int x[3][3]={{1,2,3},{4,5,6},{7,8,9}}, k, i。 int *pd=amp。x[0][0]。 /*pd指向二維數(shù)組首元素 ,一級(jí)指針 */ k=5。 printf(%d\n,*(pd+k))。 /*二維數(shù)組轉(zhuǎn)換為一維 ,pd+k指向 pd指針之后第 5個(gè)元素 */ *pd++。 /*先取 *pd的值 ,再使指針 pd自加 ,指向第二個(gè)元素 */ printf(%d\n,*(pd+k))。 /*注意 pd當(dāng)前值 */ pd。 /*pd又返回指向數(shù)組首元素 */ printf(%d\n,*(pd+3*1+2))。 /*輸出第 2行的第 3個(gè)元素 */ scanf(%d,pd+3*1+2)。 /*輸入第 2行的第 3個(gè)元素 */ printf(%d\n\n,*(pd+3*1+2))。 /*輸出第 2行的第 3個(gè)元素 */ for(i=0。i9。i++) printf(%d ,*pd++)。 /*用元素指針遍歷二維數(shù)組 */ } C語(yǔ)言程序設(shè)計(jì) 第 6章 指針 2.指向二維數(shù)組的指針 —— 行指針快速操作數(shù)組法 ?二(多)維數(shù)組按廣義一維數(shù)組管理。 ?行元素即二維數(shù)組的一行。行元素是一級(jí)指針。 ?指向行元素的指針就叫行指針 例 : 二維數(shù)組 x[3][3]的行元素分別是 x[0]、 x[1]、 x[2],行元素是一級(jí)指針,各自指向(或代表)有 3列的一個(gè)行數(shù)組。 C語(yǔ)言程序設(shè)計(jì) 第 6章 指針 ?行指針定義形式如下: 基數(shù)據(jù)類(lèi)型 ( *指針名) [列元素個(gè)數(shù) ]; 例, int (*p)[3]。 說(shuō)明: 運(yùn)算符“ ( )”與“ [ ]”的優(yōu)先級(jí)相同,結(jié)合方向一樣,所以 p先與“ *”號(hào)結(jié)合, 說(shuō)明 p是一個(gè)指針變量 , 然后 p再與“ [ ]”結(jié)合, 說(shuō)明該指針變量指向一個(gè)有 3個(gè)元素的一維數(shù)組 。 基數(shù)據(jù)類(lèi)型 int說(shuō)明了數(shù)組元素的數(shù)據(jù)類(lèi)型。 二維數(shù)組的 行元素 是一級(jí)指針, 指向行元素的 行指針 即為二級(jí)指針。 行指針與二維數(shù)組名性質(zhì)相同,通過(guò)行指針可以訪問(wèn)二維數(shù)組。 C語(yǔ)言程序設(shè)計(jì) 第 6章 指針 例如,有以下語(yǔ)句組: int a[3][4], (*p)[4]。 /*行指針 */ int i, j。 p=a。 /*行指針 p指向二維數(shù)組 ,第 1個(gè)行元素 */ p++。 /*行指針 p下移 1行,指向第 2個(gè)行元素 */ p++。 /*行指針 p下移 1行,指向第 3個(gè)行元素 */ C語(yǔ)言程序設(shè)計(jì) 第 6章 指針 當(dāng)行指針 p指向二維數(shù)組 a后,用 a表示 i行 j列數(shù)組元素 的方式都可以用 p替換。 用 p表示 a[i][j]的方式有: p[i][j]、 *(p[i]+j)、 *(*(p+i)+j)、 (*(p+i))[j]。 p和 a的差別在于: p是變量可以改變, a是常量不能改變。 C語(yǔ)言程序設(shè)計(jì) 第 6章 指針 【 例 610】 假設(shè)有某數(shù)組 a[4][5],從鍵盤(pán)輸入該數(shù)組各元素的值,然后使用行指針設(shè)計(jì)并解決下列問(wèn)題。 ( 1)計(jì)算第 2行的數(shù)據(jù)和(行求和問(wèn)題) ( 2)計(jì)算第 3列的數(shù)據(jù)和(列求和問(wèn)題) ( 3)求前 3行數(shù)據(jù)中的最大值(二維數(shù)組求極值) ( 4)求后 4列數(shù)據(jù)中的最小值(二維數(shù)組求極值) ( 5)查詢并輸出某一指定值的位置(二維數(shù)組的定位與查詢) C語(yǔ)言程序設(shè)計(jì) 第 6章 指針 分析: ( 1)問(wèn)題陳述和需求分析: 利用行指針指向二維數(shù)組,通過(guò)行指針對(duì)二維數(shù)組進(jìn)行各種處理,實(shí)現(xiàn)以上功能。 ( 2)處理流程 ①定義行指針 p,讓 p指向數(shù)組 a。 ②通過(guò)循環(huán)輸入、輸出各數(shù)組元素。 ③計(jì)算并輸出第 2行的數(shù)據(jù)和。 ④計(jì)算并輸出第 3列的數(shù)據(jù)和。 ⑤找出并輸出前 3行數(shù)據(jù)中的最大值。 ⑥找出并輸出后 4列數(shù)據(jù)中的最小值。 ⑦找出并輸出指定值的位置。 include define N 4 define M 5 void main() { int a[N][M],(*p)[M],sum1=0,sum2=0,max,min,i,j,x,k=0。 /*k為標(biāo)記變量 */ p=a。 printf(請(qǐng)輸入二維數(shù)組的各元素: \n)。 for(i=0。iN。i++) for(j=0。jM。j++) scanf(%d,p[i]+j)。 printf(請(qǐng)輸入待尋找的數(shù): \n)。 scanf(%d,amp。x)。 printf(二維數(shù)組各元素如下: \n)。 for(i=0。iN。i++) { for(j=0。jM。j++) printf(%d ,*(p[i]+j))。 printf(\n)。 } printf(二維數(shù)組第 2行元素的和值如下: \n)。 for(i=0。iM。i++) sum1=*(p[1]+i)+sum1。 printf(%d\n,sum1)。 printf(二維數(shù)組第 3列元素的和值如下: \n)。 for(i=0。iN。i++) sum2=*(p[i]+2)+sum2。 printf(%d\n,sum2)。 printf(二維數(shù)組前 3行元素的最大值如下: \n)。 max=*p[0]。 /*假定第一行第一列的元素最大 */ for(i=0。i3。i++) for(j=0。jM。j++) if(max*(p[i]+j)) max=*(p[i]+j)。 printf(%d\n,max)。 printf(二維數(shù)組后 4列元素的最小值如下: \n)。 min=*(p[0]+1)。 /*假定第一行第二列的元素最小 */ for(i=0。iN。i++) for(j=1。jM。j++) if(min*(p[i]+j)) min=*(p[i]+j)。 printf(%d\n,min)。 for(i=0。iN。i++) { for(j=0。jM。j++) if(x==*(p[i]+j)) { printf(該數(shù)所在的位置:第 %d行第 %d列 \n,i+1,j+1)。 k=1。 } if (k==1) break。 /*找到則退出循環(huán) */ } if(i==N) printf(沒(méi)有該數(shù) )。 } C語(yǔ)言程序設(shè)計(jì) 第 6章 指針 指針數(shù)組 (pointer Array) 指針數(shù)組定義與說(shuō)明 指針數(shù)組與二維數(shù)值數(shù)組 指針數(shù)組與(文本)字符串處理 * 項(xiàng)目任務(wù):用指針數(shù)組實(shí)現(xiàn)學(xué)生成績(jī)管理 C語(yǔ)言程序設(shè)計(jì) 第 6章 指針 指針數(shù)組定義與說(shuō)明 ?指針數(shù)組是指針變量的集合,每一個(gè)數(shù)組元素都是指針變量,且都具有相同的存儲(chǔ)類(lèi)別和基類(lèi)型。 ? 最常用的是一維指針數(shù)組,常用于處理二維數(shù)組或多個(gè)字符串。 ? 一般形式為: [存儲(chǔ)類(lèi)型 ] 基類(lèi)型 *數(shù)組名 [數(shù)組長(zhǎng)度 ]; 例, int *p[3]; 說(shuō)明 : 運(yùn)算符 [ ]的優(yōu)先級(jí)比 “ *” 高, p先與 “ [ ]” 結(jié)合,說(shuō)明 p是一個(gè)數(shù)組,該數(shù)組有 3個(gè)元素,然后 p與 “ *”結(jié)合,說(shuō)明每個(gè)數(shù)組元素都是指針類(lèi)
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1