C语言课程设计实习报告
- 格式:doc
- 大小:269.00 KB
- 文档页数:21
C语言实习总结在这次C语言实习中,我有幸能够参与到项目的开发中,并且在实习期间学到了许多有关C语言编程的知识和经验。
我的实习总结如下:一、项目背景本次实习的项目是一个简单的学生成绩管理系统。
通过该系统,可以实现学生信息的录入、成绩的查询和统计等功能。
这个项目主要涉及到C语言的基本语法和文件操作等知识点。
二、实习过程1. 学习C语言基础知识在开始项目之前,我花了一些时间复习了C语言的基本知识,包括语法、数据类型、运算符等。
这些基础知识对于后续的项目开发非常重要,因此我花了不少时间来巩固和复习,确保能够熟练运用。
2. 设计项目架构在开始实际的编码工作之前,我先制定了一个项目架构,明确了系统的功能和模块划分。
这样可以使得整个开发过程更加有条理,方便后续的编码工作。
3. 开发核心功能模块根据项目架构,我首先着手开发了学生信息录入和成绩查询的核心功能模块。
通过使用C语言的文件操作函数,我成功地实现了学生信息和成绩的读取和保存功能,并且可以根据学生的学号进行查询和输出。
4. 完善系统功能在核心功能完成之后,我着手完善系统的其他功能,包括学生信息的修改和删除、成绩的统计等。
通过不断地调试和测试,我逐渐完善了这些功能,并且确保系统的稳定性和可靠性。
5. 编写测试文档和实习报告在项目开发的最后阶段,我编写了详细的测试文档,对系统的各个功能进行了全面的测试。
通过测试,我找出了一些bug,并且进行了修复和优化。
同时,我也编写了实习报告,总结了整个实习过程中的收获和心得体会。
三、收获和心得通过这次C语言实习,我学到了许多关于C语言编程的知识和经验,对C语言的基本语法和文件操作有了更深入的理解。
同时,在项目开发和调试过程中,我也培养了良好的编程习惯和解决问题的能力。
总之,这次C语言实习对我的学习和成长有着非常重要的意义。
通过实际的项目开发,我提高了自己的编程能力和实际操作的经验,为今后的学习和工作打下了坚实的基础。
c语言课程设计实验报告一、教学目标本课程的目标是让学生掌握C语言的基本语法、数据结构、算法和编程技巧,培养学生独立编程和解决问题的能力。
具体目标如下:1.知识目标:–掌握C语言的基本语法和关键字。
–理解数据类型、变量、常量的概念及使用。
–熟悉运算符、表达式、语句的结构。
–学习函数的定义、声明和调用。
–掌握数组、指针、字符串的基本操作。
–了解结构体、共用体、枚举类型等数据结构。
–学习基本算法和排序、查找等常用算法。
2.技能目标:–能够使用C语言编写简单的程序,解决实际问题。
–熟练使用集成开发环境(IDE)进行程序调试和运行。
–掌握编程规范和代码注释,编写可读性强的代码。
–学会使用函数模块化编程,提高代码重用性。
3.情感态度价值观目标:–培养学生对计算机科学的兴趣,激发创新意识。
–培养学生的团队合作精神和自主学习能力。
–强化学生的编程实践能力,提高解决实际问题的能力。
二、教学内容根据课程目标,本课程的教学内容主要包括以下几个部分:1.C语言基本语法和关键字。
2.数据类型、变量、常量的使用和声明。
3.运算符、表达式、语句的结构和用法。
4.函数的定义、声明和调用。
5.数组、指针、字符串的基本操作和应用。
6.结构体、共用体、枚举类型等数据结构的概念和使用。
7.基本算法和排序、查找等常用算法。
8.第一周:C语言基本语法和关键字。
9.第二周:数据类型、变量、常量的使用和声明。
10.第三周:运算符、表达式、语句的结构和用法。
11.第四周:函数的定义、声明和调用。
12.第五周:数组、指针、字符串的基本操作和应用。
13.第六周:结构体、共用体、枚举类型等数据结构的概念和使用。
14.第七周:基本算法和排序、查找等常用算法。
三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式,包括:1.讲授法:教师通过讲解、示例等方式,向学生传授C语言的基本知识和编程技巧。
2.讨论法:教师引导学生进行问题讨论,培养学生的编程思维和解决问题的能力。
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语言程序设计实习报告实习报告题目: C语言程序设计所属系、部 : 电气工程学院班级: 电子商务131 姓名:贺道君学号: 20***5 指导教师: 费玲玲2014年6月一、实习目的加深理解C语言基础知识及其编程技术,了解高级程序设计语言的结构,熟练掌握程序设计方法和技巧,掌握基本的分析和利用计算机求解问题的能力,具备初步的高级语言程序设计能力。
二、实习时间、地点6月16日(星期一)上午:微机室5下午:微机室56月17日(星期二)3、4:微机室5下午:微机室36月18日(星期三)上午:微机室5下午:学校6月19日(星期四)上午:微机室5下午:微机室36月20日(星期五)上午:C101下午:学校三、实习内容综合四、实习总结在学C语言的一个学期后,我们进行了C语言实训阶段,尝试自己编写一个比较复杂的程序系统。
在为期一周周的时间中,我们同组的同学共同的感受是:C语言实训和平时上课所接触的程序是有很大不同的,所经受的考验和克服的困难是平时所无法比拟的。
好在同组的搭档们精诚合作,分工明确,有问题共同解决,攻克了C语言实训的复杂程序。
在这里,我作为其中的参与者,自然感触良多刚开始接触到C的时候,我已经学过一些有关VB的内容,这个在算法和思维上稍微有点帮助。
回想本学期的学习,首先,最基本的,是C的数据格式,让我们知道整数,浮点数以及字符常量在C中的运用。
然后,在学会了数据转化,以及熟练的可以对各种数据处理之后,我开始进行有关数据结构,像数组,结构体等的学习,因为有的东西从现有的知识来看都是非常简单的,还没有联系到指针等等一些复杂的概念。
可是,仅仅学会这些是远远不够的,C语言中,还有很多更加经典、重要、实用的知识。
说说函数。
虽说很多程序语言都有函数这一内容,但我觉得C语言的函数是最有魅力的了。
学习函数的方法是比较简单的,只有两个字“牢记”,即:牢记函数的功能,牢记函数的用途以及如何输入输出。
C语言课程实习(优秀范文5篇)第一篇:C语言课程实习课程实习一、C程序上机操作方法及运行环境编写一个C程序,输入a, b, c,d四个值,输出其中最小者。
#includemain(){int a,b,c,d,t;printf(“Please input numbers:”);scanf(“%d,%d,%d,%d”,&a,&b,&c,&d);t=min(min(min(a,b),c),d);printf(“min number is:%dn”,t);}int min(int x,int y){int z;if(xz=x;elsez=y;return(z);}运行结果:Please input numbers:4,6,3,9min number is:3课程实习二、C程序上机操作方法及运行环境从键盘输入三个字符,要求输出这三个字符,并输出它们的ASCII 码及其ASCII码的平方根和的平方。
#include#includevoid main(){char ch1,ch2,ch3;float t;scanf(“%c,%c,%c”,&ch1,&ch2,&ch3);t=sqrt(ch1)+sqrt(ch2)+sqrt(ch3);printf(“%c,%dn”,ch1,ch1);printf(“%c,%dn”,ch2,ch2);printf(“%c,%dn”,ch3,ch3);printf(“%fn”,t*t);}运行结果:a,b,ca,97b,98c,99881.984683课程实习三、循环结构程序设计1)输入两个正整数m和n;2)如果m=n输出最大公约数m程序结束;3)若m>n则m=m-n否则n=n-m;4)返回到2)(循环)。
#includevoid main(){int m,n;scanf(“%d%d”,&m,&n);while(m!=n){if(m>n)m=m-n; else n=n-m;}printf(“%dn”,m); }运行结果:34,24课程实习四、循环结构程序设计打印下面的图案# # # # ## # # ## # ## ##includevoid main(){int i,j;for(i=1;i<=4;i++) {for(j=1;jprintf(“ ”);for(j=5;j>=i;j--) printf(“*”); putchar('n');}}课程实习五、数组的应用输入一个0到150之间的十进制整数,要求把此数转化为二进制形式。
C语言程序设计实习报告一、实习目的1. 巩固和加深对C语言程序设计的理解。
2. 掌握C语言编程的基本技巧和方法。
3. 提高分析问题、解决问题的能力。
4. 学会将理论知识应用于实际编程中。
二、实习内容XXX语言基础语法练习变量、数据类型、运算符、表达式等基础语法练习。
控制结构(顺序、分支、循环)的实现。
函数的定义和调用方式练习。
2. 模块化程序设计将一个大的程序分解成多个模块,每个模块完成特定的功能。
通过模块间的调用和传递数据来实现整个程序的功能。
3. 文件操作与文件读写文件的打开、关闭、读写操作练习。
文件格式的转换和数据统计处理。
4. 预处理指令与宏定义使用预处理指令进行条件编译和宏定义替换。
练习使用常见的预处理指令如include、define、ifdef等。
5. 结构体、链表与指针结构体的定义和使用。
链表的创建、插入、删除、遍历等操作。
指针的概念和指针运算。
深入理解指针与数组、结构体等数据结构的关系。
6. 位运算与嵌入式系统编程学习位运算符的使用和位段操作的实现。
嵌入式系统的基本概念和编程方法。
7. 综合项目实践参与或独立完成一个综合性C语言程序设计项目。
项目可以包括基于命令行参数的程序设计、基于文件操作的程序设计、基于网络编程的程序设计等。
三、实习过程1. 理论学习:通过教材、网络资源等途径学习C语言的基础知识和编程技巧。
2. 上机实践:在计算机上编写和调试C语言程序,不断巩固所学知识。
3. 问题解决:遇到问题时,通过查阅资料、请教老师或同学等方式解决问题。
4. 团队合作:在小组项目中与他人协作,共同完成任务。
四、实习收获1. 知识技能方面:深入理解了C语言的基本概念和编程技巧,掌握了模块化程序设计和文件操作等常用算法。
2. 解决问题能力方面:学会了如何分析问题、寻找解决方案并通过实践验证解决方案的正确性。
3. 团队协作能力方面:学会了与他人合作,共同完成任务,提高了团队协作能力。
4. 职业素养方面:培养了耐心、细致的工作态度和勇于尝试、敢于创新的探索精神。
c语言实习报告3篇c语言实习报告1在这个星期里,我们专业的学生在专业老师的带领下进行了c语言程序实践学习。
在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,更多的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。
由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。
包括了程序模块处理.简单界面程序.高级界面程序.程序的添加修改.用程序做一元线性回归处理以及用c语言程序来画粒度分布图等这几样比较重要的时间操作。
上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。
对于程序设计语言的.学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。
学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。
因为学时所限,课程不能安排过多的上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。
为此,我们结合课堂讲授的内容和进度,安排了12次上机实验。
课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:1.加深对课堂讲授内容的理解课堂上要讲授许多关于c语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。
然而要使用c语言这个工具解决实际问题,又必须掌握它。
通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c语言的语法规定。
对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。
学习c语言不能停留在学习它的语法规则,而是利用学到的知识编写c语言程序,解决实际问题。
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语言进行巩固与实习,老师热心的讲解同学们提出的问题和实习过程中应该注意的事项和同学们的任何。
老师把我们分为几组,每一组十一个人,并且分配了具体的任务,在我们实习结束后每一组的同学都把自己组里的成果展示给大家一起分享,告诉大家编程的原理、方法等,使同学们既有动手能力,又能提高语言表达能力。
C语言课程设计实习报告一、两个大数相乘问题1、题目描述:【要求】本问题中,要求输入两个相对较大的正整数,能够通过程序计算出其结果。
【提示】两个相对较大的数肯定是不能够用LONG INT类型存储的,因为LONG 型数据的数据范围也并不是很大,于是就需要采用其他的存储结构。
这里推荐用数组存储一个大数,数组的初始空间可以定义到如200或300个单元,每个单元存储一位数据,形如下图:足够大的条件了。
而结果的存储也需要考虑空间的问题,所以需要一个更大的数组。
在解决了存储问题后,我们需要来实现乘法运送的过程,也就是说你必须要把这个数组中的每一位数字单独来进行乘法运算,比如我们可以用一个数字和另外一个数组中的每一位去相乘,从而得到乘法运算中一行的数字,再将每一行数字错位相加。
这就是乘法运算的过程。
2、设计思路:乘法计算的算法,从低位向高位乘,在竖式计算中,我们是将乘数第一位与被乘数的每一位相乘,记录结果,之后,用第二位相乘,记录结果并且左移一位,以此类推,直到计算完最后一位,再将各项结果相加。
通过调用函数得出最后结果。
流程图:3、运行效果截图:a:65498765165b:1651513513565498765165*16515135135=1081720957875605572275 4、附源程序如下:#include <stdio.h>#include <string.h>#include <stdlib.h>#define N 100int GetDigits(int *a,char *s);int multiply(int *a,int *b,int *c);main(){char s1[N],s2[N];int i,j,a[N],b[N],c[N*2];printf("\n 请输入大数a: ");scanf("%s",s1);printf("\n 请输入大数b: ");scanf("%s",s2);GetDigits(a,s1);GetDigits(b,s2);multiply(a,b,c);j=N*2-1;while(c[j]==0)j--;printf("\n %s * %s=",s1,s2);for(i=j;i>=0;i--)printf("%d",c[i]);return 0;}int GetDigits(int *a, char *s){int i;char digit;int len=strlen(s);for(i=0;i<N;i++)*(a+i)=0;for(i=0;i<len;i++){digit=*(s+i);*(a+len-1-i) = digit - '0';}return 0;}int multiply(int *a,int *b,int *c){int i,j;for(i=0;i<N*2;i++)*(c+i)=0;for(i=0;i<N;i++)for(j=0;j<N;j++)*(c+i+j)+=*(a+i) * *(b+j);for(i=0;i<N*2-1;i++){*(c+i+1)+=*(c+i)/10;*(c+i)=*(c+i)%10;}return 0;}二、画组合图形问题1、题目描述:【要求】了解C语言的图形函数,掌握用C语言画图的基本方法。
C语言见习报告6篇推荐文章计算机c语言实训报告范文标准模板热度:幼儿园见习个人总结【5篇】热度:幼儿园见习总结报告模板热度:幼儿园见习总结怎么写5篇热度: 2022幼儿园见习总结范文热度:C语言是一种计算机程序设计语言,属高级语言范畴。
它既具有高级语言的特点,又具有汇编语言的特点。
通过见习做一报告,本文是C语言见习的报告,仅供参考。
C语言见习报告一:班级:姓名:实验名称:电话订餐信息处理实验目的:题目要求:一个小饭馆的生意非常红火,要想用餐必须提前一天打电话预订,假设我们是饭馆负责接受电话预订的服务员,我们需要做些什么呢?首先,需要准备一张大小适当的白纸,等待顾客的电话。
李红最先打进了电话,她预约第2天中午12点用餐,用餐人数5人,服务员在纸上做了如下记录:“李红12点5人”;接着,刘娜、汪涵、孙杰和赵君分别来了电话,服务员根据他们的要求做了记录,此时纸上记录的内容是:李红 12点 5人刘娜 11点 2人汪涵 11点20分 3人孙杰 10点30分 5人赵君 13点20分 6人孙杰随后又来电话,将用餐时间推后一个小时,那么记录的内容也应该做相应的修改。
刘娜来用餐以后,可以将其信息从纸上划去编写程序处理电话订餐的情况实验步骤:首先建立结构体类型,然后函数声明,编写主函数,定义函数,调用函数。
完成后,对程序进行调试,确定所编写的程序是否能够运行。
实验内容:#include#include#define max 30struct guest{ intnum;char name[40];char time[20];int sum;}guestlink[max];void insert(int _p);void inquire(int);void change(int);void dele(int _p);void show(int);void main(){ inti;int count=0;do{0printf("1.......插入\n");printf("2.......查询\n");printf("3.......修改\n");printf("4.......删除\n");printf("5.......显示\n");printf("6.......退出\n");scanf("%d",&i);switch(i){case 1: insert(&count);break; case 2: inquire(count);break; case 3: change(count);break; case 4: dele(&count);break; case 5: show(count);break; case 6:break;default:printf("输入错误!");break; }}while(i!=6);}void insert(int _p){ inti,number;if(_p==max){ printf("用餐已满\n");return;} printf("请输入编号:");scanf("%d",&number);for(i=0;i<_p;i++)if(guestlink[i].num==number) { printf("已有相同的编号");return;} guestlink[i].num=number; printf("请输入姓名:");scanf("%s",guestlink[i].name); printf("请输入人数:");scanf("%d",&guestlink[i].sum); printf("请输入用餐时间:");scanf("%s",guestlink[i].time); (_p)++;}void inquire(int p){ inti,number,flag=1;printf("请输入要查询的编号");scanf("%d",&number);for(i=0;iif(guestlink[i].num==number){ printf("姓名:%s",guestlink[i].name);printf("用餐时间:%s",guestlink[i].time);printf("人数:%d\n",guestlink[i].sum);flag=0;}if(i>=p&&flag==1) printf("所查询的编号不存在"); }void change(int p){ inti,number,flag=1;printf("请输入要修改的编号");scanf("%d",&number);for(i=0;iif(guestlink[i].num==number){ printf("请输入姓名:");scanf("%s",guestlink[i].name);printf("请输入用餐时间:");scanf("%s",guestlink[i].time);printf("请输入人数:");scanf("%d",&guestlink[i].sum);flag=0;}if(i>=p&&flag==1) printf("所查询的编号不存在"); }void dele(int _p){ inti,j,number,flag=1;printf("请输入要删除的编号");scanf("%d",&number);for(i=0;i<_p&&flag;i++)if(guestlink[i].num==number){for(j=i;j<_p-1;j++)guestlink[j]=guestlink[j+1];flag=0;(_p)--;}if(i>=_p&&flag==1) printf("输入的编号不存在");}void show(int p){ inti;printf("编号姓名用餐时间人数\n ");for(i=0;i{ printf("%d",guestlink[i].num);printf("%8s",guestlink[i].name);printf("%8s",guestlink[i].time);printf("%8d\n",guestlink[i].sum);}}实验结果:实验体会:通过这次实践让我觉得用C语言在生活中的应用占有很大的比重,这次编程,让我体会到了学习C语言的乐趣,以及运用c语言给人们带来的方便。
C语言课程设计上机实习内容.(共5篇)第一篇:C语言课程设计上机实习内容.C语言课程设计上机实习内容一、程序设计题目:简单的学生成绩管理程序设计二、程序设计功能及要求:1、原始数据输入和结果输出要求使用文件存放;2、计算每个学生三门功课的平均分,并按平均分排列名次,若平均分相同则名次并列;结果写入文件。
3、统计全班每门课程的平均分,并计算各分数段(60以下,60~69,70~79,80~89,90以上)的学生人数;结果写入文件。
4、按格式在屏幕上打印每名学生成绩条;5、在屏幕上打印出所有不及格学生的下列信息:学号,不及格的课程名,该不及格课程成绩;6、(选做)在屏幕打印优等生名单(学号,三门课程成绩,平均成绩,名次),优等生必须满足下列条件:1)平均成绩大于90分;或平均分大于85分且至少有一门功课为100分;或者平均分大于85分且至少两门课程成绩为95分以上;2)名次在前三名3)每门功课及格以上;(若完成选做题,课程设计成绩将给予加分)三、文件格式1、原始数据文件格式(具体数据自行编写)学号姓名英语C语言高等数学张三李四….….….2、输出数据文件(由程序自动生成)1)学生综合成绩文件。
(由程序自动生成)学号姓名英语 C语言高等数学平均成绩名次张三 76 89 78 80.5 5 李四….….….3 ….2)统计结果文件。
分数段英语C语言高等数学<60…60~69…70~79…80~89…>=90 …平均成绩75.5 …四、实习报告要求1、程序分析和设计2、流程图3、源程序清单4、调试过程: 测试数据及结果,出现了哪些问题,如何修改的5、程序有待改进的地方。
6、本次实习的收获和建议。
第二篇:C语言上机实习报告一、实验目的1.能够描述VC++6.0开发平台的使用过程,学会运行一个C程序的基本步骤,包括编辑、编译、链接和运行。
2.能够使用算术表达式和赋值表达式书写正确的语句。
3.能够使用输入/输出函数编写简单的程序。
2024年c语言实习心得范本一、实习背景及目的2024年暑假,我有幸到某知名科技公司实习,参与了他们C语言开发团队的工作。
这次实习的目的是为了能够深入了解C语言的开发过程、提升自己的编程能力,并且了解科技公司的工作环境和团队合作方式。
通过此次实习经历,我希望能够全面了解C语言在实际项目中的应用,并将所学知识应用到实践中,为我的以后的学习和工作打下坚实的基础。
二、实习内容及工作经历实习期间,我主要负责了一个项目的C语言的开发工作。
该项目是一个图像处理的软件,旨在对输入的图片进行一些基本的处理,例如图像的缩放、旋转、亮度调整等。
在项目的初期,我主要负责了图像的读取和存储模块的开发,通过使用C语言的文件操作函数和图像处理库,我成功地实现了图像的读取和存储功能,并且编写了相关的测试用例来验证代码的正确性。
接着,我参与了图像处理模块的开发工作。
在实现图像缩放功能时,我先学习了图像处理的基本算法和原理,然后根据项目的需求,编写了相关的C语言代码。
通过不断地调试和优化,我最终成功地实现了图像缩放功能,并通过测试用例进行了验证。
接下来,我又负责了图像旋转和亮度调整模块的开发工作,通过对已有算法进行改进和优化,我成功地实现了这两个功能,并进行了相应的测试。
在实习的过程中,我还和团队的其他成员进行了频繁的交流和合作。
通过和他们的交流,我学到了很多关于C语言开发的技巧和经验,也加深了对于团队合作的理解。
每周我们还进行了一次团队会议,讨论项目的进展情况和存在的问题,并共同制定了解决方案。
通过这样的团队合作,我深刻地体会到了团队的力量,也学到了如何与他人合作,共同完成一个艰巨的任务。
三、实习收获与体会通过此次实习,我收获了很多关于C语言开发的知识和经验。
首先,我对于C语言的掌握程度有了明显的提高,通过实际项目的练习,我深入了解了C语言的语法和特性,并学会了如何利用C语言来解决实际的问题。
其次,我学会了使用一些C语言开发工具和库,例如gcc编译器和OpenCV图像处理库,这些工具和库的使用极大地提高了我的开发效率。
c语言课程设计实践报告一、教学目标本课程旨在通过C语言的学习,让学生掌握C语言的基本语法、数据结构、算法和编程思想,培养学生独立思考、解决问题的能力。
具体目标如下:1.理解C语言的基本语法和编程规则。
2.掌握常用的数据类型、运算符和表达式。
3.熟悉函数的定义和调用。
4.了解常用的数据结构和算法。
5.理解程序的设计思想和方法。
6.能够使用C语言编写简单的程序。
7.能够阅读和理解C语言程序。
8.能够使用C语言进行基本的算法实现。
9.能够使用C语言进行简单的项目开发。
情感态度价值观目标:1.培养学生的编程兴趣,提高学生的自主学习能力。
2.培养学生解决问题的能力,增强学生的自信心。
3.培养学生团队合作的精神,提高学生的沟通表达能力。
二、教学内容根据课程目标,教学内容主要包括以下几个方面:1.C语言的基本语法和编程规则。
2.常用的数据类型、运算符和表达式。
3.函数的定义和调用。
4.常用的数据结构和算法。
5.程序的设计思想和方法。
具体的教学大纲如下:第一周:C语言的基本语法和编程规则。
第二周:常用的数据类型、运算符和表达式。
第三周:函数的定义和调用。
第四周:常用的数据结构和算法。
第五周:程序的设计思想和方法。
三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法,包括:1.讲授法:通过讲解C语言的基本语法、数据结构、算法和编程思想,使学生掌握相关知识。
2.案例分析法:通过分析实际案例,使学生了解C语言在实际项目中的应用。
3.实验法:通过上机实验,让学生亲手编写C语言程序,加深对知识的理解和运用。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:《C语言程序设计》。
2.参考书:《C语言编程思想》。
3.多媒体资料:C语言编程教程视频。
4.实验设备:计算机实验室。
五、教学评估为了全面、客观、公正地评估学生的学习成果,本课程将采用多种评估方式,包括:1.平时表现:通过课堂参与、提问、讨论等方式,评估学生的学习态度和积极性。
c语言实践报告总结范文2篇【c语言实践报告总结例一】一、实习时间:20xx年x月x日—20xx年x月x日二、实习地点:第一微机室三、实习目的:1、熟悉我们自己所用的计算机的C语言开发环境,并且能够熟练掌握,达到错误能找到原因并且加以改正。
2、加深对课本理论知识的理解,进一步掌握书中重点、难点实例,锻炼自己的编写程序能力和实际应用能力。
3、上机调试程序的过程中,发现错误,解决错误,保证程序的正确运行,运行结果与给定结果完全相同。
4、学会用书中基本知识解决实际中的一些问题,将书本所学的内容与实际操作相结合,掌握把实际问题转变为C语言描述的算法的方法,明确思路。
将自身的不足与缺陷改掉,养成良好编辑风格5、培养我们的主观能动性、沟通、表达能力和团队合作意识,为我们以后的发展打下基础。
四、实习内容及方法:在本次实习中,我们采用了由浅及深、由易到难的实习方法,而且也是按照书本的教学进程内容进行的,同时采取了实际应用与理论相结合的方法,在机房里面实习,一边理解,思考做题的思路与解法,另一边就可以马上进行上机实际操作。
这对于我们加深对C语言的理解、操作以及动手能力都有了很大的帮助与提高。
实训的内容主要分为了七个版块:第一版块:1、Turbo C运行环境。
了解TC的基本环境,熟悉常用菜单项和快捷键:在这一小节中,需要熟练的掌握并应用Turbo C的运行环境,和基本配置。
Turbo C 是在计算机上广泛使用的一个C语言开发环境,它具有方便、直观、易用的界面和丰富的函数库。
它把程序的编辑、编译、连接和运行等操作去不都集中在一个界面上进行,使用非常方便。
并且Turbo C不需要特别安装,只需要将其拷贝到硬盘上就可以使用了。
为了方便管理用户的程序文件和维Turbo C2.0的运行环境,客户应在机子上建立自己的工作目录,一边用来存放自己所需要开发的源程序文件。
下面就是建立怎样自己文件夹,在空白区域内输入自己所建立的文件夹路径即可。
计算机c语言实习报告(精选18篇)计算机c语言篇1软件实习硬件实习下厂实习姓名:______学号:________________班级:________________南京理工大学________________学院第一部分硬件实习(____.10.09 – ____.10.13)实习地点:校基础实验楼微机接口实验室实习内容:步进机的编程实现、a/d转换硬件实习部分考察了我们的汇编语言的掌握情况以及实际编写能力。
其中,步进电机的实现是通过编写汇编代码,经接口将信息传输到模具箱。
通过模具箱上的转动指针向左、向右或停来检验程序的正误。
原理就是,将圆划分成8段,每段两端通电流。
通过逐次为每段同电流来达到驱动指针转动,从而指针旋转。
通过电流反向就可达到反向旋转的目的。
考察了我们的汇编编写能力以及对接口技术知识的掌握,是《微机原理与接口技术》课的一次实践检验。
另外,a/d转换是要求将实验箱接收来的模拟量转换为数字量,并在显示器上显示。
在《微机原理与接口技术》课中有关于a/d转换的汇编编程,通过察看,很快就实现了该实验要求。
该部分相对简单。
在平时的学习练习中,我们多数是针对软件部分。
对于硬件部分,由于受实验器材的限制,操作较少。
这次硬件实习的经历,使我的硬件知识有了系统的组织,也使我清醒的认识到硬件知识及技能的重要性,感触良多!第二部分软件实习(____.10.23 – ____.10.26)实习地点 : 校基础实验楼软件实验室实习内容:以sql server数据库系统为核心,采用c/s结构的计算机应用系统开发(食堂饭菜销售系统)(用delphi语言开发)。
以小组(5人)为单位开发系统,分别负责:前置机、通信机、服务器、客户机1 、客户机2 。
我负责部分:担任小组组长,作系统总的需求分析,具体安排各成员的任务,以及前置机的开发。
(本报告只着重系统总体和前置机部分)食堂饭菜销售系统模拟高校学生食堂的饭菜销售、后台管理的功能。
C语言课程设计实习报告班级:地信10801班学生姓名:杨宝刚学号: 200801562 序号:01指导老师:蔡永香何贞铭日期: 2010年3月12日目录一、程序分析与设计 (1)二、流程图 (1)三、源程序清单 (1)四、调试过程 (2)五、程序有待改进的地方 (2)六、本次实习的收获和建议 (3)附录 (3)C语言课程设计实习报告一、程序分析与设计(标题四号宋体加黑,正文五号宋体,行间距-固定值18,首行缩进2字符)1、先用记事本编辑文件stu1.dat存储一个班学习成绩。
然后在C环境下,建立一个学生信息的结构体,用r方式打开上述文件,再用fscanf读入、用printf在屏幕上显示文件内容。
2、利用循环使每个学生的三门功课的成绩相加,然后再把和除以三就得到了平均成绩。
接着用冒泡法利用平均分的高低排出名次。
最后用fprintf将每个学生的信息写入到stu2.dat文件。
二、流程图。
三、源程序清单(此部分采用小五号宋体,行间距-固定值14)#include<stdio.h>struct ave_cou{float ave_couM;float ave_couE;float ave_couC;}ave_c;地信10801 杨宝刚四、调试过程在程序运行的过程中,出现了很多的错误。
有很复杂的问题,也不乏许多低级的错误。
在写入文件的时候,首先我用的是fwrite,而在读入文件的时候用的是fread,后来才发现这两个语句都只是对二进制的文件进行操作,实际上我们要用到的fscanf、fprintf这两个语句。
五、程序有待改进的地方C语言课程设计实习报告六、本次实习的收获和建议附录(此部分采用小五号宋体,行间距-固定值14)1、原始数据stu1.dat1 冯强85 90 1002 冯炼98 85 93。
2、生成文件stu2.dat1 冯强85.000000 90.000000 100.000000 91.666664 22 冯炼98.000000 85.000000 93.000000 92.000000 1 。
计算机c语言实训报告(精选5篇)计算机c语言实训报告篇1一、课题名称:简单计算器设计一个简单的程序来模拟计算器的功能。
二、设计目的:1、通过理论知识与实际需求相结合,编辑解决一些日常中的实际问题,培养初步的独立分析和设计能力。
2、了解应用程序设计解决实际问题的具体过程和实现方法,掌握应用C语言进行程序设计的基本规范;3、重点掌握C语言的程序编写、函数设计、算法设计和程序调试方法;4、初步掌握系统开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能。
三、设计任务:1、通过结构体数组和共用体数组来存放输入的每一数字或运算符号的记录(包括1、2、3等数字,+、--、_、等运算符号),然后将其信息存入文件中。
输入一个算术计算式,就在屏幕上显示结果。
2、输入简单的加减乘除算术计算式,并在屏幕上显示计算结果;四、设计要求:1、用C语言实现程序设计并进行调试;2、画出查询模块的流程图;3、系统的各个功能模块要求用函数的形式实现;4、界面友好(良好的人机互交)。
5、完成设计(A4)。
五、代码设计:#include "stdio.h" main { float x,y;char operator;printf("x,yun suan fu ,y: "); scanf("%f%c%f",&x,&operator,&y); switch(operator){case '+': printf("%.2f+%.2f=%.2f",x,y,x+y); break; case '-':printf("%.2f-%.2f=%.2f",x,y,x-y); break; case '_':printf("%.2f_%.2f=%.2f",x,y,x_y); break; case '/': if(y==0) printf("chushushilingwuyiyi"); elseprintf("%.2f/%.2f=%.2f",x,y,x/y); break;default: printf("yunsunfuwuxiao"); } }?七、设计总结:学习C程序这门课一个学期了,这是我们学的第一门专业课,所以作为我这个计算机系的学生来说当然十分重要,老师在第一节课说过,C语言是计算机的基础,大多数软件都需要用C语言来编写,通过一个学期的学习,使我初步掌握了一些关于这门课的知识这次的课程设计是对我们一个学期来所学的知识的综合考察,里面涉及到了我们大多数所学知识。
C语言课程设计实习报告班级:学生姓名:学号:指导老师:日期:目录一、程序分析与设计 (1)二、流程图 (1)三、源程序清单 (6)四、调试过程 (10)五、程序有待改进的地方 (10)六、本次实习的收获和建议 (11)附录 (11)C语言课程设计实习报告一、程序分析与设计1、先用记事本编辑文件stu.txt存储一个班学习成绩。
然后在C环境下,建立一个学生信息的结构体,用r方式打开上述文件,再用fscanf读入、用printf在屏幕上显示文件内容。
2、利用循环使每个学生的三门功课的成绩相加,然后再把和除以三就得到了平均成绩。
将每个学生的平均成绩与其他学生进行比较排出名次。
最后用fprintf将每个学生的信息写入到stu1.txt文件。
3、用for循环使全班同学的英语成绩相加,然后再把和除以总人数,得到全班英语平均成绩,类似的可以求出全班同学的C语言和数学的平均成绩。
4、用if语句各for循环求出各分数段的人数,并统计结果写入文件中。
用fprintf将各分数段的统计结果及各门的平均成绩写入stu1.txt文件中。
5、编写一个函数用for循环在屏幕上逐个打印出所有学生的成绩条。
6、用for循环对每个学生用if语句进行判断是否有不及格的科目,如果有就打打出该学生的学号和姓名,再用if语句判断各科是否不及格,如果不及格就打出该不及格科目的名称和分数。
7、用for循环对每个学生用if语句进行判断该学生的各科成绩、平均分以及排名是否满足优等生的条件,如果满足就打出该学生的学号、姓名、各科成绩、平均分及在班级的排名。
二、流程图地信10902void readFromTxtFile()N 判断是否为空 读文件函数流程图图3定义变量进行循环求出总分总分除以总人数得平均分图4 计算三科平均分的函数流程图平均分=总分/SIZEC 语言课程设计实习报告打开文件定义变量进行循环求出每人的总分总分除以3得平均分平均分写入文件图5打开文件统计各分数段人数结果写入文件中 图6 统计全班学生的各分数段的人数的函数流程图地信10902定义两个变量进行循环将一个人的平均分与每一个人进行比较,得出排名图7 按平均分对班级的每一位学生进行排名的函数流程图定义变量进行循环逐个打印每个学生的成绩图8 在屏幕上打印各学生的成绩条函数流程图C 语言课程设计实习报告void PrintFailIformation();定义变量进行循环判断是否有不及格的课程打出不及格学生的 信息图9void PrintExcellentStudent();定义变量进行循环判断是否满足优等生条件并打出优等生图10地信10902三、源程序清单#include<stdio.h>#include<stdlib.h>#define SIZE 17struct student{int num;char name[10];int score[3];float average;int Rank;}stu[SIZE];void readFromTxtFile();void writeToTxtFile();void CalculateAverageScore();void CalculateAverageScoreOfEveryCourse();void RankEveryStudent();void CalculateScoreOfBank();void Print();void PrintFailIformation();void PrintExcellentStudent();void main(){printf(" 菜单\n");printf(" 打印各学生成绩条请按1并回车\n");printf(" 打印不及格学生信息请按2并回车\n");printf(" 打印优等生信息请按3并回车\n");printf(" 退出请按0并回车\n");int c;readFromTxtFile();//读文件CalculateAverageScore();//各学生平均分RankEveryStudent();//排名writeToTxtFile();//写文件CalculateScoreOfBank();//算分数段CalculateAverageScoreOfEveryCourse();//各门平均分loop: while(1){printf(" 请输入选择");scanf("%d",&c);if(c==1)Print();//屏幕上打印成绩条else if(c==2)PrintFailIformation();//打印不及格信息else if(c==3)PrintExcellentStudent();//打印优等生信息else if(c==0){printf(" 结束\n"); break;} else{printf("输入错误,请重新输入");goto loop;}}C语言课程设计实习报告}void readFromTxtFile()//读文件{FILE *fp;int i;if((fp=fopen("F:\\stu.txt","r"))==NULL){printf("can not open the file!\n");exit(0);}for(i=0;i<SIZE;i++){fscanf(fp,"%d%s%d%d%d",&stu[i].num ,stu[i].name ,&stu[i].score[0],&stu[i].score[1],&stu [i].score[2] );}fclose(fp);}void writeToTxtFile()//写文件{FILE *fp;int i;if((fp=fopen("stu1.txt","w"))==NULL){printf("can not open the file!\n");exit(0);}fprintf(fp,"学号姓名英语 C语言数学平均分排名\n");for(i=0;i<SIZE;i++){fprintf(fp,"%d\t%s\t%d\t%d\t%d\t%5.2f\t%d\n",stu[i].num ,stu[i].name ,stu[i].score[0],s tu[i].score[1],stu[i].score[2],stu[i].average,stu[i].Rank );}fprintf(fp,"\n");fclose(fp);}void CalculateAverageScore()//计算各学生平均分{int i;for(i=0;i<SIZE;i++)stu[i].average=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3.0 ;}void CalculateAverageScoreOfEveryCourse()//计算各门平均分地信10902{FILE *fp;if((fp=fopen("stu1.txt","a"))==NULL){printf("can not open the file!\n");exit(0);}int i;float AVEREglish=0,AVERClanguage=0,AVERMath=0;for(i=0;i<SIZE;i++){AVEREglish=stu[i].score[0]+AVEREglish;AVERClanguage=stu[i].score[1]+AVERClanguage;AVERMath=stu[i].score[2]+AVERMath;}AVEREglish=AVEREglish/SIZE;AVERClanguage=AVERClanguage/SIZE;AVERMath=AVERMath/SIZE;fprintf(fp,"平均分 %5.3f\t%5.3f\t%5.3f\n",AVEREglish,AVERClanguage,AVERMath); fclose(fp);}void CalculateScoreOfBank()//统计分数段{FILE *fp;if((fp=fopen("stu1.txt","a"))==NULL){printf("can not open the file!\n");exit(0);}int i,E1=0,E2=0,E3=0,E4=0,E5=0,C1=0,C2=0,C3=0,C4=0,C5=0,M1=0,M2=0,M3=0,M4=0,M5=0; for(i=0;i<SIZE;i++){if(stu[i].score[0]<60) E1++;if(stu[i].score[0]<70&&stu[i].score[0]>59)E2++;if(stu[i].score[0]<80&&stu[i].score[0]>69)E3++;if(stu[i].score[0]<90&&stu[i].score[0]>79)E4++;if(stu[i].score[0]>90) E5++;if(stu[i].score[1]<60) C1++;if(stu[i].score[1]<70&&stu[i].score[1]>59)C2++;if(stu[i].score[1]<80&&stu[i].score[1]>69)C3++;if(stu[i].score[1]<90&&stu[i].score[1]>79)C4++;if(stu[i].score[1]>90) C5++;if(stu[i].score[2]<60) M1++;if(stu[i].score[2]<70&&stu[i].score[2]>59)M2++;if(stu[i].score[2]<80&&stu[i].score[2]>69)M3++;if(stu[i].score[2]<90&&stu[i].score[2]>79)M4++;if(stu[i].score[2]>90) M5++;}fprintf(fp,"分数段\t英语\tC语言\t数学\n");fprintf(fp,"<60\t%d\t%d\t%d\n",E1,C1,M1);fprintf(fp,"60~69\t%d\t%d\t%d\n",E2,C2,M2);fprintf(fp,"70~79\t%d\t%d\t%d\n",E3,C3,M3);fprintf(fp,"80~89\t%d\t%d\t%d\n",E4,C4,M4);fprintf(fp,">90\t%d\t%d\t%d\n",E5,C5,M5);fclose(fp);}void RankEveryStudent()//排名{int i,j;for(i=0;i<SIZE;i++){stu[i].Rank=1;for(j=0;j<SIZE;j++){if(stu[i].average<stu[j].average)stu[i].Rank++;}}}void Print()//屏幕上打印成绩条{int i;printf("每名学生的成绩条:\n");for(i=0;i<SIZE;i++)printf("学号%5d\t姓名%s\t英语%3d \tC语言%3d \t数学%3d\n",stu[i].num,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2]);}void PrintFailIformation()//打印不及格信息{int i;printf("不及格学生信息:\n");for(i=0;i<SIZE;i++){if(stu[i].score[0]<60||stu[i].score[1]<60||stu[i].score[2]<60 ){printf("学号%5d\t姓名 %s\t不及格课程及成绩: ",stu[i].num,stu[i].name);if(stu[i].score[0]<60)printf(" 英语%d\t",stu[i].score[0]);if(stu[i].score[1]<60)printf("C语言%d\t",stu[i].score[1]);if(stu[i].score[2]<60)printf(" 数学%d\t",stu[i].score[2]);printf("\n");}}}void PrintExcellentStudent()//打印优等生信息{printf("优等生的信息:\n");int i;for(i=0;i<SIZE;i++){int flag1=0,flag2=0;if(stu[i].average>90||((stu[i].average>85&&(stu[i].score[0]==100||stu[i].score[1]==100| |stu[i].score[2]==100))))flag1=1;if(stu[i].average>85&&((stu[i].score[0]>95&&stu[i].score[1]>95)||(stu[i].score[0]>95&&s tu[i].score[2]>95)||(stu[i].score[1]>95&&stu[i].score[2]>95)))flag2=1;if(flag1||flag2)if(stu[i].Rank<=3)if(stu[i].score[0]>59&&stu[i].score[1]>59&&stu[i].score[2]>59)printf("学号%5d 姓名%s 英语%3d C语言%3d 数学%3d 平均成绩%5.2f 排名%d\n",stu[i].num,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].average,s tu[i].Rank);}}四、调试过程在程序运行的过程中,出现了很多的错误。
中南大学c 课程设计实践报告一、教学目标本课程的教学目标是使学生掌握中南大学C课程的核心知识,包括基本概念、原理和应用。
具体目标如下:1.知识目标:学生能够准确理解并掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识。
2.技能目标:学生能够熟练运用C语言进行程序设计,包括编写、调试和运行C程序。
3.情感态度价值观目标:培养学生对计算机科学的兴趣和热情,提高学生的问题解决能力和创新意识。
二、教学内容根据教学目标,本课程的教学内容主要包括以下几个方面:1.C语言的基本语法和数据类型,包括变量、常量、数据类型、运算符等。
2.控制结构,包括条件语句、循环语句等。
3.函数,包括函数的定义、声明、调用和返回值等。
4.指针和数组,包括指针的概念、指针的运算、数组的基本操作等。
5.结构体和文件操作等高级内容。
三、教学方法为了达到教学目标,本课程将采用多种教学方法,包括:1.讲授法:通过教师的讲解和演示,使学生掌握C语言的基本知识和技能。
2.讨论法:通过小组讨论和课堂讨论,激发学生的思考和问题解决能力。
3.案例分析法:通过分析实际案例,使学生了解C语言在实际应用中的作用和意义。
4.实验法:通过编写和调试C程序,培养学生的实际编程能力和问题解决能力。
四、教学资源为了支持教学内容和教学方法的实施,本课程将使用以下教学资源:1.教材:选择一本适合学生水平的C语言教材,作为学生学习的主要参考资料。
2.参考书:提供一些相关的参考书籍,供学生进一步深入学习和参考。
3.多媒体资料:制作一些教学PPT、视频等多媒体资料,帮助学生更好地理解和掌握知识。
4.实验设备:提供计算机实验室,让学生能够进行实际编程和实验操作。
五、教学评估本课程的评估方式包括平时表现、作业和考试等。
具体评估方式如下:1.平时表现:通过学生的课堂参与、提问、回答问题等方式评估学生的学习态度和理解程度。
2.作业:布置适量的作业,包括编程练习和理论题目,以巩固学生对知识的理解和应用能力。
C语言课程设计实习报告班级:地质10901学生姓名:曾超学号: 35指导老师:陈老师/朱老师日期: 2011-3-3目录一、程序分析与设计 (1)二、流程图 (1)三、源程序清单 (7)四、调试过程 (14)五、程序有待改进的地方............................................................................. 错误!未定义书签。
六、本次实习的收获和建议 (14)附录 (15)C语言课程设计实习报告一、程序分析与设计(标题四号宋体加黑,正文五号宋体,行间距-固定值18,首行缩进2字符)1、先用记事本编辑文件“成绩.txt”存储一个班学习成绩和“学分.txt”。
然后在C环境下,建立一个学生信息的结构体和学分信息的结构体,用r方式打开上述文件,再用fscanf 读入。
2、利用循环使每个学生的三门功课的成绩相加,然后除以总科目,得到平均分;接着用冒泡法利用平均分的高低排出名次。
最后用fprintf将每个学生的信息写入到“成绩1.txt”文件中。
3、定义a[3],b[3],c[3],d[3],e[3]分别对应三门科目的五个成绩段,现将五个数组赋初值0,然后用if语句,落在哪个分数段,哪个数组就自加一回。
然后用“fprintf”将得到的人数以及对应的分数段写入文件。
4、利用循环,将每个学生的同一门相加,再除以学生的总人数,就得到了单科的平均分,再写入另一个文件中。
5、利用循环找出每个学生小于60分的成绩,打印出不及格学生名单:姓名、序号、不及格科目、分数。
再用fprintf写入文件6. 用if语句选择排名前3的学生,然后用循环和if语句套用,选择无不及格课程的学生,再用if选择平均分大于90的学生或平均分大于85且至少有一门为100分或至少有两科成绩再95分以上则为优等生。
将得到的数据再用printf打印出来,再用fprintf将数据写入文件。
7、用一个函数被主函数调用,该函数制作菜单。
8、先定义一个字符c,用while语句选择c,把printf、fsd、bjg、youden四个函数套用到case语句中,用scanf输入c,最后用while语句造成死循环使得运行程序时可以重复输入c。
二、流程图读文件平均分排名各分数段人数主函数:优等生三、源程序清单#include<stdio.h>struct student{char name[10];int num;float score[3];float aver;int rank;}stud[9];void get()//读文件{int i;int j;FILE *fp1;fp1=fopen("c:\\成绩.txt","r");for(i=0;i<9;i++){fscanf(fp1,"%d\t%s\t",&stud[i].num,stud[i].name);for(j=0;j<3;j++)fscanf(fp1,"%f\t",&stud[i].score[j]);}fclose(fp1);}void pjf()//平均分{int i;for(i=0;i<9;i++)stud[i].aver=(stud[i].score[0]+stud[i].score[1]+stud[i].score[2])/3.0; }void write()//写文件{int i;int j;FILE *fp2;fp2=fopen("c:\\成绩1.txt","w");fprintf(fp2,"序号\t姓名\t数学\t英语\tc语言\t平均分\t排名\n");for(i=0;i<9;i++){fprintf(fp2,"%d\t%s\t",stud[i].num,stud[i].name);for(j=0;j<3;j++){fprintf(fp2,"%.2f\t",stud[i].score[j]);}fprintf(fp2,"%.2f\t",stud[i].aver);fprintf(fp2,"%d\n",stud[i].rank);}fclose(fp2);}void pm()//排名{int i;int j;for(i=0;i<9;i++){stud[i].rank=1;for(j=0;j<9;j++){if(stud[i].aver<stud[j].aver)stud[i].rank++;}}}void printf()//打印{int i;int j;printf("序号\t姓名\t数学\t英语\tc语言\t平均分\t排名\n");for(i=0;i<9;i++){printf("%d\t%s\t",stud[i].num,stud[i].name);for(j=0;j<3;j++){printf("%.2f\t",stud[i].score[j]);}printf("%.2f\t",stud[i].aver);printf("%d\n",stud[i].rank);}}void fsd()//分数段{printf("分数段\t数学\t英语\tc语言\n");int i;int j;int a[3];int b[3];int c[3];int d[3];int e[3];float sum;float pj[3];FILE *fp4;fp4=fopen("c:\\分数段.txt","w");printf("<60\t");fprintf(fp4,"<60\t");for(j=0;j<3;j++){a[j]=0;for(i=0;i<9;i++){if(stud[i].score[j]<=60){a[j]++;}}printf("%d\t",a[j]);fprintf(fp4,"%d\t",a[j]);}printf("\n");fprintf(fp4,"\n");printf("60~69\t");fprintf(fp4,"60~69\t");for(j=0;j<3;j++){b[j]=0;for(i=0;i<9;i++){if(stud[i].score[j]>60&&stud[i].score[j]<70){b[j]++;}}printf("%d\t",b[j]);fprintf(fp4,"%d\t",b[j]);}printf("\n");fprintf(fp4,"\n");printf("70~79\t");fprintf(fp4,"70~79\t");for(j=0;j<3;j++){c[j]=0;for(i=0;i<9;i++){if(stud[i].score[j]>=70&&stud[i].score[j]<80){c[j]++;}}printf("%d\t",c[j]);fprintf(fp4,"%d\t",c[j]);}printf("\n");fprintf(fp4,"\n");printf("80~89\t");fprintf(fp4,"80~89\t");for(j=0;j<3;j++){d[j]=0;for(i=0;i<9;i++){if(stud[i].score[j]>=80&&stud[i].score[j]<90){d[j]++;}}printf("%d\t",d[j]);fprintf(fp4,"%d\t",d[j]);}printf("\n");fprintf(fp4,"\n");printf(">=90\t");fprintf(fp4,">=90\t");for(j=0;j<3;j++){e[j]=0;for(i=0;i<9;i++){if(stud[i].score[j]>=90){e[j]++;}}printf("%d\t",e[j]);fprintf(fp4,"%d\t",e[j]);}printf("\n");fprintf(fp4,"\n");printf("平均分\t");fprintf(fp4,"平均分\t");for(j=0;j<3;j++){sum=0;for(i=0;i<9;i++){sum=sum+stud[i].score[j];}pj[j]=sum/20.0;printf("%.2f\t",pj[j]);fprintf(fp4,"%.2f\t",pj[j]);}fclose(fp4);}void bjg()//打印不及格名单{int i;int j;FILE *fp5;fp5=fopen("c:\\不及格.txt","w");printf("\n");printf("不及格名单\n");printf("姓名\t序号\t科目\t成绩\n");fprintf(fp5,"不及格名单\n");fprintf(fp5,"姓名\t序号\t科目\t成绩\n");for(i=0;i<9;i++){for(j=0;j<3;j++){if(stud[i].score[j]<60){printf("%s\t%d\t",stud[i].name,stud[i].num);fprintf(fp5,"%s\t%d\t",stud[i].name,stud[i].num);if(j==0){printf("数学\t");fprintf(fp5,"数学\t");}if(j==1){printf("英语\t");fprintf(fp5,"英语\t");}if(j==2){printf("c语言\t");fprintf(fp5,"c语言\t");}printf("%.2f\n",stud[i].score[j]);fprintf(fp5,"%.2f\n",stud[i].score[j]);}}}fclose(fp5);}void yds()//优等生{ int i;FILE *fp3;fp3=fopen("c:\\优等生名单.txt","w");printf("优等生名单:\n");fprintf(fp3,"优等生名单:\n");puts("学号\t姓名\t数学\t物理\tc语言\n");fprintf(fp3,"学号\t姓名\t数学\t物理\tc语言\n");for(i=0;i<9;i++){if((stud[i].aver>85&&(stud[i].score[0]==100||stud[i].score[1]==100||stud[i].score[2]==1 00))||(stud[i].aver>90)||(stud[i].aver>85&&((stud[i].score[0]>95&&stud[i].score[1]>95)||(stud[i].score[0]>95&&stud[i].score[2]>95)||(stud[i].score[2]>95&&stud[i].score[1]>95|| (stud[i].rank<=3))))){fprintf(fp3,"%d\t%s\t",stud[i].num,stud[i].name);printf("%d\t%s\t",stud[i].num,stud[i].name);printf("%d\t%d\t%d\t",stud[i].score[0],stud[i].score[1],stud[i].score[2]);fprintf(fp3,"%d\t%d\t%d\t",stud[i].score[0],stud[i].score[1],stud[i].score[2]);printf("\n");fprintf(fp3,"\n");}}fclose(fp3);}void menu(){printf("请选择操作字符:\n");printf("按1------学生成绩表:\n");printf("按2------分数段:\n");printf("按3------不及格:\n");printf("按4------优等生:\n");printf("按0------退出:\n");}void main(){get();//读文件pjf();//平均分pm();//排名write();//写文件menu();while(1){char c=getchar();switch(c){case'1':printf();menu();break;case'2':fsd();menu();break;case'3':bjg();menu();break;case'4':yds();menu();break;case'0':return;break;}}}四、调试过程在程序运行的过程中,出现了很多的错误。