用C语言编写:定义一个c语言 结构体数组组,存放10个学生的学号,姓名,三门课的成绩。愿哪位大神帮帮忙啦谢谢啦

求四道c语言编程实习题的详细答案,多谢了,我给高分!紧急啊!
求四道c语言编程实习题的详细答案,多谢了,我给高分!紧急啊!
一,根据条件进行学生成绩排名(
1.在函数中进行10个学生成绩从高到低排名 sort(int a[10])
2.改进第一步的函数为sort(int a[],int n),进行n个学生成绩从高到低排名,
3.改进第二步的函数为sort(int a[],int n, char style), 将n个学生成绩从高到低排名,排名方式根据sort()函数的style参数进行,如style为‘a’按升序排,style为’d’按降序排。(a:ascending& 升,d:descending 降)
4. 在实习报告中画出程序流程图,说明程序设计的算法,附主要程序段及运行结果(屏幕截图)。
5.在实习报告中说明知识点。
6. 在实习报告中说明程序设计过程中的难点、解决办法及编程小结或体会)
二,&用指针优化学生成绩排名(
1.定义一个数组stu[10]存放10个学生的成绩,从键盘输入数据,要求用指针实现
2.将数组stu[10]的内容输出到屏幕上,要求用指针实现
3.将成绩数组按照从高到低进行排序,要求用指针实现
4.将第三步内容放在函数中实现,在主函数中调用实现排序,用指针实现,输出排序后的成绩单
5. 采用指针方法,输入字符串“student score ”,复制该字符串并输出(复制字符串采用库函数或用户自定义函数)
6.在实习报告中画出程序流程图,说明程序设计的算法,附主要程序段运行结果(屏幕截图)。
7. 在实习报告中说明知识点。
8.在实习报告中说明程序设计过程中的难点、解决办法及编程小结或体会。
三,学生成绩单制作(
1.定义一个结构体数组,存放10个学生的学号,姓名,三门课的成绩
2.从键盘输入10个学生的以上内容
3.输出单门课成绩最高的学生的学号、姓名、以及该门课程的成绩
4.输出三门课程的平均分数最高的学生的学号、姓名及其平均分
5.将10个学生按照平均分数从高到低进行排序,输出结果,格式如下所示:
number&&&& name&& math&& Chinese&& English&&& average
103&&&&&&& tom&& &90&&&&& 90&&&&&& 100&&&&&&&&&& 95
101&&&&& alice&&& 90&&&&& 80&&&&&& 70&&&&&&&&&&& 80
6.在实习报告中画出程序流程图,说明程序设计的算法,附主要程序段及运行结果(屏幕截图)。
7.在实习报告中说明知识点。
8.在实习报告中说明程序设计过程中的难点、解决办法及编程小结或体会
四,学生成绩文件管理(
1.定义一个结构体数组,存放10个学生的学号,姓名,三门课的成绩
2.从键盘输入10个学生的以上内容,存入文件stud.dat,关闭文件
3.打开stud.dat文件,将数据读出,查看是否正确写入,关闭文件。
4.打开文件stud.dat文件,读出数据,将10个学生按照平均分数从高到低进行排序,
分别将结果输出到屏幕上和另一文件studsort.dat中。
5.从studsort.dat 文件中读取第2,4,6,8,10个学生的数据。
6.在实习报告中画出程序流程图,说明程序设计的算法,附主要程序段及运行结果(屏幕截图)。
7.在实习报告中说明知识点。
8.在实习报告中说明程序设计过程中的难点、解决办法及编程小结或体会。
给你一个老早以前写的一个结构的类吧
#include &stdio.h&#define N 5#define SCORES 5#define NUMLEN 10struct std_type{&char no[NUMLEN];/*学号*/&char */*名字符串指针*/&int scores[SCORES];/*五门功课的成绩*/};struct std_type students[N];int order[N];int total[N];
/*[函数]输入一个学生信息函数*/int readastu(struct std_type *spt){&int len,j;&char buf[120];/*输入字符串的缓冲区*/
&printf("\nNumber&& :&& ");/*输入学号*/&if(scanf("%s",buf)==1)&&strncpy(spt-&no,buf,NUMLEN-1);&else&&return 0;/*Ctrl+Z结束输入*/&printf("Name&& :&& ");/*输入姓名*/&if(scanf("%s",buf)==1)&{&&len=strlen(buf);&&spt-&name=(char *)malloc(len+1);/*申请存贮姓名的空间*/&&strcpy(spt-&name,buf);&}&else return 0;/*Ctrl+Z结束输入*/&printf("Scores&& :&& ");/*输入成绩*/&for(j=0;j&SCORES;j++)&&if(scanf("%d",spt-&scores+j)!=1)&&&&&&if(j==0)/*一个成绩也未输入*/&&&{&&&&free(spt-&name);/*释放存贮姓名的空间*/&&&&return 0;&&&}&&&for(;j&SCORES;j++)/*少数未输入的成绩用0分代之*/&&&&spt-&scores[j]=0;&&&return 1;&}
/*[函数]输出一个学生信息的函数*/int writeastu(struct std_type *spt){&
&printf("Number&& :&& %s\n",spt-&no);/*输出学号*/&printf("Name&&&& :&& %s\n",spt-&name);/*输出姓名*/&printf("Scores&& :&& ");/*输出成绩*/&for(i=0;i&SCORES;i++)&&printf("%4d",spt-&scores[i]);&printf("\n\n");}
main(){&int n,i,j,t;
&clrscr();&for(n=0;readastu(students+n);n++);&/*采用冒泡法对学生信息数组排序*/&for(i=0;i&n;i++)&{&&order[i]=i;/*预置第i个输入的学生*/&&for(t=0,j=0;j&SCORES;j++)/*求第i个学生的总分*/&&&t+=students[i].scores[j];&&total[i]=t;&}&/*冒泡排序*/&for(i=0;i&n-1;i++)/*共扫视n-1遍*/&&for(j=0;j&n-1-i;j++)&&&if(total[order[j]]&total[order[j+1]])&&&{/*交换名次*/&&& t=order[j];&&& order[j]=order[j+1];&&& order[j+1]=t;&&&}&for(j=0;j&n;j++)/*输出*/&&writeastu(students+order[j]);&printf("\n Press any key to quit...\n");&getch();}
能不能再给一下其它题的解答啊??我再追加积分!!紧急的,多谢啊!!最好能说明一下程序设计过程中的难点、解决办法及编程小结或体会,在此拜谢了!
在给一个字符串冒泡法吧
#include&stdio.h&#include&string.h&#include&conio.h&void main(){&int i,j;&char cha[6][80],c[80];&printf("input 6 strings:\n");&for(i=0;i&6;i++) gets(cha[i]);&printf("\n");&for(i=0;i&5;i++)&&for(j=i+1;j&6;j++)&&&if(strcmp(a[i],a[j])&0)&&&{&&&&& strcpy(c,cha[i]);&&&&& strcpy(cha[i],cha[j]);&&&&& strcpy(cha[j],c);&&&&}& printf("output from little to large:\n");& for(i=0;i&6;i++) printf("%s\n",cha[i]);& getch();&}
相关知识等待您来回答
编程领域专家部分信息来源于网络或网友分享,学讯网编辑整理
摘要:年月计算机级语言上机题库可做小抄年月份计算机级语言上机题库第套程序填空程序通过定义学生结构体数组,存储了若干个学生的学号姓名和门课的成绩。函数的功能是将存放学生数据的结构体数组,按照姓名的字典序从小到大排序。
2011年9月份机二级c语言上机题库 第一套 1. 程序填空
程序通过定义学生结构体数组,存储了若干个学生的学号、姓名和三门课的成绩。函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大排序)。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
第一处 第二处 for(i=0;i&n-1;i++)
第三处 if(strcmp(a[i].name,a[j].name)&0) 2 程序修改
给定程序modi1.c中函数fun的功能是:在p所指字符串中找出ascii码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向上顺序移动。 /**found**/ q=p+i;
/**found**/ while(q&p) 3程序设计
学生的记录由学号和成绩组成,n名学生的数据已在主函数中放入结构体数组s中,请编写了函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。
int fun(strec *a,strec *b,int l,int h) {int i,j=0;
for(i=0;i&n;i++)
if((a[i].s&=1&&a[i].s&=h) b[j++]=a[i]; }
第二套 1. 程序填空
给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序连接。函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。
推荐视频课程
大家在关注
客服热线:1
关注微信公众号第9章使用结构体类型处理组合数据_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
文档贡献者
评价文档:
&&¥3.00
第9章使用结构体类型处理组合数据
C​语​言
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
大小:2.42MB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢
20080份文档C语言编程,悬赏10【定义一个结构体类型数组,结构体类型含有学号、姓名和成绩三个成员】_百度知道
C语言编程,悬赏10【定义一个结构体类型数组,结构体类型含有学号、姓名和成绩三个成员】
姓名和成绩a、姓名和成绩三个成员;
显示成绩最高的学生的学号.txt的内容读入到结构体数组中;
将文本文件stuin,结构体类型含有学号. 定义一个结构体类型数组.
显示平均成绩
txt中有一组学生成绩若按如下格式存放在磁盘e;&#92:&#92
提问者采纳
哥们,你的答案很给力,但是我们期末作业没有这么大啊。。。
你改改!!!!!!
提问者评价
其他类似问题
结构体类型的相关知识
按默认排序
其他1条回答
只有这些吗
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁C语言程序设计精品课程网站
  您的位置:
个性设置:& 文字
 注意:双击可以自动滚屏
2004 年度广东省高校精品课程
申 报 表
推荐省市 广东省
所属学校 深圳职业技术学院
课程名称 C 语言程序设计
课程层次(本 / 专) 专科
所属一级学科名称 08 电子信息类
所属二级学科名称 0801 计算机
课程负责人 温希东
申报日期 2004 年 7 月
广东省教育厅 制
二ΟΟ 年 月  日
1. 课程负责人 [1] 情况
电子与信息工程学院
wxd@oa.szpt.net
通信地址(邮政编码)
深圳西丽湖,深圳职业技术学院电子与信息工程学院计算机系 ,518055
近 5 年来讲授的主要课程(含课程名称、课程类别、周学时;届数及学生总人数)(不超过 5 门);承担的实践性教学(含实验、实习、课程设计、毕业论文、毕业设计的年限、学生总人数);主持的教学研究课题(含课题名称、来源、年限、本人所起作用)(不超过 5 项);作为第一署名人在国内外主要刊物上发表的教学相关论文(含题目、刊物名称与级别、时间)(不超过 10 项);获得的教学表彰 / 奖励(含奖项名称、授予单位、署名次序、时间)(不超过 5 项)
1 - 2 - 1 近 5 年来讲授的主要课程
学生总人数
程序设计基础
专业基础课
C 语言程序设计
专业 ( 技术 ) 基础课
计算机控制系统
可编程序控制器原理及应用
电子信息类
1 - 2 - 2 近 5 年主持的教研课题
( 1 )电子信息工程精品专业建设,教育部, 2002 年 9 月 - 至今,主持人;
( 2 )四年制高职人才培养方案的研究与实践,本学校, 2004 年,主持人;
( 3 )高职创新教育的探索与实践,本学校,
年,主要参加人;
( 4 )生产过程自动化示范专业教学改革,教育部,
年,主持人。 &
1 - 2 - 3 发表的教研论文
( 1 )高职院校学风建设的目标与对策研究,职业技术教育,核心, 2004.4
( 2 )高职人才培养模式的探索与实践,职业技术教育,核心, 2004.9
( 3 )计算机控制系统系列课改革实践,沈阳电专学报,一般, 1999.11 &
1 - 2 - 4 获得的奖励
•& 突出创新能力培养,构建能力岗位型教学体系
深圳职业技术学院教学成果一等奖,第 1 名, 2003 年
(已推荐申报 2004 年广东省教学成果一等奖)
•& 高职创新教育的探索与实践
深圳职业技术学院教学成果一等奖,第 3 名, 2004 年
(已申报 2004 年广东省教学成果一等奖)
•& 公共电子基础课程的教学改革与实践
深圳职业技术学院教学成果一等奖,第 4 名, 2004 年
(已申报 2004 年广东省教学成果二等奖)
( 4 ) 实践教学体系改革研究与实践
获电力部优秀教学成果三等奖 第 5 名, 2000 年
( 5 ) 2000 年被辽宁省教育厅评为青年骨干教师。
近 5 年来承担的学术研究课题(含课题名称、课题级别、来源、年限、本人所起作用)(不超过 5 项);在国内外主要刊物上发表的学术论文(含题目、刊物名称与级别、时间、署名次序)(不超过 10 项);获得的学术研究表彰 / 奖励(含奖项名称、授予单位、署名次序、时间)(不超过 5 项)
1 - 3 - 1 学术研究
( 1 )智能型电动执行器,双高基金,本学校, 2003 年,主持人;
( 2 )智能型电动执行器的研制,面上项目,深圳市, 2004 年,主持人。 &
1 - 3 - 2 学术论文
( 1 )基于 IRMCK201 数字交流伺服驱动器的设计,微特电机,核心, 2004 年 6 月,第 2 名;
( 2 ) 300MW 机组低压加热器疏水控制系统改造 ,东北电力技术,一般, 2000 年 7 月,第 1 名;
( 3 ) 600MW 机组补给水处理自动控制系统,电力建设,一般, 2000 年 10 月,第 1 名;
( 4 )移动通信越区优先动态信道保留及排队算法研究, 深圳职业技术学院学报,一般, 2004 年 6 月,第 2 名。 &
1 - 3 - 3 学术获奖
( 1 )元宝山发电厂 2 号机组化学水处理控制系统, 获辽宁省电力有限公司科技进步三等奖 ,第 1 名, 2000 年 6 月;
( 2 ) 1999 年被东北电力集团公司评为有突出贡献的专业技术人员。 2001.9,
( 1 )课程负责人指主持本门课程建设的主讲教师。
2. 教学队伍情况
人员构成(含外 聘教师)
在教学中承担的工作
1971 , 12
讲师 ( 博士 )
计算机应用
1956 , 12
应用数学专业
计算机软件
计算机应用
讲师 ( 博士 )
计算机应用
1974 , 12
计算机应用
教学队伍整体情况
概述教学队伍的知识结构、年龄结构、师资配置情况(含辅导教师或实验教师与学生的比例);主要成员的教学经历、年终考核成绩以及中青年教师培养计划与效果。
1 .师资配置情况及知识结构:
本课程教学队伍有教授 1 名,副教授 / 高工 3 名,讲师 / 工程师 4 名,助教 2 名,共 10 人;在读博士 2 名,其余均为硕士 ; 所学学科有自动化、信息管理、信息工程、计算机应用、软件工程等专业领域,知识结构合理。 所有人员均有从事“计算机语言”方面的教学经验并具有丰富的计算机软硬件开发经验,全部具备双师素质,还有长期在企业工作、经验丰富的外聘实践教师一名。近三年来本课程每年平均教授学生 200 人,下一年度将达到 250 人
教师:学生人数比为 1 : 20
主讲教师均有 5 年以上教学经历,所有教师年终考核为优秀和称职。
主要成员每年都参加专业培训,并已获得了相应计算机程序设计语言方面的 IT 认证(如 VB.NET 程序设计 ,C# 程序设计等) , 负责人温希东教授还获得了“电子技师 ” 证。 2 .项目组已形成具有学科带头人和一批中青年骨干教师组成的、有较高教学水平和科研能力的(项目组成员近年发表科研论文 30 多篇)、职称、年龄、知识结构合理的“双师型”教师队伍。 &
3 .主要成员情况
主讲教师 乌云高娃
女 1971 年 12 月生 讲师(武汉大学在读博士), 1996 年 6 月于武汉大学硕士毕业, 1996 年 7 月至今在深圳职业技术学院任教(助教,讲师)。
教学经历主要有:主讲“ C 语言程序设计” 6 次,主讲“ Visual Basic 程序设计”,“ PowerBuilder 程序设计”,“微机原理”,“数据库开发工具”,“专业英语”,指导校外实习及毕业设计等。
双师素质经历: 2002 年参加微软 ATA 培训获“ VB 编程高手”证书, 2001 年至今在深圳智能电子设备有限公司参与项目开发(使用 C 语言及 VisualBasic )及在深圳国电南思系统控制有限公司参与项目开发(使用 C 语言)。
主讲教师 王明福 男, 1956 年 12 月出生,副教授。浙江大学应用数学系、 CAD&CG 国家重点实验室理学硕士。
教学经历主要有:主讲“程序设计基础”、“ C 语言程序设计”、“数据结构”、“面向对象程序设计”、“ Windows 程序设计” , 指导 & 校外实习 & 、 & 毕业设计 & 等。
双师素质经历: 1991 年 8 月至 1997 年 2 月,在深圳远望城多媒体电脑有限公司从事计算机应用软件的设计和开发。
主讲教师 徐人凤 女 1961 年出生,高级工程师,辽宁大学计算机软件专业毕业。
教学经历主要有:主讲“软件导论 ” ,“ C 语言程序设计”,“微机数据库”,“ SQL SERVER 及应用” , “大型数据库( SYBASE )”,指导校外实习、毕业设计等。
双师素质经历:国家九五重点工程建设项目,亚洲银行投资贷款沈阳 - 本溪高速公路工程项目、沈阳 - 锦州高速公路项目《计算机计量与支付管理系统》、沈阳绕城高速公路南环《国内标段公路工程计算机计量与支付系统》、《公路工程计算机质量检验评定系统》、《计划进度计算机管理系统》、《驻外监理出勤补助计算程序》等多个项目的负责人、主要完成者。
主讲教师 杨丽娟, 女, 1963 年出生,副教授, 2000 年 3 月日本新泻大学大学院计算机应用专业硕士毕业。
教学主要经历有:主讲“软件专业导论”、“计算机应用基础”、“ C 语言程序设计”、“数据结构”、“趣味图论”;指导学院“挑战杯”软件大赛、广东省“高校杯”软件大赛;指导校外实习、毕业设计等。
双师素质经历: 2000 年 5 月至 2001 年 10 月(日本)日本アルゴリズム株式会社程序员,从事通信软件的开发(使用语言及系统: C 语言、 UNIX 操作系统),参加国家教育部、 ATA 公司和微软公司共同举办的中国 IT 认证课程核心教师培训计划, 2003 年 9 月 完成 72 学时《 c# 程序设计语言》、《程序设计导论》课程培训,获微软公司颁发的培训证书,
讲授教师 沈翠新 ,女, 1979 出生, 2003 年中南林学院信息管理专业硕士毕业
教学主要经历有:主讲“ C 语言程序设计”课程及指导学生程序设计实训
双师素质经验为独立开发学校科技基金项目 E-learning 软件系统, 2001 - 2002 年开发, 2001 - 2002 年开发湖南长株潭“生态质量评价信息系统”。
讲授教师 韩枫, 女, 1968 年出生,讲师 1996 年于吉林大学计算机系计算机应用专业硕士毕业,现正攻读吉林大学在职博士学位。
教学主要经历:主讲《 BASIC 语言程序设计》、《 FORTRAN 语言程序设计》、《 C 语言程序设计》、《 FOXPRO 程序设计》、《 Visual Basic 语言程序设计》、《数据库管理系统》、《计算机基础与应用》、《数据结构》、《计算机图形工具》、《图像处理》等课程。
双师素质经历:在吉林建筑工程学院计算机教研室任教期间参加教务处管理系统的开发,并利用建筑软件参与几个建筑单位的建筑设计。
讲授教师 张悦, 女,
出生,工程师, 1992 年天津大学通信与电子系统专业硕士毕业。
教学主要经历有:主讲“ C 语言程序设计”,“ VB 程序设计”,“ 计算机网络”,“电子设计自动化”,“通信原理”,“通信英语”,“ 模拟电子线路”及 创新制作等。
双师素质经历: 6.11 在北京电子部六所 研制 HK - 2400 型交换机多频互控板、 HK - 1000 型交换机数字用户接口板和 DID 接口板
实践教师 蒋韶生 助理工程师, 1974 年出生, 2003 年中南大学计算机应用专业硕士毕业。
主要教学经历:主讲软件质量保证、 C 语言程序设计、数据库原理与应用、数据结构等
双师素质经历: 1994 年到 2000 年在湖南华南光电仪器厂华鼎公司从事科研开发,参与开发项目有:基于 PSTN 网彩色多媒体可视电话一体机的设计开发,邵阳市中级人民法院综合信息管理系统,农业银行湖南省分行综合信息管理决策支持系统等。
外聘教师 洪伟
:深圳现代集团工程师,参与众多软件项目开发,有丰富的实践经验
近五年来教学队伍教研活动涉及的领域、提出的教改项目和措施、已经解决的问题和取得的教改成果;在国内外主要刊物上发表的教改教研论文(含题目、刊物名称与级别、时间、署名次序)(不超过十项)(不含第一署名人为课程负责人的成果);获得的教学研究表彰 / 奖励(含奖项名称、授予单位、时间、署名次序)(不超过五项)。 &
教改与教研
乌云高娃 . 主持学校重点课程《 C 语言程序设计》的建设, 2003 。
乌云高娃 . 主持学校 15511 工程《 C 语言程序设计》项目,全程教学录像上网计划,正在实施中, 2004 。
王明福 . 主持深圳职业技术学院科技基金项目“ E-Learning 教学与评测系统” , 是本门课程的建设项目之一,已经完成。 2003.6 — 2004.6.
徐人凤,广东省教育厅教育科学“十五”规划一般课题“高职院校院校人才培养模式的改革与探索”,项目主持人, 2002 年立项,在研项目。
徐人凤,学校重点教研项目“ IT 人才培养模式的改革与探索”,主要参加人员,在研项目
杨丽娟, 主持学校教研项目:“项目驱动法在提高学生信息处理能力方面的研究与实践”, 2004 年 4 月~ 2005 年 3 月,在研项目
教研文章与教材
乌云高娃 . 项目拓展教学法 职教论坛(核心) 2003 , 6
乌云高娃 . 项目递进驱动教学法的研究与实践 吉林工程技术师范学院学报 2004 , 2
乌云高娃 . 《数据库应用系统开发 PowerBuilder 实用编程技术》 副主编( 8 万字) 清华大学出版社 2001 , 7
乌云高娃 . 《 PowerBuilder 技术教程》 副主编 西安电子工业大学出版社( 26 万字) 2000 , 7
王明福 主编 《 C 语言程序设计教程》高职教材 高等教育出版社, 2004 , 6
王明福 主编 《 Visual C ++程序设计》高职教材 高等教育出版社, 2003 , 6
王明福 副主编 《 C ++程序设计》高职教材 高等教育出版社, 2004 , 1
王明福 , 基于 B/S 模式的远程网络教学系统研究与实践 , 微机发展,第 11 卷 , 第 5 期 ,2001.9
王明福 基于建构主义学习理论的计算机语言课程教学改革探索 , 全国第三次程序设计语言发展与教学学术会议论文集 ,2001.4
王明福 基于建构主义学习理论《 C 程序设计》课程教学改革与实践 , 香港现代教学论壇杂志 ,2001.1
徐人凤,“高职软件技术专业教学设计探索”《高等职业技术教育研究》 2004 年 1 期
徐人凤,《 SYBASE 数据库实例教程》主编 2001 年 2 月出版 西安电子科技出版社
杨丽娟 . 副主编,新世纪高等职业教育规划教材《 C 进阶教程》,机械工业出版社, 2004 年 6 月
乌云高娃,对于“ C 语言程序设计”的教学改革与研究得到学校的高度认可,经过严格筛选,考察课程建设、教学效果的各项指标,被评为学校首届“ 金牌教师 ”(全校仅 6 人)
徐人凤,广东省教育厅教育科学“十五”规划一般课题“高职院校院校人才培养模式的改革与探索”,获得学校 2004 年 教学成果奖 三等奖
3. && 课程描述
3-1 课程发展的主要历史沿革 &
“ C 语言程序设计”主要在计算机软件专业、网络专业、计算机应用专业、通信技术专业、智能电子专业、电子信息工程专业、多媒体专业等专业中开设,是电子信息类专业的重要专业基础课。
“ C 语言程序设计”是工科学校经典课程,但对高职学生而言,普遍难教难学,必须针对课程不断探索进行课改。
我校从 1994 年开设“ C 语言程序设计”课程。最初的课程内容重点放在 C 语言语法知识点,结果是使学生陷入众多繁杂的语法中,产生畏学情绪。从 1998 年开始,我们在 C 语言教学中融入高职特色,以程序编制牵引理论教学,教学效果良好,但是学生在学习过程中仍然是只见树木不见森林。从 2002 年开始,对课程教学进行全面改革,以核心实例贯穿,以项目开发和程序的拓展驱动教学,教学效果显著提高。
从 2003 年开始,在计算机软件专业,学生学习“ C 语言程序设计”课程的第二年,开设 1 - 2 周的整周实训课程,强化 C 语言的实际应用。
2003 年立项为学校重点建设课程,效果良好。
2003 年本门课程的 E - learning 教学与评测系统立项为学校科技基金项目,现已结题,开发完毕,投入使用。
2004 年立项为学校 15511 工程讲授型网络课件项目。
3-2 教学内容(含课程内容体系结构;教学内容组织方式与目的;实践性教学的设计思想与效果)
一.课程内容体系结构
教学学时分配
C语言的数据类型、运算符与表达式,顺序程序设计
(一) 学生成绩排名
先采用冒泡法,将学生成绩 从高到低进行排序,再输入一个学生的成绩,将此成绩按照排 序规律插入已排好序的学生成绩数组,最后将排好序的成绩单进行反序存放
选择结构程序设计
循环结构程序设计
一维数组的定义和引用、二维数组的定义和引用
字符数组、字符串
函数的定义、函数的调用、函数的嵌套调用
(二) 根据条件进行学生成绩排名
在函数中进行 10个学生成绩从高到低排名 , 再改进函数, 进行 n个学生成绩从高到低排名, 排名方式根据函数的style参数进行,如style为‘a'按升序排,style为 ' d ' 按降序排。
( a:ascending 升,d:descending 降)
函数的递归调用、局部变量和全局变量、变量的存储类别 , 内部函数和外部函数
指针的定义及运算,指针作函数参数
(三) 用指针优化学生成绩排名
( 1 )用指针实现数组的输入输出以及数组的排序(在函数中进行)
( 2 )采用指针方法,输入字符串“ student score ” , 不使用 strcpy() 函数,自行编制函数实现复制该字符串并在第四步输出排序后的成绩单后下一行输出该字符串
( 3 )相关实训题目:不使用 C 语言库函数自行编制函数实现字符串的复制、连接、转换为大写、小写、字符串比较功能
*课程设计 选题确定(可作文本编辑器或自选)
指针与数组
字符指针与字符串
结构体变量的定义、引用
(四) 学生成绩单制作
定义一个结构体数组,存放 10个学生的学号,姓名,三 门课的成绩,输出单门课成绩最高的学生的学号、姓名、以及该门课程的成绩,输出三门 课程的平均分数最高的学生的学号、姓名及其平均分,再将 10个学生按照平均分数从高到低进行排序,输出结果
进行 课程设计
结构体数组
共用体、枚举类型
测试键盘扫描码
文件的操作
(五) 学生成绩文件管理
( 1 )将 10个学生的相关数据,存入文件中,再从文件中读出 按照平均分数从高到低进行排序,分别将结果输出到屏幕上和另一文件中,再从文件中读取第 2 , 4 , 6 , 8 , 10 个学生的数据。
( 2)相关实训题目:分别将一个字符串、整型数组、实型数组分别写入不同文件中,再从文件中取出进行排序,将排序后的数据分别存入另一个文件,然后从文件中取出数据输出到屏幕上查看排序是否正确实现
完成 课程设计
文件的定位操作
图形用户界面技术
制作一个运转的时钟
*课程设计 答辩
二.教学内容组织方式与目的
教学始终贯穿一个核心实例 —— 学生成绩管理系统的开发。选择这样一个系统的原因是学生比较熟悉有关成绩的业务和功能,同时开发学生成绩管理系统将涉及到 C 语言程序设计课程的全部知识点,从而通过该项目的实例化驱动开发,有兴趣地达到学习 C 语言的目标。
在课程单元的教学中以完成一个实训项目为主线,采用项目拓展、项目递进驱动教学方法,在完成项目的过程中引入知识点,操练语法点。整个教学设计分为如下的三个阶段:
•& 编程基础准备阶段
这一阶段的内容主要是在学习数组以前,包括数据类型、运算符与表达式等基础语法以及顺序、选择、循环结构程序设计。主要目的是学习程序设计的语言表达以及结构设计。方法上主要是加强操练。通过各种书面作业、多重训练和一个问题的多种解法来加强语法知识点的掌握和训练,开阔学生编程的思路。
在此阶段,教师的功能是对结构设计提供多种思路、对语法点进行归纳总结、对上机情况进行指导、对作业进行评改总结。
通过学生上机的效果和提交的作业检查本阶段的教学效果。
•& 实训项目牵引阶段
这一阶段的主要内容包括数组、函数、编译预处理、指针、结构和链表。通过第一阶段的学习,学生已经具备了程序设计的基础知识,在这一阶段将通过实训项目的完成来熟悉主要内容,同时巩固第一阶段的成果。
本阶段实训项目的设计非常重要,原则是既要使学生有切入点又要使各章的实训项目之间有联系点,还要使其最终形成一个软件作品。对每一个实训项目的具体展开也应该符合这个原则。
在此阶段,教师以“导师”的身份出现,引导学生参与到实训项目中,为学生提供技术支持,侧重检查项目完成情况,并要适时为学生进行归纳,总结编程技巧和语法知识。其中对学生参与项目的引导不是简单地布置任务,而是通过一些相关程序的演练使学生能够动手实现,不能让学生感觉无从下手。
通过巡回指导观察学生编程情况,要求学生提交相关文档以及编写的程序代码来检验本阶段的教学效果。
•& 课程设计阶段
目标是通过“课程设计”对整个学习进行一个巩固、测试和验收,新增内容主要是关于文件的操作。本阶段的实施一方面是对 C 语言程序设计课程的总结提高,另一方面要培养学生项目文档的撰写能力。
这一阶段的学习以学生的自主开发为主,学生可以通过各种途径查找资料,借鉴各种现成的资料,促使学生自觉利用互联网、校园网、图书馆、教学网站和 E-learning 教学与评测系统来辅助课程的学习。学生应提供完整的项目文档,并对项目进行答辩。
通过项目答辩、项目文档和程序实现来检验本阶段的教学效果,同时也训练学生的“综合表达能力”。
三.实践性教学的设计思想与效果
实践性教学的设计是从提高编程能力和软件开发能力两个方面实施分层次教学。
  在提高编程能力方面,为体现作为专业基础课的“专业”和“基础”的特点,有两个方面的内容要在课程中落实,一是 C 语言本身的语法与程序结构,二是通过该门课程的学习掌握一定的算法与常用子程序的编程实现,为后续课程打好基础。同时由于该门课程开课范围广,涉及到的专业比较多,为规范实践教学内容,对该门课程进行了课程教学目标能力模块的划分,提炼每一个单元内容的能力要求并将此能力要求落实在相应的编程实践中,编写了《 C 语言程序设计教学目标能力模块》,作为实践性教学的指导性文件,提出了每一单元的“能力要求”点及与此对应的“能力落实”点。在“能力落实”点中,又划分“基础能力”与“进阶能力”,“基础能力”点是学生在该门课程中必须掌握的能力,“进阶能力”点是进一步提高的实践内容。
  在软件开发能力方面的培养,同样进行分层次的设计与教学。首先是一套切合实际、有内在联系,不断拓展的实训项目单来保证基础软件开发能力的培养,这是所有学生都应该完成的内容。对于学有余力的同学,通过一个更大型的程序设计/调试来提高开发能力,比如 “文本编辑器”或企业课题的逐步开发来进一步提高能力。
  在实践性教学环节中,通过以上两点分层次的教学设计与实施,可以确实保证该门课程的教学目标。各任课教师统一操作,将之贯穿于教学实践活动中,落实以实训项目为牵引的教学方法,同时根据学生的掌握情况进行“基础”与“进阶”的分层次教学,学习基础薄弱的同学着重掌握基础能力即完成基础实训项目,学有余力的同学可以进一步实现“进阶能力”和大型程序的开发调试,从而在教学中充分照顾不同层次的学生,调动不同层次学生的学习积极性并给以切实的辅导,全面提高教学质量。
  在实践教学中,同时注意实现教师角色的转换,以学生为中心,教师为主导,通过精选案例、分解任务、讲练有机融合,使学生能够积极参与。
  实际教学效果证明,在实践性教学中目标明确、层次分明的教学设计能充分调动学生的积极性,主动学习,表现为课堂学习认真,积极进行编程练习,主动将语法知识点同实际编程相结合,并对来自企业的课题项目的表现出浓厚的兴趣,通过后续课程的学习和演练,也证实了学生对该门课程的掌握程度达到了预期效果,除实训外,每届都有学生能参与到企业课题中,进行实际的软件开发。
3-3 教学条件(含教材使用与建设;促进学生主动学习的扩充性资料使用情况;配套实验教材的教学效果;实践性教学环境;网络教学环境)
使用过的教材有:
•& 谭浩强主编《 C 程序设计》,清华大学出版社
•& 徐新华主编《 C 语言程序设计》,中国水利水电出版社
目前正在使用的教材:
从前使用的两本教材都比较适合本科层次的学生使用,所以我们针对高职学生的学习基础、学习习惯与培养目标自编了新教材。
  主讲教师王明福、乌云高娃主编《 C 语言程序设计》,由高等教育出版社,该教材章节之间的实例具有连续性,在实例后提出拓展功能和程序改造设想,并在每一章节的提高篇中逐步开发实现了一个文本编辑器。该教材高职特色鲜明,特别适合作为应用型本科、高职高专院校计算机及相关专业学生学习 C 程序设计的教材。学生对教材使用情况反映很好。
同时规划出版与教材配套的《 C 语言程序设计实训指导书》,由高等教育出版社最迟于 2004 年底出版。
教学参考书有:
[1] 张强华主编《 C 语言程序设计》,人民邮电出版社, 2001 , 8
[2] 徐新华主编《 C 语言程序设计教程》,中国水利水电出版社, 2001
[3] 谭浩强主编《 C 程序设计》,清华大学出版社, 1999
[4] 徐建民主编《 C 语言程序设计》,电子工业出版社, 2002
[5] 李大友主编《 C 语言程序设计》,清华大学出版社, 1999
本课程还利用校园网进行师生交互,开发了 E-Learning 教学与评测系统,提供学习环境供学生自学和扩充知识面。
学校有供上课使用的多媒体机房,做到每个学生一台电脑,并配备投影仪和实物投影仪,每个机房内部通过局域网使每台机器相联,并同教师机相联,机房的每台机器均可联接 Internet 网, 通过多媒体教学软件控制师生交互。
C 语言教学网站学生可以查看教学资源、自主学习、自主测试,多个教师通过网站共享资源,实现网上答疑,同学们可以通过教学网站的论坛讨论问题,将学习延伸到课下。
E-learning 教学与评测系统形成初具规模的试题库;可支持多人同时进行网上测试,每人的试题难度、题量、题型一样,但是题目可以有所不同;支持自动出卷功能,并可对不满意的试题进行替换与修改;支持自动改卷功能;可以根据考生答对率适当调整题目的难易程度等。
•& 教学方法与教学手段(含多种教学方法灵活使用的形式与目的;现代教育技术应用与教学改革)
教学方法在宏观课程上采用项目拓展,微观课堂组织上采用项目递进驱动教学法。
•& 在宏观课程上通过逐步拓展的实训项目和设计,将每一阶段的学习进行小结性的贯穿与能力提高。将 C 的知识点都溶化到一个个实训项目的程序编写中。在课程初期,主要是进行单项的编程练习,重在掌握 C 语言的基本语句、数据类型与程序结构等。在进入数组、函数、结构、指针和文件内容教学时,开始实训项目单的编程实践,逐步组建“学生管理系统”,并且添加文本菜单,整合扩展记录添加、排序、查询、统计和记录浏览等内容形成课程设计。实训项目单“学生成绩排名-根据条件进行学生成绩排名-用指针优化学生成绩排名-学生成绩单制作-学生成绩文件管理-学生成绩管理系统”具有内在关联并且逐步拓展,每一个实训项目都可以前一个实训项目为基础,而在每一个实训项目中,各个步骤也是内在关联逐步拓展而成,这样的实践性教学内容与方法设计给项目拓展教学法以实际落脚点,符合认知与学习规律 ,深受学生好评。
•& 2. 在微观课堂上采用项目递进驱动教学法,改变满堂灌的做法,将学生的眼手脑全部调动起来。精心设计实例,给学生一个比较实际的切入点,通过老师的演示使学生感觉能够入手,然后再通过将此实例不断修改、扩充,引导学生参与到程序的编制过程中,在这个过程中,再将学生所作的程序展示,让学生来评判优劣,吸收优点,修改错误,引导学生进行优化。在这样的实例教学中,因为有提出问题、解决问题、扩展问题、再解决问题、对解决问题的方法评价、优化设计等几个环节,实际上是一个螺旋式滚动向前的过程,在这个螺旋式不断向前的过程中,能够非常自然地调动学生的参与,而且通过问题的不断扩展,通过一个问题的多种解决方法,有效开阔学生的思维,使得学生在课堂上真正地成为 “ 主体 ” ,教师扮演 “ 主导 ” 角色。
这种通过一个程序的层层推进,引入课程内容,使得学生的每一步学习都有基础,是循序渐进,螺旋式上升的过程,使学生的学习是在“走台阶”,而不是“三级跳”,效果很好。
微观课堂的设计在电子教案中充分体现。
3. 课堂师生互动方面,在形式上有提问,上黑板演算,上教师机操作,讨论等,也通过老师巡回指导,发现学习中普遍性问题和同学中的新思路、新方法,实时地提出问题,学生进行正误判析,解决普遍性问题,或者请有独特思路的同学演示自己的方法或程序,对比各种方法的优缺点,鼓励大家再提出新方法。而且在课堂上,由于教师现场编程,使同学们能够参与到程序调试的过程中,跟老师共同解决问题。实践证明,这种教学方法效果显著,课堂活跃,学生的参与程度很高。在师生互动方面要注意把握好课堂秩序,使得互动有序有效进行。
4 . 应用现代多媒体教学手段,有利于提高教学效率,便于学生理解。本课程充分利用设在教室和实训室中的多媒体设备,进行现场编程,使同学们全程参与程序的调试过程,同时使用演示课件来进行语法知识点的学习。但是课堂上课件的演示要适当,避免喧宾夺主,使学生更多地关注了形式的变化,而忽略了内容本身。课堂上应根据内容需要与学生情况采用问答、传统板书配合演示课件、讨论、总结等多种手段进行教学,保证收到更好的效果
5 .开展双语教学,在每堂课中都引入相关的专业词汇,并对每一单元的内容进行英文介绍,教师在课堂上也适度进行英语表达,对于培养学生的专业英语能力,效果很好。
3-5 教学效果(含校内同事举证评价、校外专家评价及有关声誉的说明;近三年学生的评价结果;课堂教学录像资料评价)
3-5-1校内质量评价
课题组教师教学质量评价意见
根据学院“绩效与薪酬直接挂钩”的人事制度改革规定和学院教学工作督导委员会的委托,督导室负责综合系部(包括教师自评、领导评价和同行评价)、教务处(负责学生全样本调查评教)和督导室(负责教学督导)三方的教学评价, 学年度温希东、乌云高娃、徐人凤、王明福等几位老师总评分数达到教学质量优秀标准。乌云高娃获得和学年度“教学质量优秀个人”,王明福获得学年度 “教学质量优秀个人”,徐人凤获得,学年度“教学质量优秀个人”。
在由教务处、人事处、督导室承办的 2004年学校首届金牌教师评比中,乌云高娃老师获得学校首届“金牌教师 ” 称号(全校仅6人) 。
深圳职业技术学院督导室
(见网页 )
3-5-2 校外专家评价
我校同国内其他院校存在着广泛的交流与接触,经常互相访问、听课或讨论教材建设,我校“ C语言程设计”课程的建设得到了校外专家的肯定与认同。
沈阳工程学院信息工程系系主任李卓琳教授高度评价了我校“ C语言程序设计”课程的建设工作。
全国高等院校计算机基础教育研究会高职高专委员会委员,全国高等职业研究会 IT专业委员会委员,山东交通学院计算机系沈祥玖教授对我们主编的《C语言程序设计教程》进行了全面客观的评价。(见网页 )
3-5-3 校内学生评教
校内学生评教由教务处负责采取对学生的全样本调查 ,评价指标 与权重如下:
1、理论及实践课程:
第一项:我觉得学习这门课以后收获很大。
权重: 0.15
第二项:教师讲述条理分明、层次清楚、通俗易懂。
权重: 0.15
第三项:教学内容充实、信息量大,能及时反映新技术、新成果。
权重: 0.15
第四项:教师能够合理运用案例、实例进行教学或示范操作规范,要领讲述明确。
权重: 0.1
第五项:能够较好地运用现代化教学手段(含课件、板书、实物、模型)。
权重: 0.1
第六项:教师注意调动学生参与教学活动 ,师生互动较好。
权重: 0.15
第七项:教师对我们既严格要求又关心爱护,师生沟通较好。
第八项:作业 (含实训、实验报告)全批全改,及时、认真。
2、集中实践课程:
第一项:教师提前到岗,设备、仪器准备充分,调试完好。
第二项:教师按规定着装,并同样要求学生。
第三项:强调安全与质量意识,注重职业素质训导。
第四项:要领讲解明确,示范操作规范。
第五项:技能训练充分,操作强度适宜。
第六项:实训(实验)报告要求严格,批阅及时。
第七项:我能够掌握操作要领,操作能力得到提高。
第八项:在教师认真指导下,我撰写报告的能力得到培养与提高。
总体而言,学生对教学的评价还是满意的,评价为:教练结合,生动有趣,主讲教师语言生动,通过精选案例,并将实例不断修改、扩充,引导学生参与,课堂气氛好。教师在教学过程中,注重在课程教学中融入专业英语的内容,使学生在学习专业课的同时,也活学活用地学到了专业英语的词汇和句子,一举两得。学生对本课程学习兴趣大,成绩好。(见网页 )
3-5-4教学录像资料要点
主讲教师温希东、王明福、乌云高娃的教学录像内容分别为条件语句、循环语句和字符数组。三位教师的课堂教学安排都有本堂课的应知、应会、重点、专业词汇,从前次课的知识回顾引入当堂课的内容,从算法分析到程序实现逐步递进,课堂结束时指出学生容易出错的地方,进行小结并布置课后练习及思考题。
4. 自我评价
4-1 本课程的主要特色(不超过三项)
1 .充分的教学保障条件
本课程主讲教师具有丰富的教学经验,屡获殊荣,在课程建设方面大胆改革,努力创新,硕果累累。课程建设特色鲜明,极具高职特色的教材、分层次的课程学习模块、逐步拓展的实训项目单、完善体现项目递进驱动教学法的电子教案、内容丰富,生动醒目的课程演示课件、学习自测试题库、保证教学活动顺利开展的机房设备等,从教学各个环节保证了教学目标的实现。
2 .成熟的项目拓展教学法
通过多年实践探索,该门课程的教学采用项目拓展教学法,在人的认知理论上符合建构主义的学习理论。如前所述,连续三年在 C 语言课程中采用项目拓展教学法,取得了显著效果,并且方法本身的实施步骤也得到了进一步完善。在课堂上,由于是核心实例的步步推进驱动教学,所以又称之为项目递进驱动教学法。
3 .形成多维教学/学习环境
创造了多维教学/学习环境,教学网站资源极其丰富。教师可通过 E-learning 软件系统进行自动出题、该卷等教学活动,并在网上答疑。学生通过课堂教学、课下作业、实训项目的实践和报告进行常规学习之外,还可借助网站资源,通过 E - learning 学习软件进行自测、通过演示课件进行自学和复习巩固,在学习论坛进行讨论式学习,查阅双语资料等,形成立体多维的学习环境。
•& 本课程在国内外同类课程中的地位 &
我校是全国高职院校的排头兵,在高职教育方面走在前列,作为我校的重点建设课程,本课程教学设计理念先进,具有高等职业教育特色,根据 4 - 1 各项理由,总体上本课程在国内同类课程中处于先进水平,某些方面处于国内领先水平,如实践教学的设计,课程的教学设计、课堂教学方法、丰富的网上资源、特色鲜明的高职教材、多维的教学/学习环境等。
本课程的建设规划如开发网络考试系统改革学习考试方法,以及筹建实训室深化课程改革等新思路均在国内处于领先地位。
•& 目前本课程还存在的不足之处 &
由于我校生源局限于深圳市内,而且本科院校不断扩招,客观上导致我校新生的素质年年都会有所下降,在这种情况下,如何有效实施高职教育,使学生学会做人、做事、有知识、有技能,真正实现低进高出,还有待于进一步探讨。
5. 课程建设规划
5-1 本课程的建设目标、步骤、课程资源上网计划等
本课程的建设目标是:在现有基础上,通过不懈努力,争取成为国家精品课程,为此,准备采取以下步骤:
1 .改革课程学习/考试方式,构建网络考试系统,深化学分制建设
构建完善的试题库和网络考试系统,使整个课程的考核可以随时进行,学生在学期中可以多次登陆考试系统进行作业、实训编程、参加考试等,由系统自动计分,各项指标按形成性考核方式达标即可获得该门课程的学分。考核合格之后可以不参加期末的统一考试或课堂教学活动。这将充分调动学生的学习积极性。目前本门课程建设中有 E - learning 学习系统软件,为网络考试系统的研制开发打下了坚实的基础。
2 .筹建实训室深化课程建设
目前本门课程的实训都是在机房进行,可以完成课程目标,但是不足之处是总在用 C 语言实现其他高级语言也可以实现的功能,而这些功能比如学生成绩管理系统如果用 Visual Basic 、 PowerBuilder 、或 Delphi 来实现的话更简单方便,体现不出 C 语言的独特优越性。
通常人们认为学习语言有计算机就可以了,其实不然。 C 语言特别适合编写系统软件,执行速度快,代码质量高,在进行系统控制、调节、测量、硬件驱动等方面具有独特优势,这些优势必须要通过实训室中软硬件结合的程序设计方可体现。另外,针对学生的学习基础,实训室的实验可以将课程更加具体化,减少抽象,通过看得见的反馈来使教学具体生动。因此计划筹建 C 语言实训室,通过实训室补充实训项目,增加 C 语言的强项实训,进行一些只有用 C 语言才能做或只有用 C 语言才能做好的工作,比如操作串口、 I/O 读写等,一定会更大程度地调动学习积极性。这将使 C 语言的教学更加贴近生产实践,实现开发性的学习。
3 .全程教学录像
将教学过程全程录像,制成网上资料( 2004 年立项的学校 15511 工程讲授型课件),供全国高职院校师生参考使用,资源共享,并经常更新教学网站,设立网上双向交流机制,与学生和其他高校师生开展交流,促进课程建设。
4 . 实训教材建设,教研教改
完成配套实训教材,总结课程建设经验,发表高质量的教改教研论文。
5 .完成教学网站的英文版本
5-2 本课程已经上网的资源名称列表
1、课程简介 2、课程大纲 3、考核方案 4、电子教案
5、演示课件 6、教学录像 7、师资队伍 8、教材教参
9、能力模块 10、双语教学 11、学生作品
12、经典编程
13、项目单简介 14、项目单下载 15、项目报告下载
16、常见问题 17、单元习题 18、论坛讨论
19、E-learning 教学与评测系统
20、最新文章 21、最新消息 23、在线调查
24、校内质量评价 25、校外专家评价 26、校内学生评价
|&&|&&|&&|&&|&&|&
Copyright&2004 , All Rights Reserved
版权所有 深圳职业技术学院计算机应用工程系 设计:电教信息中心}

我要回帖

更多关于 c语言 结构体数组 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信