在线不卡日本ⅴ一区v二区_精品一区二区中文字幕_天堂v在线视频_亚洲五月天婷婷中文网站

  • <menu id="lky3g"></menu>
  • <style id="lky3g"></style>
    <pre id="lky3g"><tt id="lky3g"></tt></pre>

    結(jié)構(gòu)體類型變量應(yīng)用舉例

    現(xiàn)實(shí)生活中存在的大部分對(duì)象具有不同的屬性,需要用不同的數(shù)據(jù)類型去描述。類如,一個(gè)公司員工的信息包括工號(hào),姓名,性別,年齡,工資等。這些屬性都是有聯(lián)系的,因?yàn)樗麄儗儆谕粋€(gè)員工。為了能夠表示同一個(gè)對(duì)象的多種屬性,C語言給出了另一種構(gòu)造數(shù)據(jù)類型——結(jié)構(gòu)體。利用結(jié)構(gòu)體能夠?qū)⒉煌愋偷臄?shù)據(jù)組合在一起,用來描述上述具有不同屬性的對(duì)象,從而解決實(shí)際問題。

    程序中使用結(jié)構(gòu)體,首先要對(duì)結(jié)構(gòu)體進(jìn)行定義。定義結(jié)構(gòu)體類型的一般形式為:

    struct 結(jié)構(gòu)體名{ 數(shù)據(jù)類型 成員名1; 數(shù)據(jù)類型 成員名2; 數(shù)據(jù)類型 成員名3; … 數(shù)據(jù)類型 成員名n;};

    “struct”是關(guān)鍵字,是結(jié)構(gòu)體的標(biāo)志;”結(jié)構(gòu)體名”是用戶定義的標(biāo)識(shí)符,要符合C語言的標(biāo)識(shí)符命名規(guī)則;各成員的數(shù)據(jù)類型可以是基本類型,也可以是構(gòu)造類型。例如:

    struct employee{ int num; char name[20]; char sex; int age; float salary;};

    定義了一個(gè)結(jié)構(gòu)體類型,結(jié)構(gòu)體類型名是employee,該結(jié)構(gòu)體由5個(gè)成員組成。

    定義的結(jié)構(gòu)體類型是一種數(shù)據(jù)類型。它和系統(tǒng)提供的標(biāo)準(zhǔn)數(shù)據(jù)類型(如int,char,float,double等)具有相同的地位和作用,只不過結(jié)構(gòu)體類型需要用戶自己指定而與,而標(biāo)準(zhǔn)數(shù)據(jù)類型由系統(tǒng)定義。

    說明:

    1)結(jié)構(gòu)體類型的定義是程序語句,因此一定注意右花括號(hào)后面的分號(hào)不能丟。

    2)結(jié)構(gòu)體中的成員可以定義成不同的數(shù)據(jù)類型,他們不是變量,因此成員名可以與程序中其他變量同名,不同結(jié)構(gòu)體中的成員也可以同名。

    3)定義結(jié)構(gòu)體類型,只是定義一種和基本類型地位相同的新的數(shù)據(jù)類型,不是定義的變量。

    4)定義好一個(gè)結(jié)構(gòu)體類型后,可以將其看作是與int,char,和float等數(shù)據(jù)類型一樣的一個(gè)新的數(shù)據(jù)類型,其中并無具體數(shù)據(jù),系統(tǒng)對(duì)之也沒有分配實(shí)際的內(nèi)存單元。為了能夠在程序中使用結(jié)構(gòu)體類型的數(shù)據(jù),應(yīng)當(dāng)定義結(jié)構(gòu)體類型的變量,并在其中存放具體的數(shù)據(jù)。

    例1.輸入一個(gè)學(xué)生的英語期中和期末成績(jī),計(jì)算并輸出平均成績(jī)。

    #include void main(){ struct study //定義結(jié)構(gòu)類型,類型名為study { float mid; float end; float average; }english; //定義結(jié)構(gòu)體類型變量english scanf(“%f,%f”,&english.mid,&english.end); //輸入期中,期末成績(jī) english.average=(english.mid+english.end)/2; //求期中,期末的平均成績(jī) printf(“average=%.1f”,english.average); //輸出所求的平均成績(jī)}

    程序運(yùn)行情況如下:

    如果輸入:90.5,80.5

    結(jié)果如下:average=85.5

    例2.建立兩個(gè)學(xué)生的基本情況表,然后將其輸出。

    #include#include void main(){ struct stud //定義結(jié)構(gòu)體類型 ,類型名為stud { int num; char name[20]; char sex; int age; float score; }student1={10001,”Liu”,’F’,18,75.0},student2; //定義結(jié)構(gòu)體類型變量 student2=student1; //將student1變量中各成員的值逐個(gè)賦給student2中的相應(yīng)成員 student2.num=10002; strcpy(student2.name,”Zhang”); //將字符串復(fù)制到student2.name成員中 printf(“student1:%d,%s,%c,%d,%.1f”,student1.num,student1.name,student1.sex,student1.age,student1.score); printf(“student2:%d,%s,%c,%d,%.1f”,student2.num,student2.name,student2.sex,student2.age,student2.score);}

    程序運(yùn)行結(jié)果如下:

    student1:10001,Liu,F(xiàn),18,75.0

    student2:10002,Zhang,F(xiàn),18,75.0

    鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場(chǎng),版權(quán)歸原作者所有,如有侵權(quán)請(qǐng)聯(lián)系管理員(admin#wlmqw.com)刪除。
    上一篇 2022年6月23日 15:12
    下一篇 2022年6月23日 15:12

    相關(guān)推薦

    聯(lián)系我們

    聯(lián)系郵箱:admin#wlmqw.com
    工作時(shí)間:周一至周五,10:30-18:30,節(jié)假日休息