C语言结构体实验报告

合集下载

C语言实验报告总结(共6篇)

C语言实验报告总结(共6篇)

c语言上机实验心得在科技高度发展的今天,计算机在人们之中的作用越来越突出。

而c语言作为一种计算机的语言,学习它将有助于我们更好的了解计算机,与计算机进行交流,因此,我们一定要学好c语言,这对我们以后的发展是十分重要的。

说到这,上机实验当然就是一个必不可少的环节了,c语言灵活、简洁的特点,只有通过编程实践才能真正了解,真正说懂。

为了更好地学习语法规定、掌握程序设计方法、提高程序开发能力,我们必须实际上机、编写程序。

通过实验我也发现了自己不少的问题,这都是只看书上的程序而没有自己亲身上机编写程序而无法得知的,假如我们只因看熟书上的程序就以为自己已经掌握了c语言那就大错特错了。

我主要存在以下的这些缺点:1、学习耐心与细心不足,如scanf(“%d”,&n);中的“&”有时候会忘了。

而在最后输出时又错写成printf(“%d”,&n);从而错误得输出了地址而不是我原来想要的答案。

2、编程思想不够发散,看着题目有时想不出解答的方法,更不用说编写程序来解题了。

3、4、基本功不够,有些函数的表达不太精通,需要看书来核实,以致耗时较多。

知识不够广,有些内容没有学好,不能要用到时及时反映出来,认识程度不够深刻。

5、6、有时候不够精简,有一点用处不大或者说没有也可以的文字存在。

英语水平较差,对错误的地方虽然电脑有说,但由于是英文,理解上还是存在一点问题。

为了能更好地学好c语言,在今后学习中我要更多的动脑,综合运用所学,多看相关东西,多上机练习,提高电脑水平,增强自学能力,把已会的东西掌握好。

实验中我深刻意识到完成程序的编写,决不意味着万事大吉。

认为万无一失的程序,实际上机运行时可能会出现很多意想不到的问题。

有时编译程序检测出一大堆错误,有时程序能够顺利运行,但是运行结果并不是你预期中想要的。

因为开发环境所提供的编译系统无法发现程序逻辑错误,或者是你原来所设计时的理论错误,这就只能靠自己的上机经验来分析判断错误的所在了。

结构体编程实验报告

结构体编程实验报告

一、实验目的1. 理解结构体的概念和作用。

2. 掌握结构体的定义、声明和使用方法。

3. 学会通过结构体实现复杂数据的组织和管理。

4. 提高编程实践能力。

二、实验环境1. 编程语言:C/C++2. 操作系统:Windows/Linux3. 编译器:GCC三、实验内容1. 定义一个学生结构体,包含姓名、年龄、性别、学号、成绩等信息。

2. 实现一个函数,用于创建学生结构体实例。

3. 实现一个函数,用于打印学生信息。

4. 实现一个函数,用于计算学生的平均成绩。

5. 实现一个函数,用于查找特定学号的学生信息。

四、实验步骤1. 定义学生结构体```c#include <stdio.h>typedef struct {char name[50];int age;char gender;int id;float score;} Student;```2. 创建学生结构体实例的函数```cStudent createStudent(char name, int age, char gender, int id, float score) {Student stu; = name;stu.age = age;stu.gender = gender;stu.id = id;stu.score = score;return stu;}```3. 打印学生信息的函数```cvoid printStudentInfo(Student stu) {printf("Name: %s\n", );printf("Age: %d\n", stu.age);printf("Gender: %c\n", stu.gender);printf("ID: %d\n", stu.id);printf("Score: %.2f\n", stu.score);}```4. 计算学生平均成绩的函数```cfloat calculateAverageScore(Student stu, int n) {float sum = 0;for (int i = 0; i < n; i++) {sum += stu[i].score;}return sum / n;}```5. 查找特定学号的学生信息的函数```cStudent findStudentById(Student stu, int n, int id) { for (int i = 0; i < n; i++) {if (stu[i].id == id) {return &stu[i];}}return NULL;}```五、实验结果1. 创建一个学生结构体实例```cStudent stu1 = createStudent("Alice", 20, 'F', 1001, 85.5); ```2. 打印学生信息```cprintStudentInfo(stu1);```输出结果:```Name: AliceAge: 20Gender: FID: 1001Score: 85.50```3. 计算平均成绩```cStudent stu2 = createStudent("Bob", 21, 'M', 1002, 90.0); Student stu3 = createStudent("Charlie", 22, 'M', 1003, 92.0); float averageScore = calculateAverageScore(&stu1, 3);printf("Average Score: %.2f\n", averageScore);```输出结果:```Average Score: 88.50```4. 查找特定学号的学生信息```cStudent stuFound = findStudentById(&stu1, 3, 1002); if (stuFound != NULL) {printStudentInfo(stuFound);} else {printf("Student with ID 1002 not found.\n");}```输出结果:```Name: BobAge: 21Gender: MID: 1002Score: 90.00```六、实验总结通过本次实验,我们学习了结构体的概念和作用,掌握了结构体的定义、声明和使用方法。

