<span id="plx27"><var id="plx27"></var></span>
<dfn id="plx27"><var id="plx27"></var></dfn>
  • <span id="plx27"><code id="plx27"><input id="plx27"></input></code></span>
    <menu id="plx27"></menu><menuitem id="plx27"><thead id="plx27"><input id="plx27"></input></thead></menuitem>
  • <label id="plx27"><code id="plx27"></code></label>
    <label id="plx27"><button id="plx27"></button></label>
  • 歡迎來到裝配圖網! | 幫助中心 裝配圖網zhuangpeitu.com!
    裝配圖網
    ImageVerifierCode 換一換
    首頁 裝配圖網 > 資源分類 > PPT文檔下載  

    北京 理工大學 C語言 程序設計 第十章結構、聯合與枚舉類型2

    • 資源ID:241839064       資源大?。?span id="nm3mnl7" class="font-tahoma">93.50KB        全文頁數:16頁
    • 資源格式: PPT        下載積分:16積分
    快捷下載 游客一鍵下載
    會員登錄下載
    微信登錄下載
    三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
    二維碼
    微信掃一掃登錄
    下載資源需要16積分
    郵箱/手機:
    溫馨提示:
    用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復下載(系統(tǒng)自動生成)
    支付方式: 支付寶    微信支付   
    驗證碼:   換一換

     
    賬號:
    密碼:
    驗證碼:   換一換
      忘記密碼?
        
    友情提示
    2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網頁到桌面,就可以正常下載了。
    3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
    4、本站資源下載后的文檔和圖紙-無水印,預覽文檔經過壓縮,下載后原文更清晰。
    5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

    北京 理工大學 C語言 程序設計 第十章結構、聯合與枚舉類型2

    第十章第十章第十章第十章 結構、聯合與枚舉類型結構、聯合與枚舉類型結構、聯合與枚舉類型結構、聯合與枚舉類型結構與函數的關系:結構與函數的關系:向結構中傳遞函數的成員;向結構中傳遞函數的成員;在函數之間傳遞整個結構;在函數之間傳遞整個結構;向函數傳遞結構的地址指針。向函數傳遞結構的地址指針。向函數中傳遞結構的成員向函數中傳遞結構的成員在在函函數數中中傳傳遞遞結結構構成成員員的的方方法法與與傳傳遞遞簡簡單單變變量量的方法相同:的方法相同:在函數之間傳遞成員的值;在函數之間傳遞成員的值;在函數之間傳遞成員的地址。在函數之間傳遞成員的地址。一、結構、結構指針作為函數的參數一、結構、結構指針作為函數的參數第四節(jié)第四節(jié)第四節(jié)第四節(jié) 在函數之間傳遞結構在函數之間傳遞結構在函數之間傳遞結構在函數之間傳遞結構第十章第十章第十章第十章 結構、聯合與枚舉類型結構、聯合與枚舉類型結構、聯合與枚舉類型結構、聯合與枚舉類型實例實例printf(“%dprintf(“%d,man.birthday.year);,man.birthday.year);傳遞成員的傳遞成員的值值 scanf(“%d scanf(“%d,&man.birthday.year);,&man.birthday.year);傳遞成員的地傳遞成員的地址址gets(man.name);gets(man.name);傳遞結構成員的地傳遞結構成員的地址址第四節(jié)第四節(jié)第四節(jié)第四節(jié) 在函數之間傳遞結構在函數之間傳遞結構在函數之間傳遞結構在函數之間傳遞結構第十章第十章第十章第十章 結構、聯合與枚舉類型結構、聯合與枚舉類型結構、聯合與枚舉類型結構、聯合與枚舉類型在函數之間傳遞整個結構在函數之間傳遞整個結構將結構作為整體,在函數之間傳遞:將結構作為整體,在函數之間傳遞:將結構變量作為將結構變量作為形參形參;函數的函數的返回值返回值為一個結構類型。為一個結構類型。第四節(jié)第四節(jié)第四節(jié)第四節(jié) 在函數之間傳遞結構在函數之間傳遞結構在函數之間傳遞結構在函數之間傳遞結構第十章第十章第十章第十章 結構、聯合與枚舉類型結構、聯合與枚舉類型結構、聯合與枚舉類型結構、聯合與枚舉類型例例例例:利用結構變量求解兩個復數之積。利用結構變量求解兩個復數之積。利用結構變量求解兩個復數之積。利用結構變量求解兩個復數之積。、(3+4(3+4(3+4(3+4i)(5+6i)i)(5+6i)i)(5+6i)i)(5+6i)、(10+20i)(30+40i)(10+20i)(30+40i)(10+20i)(30+40i)(10+20i)(30+40i)struct complxstruct complxstruct complxstruct complx int real;int real;int real;int real;/*real/*real/*real/*real為復數的實部為復數的實部為復數的實部為復數的實部*/*/*/*/int im;int im;int im;int im;/*im/*im/*im/*im為復數的虛部為復數的虛部為復數的虛部為復數的虛部 */*/*/*/;struct complxstruct complxstruct complxstruct complx cmultcmultcmultcmult(zazazaza,zbzbzbzb)/*/*/*/*函數返回值為結構類型函數返回值為結構類型函數返回值為結構類型函數返回值為結構類型*/*/*/*/struct complxstruct complxstruct complxstruct complx zazazaza,zbzbzbzb;/*/*/*/*形式參數為結構類型形式參數為結構類型形式參數為結構類型形式參數為結構類型*/*/*/*/struct complxstruct complxstruct complxstruct complx w w w w;w.real=w.real=w.real=w.real=zazazaza.real*.real*.real*.real*zbzbzbzb.real-.real-.real-.real-zazazaza.im*.im*.im*.im*zbzbzbzb.im;.im;.im;.im;w.im=w.im=w.im=w.im=zazazaza.real*.real*.real*.real*zbzbzbzb.im+.im+.im+.im+zazazaza.im*.im*.im*.im*zbzbzbzb.real;.real;.real;.real;return(return(return(return(w w w w););););/*/*/*/*返回計算結果,返回值的類型為結構返回計算結果,返回值的類型為結構返回計算結果,返回值的類型為結構返回計算結果,返回值的類型為結構*/*/*/*/例例例例C10_401C10_401C10_401C10_401第四節(jié)第四節(jié)第四節(jié)第四節(jié) 在函數之間傳遞結構在函數之間傳遞結構在函數之間傳遞結構在函數之間傳遞結構第十章第十章第十章第十章 結構、聯合與枚舉類型結構、聯合與枚舉類型結構、聯合與枚舉類型結構、聯合與枚舉類型向函數傳遞結構的地址向函數傳遞結構的地址向函數中傳遞結構的地址要將函數的向函數中傳遞結構的地址要將函數的形參形參定義為定義為指向結構的指向結構的指針指針,在調用時要用結構的在調用時要用結構的地址地址作為作為實參實參。例例:輸入輸入1010本書的名稱和單價,按照單價排序。本書的名稱和單價,按照單價排序。程序中使用插入排序算法。程序中使用插入排序算法。第四節(jié)第四節(jié)第四節(jié)第四節(jié) 在函數之間傳遞結構在函數之間傳遞結構在函數之間傳遞結構在函數之間傳遞結構第十章第十章第十章第十章 結構、聯合與枚舉類型結構、聯合與枚舉類型結構、聯合與枚舉類型結構、聯合與枚舉類型插插入入排排序序的的根根本本思思想想是是:在在數數組組中中,有有 N N 個個已已經經從從小小到到大大已已經經排排好好序序的的元元素素,要要參參加加1 1個個新新的的元元素素時時,可可以以從從數數組組的的第第 1 1 個個元元素素開開始始,依次與新元素進行比較。依次與新元素進行比較。當當數數組組中中首首次次出出現現第第 i i 個個元元素素的的值值大大于于新新元元素素時時,那那么么新新元元素素就就應應當當插插在在原原來來數數組組中的第中的第i-1i-1個元素與第個元素與第 i i 個元素之間。個元素之間。此此時時可可以以將將數數組組中中第第 i i 個個元元素素之之后后包包括括第第 i i 個個元元素素的的所所有有元元素素向向后后移移動動 1 1 個個位位置置,將將新新元元素素插插入入,使使它它成成為為第第 i i 個個元元素素。這這樣樣就就可可以以得得到到已已經經排排好好序序的的 N+1 N+1 個個元元素。素。第四節(jié)第四節(jié)第四節(jié)第四節(jié) 在函數之間傳遞結構在函數之間傳遞結構在函數之間傳遞結構在函數之間傳遞結構第十章第十章第十章第十章 結構、聯合與枚舉類型結構、聯合與枚舉類型結構、聯合與枚舉類型結構、聯合與枚舉類型5 55 55 52 23 36 67 79 91111 5 55 55 55 55 55 55 55 55 55 55 55 52 2 25 55 55 55 535 55 55 55 55 55 5 5 55 59 97 76 61111插入排序法例如插入排序法例如插入排序法例如插入排序法例如第四節(jié)第四節(jié)第四節(jié)第四節(jié) 在函數之間傳遞結構在函數之間傳遞結構在函數之間傳遞結構在函數之間傳遞結構第十章第十章第十章第十章 結構、聯合與枚舉類型結構、聯合與枚舉類型結構、聯合與枚舉類型結構、聯合與枚舉類型#define NUM 10#define NUM 10#define NUM 10#define NUM 10struct bookstruct bookstruct bookstruct book /*/*/*/*定義結構定義結構定義結構定義結構book*/book*/book*/book*/char name20;char name20;char name20;char name20;/*/*/*/*書名書名書名書名*/*/*/*/float price;float price;float price;float price;/*/*/*/*單價單價單價單價*/*/*/*/;main()main()main()main()struct book term,booksNUM;struct book term,booksNUM;struct book term,booksNUM;struct book term,booksNUM;int count;int count;int count;int count;/*/*/*/*數組數組數組數組booksbooksbooksbooks的元素計數器的元素計數器的元素計數器的元素計數器*/*/*/*/for(count=0;countNUM;)for(count=0;countNUM;)for(count=0;countNUM;)for(count=0;countNUM;)printf(“Enter Name and Price.book%d=,printf(“Enter Name and Price.book%d=,printf(“Enter Name and Price.book%d=,printf(“Enter Name and Price.book%d=,count+1);count+1);count+1);count+1);scanf(“%s%f scanf(“%s%f scanf(“%s%f scanf(“%s%f,term.name,&term.price);,term.name,&term.price);,term.name,&term.price);,term.name,&term.price);sortbook(term,books,count+);sortbook(term,books,count+);sortbook(term,books,count+);sortbook(term,books,count+);/*/*/*/*傳遞結構變量傳遞結構變量傳遞結構變量傳遞結構變量termtermtermterm和結構數組和結構數組和結構數組和結構數組bookbookbookbook數組的首地址數組的首地址數組的首地址數組的首地址*/*/*/*/printf(-BOOK LIST-n);printf(-BOOK LIST-n);printf(-BOOK LIST-n);printf(-BOOK LIST-n);for(count=0;countNUM;count+)for(count=0;countNUM;count+)for(count=0;countNUM;count+)for(count=0;countNUM;count+)printbook(&bookscount);printbook(&bookscount);printbook(&bookscount);printbook(&bookscount);/*/*/*/*傳遞數組中傳遞數組中傳遞數組中傳遞數組中1 1 1 1個元素的地址個元素的地址個元素的地址個元素的地址*/*/*/*/第四節(jié)第四節(jié)第四節(jié)第四節(jié) 在函數之間傳遞結構在函數之間傳遞結構在函數之間傳遞結構在函數之間傳遞結構第十章第十章第十章第十章 結構、聯合與枚舉類型結構、聯合與枚舉類型結構、聯合與枚舉類型結構、聯合與枚舉類型sortbook(sortbook(sortbook(sortbook(termtermtermterm,pbookpbookpbookpbook,count),count),count),count)struct bookstruct bookstruct bookstruct book termtermtermterm;/*/*/*/*形參:結構變量形參:結構變量形參:結構變量形參:結構變量term*/term*/term*/term*/struct bookstruct bookstruct bookstruct book *pbookpbookpbookpbook;/*/*/*/*指向結構數組首元素的指針指向結構數組首元素的指針指向結構數組首元素的指針指向結構數組首元素的指針pbook*/pbook*/pbook*/pbook*/int count;int count;int count;int count;/*/*/*/*數組中已存入數組中已存入數組中已存入數組中已存入countcountcountcount個有序元素個有序元素個有序元素個有序元素*/*/*/*/int i;int i;int i;int i;struct bookstruct bookstruct bookstruct book*q q q q,*,*,*,*pendpendpendpend =pbookpbookpbookpbook;for(i=0;icount;i+,pend+);for(i=0;icount;i+,pend+);for(i=0;icount;i+,pend+);for(i=0;icount;i+,pend+);for(;for(;for(;for(;pbookpbookpbookpbook price -price -price -price termtermtermterm.price).price).price).price)break;break;break;break;forforforfor(q q q q=pendpendpendpend-1;-1;-1;-1;q q q q=pbookpbookpbookpbook;q q q q-)-)-)-)*(*(*(*(q q q q+1)=*+1)=*+1)=*+1)=*q q q q;*pbook pbook pbook pbook=termtermtermterm;/*/*/*/*在在在在pbookpbookpbookpbook處插入新元素處插入新元素處插入新元素處插入新元素term*/term*/term*/term*/第四節(jié)第四節(jié)第四節(jié)第四節(jié) 在函數之間傳遞結構在函數之間傳遞結構在函數之間傳遞結構在函數之間傳遞結構第十章第十章第十章第十章 結構、聯合與枚舉類型結構、聯合與枚舉類型結構、聯合與枚舉類型結構、聯合與枚舉類型printbook(printbook(pbookpbook)struct bookstruct book*pbookpbook;printf(%-20s%6.2fn,printf(%-20s%6.2fn,pbookpbook-name,-name,pbookpbook-price);-price);例例例例C10_402C10_402C10_402C10_402第四節(jié)第四節(jié)第四節(jié)第四節(jié) 在函數之間傳遞結構在函數之間傳遞結構在函數之間傳遞結構在函數之間傳遞結構第十章第十章第十章第十章 結構、聯合與枚舉類型結構、聯合與枚舉類型結構、聯合與枚舉類型結構、聯合與枚舉類型定義結構變量定義結構變量定義結構變量定義結構變量stustustustu:structstruct studentstudent int int int int numnumnumnum;float score;float score;float score;float score;char char char char sexsexsexsex;stu;stu;stu;stu;結構變量結構變量結構變量結構變量stustu占用內存情況占用內存情況占用內存情況占用內存情況 numscoresex2 2個字節(jié)個字節(jié)個字節(jié)個字節(jié)4 4個字節(jié)個字節(jié)個字節(jié)個字節(jié)1 1個字節(jié)個字節(jié)個字節(jié)個字節(jié)sizeof(stu)sizeof(stu)sizeof(stu)sizeof(stu)是是是是 7 7 7 7。第五節(jié)第五節(jié)第五節(jié)第五節(jié) 聯合類型聯合類型聯合類型聯合類型第十章第十章第十章第十章 結構、聯合與枚舉類型結構、聯合與枚舉類型結構、聯合與枚舉類型結構、聯合與枚舉類型unionunionunionunion定義定義定義定義聯合聯合聯合聯合變量變量變量變量stustustustu:student student int int int int numnumnumnum;float score;float score;float score;float score;char char char char sexsexsexsex;stu;stu;stu;stu;聯合變量聯合變量聯合變量聯合變量stustu占用內存情況占用內存情況占用內存情況占用內存情況 4個字節(jié)個字節(jié) 2個字節(jié)個字節(jié) 1個字節(jié)個字節(jié)unionunionunionunionunionunionunionunionunionunionunionunion 聯合變量聯合變量聯合變量聯合變量占用空間的占用空間的占用空間的占用空間的大小大小大小大小等于成員分量中等于成員分量中等于成員分量中等于成員分量中最長最長最長最長的成員占用內存的長度。的成員占用內存的長度。的成員占用內存的長度。的成員占用內存的長度。4個字節(jié)個字節(jié)第五節(jié)第五節(jié)第五節(jié)第五節(jié) 聯合類型聯合類型聯合類型聯合類型第十章第十章第十章第十章 結構、聯合與枚舉類型結構、聯合與枚舉類型結構、聯合與枚舉類型結構、聯合與枚舉類型0 0 x x 7 87 80 0 x x 5 65 60 0 x x 3 43 40 0 x x 1 21 2unionunionunionunion long i;long i;long i;long i;int k;int k;int k;int k;char c;char c;char c;char c;mix;mix;mix;mix;mix.i=0 x12345678;mix.i=0 x12345678;mix.i=0 x12345678;mix.i=0 x12345678;printf(“%xnprintf(“%xnprintf(“%xnprintf(“%xn,mix.i);,mix.i);,mix.i);,mix.i);printf(“%xnprintf(“%xnprintf(“%xnprintf(“%xn,mix.k);,mix.k);,mix.k);,mix.k);printf(“%xnprintf(“%xnprintf(“%xnprintf(“%xn,mix.c);,mix.c);,mix.c);,mix.c);ffe0ffe1ffe2ffe3高地址高地址低地址低地址 1 2 1 2 3 4 3 4 5 6 5 6 7 8 7 8 00010001 00100010 00110011 01000100 01010101 01100110 01110111 10001000低低高高ffe3 ffe2 ffe1 ffe0 第五節(jié)第五節(jié)第五節(jié)第五節(jié) 聯合類型聯合類型聯合類型聯合類型第十章第十章第十章第十章 結構、聯合與枚舉類型結構、聯合與枚舉類型結構、聯合與枚舉類型結構、聯合與枚舉類型 mix.c=A;mix.c=A;1 2 1 2 3 4 3 4 5 6 5 6 7 8 7 8 00010001 00100010 00110011 01000100 01010101 01100110 01110111 10001000低低高高ffe3 ffe2 ffe1 ffe0 1 2 1 2 3 4 3 4 5 6 5 6 4 4 1 1 00010001 00100010 00110011 01000100 01010101 01100110 01000100 00010001低低高高ffe3 ffe2 ffe1 ffe0 printf(“%ldnprintf(“%ldn,mix.i);,mix.i);printf(“%dnprintf(“%dn,mix.k);,mix.k);printf(“%cnprintf(“%cn,mix.c);,mix.c);3054198413054198412208122081A A例例例例C10_501C10_501C10_501C10_501第五節(jié)第五節(jié)第五節(jié)第五節(jié) 聯合類型聯合類型聯合類型聯合類型第十章第十章第十章第十章 結構、聯合與枚舉類型結構、聯合與枚舉類型結構、聯合與枚舉類型結構、聯合與枚舉類型枚舉類型的特點:枚舉類型的特點:l數據的取值是有限個數的數據類型。數據的取值是有限個數的數據類型。l定義枚舉類型的格式定義枚舉類型的格式 enumenum 枚舉類型名枚舉類型名 可能的取值表可能的取值表;例如:例如:enum enum weekday sun,weekday sun,monmon,tuetue,wed,wed,thuthu,frifri,datdat;l說明枚舉類型變量的格式說明枚舉類型變量的格式 enum enum 枚舉類型名枚舉類型名 變量標識符;變量標識符;第六節(jié)第六節(jié)第六節(jié)第六節(jié) 枚舉類型枚舉類型枚舉類型枚舉類型第十章第十章第十章第十章 結構、聯合與枚舉類型結構、聯合與枚舉類型結構、聯合與枚舉類型結構、聯合與枚舉類型用戶自定義類型用戶自定義類型用戶自定義類型用戶自定義類型標標標標準準準準類類類類型型型型如如如如intintintint、charcharcharchar、floatfloatfloatfloat等等等等:系系系系統(tǒng)統(tǒng)統(tǒng)統(tǒng)已已已已經經經經定義好的類型,用戶可以直接使用,無須再進行定義。定義好的類型,用戶可以直接使用,無須再進行定義。定義好的類型,用戶可以直接使用,無須再進行定義。定義好的類型,用戶可以直接使用,無須再進行定義。用用用用戶戶戶戶自自自自定定定定義義義義類類類類型型型型:用用用用戶戶戶戶根根根根據據據據自自自自己己己己的的的的實實實實際際際際要要要要求求求求,自自自自己己己己定定定定義義義義的的的的新新新新的的的的數數數數據據據據類類類類型型型型。除除除除結結結結構構構構和和和和聯聯聯聯合合合合等等等等類類類類型型型型之之之之外外外外,還還還還可可可可以以以以用用用用類類類類型型型型說說說說明明明明語語語語句句句句typedeftypedeftypedeftypedef定定定定義義義義新新新新的的的的類類類類型型型型標標標標識識識識符符符符來來來來代替已有的類型。代替已有的類型。代替已有的類型。代替已有的類型。typedeftypedeftypedeftypedef語句的一般形式語句的一般形式語句的一般形式語句的一般形式typedef typedef typedef typedef 已定義的類型已定義的類型已定義的類型已定義的類型 新的類型新的類型新的類型新的類型實例實例實例實例 typedef int INTEGER;typedef int INTEGER;typedef int INTEGER;typedef int INTEGER;typedef float REAL;typedef float REAL;typedef float REAL;typedef float REAL;等價:等價:等價:等價:int i,j;INTEGER i,j;int i,j;INTEGER i,j;int i,j;INTEGER i,j;int i,j;INTEGER i,j;float pai float pai float pai float pai;REAL pai;REAL pai;REAL pai;REAL pai;第七節(jié)用第七節(jié)用第七節(jié)用第七節(jié)用typedeftypedeftypedeftypedef定義類型定義類型定義類型定義類型

    注意事項

    本文(北京 理工大學 C語言 程序設計 第十章結構、聯合與枚舉類型2)為本站會員(e****s)主動上傳,裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。 若此文所含內容侵犯了您的版權或隱私,請立即通知裝配圖網(點擊聯系客服),我們立即給予刪除!

    溫馨提示:如果因為網速或其他原因下載失敗請重新下載,重復下載不扣分。




    關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯系我們

    copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯系電話:18123376007

    備案號:ICP2024067431-1 川公網安備51140202000466號


    本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!

    欧美久久久一区二区三区,国产精品亚洲一区二区无码,亚洲国产精品综合久久20声音,亚洲国产精品无码久久久蜜芽
    <span id="plx27"><var id="plx27"></var></span>
    <dfn id="plx27"><var id="plx27"></var></dfn>
  • <span id="plx27"><code id="plx27"><input id="plx27"></input></code></span>
    <menu id="plx27"></menu><menuitem id="plx27"><thead id="plx27"><input id="plx27"></input></thead></menuitem>
  • <label id="plx27"><code id="plx27"></code></label>
    <label id="plx27"><button id="plx27"></button></label>