C語言程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告——實(shí)驗(yàn)_第1頁
C語言程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告——實(shí)驗(yàn)_第2頁
C語言程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告——實(shí)驗(yàn)_第3頁
C語言程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告——實(shí)驗(yàn)_第4頁
C語言程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告——實(shí)驗(yàn)_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、C語言程序設(shè)計(jì)實(shí) 驗(yàn) 目 的1 .掌握結(jié)構(gòu)體類型的概念和說明方法2 .掌握結(jié)構(gòu)體變量的定義和引用。結(jié)構(gòu)體類型變量成員的使用。3 .掌握結(jié)構(gòu)體數(shù)組的定義和使用方法。4 .掌握指向結(jié)構(gòu)體變量的指針變量的概念和應(yīng)用。5 .掌握結(jié)構(gòu)變量與指向結(jié)構(gòu)的指針作為函數(shù)參數(shù)實(shí)現(xiàn)函數(shù)的調(diào)用。6 .掌握共用體的概念和說明方法。7 .掌握共用體變量的定義和引用。共用體類型變量成員的使用8 .掌握位運(yùn)算的概念和方法。9 .掌握位運(yùn)算符(&, |, A ,)的使用方法。10 .了解有關(guān)位運(yùn)算的算法。11 .掌握枚舉類型概念和說明方法12 .掌握枚舉類型變量的定義以及枚舉類型變量的使用。實(shí) 驗(yàn) 內(nèi) 容 與 步 驟1

2、.建立一個(gè)學(xué)生的簡(jiǎn)單信息表,其中包括學(xué)號(hào)、年齡、性別及一 門課的成績(jī)。要求從鍵盤輸入數(shù)據(jù),并顯示出來。上機(jī)運(yùn)行以下程序。分析:一個(gè)學(xué)生信息表可以由結(jié)構(gòu)體來定義,表中的內(nèi)容可以通 過結(jié)構(gòu)體中的成員來表示。體會(huì)結(jié)構(gòu)體成員的點(diǎn)運(yùn)算符引用方法。#include"stdio.h"void main()struct stint num?int age?char sex?float score?struct st info?printf("input number:")?scanf("%d",&info.num)?printf("

3、input age:")?scanf("%d",&info.age)?getchar()?printf("input sex:")?scanf("%c",&info.sex)?printf("input score:")?scanf("%f",&info.score)?printf("number = n",info.num)?printf("age =n",info.age)?printf("sex =n&qu

4、ot;,info.sex)?實(shí) 驗(yàn) 內(nèi) 容 與 步 驟printf("score = n",info.score)?2 .建立 5名學(xué)生的信息表,每個(gè)學(xué)生的數(shù)據(jù)包括學(xué)號(hào)、姓名及 一門課的成績(jī)。要求從鍵盤輸入這 5名學(xué)生的信息,并按照每一行顯示一名學(xué)生信息的形式將 5名學(xué)生的信息顯示出來。上機(jī)運(yùn)行以下程序。分析:每個(gè)學(xué)生的數(shù)據(jù)學(xué)號(hào)、姓名及一門課的成績(jī)用結(jié)構(gòu)體表示,5名學(xué)生的信息表用結(jié)構(gòu)體數(shù)組表示,體會(huì)結(jié)構(gòu)體數(shù)組元素的引用方法。#include"stdio.h"#define N 5struct stud int num? char name 20? flo

5、at score?struct stud sN?void main() int i? for (i=0?i<N?i+) printf("input number:")?scanf("%d",&si.num)?printf("input name:")?scanf("%s",)?printf("input score:")? scanf("%f",&si.score)?for (i=0?i<N?i+)printf("%d &q

6、uot;,si.num)?printf("%s ",)? n",si.score)?3 .顯示某人工資信息的程序如下,分析顯示結(jié)果。上機(jī)運(yùn)行以下程序。分析:某人工資信息可以由結(jié)構(gòu)體來定義,表中的內(nèi)容可以通過 結(jié)構(gòu)體中的成員來表示。體會(huì)結(jié)構(gòu)體成員的指針運(yùn)算符引用方法。#include"stdio.h"#include "string.h"void main()struct staff實(shí) 驗(yàn) 內(nèi) 容 與 步 驟char name20?char department20?int salary?struct staff

7、 w1,*p?p=&w1?strcpy(,"Li-Li")?/* 個(gè)人信息*/strcpy(*p).department,"part1")?p->salary=1000?n",,w1.department,w1.salary)?n",(*p).name,(*p).department,(*p).salary)?printf("%s %s %dn",p- >name,p->department,p->salary)?4.編寫input()和 output()

