《C语言程序设计》-综合性实验实验报告(参考格式)

合集下载

《C语言程序设计》实验报告(实验1-12)

《C语言程序设计》实验报告(实验1-12)

《C语⾔程序设计》实验报告(实验1-12)《C语⾔程序设计》实验报告2013~2014学年第⼆学期班级姓名学号指导教师实验⼀实验项⽬名称:C程序的运⾏环境和运⾏C程序的⽅法所使⽤的⼯具软件及环境:Visual C++ 6.0⼀、实验⽬的:1.了解在Visual C++ 6.0环境下如何编辑、编译、连接和运⾏⼀个C程序;2.通过运⾏简单的C程序,初步了解C源程序的特点。

⼆、预习内容:教材《C语⾔程序设计教程》第1章。

三、实验内容:1. 在Visual C++ 6.0环境下输⼊并运⾏下⾯的程序:#includeint main( ){printf("This is a C program.\n");return 0;}2. 在Visual C++ 6.0环境下输⼊下⾯的程序(有语法错误),编译、连接、调试该程序,直⾄程序⽆语法错误,然后运⾏程序,并观察分析运⾏结果。

#includeint main( ){int a,b,suma=3;b=4;sun=a+b;print(“%d+%d=%d\n”,a,b,sum);return 0;}四、实验结果:1. 运⾏结果(或截图):This is a C program.Press any key to continue2. (1) 改正后的源程序:#includeint main( ){int a,b,sum;a=3;b=4;sum=a+b;printf("%d+%d=%d\n",a,b,sum);return 0;}(2) 运⾏结果(或截图):3+4=7五、思考题:1. ⼀个C程序上机的步骤有哪些?答:上级输⼊与编辑源程序—对原程序进⾏编译–与库函数链接–运⾏可执⾏的⽬标程序。

2. 组成C程序的基本单位是函数,⼀个函数包括哪⼏个部分?答:⼀个函数包括两部分:分别为函数头或函数⾸部和函数体。

成绩指导教师签名实验⼆实验项⽬名称:数据类型、运算符和表达式所使⽤的⼯具软件及环境:Visual C++ 6.0⼀、实验⽬的:1.掌握整型、实型与字符型这三种基本类型的概念;2.掌握常量及变量的使⽤⽅法;3. 掌握基本算术运算符及其表达式的使⽤⽅法;4. 掌握++、--运算符、赋值运算符及其表达式的使⽤⽅法。

《C语言程序设计实验》实验报告.

《C语言程序设计实验》实验报告.

《C语言程序设计实验》实验报告
实验一熟悉基本操作
班级:________________
学号:________________
姓名:________________
日期:________________
台州学院数信学院计算机系制作
一、实验目的和要求
熟悉VC 集成环境,通过运行几个简单的C程序来掌握VC的基本操作。

二、实验指导
1、复习课本第一章和浏览上课讲解内容,尽量读懂程序例1.1、例1.2和例1.3;
2、通过上课教师讲解和课外查阅上课讲解文档,了解使用VC6.0编程的操作步骤;
3、上机操作,建立存放程序的文件夹,启动VC6.0,建立工程和源文件,输入程序,对程序进行编译、运行、查看运行结果;
4、通过三个例子的输入运行,掌握VC的基本操作,同时对C程序有个初步的了解;
5、完成实验报告。

三、实验过程
1、阅读三个实验例程,初步理解程序后,上机运行调试:
四、思考
1、实验心得。

选择性地回答下面的问题:你在预习、复习和平时练习时花了多少时间?遇到了哪些难题?你是怎么克服的?你对你的进步的评价?你的其他感想有哪些?
答:。

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

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

C语⾔程序设计实验实验报告《C语⾔程序设计实验》实验报告实验九⽂件编程(⼀)班级:_07某某专业1班_学号:______姓名:___实验样例_____⽇期:___2008.6.10_____台州学院数信学院计算机系制作⼀、实验⽬的和要求综合使⽤基本结构、基本算法、函数、指针、结构体、链表等知识设计程序。

⼆、实验指导1、注意:本次实验为综合性实验,需要综合本课程以前所学内容,完成编制⼀个⼩型应⽤程序。

