C語言程序設計實驗報告_第1頁
C語言程序設計實驗報告_第2頁
C語言程序設計實驗報告_第3頁
免費預覽已結束,剩余4頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、.C 語言程序設計實 1.掌握結構體類型的概念和說明方法驗 2.掌握結構體變量的定義和引用。結構體類型變量成員的使用。目 3.掌握結構體數組的定義和使用方法。的 4.掌握指向結構體變量的指針變量的概念和應用。5.掌握結構變量與指向結構的指針作為函數參數實現函數的調用。6.掌握共用體的概念和說明方法。7.掌握共用體變量的定義和引用。共用體類型變量成員的使用8.掌握位運算的概念和方法。9.掌握位運算符( & , |, ,)的使用方法。10.了解有關位運算的算法。11.掌握枚舉類型概念和說明方法12.掌握枚舉類型變量的定義以及枚舉類型變量的使用。1建立一個學生的簡單信息表,其中包括學號、年齡

2、、性別及一門課的成績。要求從鍵盤輸入數據,并顯示出來。上機運行以下程序。分析:一個學生信息表可以由結構體來定義,表中的內容可以通過結構體中的成員來表示。體會結構體成員的點運算符引用方法。#include"stdio.h"實void main()驗struct st內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名學生的信息表,每個學生的數據包括學號、姓名及一門課的成績。要求從鍵盤輸入這 5 名學生的信息,并按照每一行顯示一名學生信息的形式將 5 名學生的信息顯示出來。上機運行以下程序。分析:每個學生的數據學號、姓名及一門課的成績用結構體表示,5 名學生的信息表用結構體數組表示,體會結構體數組元素的引用方法。#include"stdio.h"#define N 5struct studint num?char name 20?float score?實?struct stud sN?驗voi

5、d 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 ",si.num)? print

6、f("%s ",)? n",si.score)?3.顯示某人工資信息的程序如下, 分析顯示結果。 上機運行以下程序。分析:某人工資信息可以由結構體來定義,表中的內容可以通過結構體中的成員來表示。體會結構體成員的指針運算符引用方法。'.#include"stdio.h"#include "string.h"void main()struct staffchar name20?實char department20?int salary?驗?struct staff w1,*p?內p=&w1?strc

7、py(,"Li-Li")?/* 個人信息 */容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()函數, 輸入、輸出2 個學生的數

8、據記錄。上機運行以下程序。分析:體會結構化程序設計思想的應用。#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.利用結構體類型,編程計算一名同學5 門課的平均分。 上機運行以下程序。分析:計算一名同學5 門課的平均分,是對結構體成員變量的算術運算。#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.用結構體型數組初始化建立一工資登記表。 然后鍵入其中一人的姓名, 查詢其工資情況。上機運行以下程序。分析:查詢工資情況,是對結構體成員的查詢操作。#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.用子函數求出worker數組中每個工人的實發工資。上機運行以下程序。分析:求出每個工人的實發工資,是對結構體成員變量的算術運算。#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.輸入并運行下面程序,觀察結果,分析聯合變量的存儲特點。上機運行以下程序。#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)? /* 按照長整型成員的類型使用儲存內容 */ printf("%cn ",s->c0)? /* 按照字符型成員的類型使用儲存內容*/9.今天星期三,再過10 天是星期幾?上機運行以下程序。分析:枚舉類型變量與整型變量是兩種不同數據類型,注意它們之間的數據類型轉換。#include"stdio.h"void main()'.enum weekdays

溫馨提示

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

評論

0/150

提交評論