版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1.構造類型構造類型 是指由用戶自行定義的是指由用戶自行定義的不同數(shù)據類型不同數(shù)據類型的組合體。的組合體。學生的根本數(shù)據:學生的根本數(shù)據: 學號學號 長整型長整型姓名姓名 字符型數(shù)組字符型數(shù)組年齡年齡 整形整形性別性別 字符型字符型成績成績 實型數(shù)組實型數(shù)組2.構造類型的構建構造類型的構建構造類型構造類型一般形式為:一般形式為:struct 構造類型名構造類型名 類型類型1 成員成員1; 類型類型2 成員成員2; 類型類型n 成員成員n; ;2.構造類型的構建構造類型的構建例如例如struct stu1 /定義一個定義一個stu1數(shù)據類型數(shù)據類型 long Num; /成員成員1:長整型:長整
2、型 學號學號 char Name; /成員成員2:字符型:字符型 姓名姓名 char Sex; /成員成員3:字符型:字符型 性別性別 int Age; /成員成員4: 整整 型型 年齡年齡 float Scorce3; /成員成員5:實型數(shù)組:實型數(shù)組 成績成績 ;1.構造類型變量的定義構造類型變量的定義方法方法1:先定義構造類型,再定義構造變量:先定義構造類型,再定義構造變量step1:構建構造類型:構建構造類型如:如:struct stu1 long Num; char Name; char Sex; float Score3;step2:定義相應變量:定義相應變量如:如:struct
3、stu1 a,b,c;1.構造類型變量的定義構造類型變量的定義方法方法2:定構建構造類型的同時定義相應變量:定構建構造類型的同時定義相應變量如:如:struct stu1 long Num; char Name; char Sex; float Score3; a,b,c;2.構造類型變量的引用構造類型變量的引用引用規(guī)那么如下:引用規(guī)那么如下:1構造變量和構造體中成員,都不能單獨引用;構造變量和構造體中成員,都不能單獨引用;2只能將構造變量與構造體成員只能將構造變量與構造體成員合起來合起來引用。引用。引用格式:構造變量引用格式:構造變量 . 構造體成員構造體成員如:如:a . age3.構造類
4、型變量的初始化構造類型變量的初始化1定義構造變量同時進展初始化。如:定義構造變量同時進展初始化。如:struct student long Num; char Name20; float Score3;a=520,WangXin,78.5,49.5,90;2也可以先定義構造變量,再進展初始化。如:也可以先定義構造變量,再進展初始化。如:struct student long Num; char Name20; float Score3;main struct student a; a=520,WangXin,78.5,49.5,90;例例6-1 分析程序,寫出運行結果分析程序,寫出運行結果ma
5、instruct stu1 long Num; char Name20; char sex; int age; float Score3; a=99123L,Wang Xin,F,23,78.5,49.5,90.0;int i; printfnum:%1d name:%s sex:%c age: %dn, a.Num,a.Name,a.sex,a.age; for i=0;i3;i+ printf %8.1f,a.Scorei;例例6-2 編寫求兩復數(shù)之和的程序編寫求兩復數(shù)之和的程序struct stu3 int x; int y; ; main struct stu3 a,b,c; scan
6、f%d,%d,%d,%d,&a.x,&a.y,&b.x,&b.y; c.x=a.x+b.x;c.y=a.y+b.y; printfc=%d+%din,c.x,c.y; 3構造變量占用的存儲空間構造變量占用的存儲空間size:是構造體中:是構造體中所有成員所占空間之和。如:所有成員所占空間之和。如:struct student long Num; char Name20; float Score3;main struct student a; printf%dn,sizeofa;1.構造類型數(shù)組的定義構造類型數(shù)組的定義1在構建構造類型的同時定義相應的數(shù)組。在構建構
7、造類型的同時定義相應的數(shù)組。一般形式一般形式例如例如struct 構造類型名構造類型名 成員表列;成員表列;數(shù)組名數(shù)組名 數(shù)組長度數(shù)組長度;struct student long Num; char Name20; float score3;No8class 45;2先構建構造類型,再定義相應的數(shù)組。先構建構造類型,再定義相應的數(shù)組。一般形式一般形式例如例如在已經定義好構造類型后,在已經定義好構造類型后,使用如下形式定義構造數(shù)使用如下形式定義構造數(shù)組:組:struct 構造類型名構造類型名 數(shù)組數(shù)組名名 數(shù)組長度數(shù)組長度struct student No8class 45;2.構造數(shù)組的初始化
8、構造數(shù)組的初始化在構建構造類型的同時對數(shù)組初始化。如:在構建構造類型的同時對數(shù)組初始化。如:struct stu4 long Num; char Name20; float Score3;a2= 520 , “WanXin, 78.5,49.5,90 , 240, “LiMing , 66.5,72.5,88 ;上例中的存儲關系:上例中的存儲關系:a0a1NumNameScore3NumNameScore3520 WanXin78.549.590240 LiMing 66.572.588例例6-3輸入輸入50個學生的根本信息個學生的根本信息如圖如圖6-1所示所示,計算,計算各個學生的平均分,并
9、輸出各人的學號、姓名及平均。各個學生的平均分,并輸出各人的學號、姓名及平均。mainmain int i,j;float s;struct stu5 /*定義名為定義名為stu5的構造類型的構造類型*/long num; /*學號學號*/char name20; /*姓名姓名*/float score3; /*三門課成績三門課成績*/float ave; /*平均分平均分*/a50; /*50個學生個學生,各個學生具有以上信息各個學生具有以上信息*/ fori=0;i50;i+ printf請輸入第請輸入第%d個同學的學號個同學的學號,姓名姓名,i+1; scanf%Ld,%s,&ai
10、.num,; printf請輸入第請輸入第%d個同學三門課成績個同學三門課成績,i+1; forj=0;j3;j+ scanf%f,&ai.scorej; /*輸入第輸入第i個同學三門課成績個同學三門課成績*/ fori=0;i50;i+ /*下面求各人三門課平均值下面求各人三門課平均值*/ s=0.0; for j=0;j3;j+ s=s+ai.scorej; /*第第i個同學的第個同學的第j門課成績累加門課成績累加*/ ai.ave=s/3.0; fori=0;inum,p-name,p-age,p-score; printf num:%Ld name:%s age:
11、%2d score:%4.1fn, *p.num,*,*p.age,*p.score;2.指向構造數(shù)組的指針指向構造數(shù)組的指針指針變量也可以指向構造數(shù)組,其定義方法和指向一般指針變量也可以指向構造數(shù)組,其定義方法和指向一般數(shù)組一樣。如數(shù)組一樣。如:struct student long Num; char Name20; float Score3;a2,*p=a;struct student long Num; char Name20; float Score3;struct student a2,*p=a;構造體成員的引用的形式:構造體成員的引用的形式:形式形式例如例如構造變量構
12、造變量 . 成員名成員名; a . Num;*指針變量名指針變量名 . 成員成員;*p . Num;指針變量名指針變量名- 成成員名員名;P - Num ;例例6-5 指向構造數(shù)組的指針例如。指向構造數(shù)組的指針例如。main struct stu7 int x; float y; char z; a3=2,1.5,x,3,4.6,y,4,7.8,z; struct stu7 *p; /*定義指向構造類型指針定義指向構造類型指針*/ int i; /*定義變量定義變量i*/ p=a; /*P指針指向構造數(shù)組指針指向構造數(shù)組a*/ fori=0;i agestruct person char na
13、me20; int age;aLi ,20,*p=&a;那么對構造體變量那么對構造體變量a中成員中成員age錯誤的引用是錯誤的引用是 。2.2020.4單項選擇單項選擇:A s - num B *pp -num C *pp - num D *pp.numStruct person char name15; long num; float score;s , *pp=&s;那么對構造變量成員正確的引用是那么對構造變量成員正確的引用是 。1. 如下程如下程序代碼,序代碼,分析并分析并寫出它寫出它的運算的運算結果。結果。題題1分析分析queue_t0queue_t1 成員成員1成員成
14、員2 成員成員1成員成員2iPiece0iPiece1iBlock0iBlock1iPiece0iPiece1iBlock0iBlock1123456782. 以下哪個是正確的構造變量的定義?以下哪個是正確的構造變量的定義?A struct AAA int a;int b; int c; int d; a , b , c;B struct BBB int a;int b; int c; int d; struct BBB a , b , c; C struct CCC int a;int b; int c; int d; struct CCC a ; b ; c;D struct DDD in
15、t a;int b; int c; int d; DDD a , b , c; 3. 有如下構造類型的定義:有如下構造類型的定義:A a=1; B a.a=2; C a.a.a=3; D a.a.a.a=4; 以下哪個是正確的對構造類型變量以下哪個是正確的對構造類型變量a的賦值?的賦值? 4. 以下哪個是正確的對構造類型變量的賦值以下哪個是正確的對構造類型變量的賦值 。A struct T1 int a;T1 a=1 ; B struct T1 int a;T1=1 ;C struct T1 int a;struct t1 a ; a.a=1;D struct T1 int a;T1.a=1 ;5. 有如下定義:有如下定義:A 1 B 2 C 3 D 4那么那么printf%d,sizeofa;的輸出結果是的輸出結果是 。6. 有如下定義:有如下定義:A 1 B te
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 城市共享單車系統(tǒng)建設方案
- 市政項目投資控制管理方案
- 道路工程土方開挖技術方案
- 2025至2030教育智能鞋柜市場現(xiàn)狀及用戶需求與商業(yè)機會研究報告
- 女裝創(chuàng)業(yè)活動策劃方案(3篇)
- 揭牌剪彩活動策劃方案(3篇)
- 玩法派對活動策劃方案(3篇)
- 船舶地板施工方案(3篇)
- 除冰融雪施工方案(3篇)
- 原創(chuàng)假發(fā)活動策劃方案(3篇)
- 要素式民事起訴狀(房屋租賃合同糾紛)
- 急性呼吸窘迫綜合征病例討論
- DB11∕T 510-2024 公共建筑節(jié)能工程施工質量驗收規(guī)程
- 英語滬教版5年級下冊
- T/CPFIA 0005-2022含聚合態(tài)磷復合肥料
- GB/T 43590.507-2025激光顯示器件第5-7部分:激光掃描顯示在散斑影響下的圖像質量測試方法
- QGDW12505-2025電化學儲能電站安全風險評估規(guī)范
- 顧客特殊要求培訓課件
- 幼兒園助教培訓:AI賦能教師教學能力提升
- 經銷商會議總結模版
- 兩癌預防知識講座
評論
0/150
提交評論