需要复习课本以前所学内容,浏览上课讲解的相关内容。

2、实验时间安排:准备实验⽅案,上课时上机编程,课余完成整个设计并完成实验报告。

3、实验具体要求:以⼀张假想的学⽣期中成绩表为实验对象,编制⼀个⼩型应⽤程序,可以考虑实现以下功能:(1)成绩修改;(2)成绩查询;(3)成绩统计;(4)成绩输⼊。

也可以实现其他⾃定义的功能。

界⾯采⽤简易菜单形式,可以分级显⽰。

实验需要进⾏以下步骤:需求分析、程序设计、程序调试、程序运⾏,并对程序运⾏效果进⾏分析,提出改进⽅案。

初步锻炼学⽣的程序设计能⼒、程序调试能⼒、对实验结果进⾏综合分析的能⼒。

4、实验成绩评价标准:参见成绩评定表。

四、实验报告内容(参见样本,请另附页)实验报告必须包含以下内容:1、对你设计的程序功能进⾏的较详细描述。

2、画出程序测试⽤的学⽣期中成绩表(包含:表头、若⼲⾏包含学⽣成绩等信息的数据⾏)。

3、给出程序清单(包含结构体的声明与定义、所有的函数声明、所有的全局变量、所有的函数定义、必要的注释。

注:如果程序过长,可以不⽤给出所有的函数定义,只给出主要的函数定义)。

4、运⾏结果(写出运⾏时的主界⾯、各模块的实现界⾯等,不作具体要求,但要求能清晰地体现出程序的功能)。

5、对你的设计作⼀个评价(可以包含你所花的时间、精⼒,你遇到的困难及如何解决的,你的设计过程所遇到的其他事情;必须包含你对设计的客观评价,以及提出的改进⽅案)。

1、程序功能描述:(略)2、成绩表样表:3、程序清单:(红⾊部分是和上⼀个程序的区别之处)#includestruct student /*期中成绩表的结构声明*/{int num;char name[20];char sex;float YuWen;float ShuXue;float YingYu;float totle;};#define MAX_STU_NUMBER 100 /*宏定义最⼤学⽣数为100⼈*/struct student Stu[MAX_STU_NUMBER]; /*⼀次性定义100个学⽣的存储空间*/int STU_NUMBER; /*存放学⽣数*/char *FileName = "chengji.txt"; /*成绩存放的⽂件*//*所有的函数声明:*/int SelectMainMenu(); /*显⽰并选择主菜单。

c语言程序设计实验报告

c语言程序设计实验报告

c语言程序设计实验报告一、实验目的本次实验旨在通过设计C语言程序来加深对于C语言的理解和掌握,同时也可以掌握一些实用的编程技巧和方法。

通过编写程序实现对于输入输出的处理、循环语句和条件语句的运用以及函数调用等内容的练习。

二、实验内容本次实验涉及以下三个方面的内容:1. 程序的的输入输出我们通过编写程序来实现一个简单的输入输出功能,即用户输入任意一个整数,程序输出该整数的两倍。

2. 循环语句和条件语句的运用我们通过编写程序来实现以下两个功能:(1)输入一个正整数,计算该数的阶乘。

(2)输入一个正整数n,输出n行的杨辉三角形。

3. 函数调用我们通过编写程序来实现以下两个功能:(1)输入三个整数a、b和c,求其中最大的一个数。

(2)输入一个字符串,程序输出该字符串中每个字母在字符串中出现的次数。

三、实验过程1. 程序的输入输出我们通过使用scanf函数来实现输入一个整数的功能:int n;scanf("%d", &n);然后我们可以通过printf函数来输出该整数的两倍的值:printf("%d", n*2);2. 循环语句和条件语句的运用(1)计算阶乘我们可以利用for循环语句来实现计算阶乘的功能:long long ans = 1;for(int i = 1; i <= n; i ++){ans *= i;}printf("%lld", ans);(2)输出杨辉三角我们可以利用嵌套的for循环语句来实现输出杨辉三角的功能:for(int i = 1; i <= n; i ++){for(int j = 1; j <= i; j ++){if(j == 1 || j == i)printf("1 ");elseprintf("%d ", a[i-2][j-2]+a[i-2][j-1]);}printf("\n");}3. 函数调用(1)求最大值我们可以利用函数调用来实现求最大值的功能:int max(int a, int b, int c){int temp = a > b ? a : b;return temp > c ? temp : c;}然后我们可以通过调用该函数来求解三个数中的最大值:int a, b, c;scanf("%d%d%d", &a, &b, &c);printf("%d", max(a, b, c));(2)计算字符次数我们可以利用一个数组来记录每个字母出现的次数,然后通过遍历输入的字符串来对应更新数组。