c语言结构的实验报告

c语言结构的实验报告

c语言结构的实验报告C语言结构的实验报告引言:C语言是一种广泛应用于软件开发和嵌入式系统的高级编程语言。

其简洁、高效和灵活的特性使其成为许多程序员的首选。

本实验报告将介绍C语言结构的相关概念和实验结果,旨在帮助读者更好地理解和运用C语言。

一、基本概念1.1 结构的定义在C语言中,结构是一种自定义的数据类型,可以将不同类型的数据组合在一起,形成一个新的数据类型。

结构由多个成员组成,每个成员可以是不同的数据类型,如整型、字符型、浮点型等。

1.2 结构的声明在使用结构之前,需要先声明结构的类型。

声明结构的语法格式为:struct 结构名 {成员1; 成员2; ...};通过这种方式,我们可以定义一个结构类型,以便在程序中使用。

1.3 结构的访问通过结构名和成员运算符(.)可以访问结构的各个成员。

例如,如果有一个名为student的结构,其中包含学生的姓名和年龄两个成员,可以使用和student.age来访问这两个成员。

二、实验过程2.1 定义结构类型在本次实验中,我们以学生信息为例,定义了一个名为Student的结构类型,其中包含姓名(name)、年龄(age)和成绩(score)三个成员。

2.2 输入学生信息通过使用scanf函数,我们可以在程序中输入学生的姓名、年龄和成绩,并将其保存在定义的结构类型变量中。

2.3 输出学生信息使用printf函数,我们可以将学生的姓名、年龄和成绩从结构类型变量中提取出来,并在屏幕上显示出来。

2.4 结构的嵌套C语言中的结构还支持嵌套,即在一个结构中定义另一个结构。

例如,我们可以在Student结构中定义一个名为Address的结构,用于存储学生的地址信息。

三、实验结果与分析通过实验,我们可以发现结构在C语言中的重要性和灵活性。

通过定义结构类型,我们可以将不同类型的数据组合在一起,形成一个新的数据类型,更好地组织和管理数据。

结构的嵌套使得数据的层次结构更加清晰,提高了程序的可读性和可维护性。

c语言实验报告5篇

c语言实验报告5篇

c语言实验报告c语言实验报告5篇随着社会一步步向前发展,我们使用报告的情况越来越多,我们在写报告的时候要注意涵盖报告的基本要素。

其实写报告并没有想象中那么难,以下是小编收集整理的c语言实验报告,欢迎阅读与收藏。

c语言实验报告1学号:__________ 姓名:__________ 班级:__________ 日期:__________指导教师:__________ 成绩:__________实验六综合实验一、实验目的1、掌握C语言中的变量、数组、函数、指针、结构体等主要知识点。

2、掌握C程序的结构化程序设计方法,能使用C语言开发简单的应用程序。

3、掌握C程序的运行、调试方法等。

二、实验内容编写一个学生信息排序程序。

要求:1、程序运行时可输入n个学生的信息和成绩(n预先定义)。

2、学生信息包括:学号、英文姓名、年龄;学生成绩包括:语文、数学、计算机。

3、给出一个排序选择列表,能够按照上述所列信息(学号、姓名、年龄、语文、数学、计算机)中的至少一个字段进行排序,并显示其结果。

1、使用函数方法定义各个模块。

三、实验步骤与过程物理实验报告·化学实验报告·生物实验报告·实验报告格式·实验报告模板四、程序调试记录c语言实验报告2第一章基础掌握1.1 实验目的掌握C程序设计编程环境Visual C++,掌握运行一个C程序的基本步骤,包括编辑、编译、链接和运行。

(]1.2 实验要求在报告中记录建立、保存C程序实习过程。

