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

正文內(nèi)容

第11章結(jié)構(gòu)體(已修改)

2025-08-13 15:27 本頁面
 

【正文】 1 第 十 一 章 結(jié) 構(gòu) 體與共用休 2 學(xué)號 姓名 性別 年齡 入學(xué)成績 家庭住址 2022001 張三 男 20 570 濟南歷下區(qū)89號 2022022 李四 女 19 586 煙臺 2022022 王五 男 21 550 德洲 3 例: 描述一個學(xué)生的姓名、學(xué)號、性別、年齡。 每個學(xué)生都有這樣的屬性,它們構(gòu)成一個描述學(xué)生具體情況的一個整體。而每個屬性又是一個基本的類型,本例中可分別用字符數(shù)組、長整型、字符型、和整型來描述。 一、結(jié)構(gòu)體類型的定義 結(jié)構(gòu)體概念的引入 數(shù)據(jù)的描述: 基本類型 :整型、實型、字符型。 數(shù)組 :屬于同一種類型的元素的集合。 有時,需要用不同的數(shù)據(jù)類型來描述一個事物的各方面屬性,故此, C語言引入了 結(jié)構(gòu)體 的概念。 4 struct 結(jié)構(gòu)體類型名 { 類型標識符 成員名 1; 類型標識符 成員名 2; …… 類型標識符 成員名 n; }。 結(jié)構(gòu)體類型的定義 如: struct student { char name[10]。 long id。 char gender。 int age。 }。 注意: struct student 應(yīng)作為一個類型整體, name[10]、 id、 gender、 age都是其成員。 struct及花括號后的 “ ; ” 不能省。 5 定義結(jié)構(gòu)體類型, 描述下列數(shù)據(jù) struct student { int no; /*學(xué)號 */ char name[ 10]; /*姓名 */ char sex; /*性別 */ int age; /*年齡 */ float score[10]; /*成績 */ }; 結(jié)構(gòu)體類型的舉例 (1) 學(xué)生情況 : 包含學(xué)生的學(xué)號、 姓名、 性別、 年齡、 10門課程成績: 6 (2) 個人數(shù)據(jù) : 包含姓名、性別、年齡、身高、體重、住址 : struct person { char name[ 20]; /*姓名 */ char sex; /*性別 */ int age; /*年齡 */ float height; /*身高 */ float weight; /*體重 */ char addr[ 50]; /*住址 */ }; 7 (3) 平面上的點 : struct point2 { float x; /*橫坐標 */ float y; /*縱坐標 */ }; 如考慮空間中的點, 可作如下定義:struct point3 { float x; /*X坐標 */ float y; /*Y坐標 */ float z; /*Z坐標 */ }; 8 (4) 日期,包括年、月、日 : 如職工信息結(jié)構(gòu)體類型為: struct person { char name[20]。 /*姓名 */ char address[40]。 /*地址 */ float salary。 /*工資 */ float cost。 /*扣款 */ struct date hiredate。 /*聘任日期 */ }。 結(jié)構(gòu)體類型可以嵌套定義 即一個結(jié)構(gòu)體類型中的某些成員又是其他結(jié)構(gòu)體類型 struct date { int year; /*年 */ int month; /*月 */ int day; /*日 */ }; 注意 9 例如,對已定義的結(jié)構(gòu)體類型 struct student ,可以定義結(jié)構(gòu)體變量: struct student zhang ,stu1; struct person p[50]; /*50個職工人的數(shù)據(jù) */ 二、結(jié)構(gòu)體變量 結(jié)構(gòu)體變量的定義 , 再定義結(jié)構(gòu)體變量 格式: struct 結(jié)構(gòu)體名 結(jié)構(gòu)體變量名表; 三種方法: 10 例如: struct student { char name[10]。 char sex。 int age。 float score。 } stu1,stu2。 格式: struct 結(jié)構(gòu)體類型名 { 類型標識符 成員名 1; 類型標識符 成員名 2; …… 類型標識符 成員名 n; } 變量名表 。 11 3. 用匿名形式直接定義結(jié)構(gòu)體類型變量(不出現(xiàn)結(jié)構(gòu)體名) 例如: struct { char name[10]。 char sex。 int age。 float score。 } stu1,stu2。 格式: struct { 類型標示符 成員名 1; 類型標示符 成員名 2; …… 類型標示符 成員名 n; } 變量名表 。 ( 1)類型與變量是不同的概念,不要混同。對結(jié)構(gòu)體變量來說,在定義時一般先定義一個結(jié)構(gòu)體類型,然后定義變量為該類型。只能對變量賦值、存取或運算,而不能對一個類型賦值、存取或運算。在編譯時,對類型是不分配存儲空間的,只對變量分配存儲空間。 ( 2)對結(jié)構(gòu)體中的成員,可以單獨使用,它的作用相當于普通變量。 ( 3)成員也可以是一個結(jié)構(gòu)體變量。 ( 4)成員名可與程序中的變量同名,兩者不代表同一對象。 結(jié)構(gòu)體的說明 12 例。定義結(jié)構(gòu)體變量 stu1: struct student stu1。 =20。 scanf(%f,amp。)。 表示引用結(jié)構(gòu)體變量 stu1中的 age成員,因該成員的類型為 int型,所以可以對它執(zhí)行任何 int型變量可以執(zhí)行的運算。 結(jié)構(gòu)體變量的使用 結(jié)構(gòu)體變量一般不整體引用,而是引用其成員變量。 成員變量引用格式 結(jié)構(gòu)體變量名 .成員名 其中的圓點運算符稱為成員運算符,它的運算級別是最高的。 13 (1) 結(jié)構(gòu)體類型變量的各成員(分量)必須單獨引用 ,成員運算符 “ ?”具有最高優(yōu)先級。 (2) 不允許對結(jié)構(gòu)體變量進行整體的輸入輸出 如: scanf(“%s%c%d%f”,amp。stu1)。 (3) 如果結(jié)構(gòu)體變量類型相同,可以互相賦值。 stu1=stu2。 (4) 嚴格區(qū)分類型與變量的概念。 (5) 如果結(jié)構(gòu)體成員本身又是結(jié)構(gòu)體類型的 , 則可繼續(xù)使用成員運算符取結(jié)構(gòu)體成員的結(jié)構(gòu)體成員 , 逐級向下 , 引用最低一級的成員 。 程序只能對最低一級的成員進行運算 。 例如 , 對 stu1某些成員的訪問: =23; =8; =1985; 說明 14 結(jié)構(gòu)體變量的初始化 結(jié)構(gòu)體變量可以在定義時初始化。 格式 struct { 成員表; } 結(jié)構(gòu)體變量 ={初始化數(shù)據(jù)表 }; 例 struct student { char name[10]。 char sex。 int age。 float score。 }stu1,stu2={“Wangwu”,?m?,20,}。 15 stru1 1000 1010 1011 1013 1017 name[10] sex age score 結(jié)構(gòu)體變量存儲分配 16 例 求某同學(xué)上學(xué)期 6門課程的總成績與平均成績 。 思路分析: 可以先構(gòu)建一個結(jié)構(gòu)體,包含學(xué)生的姓名、八門課的成績、以及總成績及平均成績。 struct student { char name[ 10]; float score[ 6]; float total, average; }。 然后在程序中輸入姓名及各科成績后即可進行運算,運算結(jié)果存放到 total和 average兩個成員變量中。 17 main( { int i; struct student
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1