《C语言程序设计》实验报告

《C语言程序设计》实验报告

(此文档为word格式,下载后您可任意编辑修改!)《C语言程序设计》实验报告2012~2013学年第二学期班级姓名学号指导教师实验一实验项目名称:C程序的运行环境和运行C程序的方法所使用的工具软件及环境:Visual C++6.0一、实验目的:1.了解在Visual C++6.0环境下如何编辑、编译、连接和运行一个C程序;2.通过运行简单的C程序,初步了解C源程序的特点。

二、预习内容:教材《C语言程序设计教程》第1章。

三、实验内容:1.在Visual C++6.0环境下输入并运行下面的程序:#include<stdio.(){printf("This is a C program.\n");return0;}2.在Visual C++6.0环境下输入下面的程序(有语法错误),编译、连接、调试该程序,直至程序无语法错误,然后运行程序,并观察分析运行结果。

#include<stdio.(){int a,b,suma=3;b=4;sun=a+b;print("%d+%d=%d\n",a,b,sum);return0;}四、实验结果:1.运行结果(或截图):2.(1)改正后的源程序:(2)运行结果(或截图):五、思考题:1.一个C程序上机的步骤有哪些?答:2.组成C程序的基本单位是函数,一个函数包括哪几个部分?答:成绩指导教师签名实验二实验项目名称:数据类型、运算符和表达式所使用的工具软件及环境:Visual C++6.0一、实验目的:1.掌握整型、实型与字符型这三种基本类型的概念;2.掌握常量及变量的使用方法;3.掌握基本算术运算符及其表达式的使用方法;4.掌握++、--运算符、赋值运算符及其表达式的使用方法。

二、预习内容:教材《C语言程序设计教程》第2章。

三、实验内容:1.在Visual C++6.0环境下输入下面的程序(有语法错误),编译、连接、调试该程序,直至程序无语法错误。

#include<stdio.(){int2cd=3;floatπ=3.14;char for=′A′;printf("%d,%f,%c\n",2cd,π,for);return0;}2.在Visual C++6.0环境下输入并运行下面的程序,观察分析运行结果。

C语言程序设计实验报告-实验单元三综合设计

C语言程序设计实验报告-实验单元三综合设计

C语言程序设计实验报告-实验单元三综合设计《C语言程序设计》实验报告专业:班级:学号:学生姓名:实验日期:成绩:指导老师:实验单元三综合设计一、实验题目实验九文件实验十综合实验:学生成绩管理系统二、实验目的进一步加深、巩固所学课程(《C语言程序设计》)的基本理论知识,理论联系实际,培养自己综合分析问题和解决问题的能力。

掌握运用C语言独立编写、调试应用程序和进行其它相关设计的技能。

三、实验内容假设收集到了一个班学生的所有成绩信息(不低于20人),要求用C语言编写一个简单的成绩管理系统,对学生个人信息进行管理,可进行录入、浏览、查询、修改、排序、统计的功能。

信息内容包含:(1)学生的学号(2)学生的姓名(3)学生的成绩(语文、数学、英语、计算机,课程平均分)。

具体要求实现如下功能:1.录入、浏览功能:按学号顺序录入学生信息(学号、姓名、语文、数学、英语、计算机),显示系统中的所有信息。

2.查询功能:查询学号尾号为09的学生的所有信息并显示。

3.修改功能:修改学号尾号为12的学生的成绩信息(任意两项即可),并显示该学生的全部信息。

4.排序功能:按语文成绩的顺序,由高到低显示所有学生的信息。

5.统计功能:统计学生的平均成绩,并输出(学号,姓名,平均成绩)。

四、实验环境1. 硬件环境:当前所有电脑硬件环境均支持。

