學習情境二第六講結構體的初始化和賦值_第1頁
學習情境二第六講結構體的初始化和賦值_第2頁
學習情境二第六講結構體的初始化和賦值_第3頁
學習情境二第六講結構體的初始化和賦值_第4頁
學習情境二第六講結構體的初始化和賦值_第5頁
已閱讀5頁,還剩14頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

學習情境二第六講結構體的初始化和賦值第1頁,課件共19頁,創作于2023年2月7/22/20232:01AM一、引入問題s[0]s[1]s[2]s[3]s[4]s[5]s[6]85897899756587趙錢孫李周武鄭

Math0C1Foxpro2張0807592王1616571李2596370趙3858790周4767785第2頁,課件共19頁,創作于2023年2月7/22/20232:01AM一、引入問題根據學生成績表,統計出全班的最高成績、最低成績和每個人的平均成績。第3頁,課件共19頁,創作于2023年2月7/22/20232:01AM結構體類型的定義定義一個結構體的一般形式為:struct結構體名{

成員表列};成員表由若干個成員組成,每個成員都是該結構的一個組成部分。對每個成員也必須作類型說明,其形式為:類型說明符成員名;結構體名和成員名的命名應符合標識符的書寫規定。第4頁,課件共19頁,創作于2023年2月7/22/20232:01AM相關例題例如:structstu{intnum;charname[20];charsex;floatscore;};由此可見,結構是一種復雜的數據類型,是數目固定,類型不同的若干有序變量的集合。結構體名成員第5頁,課件共19頁,創作于2023年2月7/22/20232:01AM結構體變量的定義結構體變量有以下三種方法。

1.先定義結構,再說明結構變量。

2.在定義結構體類型的同時說明結構體變量。

3.直接說明結構變量。第6頁,課件共19頁,創作于2023年2月7/22/20232:01AM先定義結構,再說明結構變量例如:structstu{intnum;charname[20];charsex;floatscore;};structstuboy1,boy2;說明了兩個變量boy1和boy2為stu結構體類型。即圖4-10所表示的數據結構。

第7頁,課件共19頁,創作于2023年2月7/22/20232:01AM定義結構體類型的同時說明結構體變量。例如:structstu{intnum;charname[20];charsex;floatscore;}boy1,boy2;第8頁,課件共19頁,創作于2023年2月7/22/20232:01AM直接說明結構變量例如:struct{intnum;charname[20];charsex;floatscore;}boy1,boy2;第三種方法與第二種方法的區別在于:第三種方法中省去了結構體名,而直接給出結構體變量。第9頁,課件共19頁,創作于2023年2月7/22/20232:01AM結構體變量的初始化和其他類型變量一樣,對結構體變量可以在定義時指定初始值?!纠?-18】外部結構體變量初始化。源程序:structstu/*定義結構*/{intnum;charname[20];charsex;floatscore;}boy2,boy1={102,"Zhangping",'M',78.5};voidmain(){boy2=boy1;printf("Number=%d\nName=%s\n",boy2.num,);printf("Sex=%c\nScore=%f\n",boy2.sex,boy2.score);}第10頁,課件共19頁,創作于2023年2月7/22/20232:01AM結構體變量的賦值結構體變量的賦值就是給各成員賦值。可用輸入語句或賦值語句來完成?!纠?-19】給結構變量賦值并輸出其值。源程序:#include“stdio.h”#include“string.h”voidmain(){structstu{intnum;charname[20];charsex;floatscore;}boy1,boy2;boy1.num=102;strcpy(,"Zhangping");printf("inputsexandscore\n");scanf("%c%f",&boy1.sex,&boy1.score);boy2=boy1;printf("Number=%d\nName=%s\n",boy2.num,);printf("Sex=%c\nScore=%f\n",boy2.sex,boy2.score);}第11頁,課件共19頁,創作于2023年2月7/22/20232:01AM賦值用法總結1、普通變量可以直接賦值;2、數組用for循環逐個賦值;3、字符串用strcpy賦值;4、結構體可以直接賦值;第12頁,課件共19頁,創作于2023年2月7/22/20232:01AM結構體數組s[0]s[1]s[2]s[3]s[4]s[5]s[6]85897899756587趙錢孫李周武鄭如果數組的元素是結構體類型,則可以構成結構體數組。stu[0]stu[1]stu[2]stu[3]stu[4]101李平M45102張蘋M62103何方F92104陳玲F87105王明M58第13頁,課件共19頁,創作于2023年2月7/22/20232:01AM定義結構體數組結構體數組的定義方法和結構變量相似,只需說明它為數組類型即可。例如:structstu{intnum;charname[20];charsex;floatscore;}boy[5];定義了一個結構數組boy,共有5個元素,boy[0]~boy[4]。每個數組元素都具有structstu的結構形式。第14頁,課件共19頁,創作于2023年2月7/22/20232:01AM結構體數組的初始化與其他類型的數組一樣,對結構數組可以初始化。例如:structstu{intnum;charname[20];charsex;floatscore;}boy[5]={{101,"Liping",'M',45},{102,"Zhangping",'M',62.5},{103,"Hefang",'F',92.5},{104,"Chengling",'F',87},{105,"Wangming",'M',58}}當對全部元素作初始化賦值時,也可不給出數組長度。第15頁,課件共19頁,創作于2023年2月7/22/20232:01AM

結構體數組應用舉例【例4-20】已知學生成績表,計算學生的平均成績和不及格的人數。分析:若用結構體數組來存儲學生基本信息,而成績作為每個數組元素的一個成員,則在main函數中可直接通過循環來完成題目所給的任務。第16頁,課件共19頁,創作于2023年2月7/22/20232:01AM例4-20流程圖源程序調用集成編譯環境第17頁,課件共19頁,創作于2023年2月7/22/20232:01AM例4-21【例4-21】

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論