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

下載本文檔

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

文檔簡介

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

1.請觀察下面這個正確的結(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)造類型,它是由若干“成員”組成的。

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

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

struct

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

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)變量。也可以用宏定義使用一個符號常量來表示一個結(jié)構(gòu)類型。2.在定義結(jié)構(gòu)類型的同時說明結(jié)構(gòu)變量。3.直接說明結(jié)構(gòu)變量。結(jié)構(gòu)體變量的定義:知識盤點:

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ù)組初始化的一般格式:類型標識符數(shù)組名[整型常量表達式]={初值表};初始化:在定義數(shù)組的同時指定初始值,編譯器把初值賦給數(shù)組元素。依次為數(shù)組元素賦值的方法:1.在C語言中,數(shù)組作為一種存放若干相同類型數(shù)據(jù)的集合是一個整體,是不允許當作變量來賦值的。一維數(shù)組的初始化:知識盤點:例如:inta[10];a=5;這樣的寫法在C語言中是不允許的,因為a是一個數(shù)組,不能當作變量來使用。2.對于為數(shù)組元素賦值就簡單得多,因為數(shù)組元素可以當做變量來使用,可以直接使用“=”賦值。我們完全可以用一個循環(huán)語句來依次為每個數(shù)組元素賦值,這里,只需要把數(shù)組元素的下標做為循環(huán)控制變量即可。這也是為數(shù)組賦值常用的方法。知識盤點:4.C語言中除了允許具有相同類型的結(jié)構(gòu)變量相互賦值以外,一般對結(jié)構(gòu)變量的使用,包括賦值、輸入、輸出、運算等都是通過結(jié)構(gòu)變量的成員來實現(xiàn)的。怎樣來引用結(jié)構(gòu)成員?請通過觀察下面的程序段來找出方法。#include"stdio.h"main(){struct

stu

{

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

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

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

溫馨提示

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

最新文檔

評論

0/150

提交評論