c语言程序设计实验(通用12篇)
实验二 循环结构程序设计
班级 2012196 学号 201219628 姓名 李明月
一、实验目的
(1)掌握用while语句,do-while语句和for语句实现循环的方法;(2)掌握循环结构的嵌套;
(3)掌握break语句和continue语句的使用方法。
二、实验内容及步骤
1.相传国际象棋是古印度舍罕王的宰相达依尔发明的。舍罕王十分喜欢象棋,决定让宰相自己选择何种赏赐。这位聪明的宰相指着8×8共64格的象棋盘说:陛下,请您赏给我一些麦子吧,就在棋盘的第一个格子中放1粒,第2格中放2粒,第3格放4粒,以后每一格都比前一格增加一倍,依此放完棋盘上的64个格子,我就感恩不尽了。舍罕王让人扛来一袋麦子,他要兑现他的许诺。国王能兑现他的许诺吗?
程序1:试编程计算舍罕王共要多少粒麦子赏赐他的宰相,这些麦子合多少立方米?(已知1立方米麦子约1.42e8粒)总粒数为:sum=1+2+22+23+„+263 程序代码:
#include
for(i=1;i<=63;i++)//用for循环语句实现循环运算 { t=t*2;sum+=t;//循环表达式 } printf(“总麦粒数为:%fn”,sum);v=sum/1.42e8;printf(“折合体积为: %f立方米n”,v);//对结果进行输出
return 0;} 运行结果:
2.求完数。
程序2:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6的因子为1,2,3,而6=1+2+3,因此6是“完数”。编程找出1000之内的所有完数,输出所有的完数(要求:一行显示6个数);
程序代码:
#include
sum=0;for(j=1;j
if(i%j==0)
{
sum=sum+j;
} } if(sum==i)
{ printf(“ %d”,i);
n=n+1;
if(n%2==0)
printf(“n”);
} } printf(“n”);return 0;} 运行结果:
3.打印九九乘法表
程序3:编程输出如下上三角形式的九九乘法表。2 3 4 5 6 7 8 9-------n“);for(i=1;i<10;i++)//i { for(j=1;j<=i;j++)// printf(” “);for(j=i;j<10;j++)//j printf(”%-2d “,i*j);// printf(”n“);}
代表行 输出空格达到来使得向右对齐代表列
输出行与列的乘积 3 1 2 3 4 5 6 7 8 9
运行结果:
三、问题讨论
break语句和continue语句在循环结构中使用时有何区别?举例说明。
break语句是跳出整个循环过程,不再判断执行循环的田间是否成立,并且break语句不能用于循环语句和switch语句之外的任何其他语句中。而continue语句则只是结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。
例子:
#include
printf(”%d“,i);} printf(”n");return 0;} 输出:
但是换成break之后:
四、实验心得
在C语言实验中,主要是引导学生突破传统的思维方式,培养学生读、写程序和调试程序的能力以及提高上机的学习兴趣和自主实验的方法技巧等。以下是笔者结合教学实践,从几个方面总结如何加强实践环节的教学。
1 编写符合学生实际情况的实验讲义,注重学生综合实验能力的培养
目前,C语言实验方面的教材和参考资料很多,但是绝大部分内容广泛,针对性不强,不好直接拿来当作学生的实验指导书,主要有以下几个原因:第一,学生没有明确的实验目标,实验兴趣不大。上机时一些学生无所事事或玩游戏,不但害了自己,还影响其他同学。第二,现有教材中上机实验都立足于C语言本身的一些语言规则,和实际开发脱节,没有较容易理解和生动有趣的范例,比较死板、枯燥。第三、现有实验大多注重语句、语法等,没有把编程解题思路和程序测试等放在首位,对学生分析问题和解决问题的能力训练不够。为此,教师需要结合自己的教学经验,针对专业特色和教学要求编写针对性较强的实验指导书,以达到以下几个目的:(1)每个实验目的明确;(2)明确实验预习内容,让学生每次实验都作好预习准备;(3)实验指导部分重在指出此次实验的重点内容、不易理解和易出错的环节,而不是理论教材的重复讲述;(4)精选实验题目,以达到每一道题都能体现一个或多个知识点,并较多地设置“陷阱”,尽量让学生出错,把问题留给学生去思考和解决。根据难易程度分必作题和选作题,必作题要求在上机时间内完成,选作题供学有余力的同学参考,以满足不同层次学生的需求。
2 规范实验活动过程,量化评分标准
学生是实验的主体,要提高实验教学效果,学生必须要对实验有足够的兴趣和重视。然而,认为实验课无关紧要的思想还是比较普遍,因此作为实验教师就应当制定一些规章制度来规范整个实验过程,在C语言实验教学过程中实验教学过程中主要从以下几个方面进行规范。
2.1 检查实验预习报告
由于是程序设计课程,如果学生上机时才来思考、写程序和调试,绝大部分同学根本不能完成实验任务,甚至根本没法动手。为了提高实验教学效果,在自编的实验指导书中设有“预习与思考”内容。要求学生在上课之前思考相关问题并将“实验内容”部分的源程序写好。每次上课前,老师严格检查实验预习报告,凡没有预习的同学一律不允许进实验室。这样,可以促使学生对相关的内容进行一定时间的预习和思考,实验教学效果较明显。
2.2 严格考勤制度和实验现场考评
在实验教学过程中应注意培养学生的动手能力、独立科研能力及合作精神,绝不允许“一人动手大家看”这种“放羊式”现象出现。学生在做完实验后都必须由教师检查其结果,打分后方可离开,凡无结果或结果不理想者,必须补做或提供条件让其重做,促使学生在实验中勤动手,也使学生们具有成就感。对于部分综合型的实验尤其强调分工合作,实行小组长负责制,争取小组成员一起协调配合完成。
2.3 认真批阅实验报告加强反馈
每次实验结束,要求学生上交实验报告。对每一份实验报告都认真批阅,在不正确的地方作出批注,并提示学生错误的原因让他进一步思考;对表现好的学生下评语给予鼓励。这样做有几个好处:(1)能够检验学生上机实践的效果;(2)能及时发现和校正学生所出现的问题;(3)能够激发学生对此门实验课程的学习兴趣;(4)老师能清楚地了解学生对相关知识的掌握情况,教学更加有针对性。实践证明,认真批阅实验报告后,下次同学们上机时会更认真,所写的实验报告更工整、规范。
2.4 量化评分标准
实验课不同于理论课,实验操作能力是评价学生成绩的一个主要方面,不能仅以试卷的形式来评分,因此需要制定了严格的评分标准,将学生们在课堂上的表现以分数形式量化,比如可这样规定(实验成绩30分):其中操作和实验结果10分、实验报告5分、实验考试5分、提问5分、纪律5分:包括迟到早、旷课、环境整洁等。这样可以让学生有紧迫感,杜绝“放羊”现象的发生。
3 改革实验教学方法
在以前的实验教学中,老师在上机之前将实验过程中可能涉及到的问题先作讲解,在实验过程中,当学生问到问题时,马上给出正确的解决方案,甚至帮学生将问题解决,很少让学生去思考。这样可能下次学生遇到相同的问题时仍然没法解决。然而,学生在整个实验过程中,是否积极开动脑筋,所收到的效果是大不一样的。现在,在教学过程中切实采用“启发式”教学方法,主要体现在:(1)在课前,针对本次实验的内容提出几个问题让学生思考后作答,这样就会促使学生应用所学过的理论知识对教师所提的问题积极思考,并通过实验来验证解决;(2)对学生在实验过程中所遇到问题,并不马上将解决的方法都告诉学生,而是引导学生分析,在什么情况下才会出现这种错误,如果要解决它有哪几种思路,留几分钟的时间给学生自己思考。比如针对以下3个C语句:int b=7;float a=2.5,c=4.7;a+(int)(b/3*(int)(a+c)/2)%4,让学生计算表达式的值并上机验证。采用的教学方法是先让学生用笔计算,之后上机验证,看两个结果是否一致。一般会发现一部分学生出错,就可提出以下几个问题供他们思考:(1)整个表达式的结果是int型还是float型?(2)(int)(a+c)的结果是多少?是整型还是实型?(3)两个整型数据相除结果是什么类型?(4)“%”运算符的功能是什么?左右两边的数据要求是什么类型?
比起“填鸭式”的灌输,“启发式”教学方法可以让学生积极开动脑筋思考,对本实验的理解就会更加深刻,学到的知识也更扎实。
4 设计综合性的实验
以往大多数同学在学完C语言后,普遍反映能看懂例题,但遇到实际问题就无从下手,这主要是教材上的例题缺少实际意义。为此,我们可以设计短期任务与长期任务结合的上机内容。以一个大题目作为长期任务,再按不同功能模块分解开来,形成一个个短期任务。每一章学过之后要求完成一项或几项编程作业,而各章的编程作业不是孤立的,而是相互联系的,实际上它们都是一个较大型较复杂程序的组成部分。这样就可以使学生的任务形成一种连贯性,在整个学科的学习过程中始终都有一个总任务的驱动,而学生又在一个又一个短期任务的驱动下,体验着一次又一次迈向成功的喜悦。例如,以“学生成绩管理系统”为课程设计的长期任务,从常用输入/输出语句printf和scanf开始,让学生编写主函数并在主函数中调用若干个空函数形成一个文本型菜单的雏形;学习常用数据类型后,再编写一个验证密码输入的函数;选择结构后,要求编写一个菜单选取函数;循环控制和数组后,要求建立班级课程的成绩输入输出函数;学完结构体类型后,要求使用结构体数组来存储和处理学生的信息;学习链表后,要求利用单链表动态管理学生的成绩;最后在“文件”这一章,要求利用文件操作完成学生成绩管理。当学完整个课程,完成了平时要求的各项编程作业之后,就会发现,原来自己完成的远不是零碎的程序段,而是在制作程序的各个部件,只要通过简单的程序拼装,就可以构成一个比较复杂的程序。这也在潜移默化中培养了学生采用各个击破的方法解决实际问题的意识。最后,学生从整体的角度来审视整个程序的设计,并通过上机进行综合调试,达到提高编程能力的目的。
5 采用协作方式的实验组织形式
协作学习由David W.和Roger R.Jonson教授提出,是学生以小组形式参与、为达到共同的学习目标、在一定的激励机制下最大化个人和他人习得成果,而合作互助的一切相关行为。协作学习是一种通过小组或团队的形式组织学生进行学习的一种策略。小组成员的协同工作是实现班级学习目标的有机组成部分。小组协作活动中的个体(学生)可以将其在学习过程中探索、发现的信息和学习材料与小组中的其他成员共享,甚至可以同其他组或全班同学共享。在此过程中,学生之间为了达到小组学习目标,个体之间可以采用对话、商讨、争论等形式对问题进行充分论证,以期获得达到学习目标的最佳途径。学生学习中的协作活动有利于发展学生个体的思维能力,增强学生个体之间的沟通能力以及对学生个体之间差异的包容能力。此外,协作学习对提高学生的学习业绩、形成学生的批判性思维与创新性思维、对待学习内容与学校的乐观态度、小组个体之间及其与社会成员的交流沟通能力、自尊心与个体间相互尊重关系的处理等都有明显的积极作用。
采用协作方式来组织实验,是值得广大教师探讨并推广的一种形式。在C语言实验教学过程中,在尊重学生个体差异和一人一机基础上,利用局域网,将学生分成小组进行协作实验,将实验心得体会、结论等在网上共享。改变以前那种各自为阵,互不往来的实验组织方式。协作学习对提高学生的学习业绩、形成学生的批判性思维与创新性思维、对待学习内容与学校的乐观态度、小组个体之间及其与社会成员的交流沟通能力、自尊心与个体间相互尊重关系的处理等都有明显的积极作用。
6 结束语
C语言的实践教学在该课程的教学过程中占有举足轻重的地位,本文通过对C语言课程多年的教学经验和教学改革的实践和体会,提出了增强实践教学和加强学生动手能力的培养想结合的思想,使学生在实践教学的同时,也锻炼和培养了都手能力,为大学计算机语言课程的实践教学提出了一个新的思路和方法。当然,对于实验课的教学,还有许多方面需要我们进一步完善和提高。
摘要:《C语言程序设计》是高校计算机教学的一门基础课,实验教学在其中占有非常重要的地位。本文就如何强化C语言实验教学进行了探索,并提出了一些可行的方法。通过教学实践表明,这些方法和措施能有效地提高教学效果以及学生的动手能力。
关键词:C语言,实验教学改革,探讨
参考文献
[1]谭浩强.C程序设计(第二版)[M].北京:清华大学出版社,1999.
关键词:C语言实验教学;教学改革;教学设计;教学流程
中图分类号:G642.0 文献标识码:A
一、引言
C程序编写能力是要靠大量的练习学会的,只有让学生多多动手,他们才会对程序设计语言感兴趣。因此在C语言课程教学中应该重视实验课。但是,目前C语言实验课的教学存在着以下弊端:第一,在教学理念上重视理论教学,轻视实验课的练习。第二,在实验课教学过程中教师往往放任学生自由上机,学生只能被动地编写教师提供的程序清单对编程知识缺少深入思考。第三,在实验课的教学过程中,学生之间缺少交流。而在实际的程序开发行业中所有开发人员是需要相互合作的。基于以上因素需要对C语言实验课的教学过程进行改进。
二、C语言实验课教学目标的确定
教学目标就是教学的一个标准,教学目标规定了教学要达到的程度,它是教师教学和学生学习的依据,教学目标的制定可以克服教学的盲目性,在教学过程中占有重要的地位。因此,C语言实验课教学首先要确定教学目标。
C语言实验课教学目标的制订要从认知领域、动作技能领域和情感领域这三个方面来确定。例如对于C语言课程中的“控制结构”这部分的实验内容其实验目标确定如下:在认知领域方面,学生要理解基本的解决问题的技巧,理解计数控制循环和标记控制循环;在动作技能领域方面,学生能够熟练掌握自顶向下逐步求精算法设计,能够熟练应用if语句,if/else语句和switch语句来实现选择结构,能够应用while语句,do/while语句和for语句实现程序循环结构,学生可以使用++、--、赋值和逻辑运算操作符,在循环语句中能够应用break语句和continue语句来控制程序的结构;在情感領域方面,要培养学生认真学习、严谨求实、实事求是和勇于探索的科学精神和态度。
三、确定C语言实验课的操作流程
为了上好C语言实验课,并且能够完成制订好的教学目标,需要根据C语言实验课的具体题目可以将实验课教学过程分为三大部分进行:课前部分、课中部分和课后部分。其具体的操作流程如下图所示:
C语言实验课操作流程图
在上图中,课前教学部分、课中教学部分和课后教学部分都要按照实验教学目标来制定。课前教学部分是在课堂讲授课程完毕之后并且在实验课进行之前进行的,在这部分中主要是要对所讲授课程的知识点进行巩固,并对实验课涉及的知识进行预习。教师在设计实验题目时要设计好学习环境,利用良好的环境调动学生学习的积极性。在实验课学生现场自主编程中,可以发现C语言的语法错误和逻辑错误,提高学生自己分析和解决问题的能力。在这个过程中,教师要给予学生必要的指导和帮助。在协助学习实验题目过程中,教师要确定协作小组让学生共同完成学习目标并将个人习得成果转化为大家习得成果,并且教师要对不同的学习任务进行选择,要设计好实验课程的协作环境,保证实验课程的顺利实施,最后要对实验教学效果进行评价,以此来刺激教学的进行。
四、结论
在C语言实验课的教学中,要充分尊重学生学习活动的主体性地位。所以在大学C语言程序设计这门课程的实验教学中采用了以学为主的教学设计方案,这样可以促进学生独立分析问题的能力,充分调动学生学习的兴趣和主动参与意识。
参考文献:
[1]吴文虎.计算机程序设计基础课程改革[J].中国大学教学,2004(02).
[2]乌美娜.教学设计[M].北京:高等教育出版社,1994.
[3]孙可平.现代教学设计纲要[M].西安:陕西人民教育出版社,1998.
系部:计算机科学系 年级:2013 级 班级:
姓名:
学号:
实验时间:
实验成绩:
2013年月日
实验三顺序结构程序的设计
一 实验名称:顺序结构程序的设计
二.实验环境:windows XP系统,VC++6.0软件
三.实验目的:
四.实验内容:
五.算法描述流程图
六.源程序
七.测试数据及运行结果
八.实验心得
实验成绩评分要求
1、原创性发现抄袭或雷同成绩为0分
2、正确性程序正确60分
3、可读性格式清楚,有注释,变量命名规范20分
4、健壮性对特殊测试数据有考虑有测试10分
课程名称:C语言程序设计
课程属性:必修(限选)
实验属性:独立设课
适用专业:光伏发电技术及应用、光伏材料加工与应用技术、新能源应用专业 学时:(实验学时 34)
应开实验学期:第二学期
应开实验项目数:
实验类型:综合性、验证性
一、本门课程实验的目的与要求
通过实验,加深学生对C语言的理解,掌握数据类型、模块化程序设计、指针、数组、指针及结构体、共用体和枚举类型的定义及使用,会写选择型程序、循环型程序,要求学完本门课程后,可编写C语言小程序。
上机实验是学习C语言程序设计的重要环节。通过实验,学习C语言的特点和方法;理解计算机程序的执行过程;掌握用计算机解决问题的方法和基本的程序设计技术;学会程序的调试方法。
二、实践形式和实践环境要求
1、实践形式:课内实验。
2、实验环境要求:每人一台电脑,安装有(Turbo C 2.0,C++环境)的实验室环境条件。
三、实践总学时和实践资料
1、总学时:34学时。
2、资料:按自编实验指导书相关内容进行实践。
四、考核与成绩评定
本课程实验考核由各分阶段实验报告、期末实训两大部分组成。各分阶段实验报告占总成绩的60%,期末考核占总成绩的40%。
五、实践任务与学时分配
实验一C程序上机操作方法及运行环境
(一)实验目的与要求:
1、了解所用的计算机系统的基本操作方法,学会独立使用该系统。
2、了解在该系统上如何编辑、编译、连接和运行一个C程序。
3、通过运行简单的C程序,初步了解C程序的特点。
(二)参考学时:2
(三)实验环境::计算机机房(Turbo C 2.0,C++环境)。
实验二数据类型、运算符和表达式
(一)实验目的与要求:
1、掌握C语言数据类型,熟悉如何定义一个整型、字符型和实型的变量,以及对它们赋值的方法。
2、掌握不同的数据类型之间赋值的规律。
3、学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加和自减运算符的使用。
4、进一步熟悉C程序的编辑、编译、连接和运行的过程。
(二)参考学时:2
(三)实验环境::计算机机房(Turbo C 2.0,C++环境)。
实验三顺序结构程序设计
(一)实验目的与要求:
1、掌握字符型数据与整型数据如何通用及赋值语句的使用方法。
2、掌握各种类型数据的输入输出函数的应用方法。
3、掌握顺序结构程序的编写过程。
(二)参考学时:2
(三)实验环境::计算机机房(Turbo C 2.0环境)。
实验四选择结构程序设计
(一)实验目的与要求:
1、掌握关系运算符和逻辑运算符的使用方法及其表达式的应用。
2、掌握分支语句的使用。
3、结合程序掌握一些简单的算法。
4、学习调试程序。
(二)参考学时:2
(三)实验环境::计算机机房(Turbo C 2.0,C++环境)。
实验五循环结构程序设计
(一)(一)实验目的与要求:
1、掌握循环次数不确定的循环程序设计方法。
2、掌握如何用break语句退出循环。
(二)参考学时:2
(三)实验环境::计算机机房(Turbo C 2.0,C++环境)。
实验六循环结构程序设计
(二)(一)实验目的与要求:
1、掌握循环次数确定的循环结构程序及双重循环结构程序的设计思路。
2、掌握循环控制变量的取值范围的确定。
(二)参考学时:2
(三)实验环境::计算机机房(Turbo C 2.0,C++环境)。
实验七数组的应用
(一)(一)实验目的与要求:
1、掌握一维数组的定义及应用,主要注意其下标从0开始及下标越界问题。
2、掌握数组在循环的控制下其下标的灵活变化。
(二)参考学时:2
(三)实验环境::计算机机房(Turbo C 2.0,C++环境)。
实验八数组的应用
(二)(一)实验目的与要求:
1、掌握数组的定义、数组元素的引用及数组的初始化。
2、掌握字符数组的定义、数组元素的引用及对字符数组的初始化。
3、在综合应用中的具体体现。
(二)参考学时:2
(三)实验环境::计算机机房(Turbo C 2.0,C++环境))。
实验九函数
(一)(一)实验目的与要求:
1、掌握函数的定义、说明和调用方法。
2、理解return语句的作用和使用方法。
3、掌握函数调用过程中“传值”和“传址”方法的特性、使用及区别。
(二)参考学时:2
(三)实验环境::计算机机房(Turbo C 2.0,C++环境)。
实验十函数
(二)(一)实验目的与要求:
1、掌握函数的定义、说明和调用方法。
2、理解return语句的作用和使用方法。
3、掌握函数的嵌套调用和递归调用的定义及编制方法。
(二)参考学时:2
(三)实验环境::计算机机房(Turbo C 2.0,C++环境)。
实验十一编译预处理
(一)实验目的与要求:
1、掌握简单的宏定义和带参数宏的定义及其应用,并理解宏展开实质。
2、掌握文件包含和条件编译的应用。
3、清楚带参的宏和函数的差异。
(二)参考学时:2
(三)实验环境::计算机机房(Turbo C 2.0,C++环境)。
实验十二指针
(一)实验目的与要求:
1、掌握指针的概念,指针变量的定义和使用。
2、会使用指向数组的指针。
3、会使用指向字符串的指针。
4、掌握指针型函数和指向函数的指针。
(二)参考学时:2
(三)实验环境::计算机机房(Turbo C 2.0,C++环境)。
实验十三结构体、共用体
(一)实验目的与要求:
1、掌握结构体类型的说明和结构体变量的定义。
2、掌握结构体变量成员的引用和对结构体变量的初始化。
3、掌握结构体数组的定义及使用。
(二)参考学时:2
(三)实验环境::计算机机房(Turbo C 2.0环境)。
实验十四文件
(一)实验目的与要求:
1、掌握文件以及缓冲文件系统、文件指针的概念。
2、学会使用文件打开、关闭、读、写等文件操作函数。
3、学会用缓冲文件系统对文件进行简单的操作。
(二)参考学时:2
一、、for(i=0;i T[2*d]=' Scanf(“%s”,&s)、#define ARR-SIZE 80; Inverse(char a); Str[i]=str[j]; 3、int f=1; 二、1、i<=n S+x[i] i2—i1+12、#include String strTemp[i] J++; 教学是根据特定目标培养人才的主要形式和手段。C程序设计实验教学一般分为如下三部分:布置实验内容、学生自主实验、教师剖析讲解, 这是教师“教”与学生“学”的有机结合, 学生在教师有目的、有计划的指导下, 积极、主动的掌握学科相关知识。我们往往将这样的教学过程界定为传统教学[1]。近年来, 伴随着各门各科课程改革的深入实施, 传统教学过程中许多教学理念已经不能完全适应时代的要求[2], 譬如以知识传授作为学生学习的主要途径, 在教学效果评价上重结果轻过程, 这种凡事以教师为中心的方法, 扼杀了学生的主观能动性, 学生成为知识的被动接受者, 不利于学生创造性思维及学习兴趣的培养, 因此有必要对传统的教学过程进行改革[3]。本文针对传统C语言程序设计教学过程中存在的问题, 将“有效教学理论”引入到C语言实验教学过程中去, 对教学方法及教学内容作出一系列的改革, 并进而形成一个完整的C程序设计实验教学体系。 2 有效教学理论的立足点 有效教学理论要求教师遵循教学活动的客观规律[4], 以促进学生的学习与发展为目的, 以尽可能少的时间、精力和物力取得尽可能多地教学效果, 从而实现特定的教学目标[5]。根据上述目标要求, 教学过程的设置应当考虑到如下几点内容。 (1) 设计出教者与学者均能安心的人际关系和学习环境, 营造出人性化的理解和相互信赖的班级气氛, 培养学生团队合作的精神, 团队中的同学之间彼此信任, 彼此依赖, 为团队而战, 不再是单打独斗; (2) 学习的内容、方法和评价方式均适于学生, 研究教学过程, 注重教法的选择和学法的指导。所选教学案例要符合学生的实际情况, 内容要涵盖理论课所有知识点, 对学生的作业要做正确的评价, 不能完全根据参考答案来, 对进步大的同学要给予鼓励; (3) 在活动性的学习过程中, 学生能够积极主动地参与。每个学生在锻炼的过程中能够充分发挥自己的想象力、创造力, 教师要给学生创造展示自我的空间, 使学生在练习的过程中真正发挥主体作用。同时, 根据每个学生的性格特点, 让其参与到团队实践中去, 扮演不同的角色, 从而提高学生的学习兴趣和解决问题的热情。 3 C语言实验课程中的有效教学设计 C语言程序设计是一门实践应用性较强的学科, 在日常的教学过程中需要不断强化实验环节, 让学生在操作实践过程中不断地发现、分析和解决新问题。为了实现上述目标, 教师在教学过程中必须要结合有效教学理论的要求, 努力改进教学方法。 3.1 上好第一堂实验课 教师在课前设计好一个用C语言开发的软件, 该软件应该包括C语言程序设计的主要知识点 (如一个简单的学生管理系统) 。在上第一次实验课的时候, 教师向学生展示该功能软件, 并简单介绍实现该软件所用到的程序设计知识点, 让学生充分理解到“通过学习这门课程可以实现这样的软件”。最后向学生详细介绍本学科的实验课程设置。这一举措将会激发学生浓厚的学习兴趣, 同时也将克服长久以来植根于学生心中“程序设计学为何用”的心里障碍。 3.2 选择合适的教材 教材的选择是教学改革的关键, 良好的教材能唤起学生的学习欲望、引导学习方法、巩固所学知识等。C语言程序设计是一门以培养学生程序设计基本方法和技能为目标, 以实践能力为重点的特色鲜明的课程。为此, 其教材内容需要能够反映本学科的基本原理、技术和方法在相关现实领域中的典型应用。经过多年的课程建设, 由本校王创伟教授所撰写的教材《程序设计基础———从问题到C语言程序》在教学内容、教学方法上作出新的改进, 以学生成绩管理系统的程序设计为主线, 以编程应用为驱动, 通过实例和问题引入内容, 重点讲解程序设计的思想和方法, 并穿插讲解相关的理论知识内容。本教材侧重培养学生从实际问题空间向程序设计空间转换的能力, 让学生领会到C语言知识是一种工具, 利用这个语言工具进行有效的“程序设计”才是本课程设置的核心理念、 3.3 采用“2+2”教学模式 传统的教学过程以“教师教”为主要方法, 学生鲜有机会主动参与到教学实践中去。为了充分激发学生的学习兴趣, 自2009年9月起, C语言程序设计课程全部教学环节被安排在实验室中进行, 每个教学阶段均采用“2+2”模式 (即2节理论+2节实验) 。前2节课主要是教师结合案例讲授相关的理论知识点, 后2节让学生编程实现相应的功能。由于C语言程序设计课程主要面向本专业一年级学生, 其专业基础相对比较薄弱, 对于程序设计的概念还没有十分深入的理解, 所以在理论知识讲解中, 教师要注意突出语言特色, 充分运用形象思维讲授知识点。教学中应该尽量用一些直观形象的比喻来解释一些抽象的概念。例如, 在讲解变量的时候, 可以将变量比喻成一个“房间”, 变量的值就相当于“房间”中的东西, 而指向某变量的指针就相当于房间的门牌号, 通过这些形象直观的比喻, 学生理解起来就比较容易了。在实验环节中要求学生利用所掌握的知识点分阶段的实现学生成绩管理系统, 对于部分与管理系统联系不是十分密切的知识点, 教师可以布置一些常用项目案例让学生来实现, 从而充分调动起他们的学习主动性与积极性。 3.4 加强实验环节管理, 注重学生团队合作能力培养 目前, 国内软件企业需要的计算机专业人才, 除具备熟练的专业素质外, 更重要的是拥有良好的沟通能力, 在传统教学过程中, 这一点被绝大多数教师所忽略。 实验环节是考查学生是否能够熟练运用C语言语法解决实际问题的一个重要途径。传统的实验过程以教师为主导, 一位教师辅导几十位学生, 教师为学生实验过程中出现的问题进行解答。这样的模式存在许多的弊端, 譬如由于课堂时间有限, 教师无法即时解答每个学生提出的问题, 这样会导致部分学生不能继续进行实验, 长此以往会让他们产生厌学的情绪, 并对程序设计这门课程彻底丧失信心。针对这样一些情况, 在实际的实验教学课程中, 采用分组进行的方法, 每4位同学组成一个小组, 对于程序设计过程中某位同学不能解决的问题, 先让其进行小组内讨论, 如果小组内无法解决, 再由教师为小组成员讲解。在此过程中, 还要求小组内成员做好必要的实验笔记, 对于实验过程中遇到的典型问题做相关的记录。这一举措既能及时解决问题, 提高实验效率, 又能培养学生之间的团队协作能力。 4 结束语 基于本校计算机专业C语言程序设计教学的实际情况, 立足于有效教学理论, 对C程序设计实验环节的教学方法进行了一系列的改革。实践表明, 上述改革措施对加深课程理解、培养学生兴趣和提高教学质量有着显著的效果。随着计算机专业基础课程群改革的深入开展, 基于能力和素质培养为基本目标的有效教学理论必将体现出其极大的优势, 作为高校教师的我们必将竭尽全力地为培养高素质的优秀人才而努力。 参考文献 [1]王希杰, 王瑞庆.C语言教学改革的几点建议[J].中国科技信息, 2006 (24) :213-214. [2]宋楚平, 李少芹.C语言教学改革的思考[J].职业教育研究, 2005 (2) :84-85. [3]李丽萍, 王冬梅C语言教学改革的探索与实践[J].辽宁工业大学学报, 2009 (58) :114-115. [4]余文森.论有效教学的三大理论基础[J].课程教材教法.2012 (32) :15-21. 关键词 C语言 软件编程 实验探讨 中图分类号:TP3 文献标识码:A 1 C语言的概述 在各种计算机编程语言中,C语言属于一门高级语言,它是一切计算机语言的基础,拥有高级语言和低级语言的特点,灵活方便,简洁紧凑;而且它的语法限制不严格,程序员在设计时程序书写自由。不仅能够编写系统软件,同时还可以编写应用软件,能够适应于多种操作系统,应用广泛,可移植性强。总之,C语言对于信息技术的发展具有十分重要的作用和价值。 2基于C语言的计算机软件编程实验研究 2.1C语言的编程技巧 (1)灵活运用指针 在C语言编程的时候,指针是一种特殊类型的变量,它能够帮助程序员有效的表达和解决程序设计过程中遇到的复杂问题,熟练掌握指针是必要的。指针具有三要素:指针名以及指针类型和值。在编程时,指针和一般变量名相同,但是在类型以及值上具有区别,另外,指针不仅能够被用于表示数组,还可以被作为函数的参数返回值。 (2)C 语言的特有函数 在C语言编程的时候,有时需要用到一些特有函数。函数都具有一定的功能,同时函数名也反映了该函数的功能。在进行函数定义时,程序员需要把函数的名字、返回值类型以及参数名等各项都进行定义。另外,因为库函数是由C 编译系统提供的,这些函数均是系统首先定义好的,在程序调用的时候,程序员只需利用“#include 指令”把与之相关的头文件包含到所用文件中即可。 (3)算法技巧 在程序设计的过程中,算法是程序的灵魂,因此,掌握一定的算法技巧是必不可少的。通常情况下,算法不仅可以用自然语言表示,有的时候也利用流程图表示。需要注意的是,利用流程图表示算法时,程序设计员必须熟练掌握常用的流程图符号。且“数学乃是计算机之母”,牢固的数学知识同样能够提升编程效率。 (4)位运算以及文件知识 相比其他计算机高级语言的运算方法,位运算作为C 语言的重要特色,具有独特性和唯一性。位运算是以二进制位为对象,然后结合相关程序要求进行各种运算。文件包含有数据文件以及程序文件,是计算机不可缺少的,程序设计员在进行编程时,需要把所写的程序存储的文件之中,这样可以便于程序员查找数据,提升查找效率。 2.2 C语言和汇编语言混合的程序设计案例分析 (1)混合的软件编程方法 随着信息技术的不断发展和应用,在软件开发过程中,大多时候需要使用两种语言混合编程,有效地提高了程序的开发效率。通常情况下,混合的软件编程方法有两种,具体如下: ①把汇编语句嵌入C语言程序中。例如,把asm汇编语句嵌入到C语言源程序中:/*把5送到ax寄存器*/当把一组汇编语句嵌入到C语言源程序中,则需要利用大括号把嵌入程序给括起来:在本次的实验之中,在进行程序嵌入时,有其固定的格式,需要在嵌入的各行代码之前加“asm”关键字,也可以直接在asm代码块中放入汇编语句。但是程序设计者在进行嵌入时,一定要注意满足以下条件:汇编语言指令代码中关键字asm必不可少,且要放在指令代码之前;嵌入汇编语言指令代码能够和正常C语言程序混合,但是C语言的分隔符“;”必不可少;嵌入汇编语言时C语言的注释分界符必不可少,分别是“/*”和“*/” 。 ②首先编写C语言程序以及汇编程序,然后独立编译目标代码模块,最终进行链接。 首先,在进行混合编程时,C语言程序能够调用汇编语言的各种子程序以及其定义的变量,同时,C语言编写的函数以及定义的变量等也可以被汇编语言调用。而且混合编程的过程中,一个任务往往是由若干个功能模块组成,且不同的功能模块均是利用合适的语言进行独立编程,且以函数的形式存在。因此,程序设计者要根据每一模块的特点选择相应的语言和语言编程系统进行独立编程,并形成目标文件,继而连接目标文件,形成完整的可执行文件。在混合编程的过程中,设计者需要注意五个问题:参数传递问题;寄存器的使用问题;存储模式;变量以及函数的调用问题;子程序的返回值问题。其中,关于参数传递问题,在进行C语言程序调用汇编程序时,必须遵从参数传递原则,利用堆栈把参数传递给汇编程序。例如,在C语言程序中含有函数:voidaa(char*p,inti),这个函数是利用汇编语言进行编写的,如果编译是在小内存模式下实施的,系统在进行调用时,则写成aa(&q, n);运行时程序首先把n压入堆栈,然后再把&q压入堆栈,当参数传递过来并被汇编语言的子程序取得时,BP寄存器便被用作基地址寄存器,实现对栈中所存数据进行存取操作。 (2)混合的软件编程实例分析 程序的主要功能是在五个数中寻找最小数,有主程序“min.c” 以及汇编子程序“qiumin.asm”这两个部分组成。其中主程序是利用C语言编写,汇编子程序是利用汇编语言编写,被主程序调用,主要于完成寻找最小数。程序代码如下: /*文件名为:min.c*/ /*声明qiumin为外部函数*/ 利用C语言和汇编语言混合的编程方法,能够实现应用程序局部满足高运行速度的要求,但是在具体的运用之中,程序设计者仍需要注意寄存器分配以及内存模式等因素对于程序的影响;且在运行时,因为程序设计语言之间存在相互调用的外部接口,故可以实现外部调用。 参考文献 实验一 上机操作初步和简单的C程序设计 一、实验目的1、熟悉C语言运行环境Turbo C++3.02、会简单的程序调试 3、熟悉C语言各种类型数据的输入输出函数的使用方法 4、掌握顺序结构程序设计 二、实验内容 1、上机运行本章3个例题,熟悉所用系统的上机方法与步骤。(习题1.7) 2、编写一个C程序,输入a、b、c 3个值,输出其中最大者。(习题1.6) 3、设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf输入数据,输出计算结果,输出时要求有文字说明,取小数点后2位数字。注意:在Trubo C++ 3.0中不能输入汉字,只能输入英文或拼音。(习题4.8) 4、运行如下程序,写出运行结果。第一┆范文网整理该文章,版权归原作者、原出处所有...#include void main() { int a=1,b=2; a=a+b;b=a-b;a=a-b; printf(“%d,%dn”,a,b); } 三、实验步骤与过程 一、教学目的和要求 熟悉ADS1.2开发环境编译、下载、调试程序的基本过程; 掌握C和汇编语言混合编程方法。 掌握ATPCS中的寄存器及参数传递规则。 二、实验内容 1、分别编写C程序和汇编程序,要求在C程序中调用汇编程序实现字符串拷贝功能。C程序中设定源字符串及目的字符串;汇编程序实现拷贝功能。 2、分别编写C程序和汇编程序,要求在汇编程序中调用C程序实现4个整型数的求和运算。汇编程序实现变量的赋值及C函数的调用;C程序实现求和运算。 3、编写C程序内嵌汇编语句,对两个整型数a、b进行求和运算,和值存放到变量c中。 (1)要求main()函数完成变量赋值及a、b、c数值信息输出;内嵌汇编语句实现求和计算。 (2)要求C程序中main()函数完成变量赋值及a、b、c信息打印,add()函数实现加法 运算;main()函数中的内嵌汇编调用C函数add()进行求和运算。 三、思考题 1、什么是ATPCS?它有哪些规则? 2、C程序调用汇编程序需要进行哪些设置?参数如何传递? 3、汇编程序调用C程序需要进行哪些设置?参数如何传递? 关键词:C++;程序设计;教学方法;教学改革 0引言 C++语言运用范围非常广,在软件设计、网络通讯、游戏娱乐等等领域都能涉及到,也是当前世界上使用最广的编程语言。但是行业的发展受到多方面局限,人才的缺失是行业发展最大的阻碍,许多高校都意识到这个问题,相继的开始《C++语言程序设计》课程,主要就是让计算机专业的人才能够多涉及这方面课程,提高学生的自主学习与独立思考能力,增加就业的几率。传统教学方式,存在教学目标不清晰以及教学方式古板的问题,很多学生对这门学科的重要程度认知不足,教学方式与内容的乏味让学生对此课程并无多大兴趣。本文是根据多年来的经验总结以及市场调查,从教学目标与内容多方面进行研究,以此追求有效的教学改革。 1教学中存在的普遍问题 1.1学生学习目标不明确 教学的主要目的是为了培养学生的兴趣以及软件编程能力,提高学生的独立思考、分析与解决问题的能力,提高就业的几率。以往的课程都是由不同教师来传授,每一个教师都只关注自己本科教学,并没有从全局效果分析,学生对自己的学习目标不明确,导致学习兴趣降低。没有目标的学生犹如行驶中迷失了方向的帆船,不知所措。当学生对自己的学习有了清晰的规划,就会不断朝着目标的方向努力前进。 C++涉及的概念都是较为复杂的,在学习过程中灵活多变,出错可能性非常大,可以说想要学好此课程是相对较难,所以很多学生都产生退却念头;同时C++不仅是纯对象语言,当中还涉及到程序设计语言,面对对象并不是单一的。这种特性导致了C++语言与C语言能够兼容存在。两种语言之间有时不需修改就能够使用,所以在刚开始学习时,学生觉得相对简单。[1]。然而,这两种语言也必然存在不能共通之处,学生要真正掌握两种不同的语言,就必须对其进行对比,找到其相同之处和不同点。 1.2教学重点偏向语法,课后延伸匮乏 在语言教学中侧重与语法[2]。在传统的教学当中,不管是老师教授还是教材讲解,都是先把概念推从出去,再理解规则,最后用案例讲解。概念知识相对来说不仅枯燥,要想记住也是较难的,在教学过程中,要引起学生兴趣非常难。虽然传统教学中有案例分析,但是案例分析都是各自孤立的,只是针对某一部分的知识,学生无法从中感受到实际运用价值。枯燥无味的文字不仅不能引起学生的学习兴趣,反而会让他们觉得反感。被动地接受理论知识只会让学生很快就忘记了教学内容,只有生动的教学方式才能激发起学生的兴趣。 教材课程中有课时限制,所以教学过程基本上都是从语法、规则、案例等等形式来落实。每一堂课讲解的时间都有限,再加上教师的课前准备不足,那么这堂课的实际效用就非常低。如果在课后没有进行延伸与巩固,那么学生要掌握更深层次的知识是不可能的。在这种情况下,学生掌握的知识只是皮毛,甚至可以说有些接收能力比较差的学习是掌握不了课堂知识。如果没有进行课后巩固,基本上这堂课的知识就是一闪而过了。对于老师传授的知识,学生不可能过目不忘,因此,只有不断对知识进行巩固和复习,才能让学生牢牢记住知识。 1.3教学方式无结合企业实际需要 学生在C++语言的学习中,通常都是局限在一部分知识中,并没有顾全大局的理念。传统的教学都是采用循序渐进的形式,每一节课都给学生灌输新概念、新规则,学生没办法从所有学习的知识中进行融合使用。[3]。就算是在教学中加入了大量的实验课程,也只是围绕某一个章节某一个知识进行实验安排。这种实践课程也只是一时兴趣,学生在学习一段时间后就会产生厌倦,学到的知识进而就无法使用到企业公中。单调的教学模式显然已经让学生失去了兴趣,这对于提升学生的思考能力和动手能力毫无帮助。每一个学生在毕业后都会步入社会,因此,了解社会环境和企业对于人才的要求对于学生来说尤为重要。如果教师一味地向学生传授课本知识,即便学生能够牢牢记住这些理论知识,也不知道如何将其应用到实际操作中。因此,在教学过程中,教师应该注重理论与实际的相互结合,把学生培养成为综合型的人才。 2教学改革策略 针对上述对C++语言教学存在问题的概述,本文从以下几个方面进行策略研究,在实际使用中也取得了不错的反馈。 2.1明确学习与教学目的 学习的动机是学生能够持续进行的基础,完成整个学习与巩固过程都需要学习动机来维持。现在大学生在学习过程中会考虑到今后就业方向,如果在课堂当中能够开展与今后就业相关的内容,那么学生会非常重视这次学习,效果自然就非常明显。对于不同的教学内容,学生往往会表现出不一样的兴趣程度,因此,老师首先要了解学生在学习过程中最为关注的问题,并且针对这些问题设计和安排教学内容。学生对于感兴趣的教学内容往往会表现出更强的积极性和主动学习性,学习效果也会有所提高。结束校园学习后的学生都会走向社会,他们对于未来的就业环境和企业的人才需求表现出更强的兴趣,因此,老师在教学过程中可以适当插入这部分的内容。 2.2教学内容要结合整体与具体两个方面 教材的编排几乎都是从概念、规则、举例这样的形式,但是知识的分散导致每一个章节的内容都联系不上,学生感受不到整体的编程效果。所以,在教学当中,应该注重整体到具体的方式,让学生能够先了解整个C++编程过程,然后再在每一个程序中融入教学内容,把教学具体到每一个知识点中,巩固学生的知识能力,学生在学习完所有知识后就已经完成整个设计。这种教学思路对程序类型的课程学习有极大作用。教学首先必须具备清晰的规划,才不会显得杂乱无章。教师应当确定一个大致的教学方向,然后再对教学内容展开详细的安排,在规划教学内容时,必须充分考虑不同学生对于教学任务的完成程度,从而对教学内容的难度进行适当的调整,尽可能地让更多的学生掌握教学内容。 2.3教学方法注重同中求异、异中求同 教学当中注重同中求异,异种求同的话,能够让学生抓住事物的本质,对事物的理解加深,有利于思维拓展。为了能够让学生的学习更加深入,可以用对比学习的方式,这样的教学效果会更加好。比如说,把c++语言与C语言进行对比教学,这样学生不仅能够学习到新内容,还能够巩固旧知识,得到双收益效果。其实两种语言在设计思路上有较大差异,一种是面对程序语言,把数据与数据捆绑起来,另一种是面对整个过程的语言设计,用分块的模式教学。教学内容的不同并不是意味着教学方法也截然不同,把相似的内容集中起来教学,有利于学生更好地把握知识,采用不同的方法对相同的内容进行教学,有助于老师找到教学中的平衡点,发现更合适的教学方法。 2.4校园学习与企业联合,为就业作准备 很多计算机相关专业的学生为了能够快速就业,在校园里就会选择去外面机构培训。当然培训并不意味就是能提高就业率,主要还是看学生的态度以及掌握情况。如果在高校的C++语言学习中,可以用校园与企业合作的方式来教学,在教学当中可以加入机构培训的方式;在每一次学完知识后就加入实践活动,对于今后的就业帮助极大。同时,提高学生的学习能力以及适应能力方面也有很大帮助。学校更加注重的是理论知识的传授,而企业更加注重的是实际的操作,企业提出人才要求,学校能够更加有针对性地为学生制定学习任务,从而让学生更好地掌握相关的专业技能,让自己离开校园后尽快适应到社会的工作中。 3结语 本文提出了《C++语言程序设计》课程的教学改革思路,通过教学方法、模式的改变,来激发学生的学习兴趣与能力培养,用校企联合的方式来为今后就业奠定基础,累积学生经验的同时还能提前模拟就业。有教学实验证明,这些教学改革方式是能够在一定程度上提高教学效果,并且对编程类型的课程来说都有极大的借鉴作用。传统的教学方式显然已经不能满足人们日益增长的需求,社会环境是不断进步的,竞争是越来越激烈的,为了使学生具备更强的社会竞争力,学校必须转变教学方法,一方面要让学生掌握基础的理论知识,另一方面需要注重学生的操作能力培养。总体来说,就是要理论知识与实践操作相互结合,培养全能型的学生,对他们的知识掌握以及今后的就业都有极大帮助。 参考文献: [1]杨庚.面向对象程序设计与C++语言[M].北京:人民邮电出版社,2012. [2]杨杰,陈雪兆.《C++程序设计》教学中存在的问题及改进建议[J].湖南科技学院学报,2013,11(26):190191. 1 实验项目的重新设计 现今很多C语言程序设计的教科书都有配套的实验教材, 而为了书籍的发行, 多数出版社都提供网上免费教学资源的下载, 其中就包含了实验题目的答案。教师确定了教材, 学生们很容易就能找到习题和实验题目的答案, 于是造成了部分学生的不劳而获, 可能就不会真正自己编程了。即使有些老师是用自行编写的实验教材, 实验也常常是立足于C语言本身的一些语言规则, 配合每一章所学的内容在计算机上进行实践, 形式无变化;多数实验项目所涉及的知识面较狭窄, 缺少综合性, 又没有较容易理解和生动有趣的范例, 学生感到比较死板、枯燥。缺少兴趣、课程难学、形式单一、题目无味, 都是实验项目设置的不合理造成的, 这样不利于学生及时掌握和巩固知识, 学习难度较大, 教学效果也不可能提高, 更不可能培养学生发现问题、分析问题、解决问题的研究能力和创新能力[1], 这就需要探讨实验项目的重新设计问题。 1.1 优化实验教学内容, 编写适宜的实验指导书 实验教学是为了提高学生的实践能力和应用能力, 应该能满足不同层次学生自主学习的需求, 课程的实验教学内容需进行优化改革。为此, 笔者提出用任务驱动的思想设计实验项目, 以大带小, 大任务除了分解为小任务外 (在2.2节具体讨论) , 还设置一些辅助实验题。这些题目可以是课堂例题的扩充, 比如循环结构中教材例题求自然数1-100的和, 可以扩充为求自然数前n项的和、求其中奇数和或偶数和。题目也可以是一些有趣的数学题目, 比如求水仙花数、求自然数的因子等;还可以是一些实际应用题目, 如计算出租车车费、求学生考试最高分最低分和平均分、猜数游戏等。这些小的题目, 可以对大任务的完成起到知识补充、辅助作用。 以上实验内容的设计需要教师自行编写实验指导书, 而不是采用与C语言课程教材配套的实验指导书, 因为这些指导书往往配有答案, 学生拿到指导书后, 看有答案, 常常不经过自己思考就将书上的程序录入进去, 绝对不利于学生的自主学习。因此, 编写适宜的实验指导书是很有必要的。指导书应按照上述实验内容, 对每个实验做出要求, 包括实验目的、知识点要求、能力要求和实验题目等, 另外, 还应编写教学和实用的C语言编译器的使用方法, 总结出学生常见的编辑和调试错误, 供学生参考。 1.2 运用“任务驱动”法, 精心设计每一个实验 实验项目的设计要尽可能切合实际且生动有趣。以任务驱动主导的实验课在实验内容的安排上, 不再以知识点作为主线索, 而是改用以任务为线索串联知识模块, 组成实验内容。 表1是以一个大任务“通讯录管理系统”作为长期目标, 将该任务按不同功能模块分解, 形成几个短期任务, 共12次实验。每次实验, 学生就围绕着这些任务来做, 由于这些小任务不是孤立的, 而是相互联系的, 是一个较大型较复杂程序的组成部分, 学生整个学期的实验过程中始终都有一个总任务在驱动, 而每一个短期任务, 都使学生由易到难、循序渐进地向成功迈进。这期间, 学生不仅能主动地发现问题、探索知识、解决问题, 更能从中得到正确的编程思想, 逐步培养独立探索、勇于创新的能力[2]。为了使部分基础较差的同学一样能跟上教学步伐, 实验在分组设计上采用初期每人一组, 中后期2人一组的方式。 2 教师角色的新定位 传统实验教学中, 教师的角色是“教育者”, 教师常常是把实验过程、注意事项等讲得很详细, 学生实验时只是按照实验步骤被动地进行, 缺少独立思考和尝试的机会, 主动性得不到发挥。高校教学改革呼唤教师角色的新定位, 按照上述C语言实验教学的思想, 教师的角色也应该从传统的“教”转变为新时期的“导”, 从较为单一化向多样化转变[3]。 在学习活动中, 学生是学习的主体;教师是客体, 是学生认识和发展的向导和顾问, 要指导学生顺利地掌握知识和合乎规律地去发展自己[4]。在C语言实验教学中, 教师应该是学生学习方法的指导者、学生思维的引导者、学习热情的激发者和学习过程的合作者。 2.1 教师是学习方法的指导者c语言程序设计实验 篇7
c语言程序设计实验 篇8
c语言实验报告 篇9
实验二语言与C语言混合编程 篇10
c语言程序设计实验 篇11
c语言程序设计实验 篇12
C语言的实践环节, 是特别提倡自主学习和实践的, 教师在实验课上, 要指导学生如何分析与题目有关的信息和资料, 对所要解决的问题提出各种假设并进行验证;要引导学生学会运用学过的知识解决实际问题, 在实践中学到知识, 在知识中体验实践;要教导学生勤思索、善动脑、重创新, 在知识的掌握上做到举一反三、触类旁通。另外, 教师要鼓励学生独立思考、敢于质疑, 要亲自动手编制程序和调试程序, 不怕出错。在老师的指导和帮助下, 学生能够真正找到一个适合自己的学习C语言的方法, 就是教师最大的成功。
2.2 教师是学生思维的引导者
C语言的学习对于初学者来讲是有一定难度的, 而程序设计又要求程序编制者要有清晰的思路, 这对学生的思维方式有一定高度的要求。教师要注重引导学生对于疑难问题的求解, 关键是找到解决问题的切入点、突破点;而在解决问题时教师扮演的是一个调味师的角色, 针对问题的求解作适当的点拨, 以启发学生思维。比如学生常用数学的思路解决程序上的问题, 这是一种思维方式的错误, 教师一定要让学生真正了解程序设计语言的工作过程, 从而建立“计算机程序”的思维方式方法, 这样才能在真正意义上学会编程。
2.3 教师是学习热情的激发者
热情和兴趣是学习最好的动力。教师要在实践教学中点燃学生学习的热情和智慧的火把, 学生就会学得乐、学得快、学得好。当学生遇到问题时, 教师要善于诱导学生正确分析问题、积极查找资料、通过上机实践、查错纠错, 最终解决问题, 改灌输式、说教式教学方法为启发式、引导式方法, 努力唤醒和激发学生的积极性和主动性, 引导和促进学生的独立思索和创新意识。
2.4 教师是学习过程的合作者
C语言课程的实践环节在机房完成, 实验课的大部分时间是学生的自主学习和实践, 教师以“导”为主。然而现今时代, 是讲究沟通合作的时代, 这点在C语言的实验课上也可以得到体现。基于以上讨论的三种教师角色, 第四种角色“学习过程的合作者”是不言而喻的。启发和引导式的教学、任务驱动的实验项目, 决定了教师与学生有一种互动关系, 他们需要思想交流和情感沟通。实验教学过程中, 师生会共同面对同样的问题, 他们可以共同讨论、共同思考、共同探索, 在合作中共同学习和进步。
3 结束语
综上所述, 是笔者在C语言程序设计实验教学中的一些研究和探索。C语言程序设计课程是计算机专业学生非常重要的专业基础课, 强调实践, 注重培养学生的编程能力。通过对该课程实验项目的重新设计、教学方法的改进和教师角色的新定位, 从而不断完善实验教学模式, 培养学生较强的编程能力和程序设计思维能力, 最终实现在实验教学中培养学生分析问题与解决问题的能力、自主学习能力、独立思索能力和开拓创新能力。
参考文献
[1]陈静.C语言程序设计实验教学改革初探---以阜阳师范学院为例[J].阜阳师范学院学报 (自然科学版) , 2008 (12) :83-84
[2]侯建花, 杨长青.“C语言程序设计”实验教学的改革与实践—以淮海工学院为例[J].计算机教育, 2010 (1) :114-115
[3]沈徽青, 程雁雷.如何应对高校教师角色和期望的多样性[J].中国大学教育, 2006 (12) :32-33
【c语言程序设计实验】推荐阅读:
c语言设计程序11-11
c语言递归程序11-06
c语言源程序10-03
c语言程序设计作业三06-24
C语言图形程序设计报告10-13
c语言程序设计基础题10-28
c语言程序设计补充题11-17
c语言程序设计大作业11-21
c语言程序设计题集12-13
汉诺塔c语言程序07-15