第一篇:由全国软件大赛成绩看C语言教学方法(范文)
由全国软件大赛成绩看C语言教学方法
摘要:C语言作为一门专业基础课,其重要性是可想而知的,但是往往教学效果难以达到最好。通常的教学方法过于注重理论讲解,对实际应用编程涉及很少,因此该课程显得枯燥无谓,学生失去了学习的兴趣。以全国软件大赛选拔赛答题情况为切入点,对高职院校C语言教学情况进行了分析,并就如何提高高职高专学生C语言程序设计能力提出几点建议。
关键词:全国软件大赛;高职;C语言;程序设计;教学方法
中图分类号:TP311文献标识码:A文章编号:1009-3044(2011)26-6465-02
Teaching Methods of C Language According to the Results of Countrywide Software Competition
CHEN Lu-jun1, ZHANG Na2, REN Lei1
(1.University for Science & Technology Sichuan, Chengdu 611745, China;2.Sichuan Technology & Business College, Dujiangyan 611830, China)
Abstract: C language is a basic course and is very important.But the teaching results are not very good.The old methods pay attention to theory studying and neglect application.Therefore this course is so baldness and the students lose interest.According as the answer results for countrywide software competition, it is analysised the teaching instance of c language in High Vocational College and some proposition is given for improving the programmable ability of the students in High Vocational College.Key words: Countrywide Software Competition;High Vocational College;The C Programming Language;Programming;Methods of teaching
全国软件专业人才设计与开发大赛(以下简称全国软件大赛)是工业和信息化部人才交流中心举办的面向全国各高等院校在校学生的国家级软件领域的学科竞赛,是为推动我国软件开发技术的发展、促进软件技术人才培养、选拔发掘优秀软件人才、展示软件精英风采等目的,从而全面推动我国软件行业发展及人才培养进程的群众性科技活动,大赛设JAVA软件开发和C语言程序设计两个比赛项目。
全国软件大赛每年举行一次,今年是第二届。大赛初赛情况[1-3]及C语言教学分析[4]
2011第二届“国信蓝点杯”全国软件专业人才设计与开发大赛初赛在全国28个省市设立了分赛区,共设65个赛点,700多所院校的近万名选手参加了比赛。比赛答题情况如下:
1.1 成绩情况
表1为成绩分档统计表。
成绩分布直方图如图
1、图2。
分数多集中在10~30附近。
C本科参加考试人数较多,对大题的发挥水平也较好。
1.2 题目得分率情况
得分率数据如表2。
得分率分布直方图如图3。
1.3 题目分析
各参赛选手都是各参赛学校选拔的优秀学生,他们的成绩很大程度上反映了各参赛学校的教学水平及教学实际情况。从以上图表中我们可以得出以下结论:
1)总体上看不论高职还是本科C语言组比JAVA组平均分要低;C语言高职组比本科组平均分要低;JAVA本科组与高职组平均分差不多。反映了C语言与JAVA的教学难度和教学效果不一样,C语言要难学点,学生的学习效果也比不上JAVA的学习效果。
2)总体上填空题得分率高,编程题得分率低。这反映了参赛选手在分析和调试已有程序方面的能力要好于独立设计编码的能力,学生的独立设计及编码能力需要加强;另外填空题目中包含的逻辑相对简单也是得分率高的原因。
3)对于相同难度、相似题型的C语言和JAVA语言的题来说来说,C语言高职组得分率普遍比本科组低,JAVA高职组与本科组差别不大(后几道题得分率还约高于本科组)。反映了学生高中基础对c语言的学习影响较大,而对于JAVA的学习没有多少影响,这与教学实际比较吻合,在高职c语言教学中如何面对现状提高教学效果值得思考。
4)C高职第5题(字符串轮换题)的低分反映了选手在对字符串的本质认识上还需要加强。C语言中实际上没有串这种类型,只有指向第一个字符的指针。通过对某个适当位置设置‘ ’就可以改变串的长度。参赛情况
本着检验课程的教学效果、培养学生的实践创新意识和能力、发现并培养符合企业需求的优秀人才学生苗子、带动学生树立求知上进的学习风气及推动学校软件开发与应用课程体系和课程内容改革的目的,学校决定组织学生参加比赛。由于是第一次参加,学校决定派小规模的参赛队伍参赛,因此我校组织了10人参加选拔赛。
本着检验教学效果和带动学风的目的,在参赛人员的选定上,我们没有选大三学生,而是选了6名软件专业的大二学生(其中女生2名),4名大一学生(其中女生2名),总共男生6名,女生4名。报名之后利用中午及晚上课余时间对学生进行了将近5周的赛前辅导。
初赛结果有8人获奖,其中一等奖一名(大二),二等奖3名(大二2名,大一1名),三等奖4名(大二3名,大一1名),也就是说大二全部有收获,只有大一的两名学生落榜;获一等奖的大二学生在北京的全国决赛中仍然获得了一等奖。
通过这次参赛的成绩,可以看出大一学生确实还没有多少经验,对语法、数据结构、算法等还理解的不是很深,大二的学生基本上把握了教学大纲要求,对语法掌握的较好,但对独立开发涉及的算法还有待加强;同时也反映了我校c语言课程的教学水平及学生的学习效果在参赛的兄弟院校中居上游水平。几点建议
结合多年C程序开发经验及近年C语言教学情况,对如何提高高职高专学生C程序设计能力提出以下几点建议:
3.1 整合教材,精选内容
现有的教材内容和安排,有许多内容是值得调整、探讨的。需认真钻研教材,对教材进行优化设计。应尽早的把C语言的语句、语法及C程序的全貌告诉学生,让学生能尽早的全面了解C程序、进行C程序设计,然后再在此基础上进行各种类型项目的实训练习,真正的练好编程技能,而不是一直都在学新的知识点、验证新知识点。同时在教学过程中必须对授课内容做出适当的整合,例如,针对高职学生的数学知识基础弱,将教材中涉及到的复杂的数学知识类例题进行更换,避免因数学方面的问题形成教学障碍,另外在具体的实例教学中,尽可能的把与C语言语句、语法无关的英文字符用中文表示,减少英语差的学生的误解,加快学生对C语言语句、语法的理解和掌握。
3.2 重视算法编程思想,培养逻辑思维和创造性思维[5-6]
算法是程序设计的灵魂,而编程语言只是实现的具体形式。这次竞赛中就体现了对算法和逻辑设计方面要求较高,对创造性地解决问题要求较高。因此,在教学中,要重视算法设计,培养学生以算法为中心的思维模式。将语法知识尽可能多地结合示例进行实例教学,解决实际问题,让学生互动参与教学过程。
在教学过程中始终贯穿算法分析的思想,加强对算法的描述,让学生在整个教学过程中逐步养成严密的逻辑思维和创造性思维,从而提高程序设计能力。
3.3 重视程序项目设计,培养实际应用能力
进行理论实训一体化教学,在课堂安排上遵循“讲原理-举例子-练操作”的过程,把理论与实践相结合,学生边学边练,人人动手,人人参与,当堂课程内容当堂消化吸收,保证人人掌握,人人过关。在每个章节之后,设置贴近应用实际的巩固性程序项目专堂实训,把学过的各个章节的知识点有机地联系在一起,巩固并提高前面的知识,真正做到学用结合,达到提高应用编程能力的目的。
3.4 要求学生课堂全程互动
动手、动脑、动口;讲基础理论知识时,要求学生听讲解、记重点、勾要点;举例子时,要求学生听分析、抄代码、写注释;练操作时,要求学生不懂就要问,同时对练习效果进行排名次考核,促使学生进行竞争,激发学习斗志。
3.5 强调课堂技能学习与社会技能认证、比赛相结合要求学生参加国家或者省级C语言二级考试、软件设计师认证考试及全国性竞赛等。通过技能认证、各级竞赛来检验学生学习效果,同时也让学生明白社会、企业和公司认同的学习程度,让学生明确学习目标,从另一个方面促使学生保持学习动力。
同时在政策上提供支持,对获得高级别大赛奖项的学生,给予学生创新学分――可以冲抵其他非专业核心课程的学分,同时也作为申请提前毕业的依据之一。结束语
C 语言是高职院校计算机专业必修专业基础课,也一直是让老师和学生头疼的一门课,需要在学习基本语法的同时注重算法设计思想及编程能力的培养。
在教学中需结合实际的教学实践情况不断的发现问题、分析问题,积极探索改进教学方法,激发学生的学习兴趣和求知欲,引导学生运用所学知识去分析、解决实际应用问题,培养学生独立分析设计程序的能力。
参考文献:
[1] 全国软件专业人才设计与开发大赛组委会.2011全国软件大赛选拔赛答题情况总结简报.2011.[2] 陈露军, 张娜, 任磊.C语言教学方法探讨[J].大众科技, 2011(140):1.[3] 冯博琴.精讲多练C语言[M].西安:西安交大出版社,1997.[4] 黄取治.提高C语言教学质量的几点建议[J].海峡科学, 2009(8).[5] 夏侯?S, 万丽华.高职C语言教学探讨[J].福建电脑, 2009(11).[6] 谭浩强.C程序设计[M].北京.清华大学出版社, 2004.1.
第二篇:全国计算机二级c语言成绩查询
全国计算机二级c语言成绩查询
篇一:2016年全国计算机等级考试二级C语言考试大纲及重点
2016年全国计算机等级考试二级C语言考试大纲
◆ 基本要求
1.熟悉 Visual C++ 6.0 集成开发环境。
2.掌握结构化程序设计的方法,具有良好的程序设计风格。
3.掌握程序设计中简单的数据结构和算法并能阅读简单的程序。
4.在 Visual C++ 6.0 集成环境下,能够编写简单的C程序,并具有基本的纠错和调试程序的能力 ◆ 考试内容
一、C语言程序的结构
1.程序的构成,main函数和其他函数。
2.头文件,数据说明,函数的开始和结束标志以及程序中的注释。
3.源程序的书写格式。
4.C语言的风格。
二、数据类型及其运算
1.C的数据类型(基本类型,构造类型,指针类型,无值类型)及其定义方法。
2.C运算符的种类、运算优先级和结合性。
3.不同类型数据间的转换与运算。
4.C表达式类型(赋值表达式,算术表达式,关系表达式,逻辑表达式,条件表达式,逗号表达式)和求值规则。
三、基本语句
1.表达式语句,空语句,复合语句。
2.输入输出函数的调用,正确输入数据并正确设计输出格式。
四、选择结构程序设计
1.用if语句实现选择结构。
2.用switch语句实现多分支选择结构。
3.选择结构的嵌套。
五、循环结构程序设计
1.for循环结构。
2.while和do-while循环结构。
3.continue语句和break语句。
4.循环的嵌套。
六、数组的定义和引用
1.一维数组和二维数组的定义、初始化和数组元素的引用。/ 16
2.字符串与字符数组。
七、函数
1.库函数的正确调用。
2.函数的定义方法。
3.函数的类型和返回值。
4.形式参数与实在参数,参数值传递。
5.函数的正确调用,嵌套调用,递归调用。
6.局部变量和全局变量。
7.变量的存储类别(自动,静态,寄存器,外部),变量的作用域和生存期。
八、编译预处理
1.宏定义和调用(不带参数的宏,带参数的宏)。
2.“文件包含”处理。
九、指针
1.地址与指针变量的概念,地址运算符与间址运算符。
2.一维、二维数组和字符串的地址以及指向变量、数组、字符串、函数、结构体的指针变量的定义。通过指针引用以上各类型数据。
3.用指针作函数参数。
4.返回地址值的函数。
5.指针数组,指向指针的指针。
十、结构体(即“结构”)与共同体(即“联合”)
1.用typedef说明一个新类型。
2.结构体和共用体类型数据的定义和成员的引用。
3.通过结构体构成链表,单向链表的建立,结点数据的输出、删除与插入。
十一、位运算
1.位运算符的含义和使用。
2.简单的位运算。
十二、文件操作
只要求缓冲文件系统(即高级磁盘I/O系统),对非标准缓冲文件系统(即低级磁盘I/O系统)不要求。
1.文件类型指针(FILE类型指针)
2.文件的打开与关闭(fopen,fclose)。
3.文件的读写(fputc,fgetc,fputs,fgets,fread,fwrite,fprintf,fscanf函数的应用),文件的定位(rewind,fseek函数的应用)。
考试题型
(1)选择。——40
(2)程序填空。——18
(3)程序改错。——18
(4)程序编程。——24 / 16
考试时间
120min无纸化考试
总体上必须清楚的:
1)程序结构是三种: 顺序结构 , 循环结构(三个循环结构), 选择结构(if 和 switch)
2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。
3)计算机的数据在电脑中保存是以 二进制的形式.数据存放的位置就是 他的地址.4)bit是位 是指为0 或者1。byte 是指字节, 一个字节 = 八个位.5)一定要记住 二进制 如何划成 十进制。
概念常考到的:
1、编译预处理不是C语言的一部分,不再运行时间。C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。
2、每个C语言程序中main函数是有且只有一个。
3、在函数中不可以再定义函数。
4、算法的是一定要有输出的,他可以没有输入。
5、break可用于循环结构和switch语句。
6、逗号运算符的级别最低。
第一章
1)合法的用户标识符考查:
合法的要求是由字母,数字,下划线组成。有其它元素就错了。
并且第一个必须为字母或则是下划线。第一个为数字就错了。
关键字不可以作为用户标识符号。maindefinescanfprintf 都是关键字。迷惑你的地方If是可以做为用户标识符。因为If中的第一个字母大写了,所以不是关键字。
2)实型数据的合法形式:
2.333e-1 就是合法的,且数据是2.333×10
考试口诀:e前e后必有数,e后必为整数。.?1
3)字符数据的合法形式::
'1' 是字符占一个字节,“1”是字符串占两个字节(含有一个结束符号)。
'0' 的ASCII数值表示为48,'a' 的ASCII数值是97,'A'的ASCII数值是65。
4)整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节:
考试时候一般会说,在16位编译系统,或者是32位系统。碰到这种情况,不要去管,一样做题。掌握整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节就可以了。
5)转义字符的考查:
在程序中 int a = 0x6d,是把一个十六进制的数给变量a,注意这里的0x必须存在。在程序中 int a = 06d, 是一个八进制的形式。
在转义字符中,’x6d’ 才是合法的,0不能写,并且x是小写。
‘141’ 是合法的。
‘108’是非法的,因为不可以出现8。/ 16
转义字符 意义 ASCII码值(十进制)
a 响铃(BEL)007
b 退格(BS)008
f 换页(FF)012
n 换行(LF)010
r 回车(CR)013
t 水平制表(HT)009
v 垂直制表(VT)011
反斜杠 092
? 问号字符 063
' 单引号字符 039
“ 双引号字符 034