• /  52
  • 下載費用: 9.90積分  

C語言程序設計教學課件作者第2版chap11_指針進階.ppt

'C語言程序設計教學課件作者第2版chap11_指針進階.ppt'
Chap 11 指針進階 11.1 奧運五環色11.2 字符定位11.3 用鏈表構建學生信息庫本章要點指針數組和指向指針的指針是如何被定義和使用的?指針如何作為函數的返回值?指向函數的指針的意義是什么?什么是結構的遞歸定義,哪種應用需要這種定義方法?對鏈表這種數據結構,如何使用動態內存分配操作?如何建立單向鏈表并實現插入、刪除以及查找操作? 11.1 奧運五環色 11.1.1 程序解析11.1.2 指針數組的概念11.1.3 指向指針的指針11.1.4 用指針數組處理多個字符串*11.1.5 命令行參數 11.1.1 程序解析【例11-1】已知奧運五環的5種顏色的英文單詞按一定順序排列,輸入任意一個顏色的英文單詞,從已有顏色中查找并輸出該顏色的位置值,若沒有找到,則輸出“Not Found”。11.1.1 程序解析#include#includeint main(void){ int i; char *color[5] = {“red”, ”blue”, ”yellow”, ”green”, ”black” }; char str[20]; printf(“Input a color:”); scanf(“%s”, str); for(i = 0; i < 5; i++) if(strcmp(str, color[i]) == 0) /* 比較顏色是否相同 */ break; if(i < 5) printf(“position:%d\n”, i+1); else printf(“Not Found\n”); return 0;}運行結果1Input a color:yellowposition:3運行結果2Input a color:purpleNot Found 指針數組11.1.2 指針數組的概念C語言中的數組可以是任何類型,如果數組的各個元素都是指針類型,用于存放內存地址,那么這個數組就是指針數組。一維指針數組定義的一般格式為:類型名 *數組名[數組長度]11.1.2 指針數組的概念int a[10];a是一個數組,它有10個元素每個元素的類型都是整型char *color[5];color是一個數組,它有5個元素每個元素的類型都是字符指針11.1.2 指針數組的概念char *color[5] = {"red", "blue", "yellow", "green", "black" };color是一個數組,它有5個元素每個元素的類型都是字符指針數組元素可以處理字符串對指針數組元素的操作:printf("%s %x\n", color[i], color[i]);對指針數組元素的操作和對同類型指針變量的操作相同 繼續執行: char * tmp; tmp = color[0]; color[0] = color[4]; color[4] = tmp; 11.1.2 指針數組的概念 color[0]與color[4]交換后的情況 指針數組操作時:可以直接對數組元素進行賦值(地址值)和引用 tmp=color[0];也可以間接訪問和操作數組元素所指向的單元內容 strcpy(color[0], “purple");11.1.3 指向指針的指針C語言中,指向指針的指針(二級指針)一般定義為: 類型名 **變量名 int a = 10; int *p = &a; int **pp = &p; &apa10&ppp*p*pp**pp&apaa10&pappa**ppa*pa&bpbb20&pbppb**ppb*pbpaappa&a10&pb**ppb*pa&bpbb20&pappb**ppa*pbpaappa&b10&pb**ppa*pb&apbb20&pappb**ppb*papaappa&b20&pb**ppa*pb&apbb10&pappb**ppb*paint a = 10, b = 20, t;int *pa = &a, *pb = &b, *pt;int **ppa = &pa, **ppb = &pb, **ppt;【例11-2】操作(1):ppt = ppb; ppb = ppa; ppa = ppt; 操作(2):pt = pb; pb = pa; pa = pt; 操作(3):t = b; b = a; a = t; 【例11-3】改寫例11-1,用指向指針的指針實現。 #include#includeint main(void){ int i; char *color[5] = {“red”, ”blue”, ”yellow”, ”green”, ”black”}; / char **pc; /* 定義二級指針變量 */ char str[20]; pc = color; /* 二級指針賦值 */ printf(“Input a color:”); scanf(“%s”, str); for(i = 0; i < 5; i++) if(strcmp(str, *(pc+i)) == 0) /* 比較顏色是否相同 */ break; if(i num = num; strcpy(p->name, name); p->score = score; p->next = NULL; if(head == NULL) head = p; else tail->next = p; tail = p; scanf("%d%s%d", &num, name, &score); }頭部插入法:p->next=head;head=p;尾部插入11.3.3 單向鏈表的常用操作2. 鏈表的遍歷for(ptr = head; ptr!=NULL; ptr = ptr->next) printf("%d\t%s\t%d\n", ptr->num, ptr->name, ptr->score);先連: s->next = ptr->next;后斷: ptr->next = s;headptrs11.3.3 單向鏈表的常用操作3. 插入結點ptr2=ptr1->next;先接:ptr1->next=ptr2->next;headptr1ptr2headptr1后刪:free(ptr2);11.3.3 單向鏈表的常用操作4. 刪除結點ptr2ptr1->next =ptr1->next->next;本章總結指針數組指針數組概念與應用指向指針的指針(二級指針)命令行參數指針與函數指針作為函數的返回值函數指針單向鏈表鏈表的概念結點的結構定義與動態分配鏈表的基本操作(建立、遍歷、插入、刪除)能夠熟練掌握指針數組的操作與應用能夠熟練處理與操作函數與指針的各種關系能夠掌握單向鏈表的基本操作
關 鍵 詞:
作者 chap11 chap 11 教學 程序設計 指針 c語言 進階
 天天文庫所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:C語言程序設計教學課件作者第2版chap11_指針進階.ppt
鏈接地址: http://www.476824.live/p-51617240.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服點擊這里,給天天文庫發消息,QQ:1290478887 - 聯系我們

本站為“文檔C2C交易模式”,即用戶上傳的文檔直接賣給(下載)用戶,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有【成交的100%(原創)】。本站是網絡服務平臺方,若您的權利被侵害,侵權客服QQ:1290478887 歡迎舉報。

[email protected] 2017-2027 http://www.476824.live 網站版權所有

粵ICP備19057495號 

收起
展開
球探网即时蓝球比分 浙江快乐12走势图 中国股市为什么一直跌 天津11选五下载 广东十一选五开奖助手 体彩海南4十1玩法 吉林11选5最新技巧 云南十一选五开奖号 正邦科技股票股吧 山西体彩十选五开奖结果 辽宁35选7停售