1.3 实验基本内容编写程序,在屏幕上显示一个短句“Hello World”(1)程序:1)编译如下程序:#includeVoid main(){printf (“Hello World! ”);}2)链接。

执行Build-命令。

3)运行。

执行Build Execute 命令。

显示结果。

4)关闭程序工作区。

(2)运行结果:输出结果:Hello World!总结:掌握C语言程序设计的基本框架,能够编写简单的程序。

c语言结构体实验报告

c语言结构体实验报告

实验目的(1) 掌握结构体的定义和使用方式;(2) 掌握结构体数组的使用方法;(3) 理解结构体指针作为函数参数的方法。

实验任务(1)编写程序:定义一个结构类型,可以存储一个学生的姓名、数学和计算机两门课的成绩,输入一个学生的姓名和两门课的成绩到结构体变量中,然后计算并输出其平均成绩及姓名。

(2)编写程序:定义一个结构类型, 可以存储一个学生的平时、实习、测验、期末成绩和总评成绩。

1)编程完成输入4个学生的平时、实习、测验和期末成绩。

封装成函数。

2)计算这4个学生的总评成绩,封装成函数。

其中平时、实习、测验和期末分别占10%、20%、20%、50%。

3)找到总评成绩最高的学生,封装成函数。

4)输出总评成绩最高的学生的成绩信息(平时、实习、测验、期末成绩和总评成绩)。

5)要求用结构体数组流程图见白纸源程序1.#include<stdio.h>struct student{int name[20];float a;float b;};int main(){struct student stu1;printf("请输入学生姓名、数学成绩、计算机成绩:\n");scanf("%s%f%f",&, &stu1.a, &stu1.b);float sum;sum = (stu1.a + stu1.b) / 2;printf("%s平均成绩为%f", , sum);return 0;}2.#include<stdio.h>struct student{float a;float b;float c;float d;float average;};int max(int a[4]){int i,t,m=a[0],max=0;for (i = 0; i < 4; i++){if (m < a[i]){a[i] = t;a[i] = m;m = t;max = i;}}return max;}int main(){int sum[4];int m,n;struct student stu[4];printf("请输入4个学生的平时、实习、测验、期末\n");int i;for (i = 0; i < 4; i++){scanf("%f%f%f%f", &stu[i].a, &stu[i].b, &stu[i].c, &stu[i].d);sum[i] = stu[i].average = stu[i].a*0.1 + stu[i].b*0.2 + stu[i].c*0.2 + stu[i].d*0.3;}m = max(sum);n = m + 1;printf("成绩最高的第%d个学生\n平时成绩为%f\n实习趁机为%f\n测验成绩为%f\n期末成绩为%f\n总评成绩为%f", n, stu[m].a, stu[m].b, stu[m].c, stu[m].d, stu[m].average);return 0;}运行结果实验总结基本掌握结构体的定义和使用方式;基本掌握结构体数组的使用方法;能理解结构体指针作为函数参数的方法。

函数结构体实验报告

函数结构体实验报告

一、实验目的1. 理解结构体的概念及其在C语言中的应用。

2. 掌握结构体函数的设计与实现。

3. 通过实例加深对结构体在函数中的应用理解。

二、实验环境1. 操作系统:Windows 102. 编译器:Visual Studio 20193. 编程语言:C语言三、实验内容1. 结构体定义2. 结构体函数设计3. 结构体函数调用4. 结构体数组应用四、实验步骤1. 结构体定义```c#include <stdio.h>// 定义一个学生结构体struct Student {char name[50]; // 学生姓名int age; // 学生年龄float score; // 学生成绩};```2. 结构体函数设计```c// 函数声明void printStudent(struct Student stu); struct Student inputStudent();```3. 结构体函数实现```c// 打印学生信息void printStudent(struct Student stu) { printf("姓名:%s\n", );printf("年龄:%d\n", stu.age);printf("成绩:%.2f\n", stu.score); }// 输入学生信息struct Student inputStudent() {struct Student stu;printf("请输入学生姓名:");scanf("%s", );printf("请输入学生年龄:");scanf("%d", &stu.age);printf("请输入学生成绩:");scanf("%f", &stu.score); return stu;}```4. 结构体函数调用```cint main() {struct Student stu1, stu2; // 输入两个学生的信息stu1 = inputStudent();stu2 = inputStudent();// 打印两个学生的信息printStudent(stu1);printStudent(stu2);return 0;}```5. 结构体数组应用```c// 定义一个学生结构体数组struct Student stuArray[3];// 输入学生信息for (int i = 0; i < 3; i++) {stuArray[i] = inputStudent();}// 打印学生信息for (int i = 0; i < 3; i++) {printStudent(stuArray[i]);}```五、实验结果通过以上实验步骤,我们成功实现了以下功能:1. 定义了一个学生结构体,包含姓名、年龄和成绩三个字段。

