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

正文內(nèi)容

[工學(xué)]c語(yǔ)言結(jié)構(gòu)體與共用體復(fù)習(xí)課件-文庫(kù)吧

2024-10-03 23:36 本頁(yè)面


【正文】 15 5. 結(jié)構(gòu)體變量的指針、結(jié)構(gòu)體成員的指針 注: amp。優(yōu)先級(jí)為 2級(jí),低于 .和 [ ]; 圖示: ┇ num name sex birthday score tel m d y 變量 stu1的指針: amp。stu1 num成員指針: amp。stu1. num name成員指針: stu1. name name第 i個(gè)元素指針: amp。stu1. name[i] 最低級(jí)成員 y的指針: amp。 成員 tel的指針: stu1 C 程序設(shè)計(jì) 第十一章 結(jié)構(gòu)體與共用體 NWPU—CC—ZhangYanChun 18 結(jié)構(gòu)體變量的初始化 定義結(jié)構(gòu)體變量的同時(shí)用初值表給出初值。 【 例 】 定義結(jié)構(gòu)體變量存放兩位學(xué)生的基本情況, 計(jì)算平均成績(jī),并以大寫(xiě)形式輸出 name成員。 include struct student /*定義全局結(jié)構(gòu)體類型 */ { long num。 char name[20]。 float score。 }。 void main( ) /*↓ 按成員順序給出初值 */ { struct student stu1={109031,Li Feng,}, stu2={109032,Wang Li,}。 float aver。 int i。 …。 } C 程序設(shè)計(jì) 第十一章 結(jié)構(gòu)體與共用體 NWPU—CC—ZhangYanChun 19 ┇ aver=(+)/。 printf(\n\taverage=%\n, aver)。 for(i=0。 [i]!=0。 i++) /*處理 stu1 */ if([i]=39。a39。amp。amp。[i]=39。z39。) [i]=32。 /*成員 name[i]運(yùn)算 */ for(i=0。 [i]!=0。 i++) /*處理 stu2*/ if([i]=39。a39。amp。amp。[i]=39。z39。) [i]=32。 printf(\n\t%ld,%s,%, , , )。 printf(\n\t%ld,%s,%\n, , , )。 } /*main*/ C 程序設(shè)計(jì) 第十一章 結(jié)構(gòu)體與共用體 NWPU—CC—ZhangYanChun 20 結(jié)構(gòu)體數(shù)組 數(shù)組是同類型元素的集合;結(jié)構(gòu)體數(shù)組也是同類型 元素的集合,只不過(guò)每個(gè)元素的類型均為相同的結(jié) 構(gòu)體類型。 前面介紹的結(jié)構(gòu)體變量可用來(lái)表示一位學(xué)生的基本 情況,要表示多個(gè)學(xué)生的基本情況時(shí),采用結(jié)構(gòu)體 數(shù)組比較方便。 C 程序設(shè)計(jì) 第十一章 結(jié)構(gòu)體與共用體 NWPU—CC—ZhangYanChun 21 1. 結(jié)構(gòu)體數(shù)組的定義和初始化 例: struct student { long num。 char name[20]。 float score。 } stu[3]={ {99001, Li Feng, }, {99002, Wang Yi, }, {99003, Zhao Hui, 92} }。 說(shuō)明: 1) 數(shù)組 stu各元素類型相同,都為 struct student型; 2) 結(jié)構(gòu)體數(shù)組 stu的存儲(chǔ)字節(jié)數(shù)為: 元素類型長(zhǎng) 元素個(gè)數(shù) =(4+20+4) 3=84字節(jié) C 程序設(shè)計(jì) 第十一章 結(jié)構(gòu)體與共用體 NWPU—CC—ZhangYanChun 22 3) 結(jié)構(gòu)體數(shù)組 stu的存儲(chǔ)結(jié)構(gòu) stu[0] stu[1] stu[2] 99001 Li Feng\0 99002 Wang Yi\0 99003 Zhao Hui\0 4 20 28 4 84 byte stu[1]. score stu[2]. num C 程序設(shè)計(jì) 第十一章 結(jié)構(gòu)體與共用體 NWPU—CC—ZhangYanChun 23 2. 結(jié)構(gòu)體數(shù)組的引用 結(jié)構(gòu)體數(shù)組在引用時(shí),不僅要確定引用哪一個(gè) 元素,還要確定引用該元素的哪一個(gè)成員。 引用形式: 數(shù)組名 [下標(biāo) ] . 成員名 其中: 運(yùn)算符 [ ]與 . 同為一級(jí),自左而右結(jié)合; 過(guò)程: 依據(jù)數(shù)組名及下標(biāo)先定位到元素,然后再定 位到成員; 如: stu[0].num 訪問(wèn) stu數(shù)組首元素的成員 num。 stu[0].score 訪問(wèn) stu數(shù)組首元素的 score成員 。 stu[1].score 訪問(wèn)以 1為下標(biāo)那個(gè)元素的 score成員 。 C 程序設(shè)計(jì) 第十一章 結(jié)構(gòu)體與共用體 NWPU—CC—ZhangYanChun 24 【 例 】 編程求三位學(xué)生的平均成績(jī),并輸出成績(jī)最 高者的學(xué)號(hào)、姓名、成績(jī)。 void main( ) { struct /*定義局部結(jié)構(gòu)體類型及數(shù)組 */ { long num。 char name[20]。 float score。 } stu[3]={ {99031, Li Lin, }, {99032, Wang Fang, }, {99033, Zhao Ping, } }。 float maxs, sum=0。 int i, p。 ┅ 。 } C 程序設(shè)計(jì) 第十一章 結(jié)構(gòu)體與共用體 NWPU—CC—ZhangYanChun 25 void main( ) { 結(jié)構(gòu)體類型、結(jié)構(gòu)體數(shù)組 stu的定義及賦初值; float maxs, sum=0。 int i, p。 maxs=0。 for(i=0。 i3。 i++) { sum=sum+stu[i].score。/*累加各元素 score成員 */ if(stu[i].scoremaxs) {maxs=stu[i].score。 p=i。} } printf(\n\taverage=%f\n, sum/)。 printf(\tnum:%ld, name:%s, score:%\n, stu[p].num, stu[p].name, stu[p].score)。 } C 程序設(shè)計(jì) 第十一章 結(jié)構(gòu)體與共用體 NWPU—CC—ZhangYanChun 26 【 例 】 30張選票,對(duì)三名侯選人之一投票選舉,輸 入得票人名字,按名字計(jì)數(shù),輸出最后選舉結(jié)果。 include define N 30 struct person { char name[20]。 int count。 }。 void main( ) { struct person led[3]= {Li, 0, Zhang, 0, Wang, 0}。 ┅ 。 } Li 0 Zhang 0 Wang 0 led[0] led[1] led[2] led[0].name led[0].count C 程序設(shè)計(jì) 第十一章 結(jié)構(gòu)體與共用體 NWPU—CC—ZhangYanChun 27 void main( ) { struct person led[3]= {Li, 0, Zhang, 0, Wang, 0}。 char lname[20]。 int i, j。 for(i=1。 i=N。 i++) /*i控制選票張數(shù) */ { printf(Input %d :, i)。 gets(lname)。 for(j=0。 j3。 j++) /*j控制數(shù)組下標(biāo) */ if(strcmp(led[j].name, lname)==0)/*串比較 */ { led[j].count+=1。 break。 } /*計(jì)票 */ } for(i=0。 i3。 i++) printf(\n%10s:%d, led[i].name,led[i].count)。 } C 程序設(shè)計(jì) 第十一章 結(jié)構(gòu)體與共用體 NWPU—CC—ZhangYanChun 28 指針與結(jié)構(gòu)體 1. 指向結(jié)構(gòu)體變量的指針 一個(gè)結(jié)構(gòu)體變量的指針是該變量存儲(chǔ)區(qū)域的起始地 址,它指向結(jié)構(gòu)體這個(gè)整體。 在程序中可定義一個(gè)指向同類型結(jié)構(gòu)體的指針變量 ,并將該指針變量指向某結(jié)構(gòu)體變量,之后便可利 用指針變量訪問(wèn)各成員。 C 程序設(shè)計(jì) 第十一章 結(jié)構(gòu)體與共用體 NWPU—CC—ZhangYanChun 29 【 例 】 利用結(jié)構(gòu)體指針,對(duì)某學(xué)生基本情況賦值并輸出。 void main( ) { struct student { long num。 char name[20]。 float score。 } stu1, *p。 =99001。 strcpy(, Li Feng)。 =。 p=amp。stu1。 printf(num:%ld\n, (*p).num)。 printf(name:%s\n, (*p).name)。 printf(score:%\n, (*p).score)。 printf(%u,%u,%u,%u\n, amp。stu1, amp。, , amp。)。 } 99001 amp。stu1 p name[0] name[1] ┇ name[19] 468 472 473 ┇ 491 492 stu1 C 程序設(shè)計(jì) 第十一章 結(jié)構(gòu)體與共用體 NWPU—CC—ZhangYanChun 30 說(shuō)明: 1) 當(dāng) p=amp。stu1。 且保持不變時(shí), (*p).num表示訪問(wèn) p所指向變量的 num成員; 其中: *號(hào)為 2級(jí),括號(hào)可保證先使 p與 *結(jié)合。 2) 當(dāng) p=amp。stu1。 且保持不變時(shí)有: ? (*p).num ? pnum 3) 稱為指向成員運(yùn)算符; 1級(jí),自左而右; pnum中 代替了 *和 . 運(yùn)算符,看著更直觀; 如: pscore:訪問(wèn) p所指向變量的 score成員 。 pname[i]:訪問(wèn) p指向變量的 name成員第 i個(gè)元素。 C 程序設(shè)計(jì) 第十一章 結(jié)構(gòu)體與共用體 NWPU—CC—ZhangYanChun 31 2. 用結(jié)構(gòu)體指針變量訪問(wèn)結(jié)構(gòu)體數(shù)組元素 【 例 】 輸入 /輸出三位學(xué)生基本情況 , 計(jì)算平均成績(jī) include include struct student { long num。 char name[20]。 float score。 }。 void main( ) { struct student *p, stu[3]。 int i。 float sum=0。 …。 …。 p=stu。 …。 } stu[0] stu[1] stu[2] 99001 Li Feng 99002 Wang Yi 99003
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1