C语言程序设计实验报告——实验_第1页
C语言程序设计实验报告——实验_第2页
C语言程序设计实验报告——实验_第3页
C语言程序设计实验报告——实验_第4页
C语言程序设计实验报告——实验_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.C语言程序设计实验目的1.掌握结构体类型的概念和说明方法 2.掌握结构体变量的定义和引用。结构体类型变量成员的使用。 3.掌握结构体数组的定义和使用方法。 4.掌握指向结构体变量的指针变量的概念和应用。 5.掌握结构变量与指向结构的指针作为函数参数实现函数的调用。6.掌握共用体的概念和说明方法。 7.掌握共用体变量的定义和引用。共用体类型变量成员的使用 8.掌握位运算的概念和方法。 9.掌握位运算符(&,|,,)的使用方法。 10.了解有关位运算的算法。 11.掌握枚举类型概念和说明方法 12.掌握枚举类型变量的定义以及枚举类型变量的使用。实验内容与步骤实验内容与步骤实验内容与步骤1建立一个

2、学生的简单信息表,其中包括学号、年龄、性别及一门课的成绩。要求从键 盘输入数据,并显示出来。上机运行以下程序。 分析:一个学生信息表可以由结构体来定义,表中的内容可以通过结构体中的成员来 表示。体会结构体成员的点运算符引用方法。 #includestdio.hvoidmain()structst intnumintagecharsexfloatscorestructstinfoprintf(inputnumber:)scanf(%d,&info.num)printf(inputage:)scanf(%d,&info.age)getchar()printf(inputsex:)scanf(%c,

3、&info.sex)printf(inputscore:)scanf(%f,&info.score)printf(number%dn,info.num)printf(age%dn,info.age)printf(sex%cn,info.sex)printf(score%fn,info.score)2.建立 5 名学生的信息表,每个学生的数据包括学号、姓名及一门课的成绩。要求从键盘 输入这 5 名学生的信息,并按照每一行显示一名学生信息的形式将 5 名学生的信息显示出 来。上机运行以下程序。 分析:每个学生的数据学号、姓名及一门课的成绩用结构体表示,5 名学生的信息表 用结构体数组表示,体会结构

4、体数组元素的引用方法。#includestdio.h#defineN5structstudintnumcharname20floatscorestructstudsNvoidmain()intifor(i=0iNi+)printf(inputnumber:)scanf(%d,&si.num)printf(inputname:)scanf(%s,)printf(inputscore:)scanf(%f,&si.score)for(i=0isalary=1000printf(%s%s%dn,,w1.department,w1.salary)printf(%s%s%dn,

5、(*p).name,(*p).department,(*p).salary)printf(%s%s%dn,pname,pdepartment,psalary)4.编写 input()和 output()函数,输入、输出 2 个学生的数据记录。上机运行以下程序。 分析:体会结构化程序设计思想的应用。#includestdio.h#defineN2structstudentcharnum6charname8intscore4stuNvoidinput()inti,jfor(i=0iNi+)printf(npleaseinput%dof%dn,i+1,N)printf(num:)scanf(%s,s

6、tui.num)printf(name:)scanf(%s,)for(j=0j3j+)printf(score%d.,j+1)scanf(%d,&stui.scorej)printf(n)voidprint(structstudentstuN)inti,jprintf(nNo.NameSco1Sco2Sco3n)for(i=0iNi+)printf(%6s%10s,stui.num,)for(j=0j3j+)printf(%8d,stui.scorej)printf(n)voidmain()input()print(stu)5.利用结构体类型,编程计算一名同

7、学 5 门课的平均分。上机运行以下程序。 分析:计算一名同学 5 门课的平均分,是对结构体成员变量的算术运算。#includestdio.hvoidmain()structstuscorechar name20float score5float averagestruct stuscorex=WangWei,90.5,85,70,90,98.5intifloatsum=0for(i=0i5i+)sum+=x.scoreix.average=sum/5printf(Theaveragescoreof%sis%4.1fn,,x.average)6.用结构体型数组初始化建立一工资登记表。

8、然后键入其中一人的姓名, 查询其工资情况。 上机运行以下程序。 分析:查询工资情况,是对结构体成员的查询操作。#includestdio.h#includestring.hvoidmain()structstaffcharname20chardepartment20intsalaryintcostworker3=XuGuo,part1,800,200,WuXia,part2,1000,300,LiJun,part3,1200,350,inticharxname20printf(nInputtheworkersname:)scanf(%s,xname)for(i=0i3i+)if(strcmp(

9、xname,)=0)printf(n salary:%6d,workeri.salary)printf(n cost:%6d,workeri.cost)printf(n payed:%6dn,workeri.salaryworkeri.cost)7.用子函数求出 worker 数组中每个工人的实发工资。上机运行以下程序。 分析:求出每个工人的实发工资,是对结构体成员变量的算术运算。#includestdio.h#defineNUM3structstaffcharname20chardepartment20intsalaryintcostintrealsumvoidmai

10、n()voidgetreal(structstaff*p,intn)structstaffworkerNUM,*pmintiprintf(Input%dworkersname departmentsalarycost:n,NUM)for(i=0,pm=workeriname,pmdepartment,&pmsalary,&pmcost)pm=workergetreal(pm,NUM)for(pm=workerpmname,pmdepartment,pmrealsum)voidgetreal(structstaff*p,intn)intifor(i=0irealsum=psalarypcost8.输入并运行下面程序,观察结果,分析联合变量的存储特点。上机运行以下程序。#includestdio.hvoidmain()unioninti2longkcharc4t,*s=&tsi0=0x39 /* 按照整型成员的类型赋值 */si1=0x38printf(%xn,sk) /* 按照长整型成员的类型使用储存内容 */printf(%cn,sc0) /* 按照字符型成员的类型使用储存内容 */9.今天星期三,再过10天是星期几?上机运行以下程序。 分析:枚举类型变量与整型变量是两种不同数据类型,注意它们之间的数据类型转换。#includ

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论