C語言程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第1頁
C語言程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第2頁
C語言程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第3頁
免費(fèi)預(yù)覽已結(jié)束,剩余4頁可下載查看

下載本文檔

版權(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í) 1.掌握結(jié)構(gòu)體類型的概念和說明方法驗(yàn) 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)算符( & , |, ,)的使用方法。10.了解有關(guān)位運(yùn)算的算法。11.掌握枚舉類型概念和說明方法12.掌握枚舉類型變量的定義以及枚舉類型變量的使用。1建立一個(gè)學(xué)生的簡(jiǎn)單信息表,其中包括學(xué)號(hào)、年齡

2、、性別及一門課的成績(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"實(shí)void main()驗(yàn)struct st內(nèi)int num?int age?容char sex?float score?與?struct st info?步printf("inputnumber:")?驟 scanf("%d",&info.num)? printf("input age:"

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

4、;.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 studint num?char name 20?float score?實(shí)?struct stud sN?驗(yàn)voi

5、d main()內(nèi) 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 ",si.num)? print

6、f("%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 staffchar name20?實(shí)char department20?int salary?驗(yàn)?struct staff w1,*p?內(nèi)p=&w1?strc

7、py(,"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()函數(shù), 輸入、輸出2 個(gè)學(xué)生的數(shù)

8、據(jù)記錄。上機(jī)運(yùn)行以下程序。分析:體會(huì)結(jié)構(gòu)化程序設(shè)計(jì)思想的應(yīng)用。#include "stdio.h"#define N 2struct 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",)?for(j=0?j&

9、lt;3?j+)printf("score %d.",j+1)?'.scanf("%d",&stui.scorej)?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(

10、stu)?5.利用結(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 stuscorecharname20?floatscore5?floataverage?structstuscore 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?print

11、f("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&q

12、uot;, "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&

13、quot;, workeri.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 r

14、ealsum?'.void main()void getreal(struct staff *p,intn)?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 %dn",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()unionint 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 weekdays

溫馨提示

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