2. 软件环境:Visual C++ 6.0五、实验代码及结果(程序运行结果请以截屏图给出)源程序代码:实验结果:六、实验心得(请对每个实验题目编程及调试运行中遇到的问题及解决方案进行简单总结)。

C语言程序设计实验报告

C语言程序设计实验报告

C语言程序设计实验报告实验报告:C语言程序设计一、实验目的本实验旨在通过学习C语言程序设计,培养学生的编程思维和解决问题的能力,掌握C语言的基本语法和常见的数据结构,为以后的编程工作打下坚实的基础。

二、实验内容1.C语言基础知识的学习和理解2.C语言程序设计的实践3.编写简单的C语言程序,如输入输出、循环、条件判断等基本操作4.使用C语言实现常见的数据结构,如数组、链表、栈、队列等三、实验过程1.学习C语言的基础知识,包括变量、常量、算术运算、逻辑运算、关系运算等。

2. 通过编写简单的程序来熟悉C语言的基本语法,如输出“Hello World”、计算两个数的和等。

3. 学习C语言的控制结构,如if语句、for循环、while循环等。

4.实现常见的数据结构,如数组、链表、栈、队列,并编写相应的操作函数。

5.在编写程序的过程中,加入适当的注释,提高代码的可读性和可维护性。

四、实验结果通过实验,我掌握了C语言的基本语法和常用的数据结构。

在实践过程中,我能够独立完成简单的C语言程序的编写,能够正确地使用各种控制结构来解决实际问题。

同时,我也学会了如何使用调试工具来找出程序中的错误并进行修正,提高了编程效率。

五、实验总结通过本次实验,我对C语言的程序设计有了进一步的了解和掌握。

C 语言是一门广泛应用于计算机领域的编程语言,掌握好C语言的编程技巧对于提高编程效率和代码质量非常重要。

在实验过程中,我发现编写注释对于代码的可读性和可维护性非常重要,因此在以后的编程过程中,我会养成良好的注释习惯。

同时,我还发现了一些自己在编程过程中常见的错误,如缺少分号、拼写错误等,以后会更加谨慎地避免这些错误的发生。

此外,我还会继续深入学习C语言的高级特性,如指针和动态内存分配等,不断提升自己的编程水平。

通过本次实验,我还学会了如何利用互联网资源解决编程问题,如查阅帮助文档、相关问题的解决方案等。

这为我今后在编程过程中遇到问题时寻找解决办法提供了极大的便利。

C语言程序设计实践报告模板

C语言程序设计实践报告模板

C语言程序设计实践报告模板一、实验目的本次实验旨在通过设计和实现一个C语言程序,提高学生对C语言的运用能力。

通过实践,学生能够熟悉C语言的基本语法和常用库函数,并能够独立设计和实现简单的程序。

二、实验内容本次实验的内容是设计并实现一个简单的学生成绩管理系统。

程序能够实现学生信息的录入、查询、修改和删除等功能,并能够根据学生的成绩进行排名和统计。

具体实现的功能包括:1.学生信息的录入:包括学号、姓名、性别、年龄、成绩等基本信息。

2.学生信息的查询:可以根据学号或姓名查找学生的基本信息。

3.学生信息的修改:根据学号或姓名可以修改学生的基本信息。

4.学生信息的删除:根据学号或姓名可以删除学生的基本信息。

5.学生成绩的排名和统计:根据学生成绩进行排名,并统计平均成绩、最高成绩和最低成绩等。

三、实验过程1.设计数据结构:根据实验要求,设计一个学生的数据结构,包含学号、姓名、性别、年龄和成绩等信息。

2.实现基本功能:首先实现学生信息的录入、查询、修改和删除等基本功能,并进行一些简单的测试,确保功能的正确性。

3.实现成绩排名和统计:根据学生成绩进行排名,并计算平均成绩、最高成绩和最低成绩等统计数据。

4.进行完整测试:对整个程序进行完整的测试,确保程序能够正常工作,并处理各种异常情况。

5.优化改进:根据实验过程中的问题和反馈,对程序进行优化和改进,提高程序的性能和稳定性。