8、函數(shù),輸入、輸出 2個(gè)學(xué)生的數(shù)據(jù)記錄。上機(jī)運(yùn)行以下程序。分析:體會(huì)結(jié)構(gòu)化程序設(shè)計(jì)思想的應(yīng)用。#include "stdio.h#define N 2 struct studentchar num6?char name8?int score4?stuN?void input() int i,j?for(i=0?i<N?i+)n",i+1,N)?printf("num: ")? scanf("%s",stui.num)? printf("name: ")? scanf("%s",stui.na

9、me)? for(j=0?j<3?j+) %d."scanf("%d",&stui.scorejD?n")? void print(struct student stuN) int i,j?n")?for(i=0?i<N?i+) printf("%-6s%-10s",stui.num,)?for(j=0?j<3?j+)printf("%-8d",stui.scorej)? n")? void main() input()? print(stu)?5.利

10、用結(jié)構(gòu)體類型,編程計(jì)算一名同學(xué)5門課的平均分。上機(jī)運(yùn)行以下程序。分析:計(jì)算一名同學(xué) 5門課的平均分,是對(duì)結(jié)構(gòu)體成員變量的 算術(shù)運(yùn)算。#include "stdio.h" void main()struct stuscorechar name20?float score5?float average?struct stuscore x="Wang- Wei", 90.5,85, 70, 90, 98.5? int i?float sum=0?for(i=0? i<5? i+) sum+=x.scorei?x.average=sum/5?printf(

11、"The average score of %s is %4.1fn", ,x.average)?6 .用結(jié)構(gòu)體型數(shù)組初始化建立一工資登記表。然后鍵入其中一人的姓名,查詢其工資情況。上機(jī)運(yùn)行以下程序。分析:查詢工資情況,是對(duì)結(jié)構(gòu)體成員的查詢操作。#include "stdio.h"#include "string.h" void main()struct staffchar name20?char department20?int salary?int cost? worker3="Xu- Guo",

12、"part1”,800,200,"Wu-Xia","part2",1000,300,"Li-Jun","part3",1200,350,? int i?char xname20?printf("nInput the worker's name: ")?scanf("%s", xname)?for(i=0? i<3? i+)if(strcmp(xname,)=0)printf("nsalary:%6d", wo

13、rkeri.salary)?printf("ncost:%6d", workeri.cost)?printf("npayed:%6dn",workeri.salary- workeri.cost)? 7 .用子函數(shù)求出 worker數(shù)組中每個(gè)工人的實(shí)發(fā)工資。上機(jī)運(yùn)行 以下程序。分析:求出每個(gè)工人的實(shí)發(fā)工資,是對(duì)結(jié)構(gòu)體成員變量的算術(shù)運(yùn) 管 殲。#include"stdio.h"#define NUM 3struct staffchar name20?char department20?int salary?int cost?int re

14、alsum?void main()void getreal(struct staff *p,int n)?struct staff workerNUM,*pm? int i?printf("Input %d worker's namen",NUM)?for(i=0,pm=worker? i<NUM? i+,pm+) scanf("%s%s%d%d",pm- >name,pm->department,&pm- >salary,&pm- >cost)? pm=worker?getreal(pm,NUM)?

15、for(pm=worker? pm<worker+NUM? pm+) printf("%s of %s should be payed %d n",pm->name,pm->department,pm->realsum)?void getreal(struct staff *p,int n) int i? for(i=0? i<n? i+,p+) p->realsum=p->salary-p->cost? 8 .輸入并運(yùn)行下面程序,觀察結(jié)果,分析聯(lián)合變量的存儲(chǔ)特點(diǎn)。上 機(jī)運(yùn)行以下程序。#include"stdio.h

16、" void main() union int i2? long k? char c4? t,*s=&t?s->i0=0x39? /*按照整型成員的類型賦值*/s->i1=0x38?printf("%xn ",s->k)? /*按照長(zhǎng)整型成員的類型使用儲(chǔ)存內(nèi)容*/printf("%cn ",s->c0)? /*按照字符型成員的類型使用儲(chǔ)存內(nèi)容*/9 .今天星期三,再過 10天是星期幾?上機(jī)運(yùn)行以下程序。分析:枚舉類型變量與整型變量是兩種不同數(shù)據(jù)類型,注意它們 之間的數(shù)據(jù)類型轉(zhuǎn)換。#include"stdio.h" void main()enum wee

溫馨提示

  • 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)論