当前位置:文档之家› C语言程序设计实验报告——实验

C语言程序设计实验报告——实验

enum weekday day;
day=(enum weekday)((tue+10)%7);
printf("\nthe day is:%s\n", name[((int)(day))]);
}
C语言程序设计
实验目的
1.掌握结构体类型的概念和说明方法
2.掌握结构体变量的定义和引用。结构体类型变量成员的使用。
3.掌握结构体数组的定义和使用方法。
4.掌握指向结构体变量的指针变量的概念和应用。
5.掌握结构变量与指向结构的指针作为函数参数实现函数的调用。
6.掌握共用体的概念和说明方法。
7.掌握共用体变量的定义和引用。共用体类型变量成员的使用
}
6.用结构体型数组初始化建立一工资登记表。然后键入其中一人的姓名,查询其工资情况。
上机运行以下程序。
分析:查询工资情况,是对结构体成员的查询操作。
#include "stdio.h"
#include "string.h"
void main()
{
struct staff
{
char name[20];
scanf("%d",&s[i].num);
printf("input name:");
scanf("%s",s[i].name);
printf("input score:");
scanf("%f",&s[i].score);
}
for (i=0;i<N;i++)
{
printf("%d ",s[i].num);
for(j=0;j<3;j++)
{
printf("score %d.",j+1);
scanf("%d",&stu[i].score[j]);
}
printf("\n");
}
}
void print(struct student stu[N])
{
int i,j;
printf("\nNo. Name Sco1 Sco2 Sco3\n");
{
int i;
for(i=0; i<n; i++,p++)
p >realsum=p >salary p >cost;
}
8.输入并运行下面程序,观察结果,分析联合变量的存储特点。上机运行以下程序。
#include"stdio.h"
void main()
{
union
{
int i[2];
long k;
char c[4];
}
2.建立5名学生的信息表,每个学生的数据包括学号、姓名及一门课的成绩。要求从键盘
输入这5名学生的信息,并按照每一行显示一名学生信息的形式将5名学生的信息显示出
来。上机运行以下程序。
分析:每个学生的数据学号、姓名及一门课的成绩用结构体表示,5名学生的信息表
用结构体数组表示,体会结构体数组元素的引用方法。
printf("\n cost:%6d", worker[i].cost);
printf("\n payed:%6d\n",worker[i].salary worker[i].cost);
}
}
7.用子函数求出worker数组中每个工人的实发工资。上机运行以下程序。
分析:求出每个工人的实发工资,是对结构体成员变量的算术运算。
printf("%s ",s[i].name);
printf("%f\n",s[i].score);
}
}
3.显示某人工资信息的程序如下,分析显示结果。上机运行以下程序。
分析:某人工资信息可以由结构体来定义,表中的内容可以通过结构体中的成员来表
示。体会结构体成员的指针运算符引用方法。
#include"stdio.h"
struct staff worker[NUM],*pm;
int i;
printf("Input %d worker\'s name department salary cost:\n",NUM);
for(i=0,pm=worker; i<NUM; i++,pm++)
scanf("%s%s%d%d",pm >name,pm >department,&pm >salary,&pm >cost);
printf("\nInput the worker\'s name: ");
scanf("%s", xname);
for(i=0; i<3; i++)
if(strcmp(xname,worker[i].name)==0)
{
printf("\n salary:%6d", worker[i].salary);
分析:枚举类型变量与整型变量是两种不同数据类型,注意它们之间的数据类型转换。
#include"stdio.h"
void main()
{
enum weekday{sun,mon,tue,wed,thu,fri,sat};
char name[7][4]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};
盘输入数据,并显示出来。上机运行以下程序。
分析:一个学生信息表可以由结构体来定义,表中的内容可以通过结构体中的成员来
表示。体会结构体成员的点运算符引用方法。
#include"stdio.h"
void main()
{
struct st
{
int num;
int age;
char sex;
float score;
printf("input score:");
scanf("%f",&info.score);
printf("number=%d\n",info.num);
printf("age=%d\n",info.age);
printf("sex=%c\n",info.sex);
printf("score=%f\n",info.score);
}
4.编写input()和output()函数,输入、输出2个学生的数据记录。上机运行以下程序。
分析:体会结构化程序设计思想的应用。
#include "stdio.h"
#define N 2
struct student
{
char num[6];
char name[8];
int score[4];
}stu[N];
void input()
{
int i,j;
for(i=0;i<N;i++)
{
printf("\n please input %d of %d\n",i+1,N);
printf("num: ");
scanf("%s",stu[i].num);
printf("name: ");
scanf("%s",stu[i].name);
8.掌握位运算的概念和方法。
9.掌握位运算符(&,|,∧,~)的使用方法。
10.了解有关位运算的算法。
11.掌握枚举类型概念和说明方法
12.掌握枚举类型变量的定义以及枚举类型变量的使用。





















1.建立一个学生的简单信息表,其中包括学号、年龄、性别及一门课的成绩。要求从键
for(i=0;i<N;i++)
{
printf("% 6s% 10s",stu[i].num,stu[i].name);
for(j=0;j<3;j++)
printf("% 8d",stu[i].score[j]);
printf("\n");
}
}
void main()
{
input();
print(stu);
}
5.利用结构体类型,编程计算一名同学5门课的平均分。上机运行以下程序。
分析:计算一名同学5门课的平均分,是对结构体成员变量的算术运算。
#include "stdio.h"
void main()
{
struct stuscore
{
char name[20];
float score[5];
float average;
p >salary=1000;
printf("%s %s %d\n",,w1.department,w1.salary);
相关主题