四、实验结果与分析经过多次测试,实验结果显示该学生成绩管理系统能够正常工作,各项功能都能够按照预期进行。

学生信息的录入、查询、修改和删除功能都能够正确执行,并且能够正确计算学生成绩的排名和统计数据。

程序的运行时间和内存占用都在合理范围内。

五、实验总结与心得体会通过本次实验,我对C语言的运用能力有了一定的提高。

在实验过程中,我学会了如何设计和实现一个简单的C语言程序,并能够熟练使用C语言的基本语法和常用库函数。

通过反复实践,我对C语言的数据结构和程序逻辑的设计也有了更深的理解。

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

综合性实验报告课程名称:《C语言程序设计》实验题目:班级成绩管理系统的设计与实现姓名学号:(组长)系别:专业班级:指导教师:实验日期:2012年06月01日—06月20日一、实验目的和要求实验目的1、利用所学的三种程序基本结构以及数组、用户自定义函数进行一个小型程序的设计,进一步理解和掌握C语言的语法以及三种基本程序结构的综合应用。

2、通过程序中涉及到的排序、查找、求和等操作加深对算法、程序设计思路、常用程序设计技巧的理解与掌握,逐步培养学生的程序开发能力。

实验要求1、根据实验内容,认真编写源程序代码、上机调试程序,书写实验报告。

2、分小组协作实验时,要写明每一位学生负责的实验内容。

二、设计要求(一)学生信息和程序功能给定的原始数据和程序应实现的功能是该C程序开发的依据,此实验只处理一个班级学生信息,最多学生数为120人。

1、学生信息和数据类型最多学生人数和最多课程数定义为全局符号常量:#define Mmax 120#define Nmax 3(1)学生信息学生信息包含:学号,姓名,三门课(语文,数学,英语)成绩和总分。

(2)数据类型学号、姓名、课程三个信息为char型,课程分数和总分为float型,其余为int型。

其中,假设学号有10位数字字符(注意此时要求存储空间要11个字节),例如2011023102表示入学年份为2011年,023是专业编码,102是学生在班级中的排号。

2、测试数据测试数据在定义数组时以初值形式提供,其中学生总成绩通过程序计算。

学号姓名语文数学英语2011023001 Zhang 73.5 85 672011023002 Li 83 91.5 872011023003 Cheng 65 82 782011023004 Wang 71 83 80.5 但是,在用单链表处理学生信息时,要求直接从键盘上接收数据。

3、程序功能(1)学生信息(学号、姓名、成绩等)的显示(数据结构要求用数组);(2)按姓名查找学生(数据结构要求用数组);(3)计算各门课程的平均分(数据结构要求用数组);(4)计算学生总成绩,并按总成绩进行排序(数据结构要求用数组);(5)按总成绩降序显示学生信息;(6)学生记录的插入;(7)用单链表(结构体)处理班级学生信息(学号、姓名、成绩等),包括学生信息输入(添加)、学生信息浏览、学生总成绩计算和将学生信息存入文件。

其中第(7)为选作内容,如果学生能够做出来,实验成绩应给予加分奖励。

(二)程序总体设计1、数据结构依据给定的学生信息和数据类型,定义相应的数组和结构体类型分别如下:课程名称定义为全局数组:char course[Nmax][50] = {"Chinese","Mathematic","English"};学生结构体类型如下:struct student{char code[11]; /* 学号*/char name[20]; /* 姓名*/float score[Nmax]; /* 各课程成绩*/float total; /* 总分*/struct student *next;};以下的数组或变量均为局部类型的(可放在main函数中加以定义):sno数组存储学生学号,可事先加入初始数据若干条:char sno[Mmax][11]={"2011023001","2011023002","2011023003","2011023004"};name数组存储学生姓名,可事先加入初始数据若干条; namesearch数组用于存储要查找的学生姓名:char name[Mmax][20]={"Zhang","Li","Cheng","Wang"}, namesearch[20];score数组存储学生成绩;假设至多有M名学生,N门课程,可事先加入初始数据若干条; avecourse数组存储每门课程的平均分,实际计算时可事先初始化:float score[Mmax][Nmax]={ {73.5,85,67}, {83,91.5,87},{65, 82, 78},{71,83,80.5}};float avecourse[Nmax]={0};tscore数组存储每位学生成绩的总分:float tscore[Mmax]={0};index数组为排名索引(约定为降序),存储每位学生总成绩在tscore 数组中的名次(即index[0]存放了总分第一的学生在tscore数组中的下标,index[1]存放了总分第二的学生在tscore数组中的下标,依次类推):int index[Mmax];M为实际学生数; N为实际课程数; M、N的值要根据插入或删除学生记录情况加以适时修改:int M=4, N=3;2、模块划分依据程序的数据结构和功能,遵照“自顶向下”原则,采用基于函数的逐步求精法,描述该程序的层次结构。

