3.2 C語言程序設(shè)計(jì)結(jié)構(gòu)類型_第1頁
3.2 C語言程序設(shè)計(jì)結(jié)構(gòu)類型_第2頁
3.2 C語言程序設(shè)計(jì)結(jié)構(gòu)類型_第3頁
3.2 C語言程序設(shè)計(jì)結(jié)構(gòu)類型_第4頁
3.2 C語言程序設(shè)計(jì)結(jié)構(gòu)類型_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

了解結(jié)構(gòu)體的基本概念掌握定義結(jié)構(gòu)類型的一般形式及變量的3種形式掌握結(jié)構(gòu)體變量的引用、賦值及初始化能力目標(biāo):任務(wù)一考察結(jié)構(gòu)數(shù)據(jù)類型通過下面的活動(dòng),找出定義結(jié)構(gòu)體的一般格式,定義結(jié)構(gòu)類型變量的形式,會(huì)對(duì)結(jié)構(gòu)體變量進(jìn)行引用和賦值。

1.請(qǐng)觀察下面這個(gè)正確的結(jié)構(gòu)體定義,總結(jié)出定義結(jié)構(gòu)體的一般格式。structstudent{

intnum;charname[20];charsex;floatscore;};任務(wù)一考察結(jié)構(gòu)數(shù)據(jù)類型結(jié)構(gòu)體類型的基本概念:

“結(jié)構(gòu)”是一種構(gòu)造類型,它是由若干“成員”組成的。

每一個(gè)成員可以是一個(gè)基本數(shù)據(jù)類型或者是一個(gè)構(gòu)造類型。

結(jié)構(gòu)既是一種“構(gòu)造”而成的數(shù)據(jù)類型,那么在說明和使用之前必須先定義它,也就是構(gòu)造它,如同在說明和調(diào)用函數(shù)之前要先定義函數(shù)一樣。知識(shí)盤點(diǎn):定義結(jié)構(gòu)體類型的一般形式:

struct

結(jié)構(gòu)名{成員表列};大括弧內(nèi)是該結(jié)構(gòu)體的各個(gè)成員(或稱為分量),由它們組成一個(gè)結(jié)構(gòu)體。對(duì)每個(gè)成員也必須做類型說明,其形式為:類型說明符成員名;成員名的命名應(yīng)符合標(biāo)識(shí)符的書寫規(guī)定。知識(shí)盤點(diǎn):

2.觀察下面3種定義結(jié)構(gòu)變量的例子,找出它們之間的區(qū)別,總結(jié)出定義結(jié)構(gòu)變量的3種形式。(1)struct

stuboy1,boy2;(2)struct

stu{

intnum;charname[20];charsex;floatscore;}boy1,boy2;(3)struct{

intnum;charname[20];charsex;floatscore;}boy1,boy2定義結(jié)構(gòu)體變量的3種方法1.先定義結(jié)構(gòu),再說明結(jié)構(gòu)變量。也可以用宏定義使用一個(gè)符號(hào)常量來表示一個(gè)結(jié)構(gòu)類型。2.在定義結(jié)構(gòu)類型的同時(shí)說明結(jié)構(gòu)變量。3.直接說明結(jié)構(gòu)變量。結(jié)構(gòu)體變量的定義:知識(shí)盤點(diǎn):

3.根據(jù)下面的結(jié)構(gòu)體定義,了解結(jié)構(gòu)體的嵌套。structdate/*定義結(jié)構(gòu)體date*/{intmonth;intday;intyear;}struct{intnum;charname[20];charsex;structdatebirthday;/*成員birthday被說明為data結(jié)構(gòu)類型*/floatscore;}boy1,boy2;一維數(shù)組初始化的一般格式:類型標(biāo)識(shí)符數(shù)組名[整型常量表達(dá)式]={初值表};初始化:在定義數(shù)組的同時(shí)指定初始值,編譯器把初值賦給數(shù)組元素。依次為數(shù)組元素賦值的方法:1.在C語言中,數(shù)組作為一種存放若干相同類型數(shù)據(jù)的集合是一個(gè)整體,是不允許當(dāng)作變量來賦值的。一維數(shù)組的初始化:知識(shí)盤點(diǎn):例如:inta[10];a=5;這樣的寫法在C語言中是不允許的,因?yàn)閍是一個(gè)數(shù)組,不能當(dāng)作變量來使用。2.對(duì)于為數(shù)組元素賦值就簡(jiǎn)單得多,因?yàn)閿?shù)組元素可以當(dāng)做變量來使用,可以直接使用“=”賦值。我們完全可以用一個(gè)循環(huán)語句來依次為每個(gè)數(shù)組元素賦值,這里,只需要把數(shù)組元素的下標(biāo)做為循環(huán)控制變量即可。這也是為數(shù)組賦值常用的方法。知識(shí)盤點(diǎn):4.C語言中除了允許具有相同類型的結(jié)構(gòu)變量相互賦值以外,一般對(duì)結(jié)構(gòu)變量的使用,包括賦值、輸入、輸出、運(yùn)算等都是通過結(jié)構(gòu)變量的成員來實(shí)現(xiàn)的。怎樣來引用結(jié)構(gòu)成員?請(qǐng)通過觀察下面的程序段來找出方法。#include"stdio.h"main(){struct

stu

{

intnum;charname[20];charsex;floatscore;}boy1,boy2;boy1.num=102;/*對(duì)結(jié)構(gòu)成員num賦值*/boy1.score=78.2;/*對(duì)結(jié)構(gòu)成員score賦值*/

printf("inputsexandscore\n");}引用結(jié)構(gòu)體成員的一般形式為:結(jié)構(gòu)體變量名.成員名說明:①在舊的標(biāo)準(zhǔn)中規(guī)定,不允許把一個(gè)結(jié)構(gòu)體變量作為一個(gè)整體進(jìn)行賦值和輸出。②如果結(jié)構(gòu)體成員本身又屬于一個(gè)結(jié)構(gòu)體類型,只能對(duì)最低級(jí)的成員進(jìn)行賦值或存取運(yùn)算(逐步級(jí)訪問)。③結(jié)構(gòu)體成員變量可以像普通變量一樣進(jìn)行各種運(yùn)算。④可以引用結(jié)構(gòu)體成員的地址,也可以引用結(jié)構(gòu)體變量的地址。例如:scanf("%d",&boy1.num);但不能用以下語句整體讀入結(jié)構(gòu)體變量的各成員值。例如:scanf("%d,%s,%c,%f",&boy1);一維數(shù)組的初始化應(yīng)注意的問題:知識(shí)盤點(diǎn):5.除了采用賦值方式為結(jié)構(gòu)成員賦值外,還有其他的方法為結(jié)構(gòu)成員賦值嗎?請(qǐng)觀察下面的賦值形式,總結(jié)出結(jié)構(gòu)變量初始化的方法。struct

stu{intnum;charname[20];charsex;floatscore;}boy1={10000,"yanghai","m",78.3};/*對(duì)結(jié)構(gòu)變量boy1進(jìn)行初始化*/初始化結(jié)構(gòu)變量的方法為:直接在結(jié)構(gòu)體變量的后面用{成員值表}。與數(shù)組一樣,只有當(dāng)結(jié)構(gòu)體

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論