c语言程序设计—结构体—实验报告

c语言程序设计—结构体—实验报告

c语言程序设计—结构体—实验报告
实验报告
一、实验背景
随着计算机科学的发展,数据的处理和存储已经发生了巨大的变化,变得更加结构化和更有效率。

考虑到这一点,结构体在计算机程序设计中尤其重要。

因此,本实验的目的是练习使用C语言编程,设计并实现相应的结构体,来实现一定的功能。

二、实验目标
设计一个结构体struct book,包含书名、作者名、出版社、价格等字段,并实现以下功能:
(1)按照书名查找图书;
(2)将书籍信息以字符串格式输出;
(3)将书籍信息保存到文件中;
三、实验内容
1. 用C语言定义结构体struct book,包含书名字段name(char类型)、作者author(char类型)、出版社publisher(char类型)、价格price(float类型)等信息。

2. 创建一个函数findBook,输入参数为书名字符串,输出参数为书籍信息struct book。

该函数实现按照书名查找图书功能,若查找成功返回书籍信息,否则返回null。

四、实验结果
经过上述步骤,已经编写了相应的C语言程序实现了按照书名查找图书、将书籍信息以字符串格式输出、将书籍信息保存到文件中、从文件中读取书籍信息等功能。

五、总结
本实验中,使用C语言实现了结构体struct book的定义及四个功能的程序,理解并大致掌握了结构体的使用,学会用程序实现数据的存取。

因此,我们可以看到,结构体的使用可以使数据的存取更加有效率和简单,对于程序设计是很重要的一个概念。

C语言实验报告9篇

C语言实验报告9篇

C语言实验报告C语言实验报告9篇随着个人素质的提升,报告的适用范围越来越广泛,我们在写报告的时候要注意语言要准确、简洁。

写起报告来就毫无头绪?以下是小编为大家整理的C语言实验报告,仅供参考,欢迎大家阅读。

C语言实验报告1一、实习目的1.掌握在集成环境中编辑、编译、连接和运行C程序的方法。

(1)运行TC(2)启动TC集成环境,输入一个源程序,编译并运行。

2.掌握单步执行、设置/去除断点,观察变量或表达式的值。

(3)在该程序中按CTRL+F7单步招待并在观察窗口中查看变量和表达式的值。

(4)设置/去除断点,继续调试。

1、熟练掌握if.switch分支语句的使用。

2、熟练掌握for.while.do.while循环语句的使用。

3、熟练掌握函数的定义、说明、参数传递及嵌套和递归调用方法。

4、熟练掌握一维数组、二维数组、字符数组的定义、说明和使用方法。

熟练掌握结构体和指针的综合应用链表的操作二、实习地点北京交通干部管理学院计算机系机房十三号.三、实习成果熟练掌握TC集成环境的使用方法。

认真编写实习报告和实习总结,描述实习操作和心得体会,总结在这次实习中的业务收获,作出自我评价。

熟练掌握并应用TC程序设计的各个知识点。

掌握结构体和指针的联合使用,学会链表的构造和常用操作方法,认真编写实习日志和实习体会。

并通过各种途径查找所需资料,拓宽视野,培养自学能力。

四、实习心得在短短一周的实习期间使我获取了不少新知识也巩固了许多老知识。

我体会到了老师和同学们的热心帮助,无论面对学习中多大的困难,同学们都会帮助你,老师也会帮助你,大家就像兄弟姐妹一样。

老师安排我们有具有的分工:首先,在计算机机房里同学们积极的对C语言进行巩固与实习,老师热心的讲解同学们提出的问题和实习过程中应该注意的事项和同学们的任何。

