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

正文內(nèi)容

實(shí)用c語(yǔ)言程序設(shè)計(jì)教程7復(fù)雜數(shù)據(jù)結(jié)構(gòu)——結(jié)構(gòu)體、聯(lián)合及用戶自定義類型ppt-文庫(kù)吧

2025-09-19 13:51 本頁(yè)面


【正文】 變量 std*/ 這種方式與前一種的區(qū)別僅僅是省去結(jié)構(gòu)體標(biāo)識(shí)名。通常用在不需要再次定義此類型結(jié)構(gòu)體變量的情況。 第 7章 結(jié)構(gòu)體、聯(lián)合及用戶自定義類型 ( 3)先定義結(jié)構(gòu)體類型,再單獨(dú)定義變量。 例如: struct data /*日期結(jié)構(gòu)體類型名 data*/ { int year, month, day。 }。 /*年、月、日為整型 */ struct data ruxue。 /*定義入學(xué)日期結(jié)構(gòu)體變量 ruxue*/ 注意: 不能只使用 struct而不寫結(jié)構(gòu)體標(biāo)識(shí)名 data,因?yàn)閟truct不象 int、 char可以唯一的標(biāo)識(shí)一種數(shù)據(jù)類型。作為構(gòu)造類型,屬于 struct類型的結(jié)構(gòu)體可以有任意多種具體的“模式”,因此 struct必須與結(jié)構(gòu)體標(biāo)識(shí)名共同來(lái)說(shuō)明不同的結(jié)構(gòu)體類型。 第 7章 結(jié)構(gòu)體、聯(lián)合及用戶自定義類型 和一般變量一樣,結(jié)構(gòu)體變量也可以在定義的同時(shí)賦初值。 例如: struct score { char grade[20]。 /*班級(jí) */ long number。 /*學(xué)號(hào) */ char name[20]。 /*姓名 */ float os。 /*操作系統(tǒng) */ float datastru。 /*數(shù)據(jù)結(jié)構(gòu) */ float p。 /*計(jì)算機(jī)網(wǎng)絡(luò) */ }std={0802,20210101, li lin,79,92,86} 。 或 : struct score std={0802,20210101, li lin,79,92,86}。 第 7章 結(jié)構(gòu)體、聯(lián)合及用戶自定義類型 對(duì)結(jié)構(gòu)體變量賦初值時(shí), C編譯程序按每個(gè)成員在結(jié)構(gòu)體中的順序一一對(duì)應(yīng)賦初值; 不允許跳過(guò)前邊的成員給后面的成員賦初值; 但可以只給前面的若干個(gè)成員賦初值,對(duì)于后面未賦初值的成員,對(duì)于數(shù)值型和字符型數(shù)據(jù),系統(tǒng)自動(dòng)賦初值零。 第 7章 結(jié)構(gòu)體、聯(lián)合及用戶自定義類型 ( 1)用戶結(jié)構(gòu)體變量的定義和初始化。 struct user { char username[20]。 /*用戶名(要保證唯一) */ char userpass[20]。 /*用戶名密碼 */ char usertype。 /*用戶類型 */ }user1={zhangsan,123456,39。a39。}。 【 項(xiàng)目案例 72】 對(duì)項(xiàng)目案例 71中的結(jié)構(gòu)體類型,定義不同的結(jié)構(gòu)體變量并初始化。 ( 2)課程結(jié)構(gòu)體變量的定義和初始化。 struct course { int courseid。 /*用整型變量表示課程編號(hào) */ char coursename[20]。 /*課程名稱 */ int credit。 /*學(xué)分 */ int AcademicHour。 /*課時(shí) */ } course1={23, C程序設(shè)計(jì)語(yǔ)言 , 3, 60 }。 第 7章 結(jié)構(gòu)體、聯(lián)合及用戶自定義類型 ( 3)班級(jí)結(jié)構(gòu)體變量的定義和初始化。 struct class /*定義班級(jí)結(jié)構(gòu)體 class */ { char classname[20]。 /*班級(jí)編號(hào) */ char specialty[20]。 /*專業(yè)名稱 */ int studentnum。 /*班級(jí)的學(xué)生人數(shù) */ int class_coursenum。 /*班級(jí)要求所修的課程數(shù) */ /*假設(shè)每班最多能設(shè)置 N(符號(hào)常量)門課程 */ int class_courseid[N]。 /*班級(jí)必修課程編號(hào)數(shù)組 */ }class1={1001,應(yīng)用英語(yǔ) , 35,25,23,11,26,33,36}。 第 7章 結(jié)構(gòu)體、聯(lián)合及用戶自定義類型 ( 4)學(xué)生結(jié)構(gòu)體變量的定義和初始化。 struct student { char classname[20]。 /*班級(jí)編號(hào) */ char studentid[20]。 /*學(xué)生學(xué)號(hào) */ char studentname[N]。 /*學(xué)生姓名 */ struct date { int year,month,int day。 }birthday。 /*出生日期 */ int scorearr[N]。 /*學(xué)生成績(jī)數(shù)組 */ }student1={11,202101,張華 ,1990,10,30,65,83,71,86,76}。 結(jié)構(gòu)體變量一經(jīng)定義,計(jì)算機(jī)系統(tǒng)則為結(jié)構(gòu)體變量開辟一片地址連續(xù)的存儲(chǔ)單元,結(jié)構(gòu)體變量中的成員,按其成員定義的順序依次存放在地址連續(xù)的存儲(chǔ)單元中。 例如 : struct score { char grade[20]。 /*班級(jí) */ long number。 /*學(xué)號(hào) */ char name[20]。 /*姓名 */ float os。 /*操作系統(tǒng) */ float datastru。 /*數(shù)據(jù)結(jié)構(gòu) */ float p。 /*計(jì)算機(jī)網(wǎng)絡(luò) */ }std={0802,20210101, li lin,79,92,86} 。 第 7章 結(jié)構(gòu)體、聯(lián)合及用戶自定義類型 結(jié)構(gòu)體變量的使用 結(jié)構(gòu)體變量成員的操作符 : ?點(diǎn)操作符“ .” , 優(yōu)先級(jí)最高 : 作用:訪問(wèn)結(jié)構(gòu)中的成員 結(jié)構(gòu)變量可按整體或成員分量?jī)煞N情況操作。 例如 : struct score std1, std2, t。 t=std1。 std1=std2。 std2=t。 相同類型的結(jié)構(gòu)體變量之間可以整體賦值,以上各語(yǔ)句實(shí)現(xiàn)了 2個(gè)結(jié)構(gòu)體變量的整體交換。 第 7章 結(jié)構(gòu)體、聯(lián)合及用戶自定義類型 C規(guī)定結(jié)構(gòu)成員引用的形式為: 結(jié)構(gòu)體類型變量名 . 成員名 如果為嵌套結(jié)構(gòu)體變量,則必須連續(xù)使用結(jié)構(gòu)成員運(yùn)算符。每個(gè)結(jié)構(gòu)成員名從最外層直到最內(nèi)層逐個(gè)被列出,即嵌套式結(jié)構(gòu)成員的表達(dá)方式是: 結(jié)構(gòu)變量名 .嵌套結(jié)構(gòu)變量名 .結(jié)構(gòu)成員名 第 7章 結(jié)構(gòu)體、聯(lián)合及用戶自定義類型 例:結(jié)構(gòu)體類型及變量如下: struct data { int day。 int month。 int year。 } time1,time2。 則變量 time1和 time2各成員的引用形式分別為: 、 、 及 、 、 , 第 7章 結(jié)構(gòu)體、聯(lián)合及用戶自定義類型 如果為嵌套結(jié)構(gòu)體變量,則必須連續(xù)使用結(jié)構(gòu)成員運(yùn)算符。每個(gè)結(jié)構(gòu)成員名從最外層直到最內(nèi)層逐個(gè)被列出,即嵌套式結(jié)構(gòu)成員的表達(dá)方式是: 結(jié)構(gòu)變量名 .嵌套結(jié)構(gòu)變量名 .結(jié)構(gòu)成員名 例 , struct student { long number; char name[20]; char sex; struct data birthday; char addr[30]; }std。 成員 birthday的引用 : 。 第 7章 結(jié)構(gòu)體、聯(lián)合及用戶自定義類型 、輸出和計(jì)算 【 例 71】 定義一個(gè) “ 職工 ” 結(jié)構(gòu)體和變量,要求從鍵盤接收每個(gè)成員數(shù)據(jù),然后對(duì)結(jié)構(gòu)中的工資浮點(diǎn)數(shù)求和,并顯示運(yùn)算結(jié)果。請(qǐng)注意這個(gè)例子中不同結(jié)構(gòu)成員的訪問(wèn)。 include void main() { struct { char name[10]。 int age。 char sex[5]。 char depart[20]。 float wage1,wage2,wage3。 /*工資數(shù)據(jù),或者定義為 float wage[3]*/ }a。 /*定義一個(gè)結(jié)構(gòu)變量 */ float sum。 printf(Name:)。 scanf(%s, )。 /*輸入姓名,字符串 */ printf(Age:)。 scanf(%d, amp。)。 /*輸入年齡 */ printf(Sex:)。 scanf(%s, )。 /*輸入性別,字符 */ printf(Dept:)。 scanf(%s, )。 /*輸入部門,字符串 */ printf(Wage1:)。 scanf(%f, amp。)。 /*輸入工資 */ printf(Wage2:)。 scanf(%f, amp。)。 printf(Wage3:)。 scanf(%f, amp。)。 sum=++。 printf(%s: The sum of wage is %\n,sum)。 } 【 例 72】 在文件中存儲(chǔ)結(jié)構(gòu)體變量值。定義一個(gè)結(jié)構(gòu)體變量并賦初值后,我們可以將各成員的值存儲(chǔ)到某個(gè)數(shù)據(jù)文件中。 include include void main() { struct score { char grade[20]。 /*班級(jí) */ long number。 /*學(xué)號(hào) */ char name[20]。 /*姓名 */ float os。 /*操作系統(tǒng) */ float datastru。 /*數(shù)據(jù)結(jié)構(gòu) */ float p。 /*計(jì)算機(jī)網(wǎng)絡(luò) */ }std={0802,20210101, li lin,79,92,86} 。 FILE *fp,*fp1。 fp1=fopen(f91,wb+)。 fp=fopen(,w+)。 /*利用格式輸出函數(shù)將 1個(gè) std結(jié)構(gòu)體變量數(shù)據(jù)存寫入文本數(shù)據(jù)文件 */ fprintf(fp, %s %d %s %f %f %f, , , , , , )。 /*利用數(shù)據(jù)塊輸出函數(shù)將 1個(gè) std結(jié)構(gòu)體變量數(shù)據(jù)存寫入二進(jìn)制數(shù)據(jù)文件 */ fwrite(amp。std,sizeof(struct score),1,fp1)。 } 第 7章 結(jié)構(gòu)體、聯(lián)合及用戶自定義類型 分析: ( 1)問(wèn)題陳述: 該項(xiàng)目是使用結(jié)構(gòu)體變量對(duì) “ 學(xué)生信息管理系統(tǒng) ” 中學(xué)生的信息進(jìn)行輸入和輸出。 ( 2)需求分析: 一個(gè)學(xué)生的信息應(yīng)該包含學(xué)號(hào)、姓名、成績(jī)等,這些不同類型的數(shù)據(jù)組成了一個(gè)學(xué)生的信息。在 C程序中使用結(jié)構(gòu)體來(lái)描述一個(gè)學(xué)生的完整信息,可以把一個(gè)學(xué)生的信息值叫做一條信息記錄。結(jié)構(gòu)體能更加直觀地描述現(xiàn)實(shí)世界的信息。 【 項(xiàng)目案例 73】 使用結(jié)構(gòu)體變量,把 “ 學(xué)生信息管理系統(tǒng)” 中學(xué)生的信息以班級(jí)為單位進(jìn)行輸入、輸出。 第 7章 結(jié)構(gòu)體、聯(lián)合及用戶自定義類型 假設(shè)學(xué)生的一些基本信息結(jié)構(gòu)體類型定義如下 : /*定義學(xué)生結(jié)構(gòu)體 student */ struct student { char studentid[20]。 /*學(xué)生學(xué)號(hào) */ char studentname[20]。 /*學(xué)生姓名 */ int scorearr[N]。 /*學(xué)生成績(jī)數(shù)組( N為符號(hào)常量表示學(xué)生的成績(jī)個(gè)數(shù)) */ }。 在結(jié)構(gòu)體成員數(shù)組 scorearr中,下標(biāo)為 0的數(shù)組元素存放每個(gè)學(xué)生的平均成績(jī),從下標(biāo)為 1開始依次存放每個(gè)學(xué)生的基本信息。 第 7章 結(jié)構(gòu)體、聯(lián)合及用戶自定義類型 ① 學(xué)生信息的錄入。 利用結(jié)構(gòu)體變量表示學(xué)生信息。采用邊輸入邊存儲(chǔ)的方式來(lái)輸入每個(gè)學(xué)生的信息。 ②學(xué)生信息的輸出。 以表格形式輸出學(xué)生信息。在輸出表頭和表格內(nèi)容時(shí),為了使輸出的數(shù)據(jù)能夠?qū)R,在格式說(shuō)明符之前加上寬度修飾符來(lái)控制數(shù)據(jù)的對(duì)齊。 ③存儲(chǔ)數(shù)據(jù)的文件。 根據(jù)班級(jí)編號(hào)命名存儲(chǔ)學(xué)生信息的數(shù)據(jù)文件名。對(duì)于結(jié)構(gòu)體數(shù)據(jù),在存取時(shí)經(jīng)常使用數(shù)據(jù)塊輸入輸出函數(shù)來(lái)進(jìn)行,因此本項(xiàng)目中使用二進(jìn)制類型的文件對(duì)學(xué)生的信息進(jìn)行存取。文件中依次存放每個(gè)學(xué)生的信息(根據(jù)結(jié)構(gòu)體類型的定義來(lái)存放)。 第 7章 結(jié)構(gòu)體、聯(lián)合及用戶自定義類型 ( 3)處理流程 ①用戶界面的顯示。 進(jìn)入系統(tǒng)時(shí)顯示用戶主界面,用戶根據(jù)界面的提示選擇不同的操作。 ②各個(gè)功能模
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1