C语言上级实验报告(经典3篇)
C语言上级实验报告 篇一
标题:C语言上级实验报告
在本次C语言上级实验中,我选择了一个较为复杂的题目,即实现一个简单的学生成绩管理系统。该系统可以实现学生信息的录入、查询、修改和删除等功能。
首先,我使用C语言的结构体来定义学生信息的数据结构,包括学号、姓名、性别和成绩等字段。然后,通过使用文件读写操作,将学生信息保存到磁盘文件中,以便下次使用时可以直接读取。
接下来,我实现了学生信息的录入功能。通过用户输入学生的相关信息,将其保存到内存中的数据结构中,并将其写入磁盘文件中。在录入过程中,我使用了循环和条件判断等控制结构,以确保输入的数据的合法性。
为了方便用户对学生信息进行查询,我实现了学生信息的查询功能。用户可以输入学号或姓名来查询学生的具体信息,系统会根据用户输入的关键字,在内存中的数据结构中进行查找,并将查找结果显示给用户。在查询过程中,我使用了循环和条件判断等控制结构,以及字符串比较函数来实现模糊查询。
为了保证学生信息的准确性,我还实现了学生信息的修改和删除功能。用户可以根据学号或姓名来选择要修改或删除的学生信息,并进行相应的操作。在修改和删除过程中,我使用了循环和条件判断等控制结构,以及文件读写操作来实现数据的更新和删除。
最后,我对整个系统进行了测试和调试,确保每个功能都能正常运行。通过测试,我发现系统可以正确地录入、查询、修改和删除学生信息,并能够保持数据的一致性。
通过本次实验,我对C语言的文件读写操作、结构体和控制结构等知识有了更深入的了解。同时,我也学会了如何设计和实现一个简单的学生成绩管理系统。这次实验不仅加深了我对C语言的理解,也提高了我的编程能力和解决问题的能力。
C语言上级实验报告 篇二
标题:C语言上级实验报告
在本次C语言上级实验中,我选择了一个挑战性较高的题目,即实现一个简单的迷宫游戏。该游戏可以让玩家通过键盘输入控制角色移动,并在迷宫中探索目的地。
首先,我使用C语言的二维数组来表示迷宫地图,其中1表示墙壁,0表示通路。通过读取地图文件,将地图数据存储在内存中的二维数组中。
接下来,我实现了角色的移动功能。通过监听用户的键盘输入,根据输入的方向键来移动角色。在移动过程中,我使用了循环和条件判断等控制结构,以及数组的索引访问操作来实现角色的移动。
为了增加游戏的趣味性,我还为角色添加了一些特殊功能。比如,角色可以收集道具,道具可以增加角色的生命值或速度等属性。在收集道具过程中,我使用了条件判断和变量操作等技巧,以及游戏界面的刷新来实现。
为了增加游戏的难度,我还实现了一些陷阱和敌人。角色如果触碰到陷阱,将会损失生命值;如果被敌人追上,将会失败。在处理陷阱和敌人的逻辑中,我使用了条件判断和循环等控制结构,以及碰撞检测函数来判断角色与陷阱或敌人的碰撞。
最后,我对整个游戏进行了测试和调试,确保每个功能都能正常运行。通过测试,我发现游戏可以正确地控制角色移动、收集道具和避开陷阱和敌人,增加了游戏的可玩性和挑战性。
通过本次实验,我对C语言的数组、循环、条件判断和函数等知识有了更深入的了解。同时,我也学会了如何设计和实现一个简单的迷宫游戏。这次实验不仅加深了我对C语言的理解,也提高了我的编程能力和游戏设计能力。
C语言上级实验报告 篇三
篇一:C语言程序设计 实验报告---范例
C语言程序设计实验报告
学号:
姓名:
1、设计一个函数fc,统计数组中偶数和奇数的个数,数组元素个数不多于10个。编写main函数,正确调用fc函数,实现对数组a的统计,输出统计结果。
#include "stdio.h"
int j=0;
int fun(int a[],int n)
{
int i,c=0;
for(i=0;i<n;i++)
if(a[i]%2==0) c=c+1;
else j=j+1;
return(c);
}
int main()
{
int i,num[5];
for(i=0;i<5;i++)
scanf("%d",&num[i]);
printf("oushu: %d ",fun(num,5));
printf("jishu: %d ",j);
return 0;
}
篇二:C语言_上机实验报告样例
实 验 报 告
课程名称 程序设计语言C 实验名称 控制结构程序设计
姓 名
学 号
专业班级 材料1006
实验日期
成 绩
指导教师
一、 实验目的
1. 学会正确使用关系运算符和关系表达式、逻辑运算符和逻辑表达式。
2. 掌握if语句和switch语句的结构和使用。
3. 掌握用while语句,do-while语句和for语句实现循环的方法。
4. 编写含有选择结构的程序
5. 练习循环程序的设计和调试一、实验目
P二,实验内容。
1分段函数求最大值,
2. 保存源程序,文件名为xt7-4.c
3. 运行程序,输入5
程序输出如下:
array a:
1 4 6 9 13 16 19 28 40 100
data:5
Now,array a:
1 4 5 6 9 13 16 19 28 40 100
习题7.6
1.打开TC++3。1集成开发环境,编写程序代码如下:
#include
#define N 11
void main()
{
int i,j,a[N][N];
for(i=1;i<N;i++)
{
a[i][i]=1;
a[i][1]=1;
}
for(i=3;i<N;i++)
for(j=2;j<=i-1;j++)
a[i][j]-a[i-1][j-1]+a[i-1][j];
for(i=1;i<N;i++)
{
for(j=1;j<=i;j++)printf("%6d",a[i][j]);
printf(" ");
}
printf(" ");
}
2.保存源程序,文件名为xt7-6.c
3.输出结果:
1
1
1
1
1
1
1
1
1
1 1 2 1 3 3 1 4 6 4 1 5 10 10 5 1 6 15 20 15 6 1 7 21 35 35 21 7 1 8 28 56 70 56 28 8 1 9 36 84 126 126 84 36 9 1
习题7.8
1.打开TC++3。1集成开发环境,编写程序代码如下:
#include
#define N 4
#define M 5
void main()
{
int i,j,k,a[N][M],max,maxj,flag;
printf("please input matrix: ");
for(i=0;i<N;i++)
for(j=0;j<M;j++)
scanf("%d",&a[i][j]);
for(i=0;i<N;i++)
{
max=a[i][0];
maxj=0;
for(j=0;j<M;j++)
if(a[i][j]>max)
{
max=a[i][j];
maxj=j;
}
flag=1;
for(k=0;k<N;k++)
if(max>a[k][maxj])
{
flag=0;
continue;}
if(flag)
{
printf("a[%d][%d]=%d ",i,maxj,max);
break;
}
}
if(! flag)
printf("It is not exist! ");
}
2.保存源程序,文件名为:xt7-8.c
3.输入please input matrix:
1
2
3
4 2 3 4 5 4 6 8 10 6 9 12 15 8 12 16 20
输出结果:a[0][4]=5
五、实验分析和总结
1. 本程序的功能是将数以数组输入,结合循环进行排序,运算等, 算法的基本思想是进
行数组引用。
2. 程序编译和运行时出现了如下错误:
数组中分号乱用
出错的原因和调试(纠错)步骤如下:
对数组引用不够熟练,理解不够透彻。
3. 通过编写本程序,有如下,体会:数组引用很方便,能使大量运算简化。
篇三:C语言实验报告
C语言程序设计实验报告
1 实验目的
第一个实验:
1熟练掌握顺序结构程序设计; ○
○2学会正确使用逻辑运算符及逻辑表达式;
○3熟练掌握if、ifelse、ifelse if语句,掌握if语句中的嵌套关系和匹配原则,利用if语句实现分支选择结构;
○4熟练掌握switch语句格式及使用方法,利用switch语句实现分支选择结构 ○5掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧,进一步学习调试程序,掌握检查语法错误和逻辑错误的的方法。
第二个实验:
○1熟练掌握while语句、do-while语句和for语句格式及使用方法,掌握三种循环控制语句的循环过程以及循环结构的嵌套,利用三种循环语句实现循环结构; ○2掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧; ○3进一步学习调试程序,掌握语法错误和逻辑错误的检查方法。
2 实验内容
第一个实验:
输入一个整数m,将其数值按照大于0,小于等于0两个类别分类显示。 要求:
1该程序利用if-else语句实现; ○
2将变量m定义为整型; ○
3通过scanf函数输入变量m的值; ○
4输入整数m前,利用puts()或printf()给出提示信息; ○
5输出结果时有必要的说明,例如:输入358时,显示 358 ○is greater than 0,输入-23时,显示 -23 is less than or equal to 0;
6运行程序,分别输入123,0,-22,并检查输出信息的'的正确性。 ○
第二个实验:
输入一串字符(以回车键结束),统计其中数字、大写字母、小写字母、以及其他字符的个数。
要求:
1通过键盘输入字符串;○
2在输入字符串之前给出相应提示;○
3按照数字、大写字母、小写字母和其他字符数的顺序输出结果。○
3 算法描述流程图
4 源程序
第一个实验:
#include
main()
{
int m;
scanf("%d",m);
printf("enter a character:");
{
if(m>0)
printf("%d is greater than 0",m);
else
printf("%d is less than or equal to 0",m);
}
}
第二个实验:
#include
#include
main()
{
char c;
int w=0,x=0,y=0,z=0;
printf("enter characters:");
while((c=get))!=' ')
{
if((c>='0'&&c<='9'))
w++;
else if(c>='A'&&c<='Z')
x++;
else if(c>='a'
;&&c<='z')
y++;
else
z++;
}
printf("w=%d,x=%d,y=%d,z=%d",w,x,y,z); }
5 测试数据
第一个实验:
测试数据为:123,0,-22
第二个实验:
所输入的字符串为:
6 运行结果
7 出现问题及解决方法
1第一个实验中,○对于“printf("%d is greater than 0",m);”的输入存在一些问题;通过查课本,找到类似输出形式的写法;
2第二个实验中需要用到函数string,通过百度查阅弄懂这个函数的使用方法,○
还是对这个用法不太了解。
8 实验心得
1对if,if-else,if-else if语句的使用方法及具体含义有了更深次的了解,○
对编写条件控制结构的程序有了一定的认识和思路;
2对于do-whil
e,while了解不太深刻,○需要进一步学习和上机实验的练习进行巩固和熟练;
3对于调试程序中出现的error和warning的解决方法有了更深的认识。 ○