该程序可按给定的程序功能直接描述模块层次结构。

该程序要求保留一种排序状态:按总分排序。

图1 模块层次结构在C语言中,模块用函数实现,函数原型清单如下(注意:以下各函数原型中很多地方用到了指向一维数组的指针变量或指向二维数组的指针变量,也可以将之对应的定义为形参数组的形式进行处理):1-1 计算所有课程的平均分void averagemark(float (*pscore)[Nmax], float *pavecourse, int m, int n)1-2 计算每位学生所修课程总分void totalmark(float (*pscore)[Nmax], float *ptscore, int m, int n)1-3 按姓名查找学生记录int retrievebyn(char (*pname)[20], char *pnamesearch, int m)1-4 浏览全部学生信息void displaystu(char (*psno)[11], char (*pname)[20], float (*pscore)[Nmax], float *ptscore, int m, int n)1-5 按总分降序浏览全部学生信息void displaystusort(char (*psno)[11], char (*pname)[20], float (*pscore)[Nmax], float*ptscore, int *pindex, int m, int n)1-6 添加新的学生记录void insert(char (*psno)[11], char (*pname)[20], float (*pscore)[Nmax], float *ptscore, int *pm, int n)1-7 用单链表进行班级成绩管理void linkprocess()2-1 按总分递减排序void sortscore(float *ptscore, int *pindex, int m)2-2 输入和添加学生信息struct student *appendstuinfo(struct student *head)2-3 浏览学生信息void displaylist(struct student *head)2-4 保存学生信息void savestuinfo(struct student *head)模块层次结构只是确定模块之间的关系和函数原型,不是程序的执行步骤。

程序总体框架是该程序的总体流程图。

该程序不是顺序执行全部功能,而是在某一时刻有选择地执行一种或多种功能。

因此,选用菜单方式是较佳的方案。

三、小组各成员分工协作情况说明成员:负责编写的函数是:成员:负责编写的函数是:成员:负责编写的函数是:四、编程体会(或是对实验系统做进一步改进的思考)五、程序代码以下给出了程序的基本框架,请完成函数的功能及函数调用等程序代码的编写工作。

#include <stdlib.h>#include <string.h>#include <malloc.h>#include <stdio.h>#define Mmax 120 /*记录最大学生数*/#define Nmax 3 /*记录学生选课最大课程数目*/char course[Nmax][50] = {"Chinese","Mathematic","English"};//以全局变量的形式给出各门课程的名称/*当使用单链表进行班级成绩管理时,使用如下的结构体类型*/struct student{char code[11];char name[20]; /* 姓名*/float score[Nmax]; /* 各课程成绩*/float total; /* 总分*/struct student *next;};/*以下是各函数的声明,其中下面的7个函数和main函数是首先要实现的*/void averagemark(float (*pscore)[Nmax], float *pavecourse, int m, int n);void totalmark(float (*pscore)[Nmax], float *ptscore, int m, int n);int retrievebyn(char (*pname)[20], char *pnamesearch, int m);void displaystu(char (*psno)[11], char (*pname)[20], float (*pscore)[Nmax], float *ptscore, int m, int n);void displaystusort(char (*psno)[11], char (*pname)[20], float (*pscore)[Nmax], float *ptscore, int *pindex, int m, int n); void insert(char (*psno)[11], char (*pname)[20], float (*pscore)[Nmax], float *ptscore, int *pm, int n);void sortscore(float *ptscore, int *pindex, int m);/*以下各函数是用单链表进行班级成绩管理时,需要用到函数。

相关文档
最新文档