老师把我们分为几组,每一组十一个人,并且分配了具体的任务,在我们实习结束后每一组的同学都把自己组里的成果展示给大家一起分享,告诉大家编程的原理、方法等,使同学们既有动手能力,又能提高语言表达能力。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《高级语言程序设计》实验报告实验序号:8 实验项目名称:结构体
int i;
for(i = 0; i<= number; i++)
{
Stu[i] = (stu[i].score[0]+ stu[i].score[1]+stu[i].score[2])/3.0
}
}
③求平均分最高的学生
int averagescore(student stu[], int number)
{
int k = 0;
//查找最高平均分并记录在数组中的下标值
for( int i = 0; i<= number; i++)
{
………
}
return k; //返回最高平均分数组元素的下标
}
【测试数据】
自己设计一组测试数据。

运行结果截图:
【思考与扩展】
如果这样定义结构体
typedef struct Student
{
int num;//学号
char name[20];//姓名注意字节长度
char classname[20];//班级
float score[3];//三门课程成绩
float aver_score; //平均分
} STU,* pSTU;
说明如下三条语句的含义:
student stu1;
STU stu2;
pSTU pstu;
2.采用结构体数组编写程序,定义一个含职工姓名、工作年限、工资总额的结构体类型,初始化5名职工的信息,最后再对工作年限超过30年的职工加100元工资,然后分别输出工资变化之前和之后的所有职工的信息。

运行结果截图
3.定义一个结构体变量(包括年、月、日)。

计算某年某月某日是本年中第几天?注意闰年问题。

运行结果截图:
四、分析与讨论
对上机实践结果进行分析,上机的心得体会。

成绩
五、教师评语
签名:
日期:
附源程序清单:
1. #include<stdio.h>
struct student
{
int num;
char name[20];
char classname[20];
float score[3];
float aver_score;
}stu[5];
void input()
{
int i;
for(i=1;i<6;i++)
{ printf("第%d个同学",i);
printf("请输入学号名字班级三门课程成绩:\n");
scanf("%d %s %s %f %f %f",&stu[i].num,stu[i].name,stu[i].classname,&stu[i].score[1],&stu [i].score[2],&stu[i].score[3]);
}
};
void averagescore()
{
for(i=1;i<=5;i++)
stu[i].aver_score=((stu[i].score[1]+stu[i].score[2]+stu[i].score[3])/3);
printf("平均成绩:");
for(i=1;i<6;i++)
printf("第%d个同学的平均成绩%f:\n",i,stu[i].aver_score);
printf("\n");
};
void max()
{
int i,k=0;
float temp=stu[1].aver_score;
for(i=2;i<=5;i++)
if(stu[i].aver_score>temp) {temp=stu[i] .aver_score;k=i;};
printf("成绩最好的同学:\n");
printf("%d %s %s %4.2f %4.2f %4.2f %4.2f\n",
stu[k].num,stu[k].name,stu[k].classname,stu[k].score[1],stu[k].score[2],stu[k].score[3],stu[k].aver _score);
};
void main()
{
input();
averagescore();
max();
}
2.#include <stdio.h>
struct worker
{
char name[20];
int workyear;
float salary;
}work[5];
void input()
{
int i;
for(i=1;i<=5;i++)
{
printf("第%d个工人:",i);
printf("请输入名字工作年限工资总额:\n");
scanf("%s %d %f",&work[i].name,&work[i].workyear,&work[i].salary);
};
void main( )
{
int i;
input();
printf("初始化5名职工的信息:\n");
for(i=1;i<=5;i++)
printf("%s %d %f \n",work[i].name,work[i].workyear,work[i].salary);
for(i=1;i<=5;i++)
if(work[i].workyear>30) work[i].salary+=100;
printf("最后5名职工的信息工:\n");
for(i=1;i<=5;i++)
printf("%s %d %f \n",work[i].name,work[i].workyear,work[i].salary);
}
3.#include <stdio.h>
struct years
{
int year;
int month;
int date;
}ye;
int data[12]={31,28,31,30,31,30,31,31,30,31,30,31};
void main( )
{ int i,sum=0;
int leap=0;
printf("请输入改天的年月日:\n");
scanf("%d %d %d",&ye.year,&ye.month,&ye.date);
if(((ye.year%4)==0)&&((ye.year%100)!=0)) leap=1;
if(((ye.year%4)==0)&&((ye.year%400)==0)) leap=1;
if(leap=1) data[1]=29;
for(i=0;i<(ye.month-1);i++)
{
sum+=data[i];
}
sum+=ye.date;
printf("\nit is the %d day.\n",sum); }。

相关文档
最新文档