c语言的学习心得

2025-01-04

c语言的学习心得(通用11篇)

c语言的学习心得 篇1

学习C语言的心得

还依稀记得刚刚涉足于C语言这门课程是在大二下学期。对于这门新的学科,在大一上学期学习VB时已经从任课老师那里有所了解,虽然在我们的等级考试中有要求必须得过VB的等级,但是之前有听过毕业了的学姐学长们说过,真正以后实时用到的还是C语言的比较多一点,所以于是乎我便对VB产生了一种抗体,而对C语言的学习有所期待。。。

起初学习VB时,我对那些所谓的关键字很不是理解,感觉用VB编写的程序代码又复杂又冗长,顿时对之失去了信心。但是随着科技的快速发展,计算机已经取代了人类,更快的改变世界、改变人类生活,它已经成为我们生活中不可缺少的一部分,因此学好计算机则刻不容缓。

在真正学习C语言之前,我已经通过上网搜索以及图书查阅得知关于C语言的一些基本特性,这为我以后的学习打下了结实的基础。以下就是本人通过图书查阅所获得的一些C语言的最基本的特性资料。

C语言是在国内外广泛使用的一种计算机语言,学习使用C语言进行程序设计是计算机工作者的一项基本功。自20世纪90年代以来,C语言在国内迅速普及,不仅为计算机专业工作者所使用,而且为广大计算机应用人员所喜爱和使用。

C语言起初只是为编写UNIX操作系统提供一种工作语言而设计的。后来,C语言多次做了改进,但主要还是在贝尔实验室内部使用。随着UNIX的日益广泛使用,C语言也迅速得到推广。C语言和UNIX可以说是一对孪生兄弟,在发展过程中相辅相成。1978年以后,C语言先后移植到大、中、小、微型计算机上。C语言很快风靡全世界,成为世界上应用最广泛的程序设计高级语言。C语言是在B语言的基础上发展起来的,它是一种计算机高级语言,它具有如下几个主要特点:1)语言简洁、紧凑,使用方便、灵活;2)运算符丰富;3)数据类型丰富;4)C语言是完全模块化和结构化的语言;5)语法限制不太严格,程序设计自由度大;6)C语言允许直接访问物理地址,可以直接对硬件进行操作;7)生成目标代码质量高,程序执行效率高;8)用C语言编写的程序可移植性好。

通过学习与了解如上特点,这便更加坚定了我学习C语言的信念。在学习C

语言的过程中,我发现在编写程序时更加的灵活,更加的简单易懂。用C语言编写的程序代码可实行性更高,更能便于开发应用。

虽然在C语言的学习过程中,有时也曾因为一时想不到或者搞不清楚而苦恼过,但是通过与同学之间的交流学习以及向老师请教和上网百度后,难题毅然很快速的解决。看到在自己苦思冥想中获得的程序能成功实现某一功能时,此时的喜悦之情难以言表。忽然感觉能将书中所学的理论很好的融入到实践中将是多么美好的一件事,这也为我以后的毕业设计及以后的工作打下结实的基础,我将更进一步的学习这门课程,更好的将之运用到实处。

c语言的学习心得 篇2

关键词:高校,C语言编程,改善对策

1 C语言及其优势

C语言作为目前世界上使用最广泛、最流行的计算机编程语言,要想学习起来得心应手,对其的了解也是必不可少的,C语言起源于上世纪60年代,成型于70年代,在近50年的使用过程中表现出了以下特点:C语言简介紧凑、灵活方便,语法限制不严格,程序的书写比较自由,将高级编程语言的结构性和低级编程语言的实用性有效的结合起来,形成了新的功能强大的编程语言;应用广泛,可植性强,C语言适用于多种操作系统;C语言中各种运算符丰富,在C语言编程过程中灵活的使用各种运算符,可以实现其他很多高级语言无法实现的功能;数据结构丰富:多种的数据结构类型的使用使C语言除了可以完成各种复杂的数据运算外还具有强大的图形功能;结构式的语言特点使代码和数据分割,程序层次清晰,便于使用、维护、调试;用C语言可以直接对物理地址进行访问,由此可见C语言的强大功能,所以在信息技术的世界中C语言的地位是很高的。

2 学习C语言枯燥原因分析

C语言的强大功能决定了它的“江湖地位”,所以社会重视、企业重视、学校重视使得学习C语言、想掌握C语言技术的人也越来越多,但是大部分人在学习过程中却表示:C语言的学习是非常难,非常枯燥的,经常是一个学期下来感觉毫无所获,还是处于云里雾里,对学科没有整体清晰的概念。为什么会出现这样的状况呢,为什么越重视效果越不行?笔者认为C语言属于高级语言,是跟面向对象的语言有很大的区别的面向过程的编程语言,它不能直接看到很华丽的画面效果,编写过程稍有不慎就会出错,而且C语言中的很多算法和数据结构如果不加以理解而只是死记硬背的话是会非常枯燥且容易出错的。在运行过程中不能很直接的看到出错的地方,需要自己投入其中进行深入分析,还应该积极的研究算法,因为只有充分地了解算法才能够在C语言的学习上游刃有余,将C语言知识融会贯通,教师在教学过程中也不能一味的讲解,而不考虑学生的接收情况,想当然学生都应该懂。笔者认为C语言编程的学习中,C语言编程技巧可以帮助C语言的学习。

3 C语言编程技巧

现在的C语言学习过程中,学生普遍感觉枯燥无味,其实笔者认为初学C语言觉得比较复杂是人之常情,但是只要你具备了一定的编程经验,再掌握一些编程技巧,其实C语言也不是很难,而且可以更加有效地提高编程的效率和编程能力。在此介绍几种在实践中比较有用的编程技巧:

首先熟练掌握指针,指针的重要性是学习过C语言的人都知道的,指针为什么重要,因为其可以大大提高运算的速度,并且使用的语句简单,但是可以达到意想不到的效果,当然指针也有缺点,就是占用了大量的内存,但是获得了程序执行的高效率。如果系统的实时性要求很高,内存还有一些可以使用指针操作会达到良好的效果。其次运用数学方法解决问题,在C语言的学习过程中,一般有大量的算法和数据结构需要去了解,通常这个阶段是最难熬的阶段,因为对于初学者来说显得比较复杂和枯燥,IT界有一句比较实在的话“数学是计算机之母”,由此可见数学在计算机学习中的重要地位,同理,在C语言的学习过程中,数学思想的应用会让人有豁然开朗之感,一般而言程序的编写都是要解决问题,而简单的运算问题的解决其实就是在数学领域的,编写程序是为了让计算机可以代替人操作运算过程,从而减少人力。从这个角度上来说,在编程前应该用数学的思维寻找规律,用数学的威力来提高编程效率,拓展编程人员的思维。最后要用高效的C语言编程,可以使用位操作,在所有的计算机程序中,可以说位是最小的数据单位,一般而言所有的运算和操作都可以通过“位运算”来解决,足见“位”在编程语言中的重要性,在C语言编程过程中使用位操作可以使代码更简洁,效率更高,当然使用任何技巧都应该视情况而定,如位操作的使用有时可能导致程序的安全隐患。

上面介绍的几种提高编程效率的编程技巧总体来说对于学习C语言指明了方向,让人们在C语言的学习中有重点和方向可寻,必定能使得人们学习C语言的积极性提高,将C语言应用地更加广泛。

4 结语

C语言的强大功能和可植入性一直是其他编程语言望尘莫及的,所以C语言在IT界广受追捧,熟悉C语言的人都被人称为“电脑高手”,所以这些年来,C语言在高校中也有原来的计算机专业课程发展到现在的理工类公共课程,自然,这对于C语言的发展来说是一件好事。与面向对象的编程语言不同,C语言是一门面向过程的编程语言,这就决定了其对算法和数据结构的要求比较高,而算法和数据结构恰恰是编程语言中比较难的部分,正因如此,现在在C语言的学习过程中,大部分人都表示这是一门很重要却很难学的课程,要让C语言更好地服务,必须打破这种现状。笔者认为在C语言的编程教学中加入C语言编程技巧的教学可以很好地改善现状。因为C语言编程技巧可以让人们提高学习兴趣、学习起来也比较有目的性,可以很好地提高C语言的学习效果。

参考文献

[1]李利国,王磊.C语言编程风格之六大章法[J].成才之路,2007,(20).

[2]王展运.C语言编程中常见错误及解决办法[J].长江职工大学学报,2002,(03).

[3]李自清.浅谈C语言编程中的常见错误和解决方法[J].科技信息(科学教研),2007,(33).

[4]王彤,张小志,王大鹏.C语言编程的技巧探讨[J].科技信息(学术研究),2007,(09).

c语言的学习心得 篇3

关键词:C语言;编程技巧;应用

中图分类号:G642 文献标识码:B 文章编号:1002-7661(2014)24-002-01

C语言属于一种程序设计类语言,其使用在数据处理方面有突出作用,在很多的学习工作领域都有大规模的应用,像是软件开发、科研建设等都离不开C语言的利用。C语言编程,就是用C语言进行相应计算机代码的编写,C语言的学习,需要掌握一定的技巧,不然没有头绪的学习是得不到良好学习效果的,掌握了C语言的学习技巧,才能够更好的促进C语言的学习[1]。

一、C语言与C语言的优势

当下世界上使用范围最广,流行度最高的计算机编程语言便是C语言,要想良好的学习和使用C语言,必须加深对C语言的了解。C语言发源于上个世纪60年代,成熟在70年代,最近半个世纪的使用过程中,C语言表现了如下几种优势:第一,C语言简洁紧凑,使用方式灵活方便,且语法运用宽松不受限制,书写方式自由随意,结合了高级编程语言的结构性与实用性的特点,组成了一种全新式的有强大使用功能的编程语言;第二,C语言有广泛的应用层面,且可植性强,C语言在各种系统中都能够被兼容使用;第三,C语言的运算符丰富多样,各种数据结构类型的使用,除了C语言可以将各种复杂的数据运算完成外,还具有强大的图形功能;第四,结构式的语言特点分割了代码和数据,其中的程序表现层次条理清楚,后期的使用和维护工作便利,使用C语言可以访问物理地址[2]。从中可知,C语言具有强大的功能,因此在信息技术的领域中,C语言所占据的地位是非常高的。

二、C语言学习难度大的原因

因为C语言所具备的各种强大功能,因此人们对其的关注程度也越来越高,想要学会并且全面掌握C语言技术的人也越来越多。可是大部分在刚刚接触C语言的时候,觉得C语言过于枯燥乏味,学习了一段时间后都没有掌握到多少知识,也没有一个清楚全面的认识对于C语言,觉得十分的茫然。出现这种情况的原因还是因为C语言是一种高级语言,这种语言和面向对象的语言之间存在较大的差别,在C语言的学习过程中,学习者难以从中看到形象的画面,只能够在编程程序成功后,经过调试才可以看到效果。在编程的过程中,只要出现一点粗心错误,就会让整个编程无法成功调试,出现一些错误的现象,除此之外,C语言的使用过程中,包含了大量的算法与数据组成结构,这些没有任何的技巧,就是要死记硬背,所以很多学习者在遇到这些枯燥晦涩的问题时,就会丧失学习兴趣,降低学习效率和学习质量。

三、C语言编程技巧的应用

1、用空间换时间

例如对字符串进行赋值,方法有以下几种:

(1)基础方法:

#define LEN 32

Char string I[LEN];

memset(string 1,0,LEN);

ctrcpy(string 1,“this is a example”) ;

(2)方法2:

const char string2[LEN]=“this is a example”;

char*cp;

cp=string2;

从这个案例中可以发现,方法(1)与方法(2)在电脑上的执行效率是不一样的,第一种方法必须使用两个字符函数才可以完成,而第二种方法直接使用指针就可以完成了。但是第二种方法相比第一种方法灵活性欠缺,如果这个字符串有不断变化的要求,那么第一种方法就有很大的使用优势了,第二种方法要占用较大的内存,但是效率比第一种更高[3]。

2、位运算掌握

在利用位运算的时候,能够让代码变得更加的简洁,提升运算效率,让问题得到顺利解决。在所有的计算机程序之中,最小的数据单位就是位,无特殊情况的话,所有的数据运算和操作都可以使用“位运算”方式完成,从这里就就可以看出,在编程语言之中,“位”有多么重要了。“位”使用在C语言的运算过程中,可以提升工作效率,顺利的将更多难度大的问题解决。

3、C语言特有函数掌握

很多时候进行编程,都需要使用C语言的特有函数,函数不是一种数据,而是一种功能,每一个函数都能够执行一定的功能建设,而相对应的函数名称中也将函数的功能反映了出来。开展函数定义的时候,要求操作者包含名字、参数名、类型和函数返回类型的数据,编译过程中,数据库系统是之前被定义好了的,使用过程中只要通过#include这项指令,把各种相关的头文件包含在本文件当中就可以了。

但是不管在C语言编程过程中使用怎样的技巧,还是需要做到具体问题具体分析,以上各种技巧使用起来因人而异,整体是能够提升编程效率,在学习过程中使用会获得一定的成效,而降低学习的枯燥感,拓宽C语言的使用范围。

C语言的学习过程中,每一位学习者都应该对C语言的特性有充分的了解,学习并且掌握每一种编程技巧,学习好了C语言的编程技巧,可以帮助学生提升C语言的学习兴趣,让学生的学习目的性更强,提升学生的C语言学习效率与学习质量。

参考文献:

[1] 余 勍.王 捷.浅谈C语言编程技巧在C语言学习中的应用[J].信息通信,2013,07:108.

[2] 赵 黎.范君君.C语言编程技巧在C语言学习中的应用研究[J]. 信息与电脑(理论版),2014,09:252.

c语言学习心得 篇4

就我个人而言,上课听老师讲语法知识是最重要的,老师一节课下来要讲的内容很多,所以基本上没有时间记笔记,最好记笔记的方式就是课下边回忆边总结。你能回忆起多少,就说明你这节课学到了多少。

进过两个多月的学习,我发现C语言也不是很陌生的名词了。下面是我学习C语言的一些方法,希望你们有更好的方法一起分享。

(1).课下一定要整理笔记,因为课上的学习只是瞬时记忆,要把它转为长期记忆。笔记也要常看。

(2).代码一定要自己写,不能只是懂了,眼高手低是不行的。

(3).重视每一次编译时出现的错误,特别是频繁出现的更要注意。出现错误也不要着急,多交流。也许别人会看到你发现不了的漏洞。

(4).多去图书馆上上自习,图书馆真的很多关于计算机各个方面的书。相信会给你带来惊喜!

(5).课本不能丢,多看看运算符的优先级和常用字符与ASCII码对照表。

C语言学习心得体会 篇5

学习c语言已经一个学期了,刚开始学习的时候老是感觉力不从心。虽然认真听课了,但是并不能理解它。这种情况到了后来才有所改变。

之所以能有所改变,是因为本人找到了学习c语言的一些方法。由于c语言对于刚接触的学子,会感到很陌生。因为c语言所要用到的思维逻辑与我们平时的思维逻辑有所不一样。其显得更抽象。所以学习c语言,一定要打好基础。要把基础理解透彻。需要用到的语句要牢记,这样,在以后的运用当中,就能比较得心应手了。学习c语言的起步就是学习它的方法规则,如果把它学习得好在学习后面的时候就比较容易理。比如变量,首先要了解变量的定义方式(格式),其意义是什么(定义变量有什么用);其次就是要我要怎么去运用它(我要用什么型式去应用它)。在c语言的命令行中所有的语句都是有它自己的一定格式和形式出现在我们面前,所以在学习某种语句或命令时你首先要了解的就是它的规则是什么、有什么用、怎么实现等。这些都是语法基础,如果把它们都了解很好了,那么编起程序来就很得心应手。比如说if语句和switch语句,这两种条件语句都是用来执行判断功能的,那什么时侯用if什么时侯用switch,如果很好地了解它们的结构和作用的话那么就能灵活运用:若它的条件分支是多个而且条件的值是一个确定的值时就可以选用switch。反之,在大多数情况下就用if。掌握了语言法规则,不一定就能编出程序来,其实学习编程就是要学习一种思想,一种思维方法,首先要确定一种算法,如从1加到100,判断润年等,我认为这些算法都是一种思维方法。画流程图就是在构建编写程序思路的过程,当画好一个流程图时编程思想也就出来了,程序也差不多了,再结合掌握的语言的方法规则,在计算机里实现就可以了。任何程序只要有思维,有想法,那么实现程序时就不会觉得无从下手。而要学习这种思维方法就是多做题,多读程序,学习别人好的思维方法,多想想一个程序还可不可以有另外一种方法来实现它。这样久而久之,自然会形成一种自己的思维方法。因此我认为不管学什么语言都是这样。另外,良好的编程习惯也是学好c语言的重要因素。例如编写程序时用缩进的方式、写注释、程序写到一定的阶段时要做一下测试等。这些工作可以帮我们在调试程序时有很大的帮助。程序代码实现后,错误是难免的,所以也要锻炼自己的调试查错能力,而良好的编程习惯可以使我们在调试时减小工作量和提高调试效率,也有助于形成自己的编程风格。

在学习的时候,我遇到过这么个情况。觉得c语言学起来很枯燥,很闷。后来才发现学习语言,是要有目的性。如果没有目的,你会发现自己在学习的过程中会很枯燥,会渐渐失去对c语言的学习兴趣。所以我们要有一个远大而又容易实现的目的,我要用c语言来做什么?再把这个最终的目的分成部分,让我们慢慢的一点一点的来完成它,这样在学习c语言的过程中,我们就会始终陶醉在一个又一个成功的喜悦里,让我们的学习越来越有兴趣。有一天,我们会发现:原来学习c语言真的是一件很有意思的事儿,而且学好c语言也不是很难么!学习c语言只看书也是不够的,我们要一边看书,一边上机做练习,或者在你学习了c语言的基础知识以后就可以找一些别人的程序来看,遇到不明白的函数可以再翻一下书,如果查书也理解不了,我们可以把他的程序输入到计算机里,情况好的话能够顺利通过编译,如果不能顺利执行,我们也同样可以学习到一些c语言调试方面的知识。课堂上要讲授许多关于c语言的语法规则,听起来十分枯燥无味,也不容易记住。然而要使用c语言这个工具解决实际问题,又必须掌握它。通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c语言的语法规定。对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。学习c语言不能停留在学习它的语法规则,而是利用学到的知识编写c语言程序,解决实际问题。即把c语言作为工具,描述解决实际问题的步骤,由计算机帮助我们解题。只有通过上机才能检验自己是否掌握c语言、自己编写的程序是否能够正确地解题。通过上机实验来验证自己编制的程序是否正确,恐怕是大多数同学在完成老师作业时的心态。但是在程序设计领域里这是一定要克服的传统的、错误的想法。因为在这种思想支配下,可能你会想办法去掩盖程序中的错误,而不是尽可能多地发现程序中存在的问题。自己编好程序上机调试运行时,可能有很多你想不到的情况发生,通过解决这些问题,可以逐步提高自己对c语言的理解和程序开发能力。

总之一句话,在学习c语言中,一定要多动手。不要老是钻牛角尖,不断的在那左思右想。用时候只要肯动手,编译错了再改。你会发现慢慢的就能够找到答案了。而且也能从中学习到很多东西,常言道失败是成功之母。只要不怕失败,不断的钻研、尝试,总会能够把困难解决的。

在学习c语言的过程中会遇到许多困难与挫折。但通过自己的努力,最终能克服种种的困难。所得到的成就感是无法用言语去形容的。从中学到的坚韧精神对于我今后的生活也有很大的影响。

c语言是一种抽象的语言,相对于我们平时用的语言,所以学习起来会用点吃力。但是面向对象程序设计的基本要素是抽象,程序员是需要通过抽象来管理复杂性.管理抽象的有效方法是使用层次式的分类特性,这种方法允许用户根据物理含义分解一个复杂的系统,把它划分成更容易管理的块.例如,一个计算机系统是一个独立的对象.而在计算机系统内部由几个子系统组成:显示器,键盘,硬盘驱动器,dvd-rom,软盘,音响等,这些子系统每个又由专门的部件组成.关键是需要使用层次抽象来管理计算机系统(或其他任何复杂系统)的复杂性.面向对象程序设计的本质:这些抽象的对象可以被看作具体的实体,这些实体对用来告诉我们作什么的消息进行响应.学习c语言可以让我们更好的锻炼自己的逻辑思维能力,还可以让你掌握更好的计算机知识,在不断学习的过程中让自己真正的自信起来!学习c语言,对于以后的工作也是有所帮助的,它也可以结合其他的科目,来灵活运用。例如单片机的运用。用c语言去编辑单片机的主程序,会发现程序简洁多了。而且发现c语言的实用性很强。

虽然课程结束了,但在以后的学习过程中,我仍会不断的钻研,希望学得更多,能更好的在以后的工作中运用。篇二:c语言上机实验心得 c语言上机实验心得

在科技高度发展的今天,计算机在人们之中的作用越来越突出。而c语言作为一种计算机的语言,学习它将有助于我们更好的了解计算机,与计算机进行交流,因此,我们一定要学好c语言,这对我们以后的发展是十分重要的。

说到这,上机实验当然就是一个必不可少的环节了,c语言灵活、简洁的特点,只有通过编程实践才能真正了解,真正说懂。为了更好地学习语法规定、掌握程序设计方法、提高程序开发能力,我们必须实际上机、编写程序。

通过实验我也发现了自己不少的问题,这都是只看书上的程序而没有自己亲身上机编写程序而无法得知的,假如我们只因看熟书上的程序就以为自己已经掌握了c语言那就大错特错了。我主要存在以下的这些缺点:

1、学习耐心与细心不足,如scanf(“%d”,&n);中的“&”有时候会忘了。而在最后

输出时又错写成printf(“%d”,&n);从而错误得输出了地址而不是我原来想要的答案。

2、编程思想不够发散,看着题目有时想不出解答的方法,更不用说编写程序来解 题了。

3、4、基本功不够,有些函数的表达不太精通,需要看书来核实,以致耗时较多。知识不够广,有些内容没有学好,不能要用到时及时反映出来,认识程度不够 深刻。

5、6、有时候不够精简,有一点用处不大或者说没有也可以的文字存在。英语水平较差,对错误的地方虽然电脑有说,但由于是英文,理解上还是存在 一点问题。

为了能更好地学好c语言,在今后学习中我要更多的动脑,综合运用所学,多看相关东西,多上机练习,提高电脑水平,增强自学能力,把已会的东西掌握好。

实验中我深刻意识到完成程序的编写,决不意味着万事大吉。认为万无一失的程序,实际上机运行时可能会出现很多意想不到的问题。有时编译程序检测出一大堆错误,有时程序能够顺利运行,但是运行结果并不是你预期中想要的。因为开发环境所提供的编译系统无法发现程序逻辑错误,或者是你原来所设计时的理论错误,这就只能靠自己的上机经验来分析判断错误的所在了。所以程序的调试是一个技巧性很强的工作,它可能比编一个程序耗时更多。由此可看出上机实践的重要性。

通过本次c语言上机实验,我对这个介于人类与非人类之间的计算机编程语言有了一定的体验。编程的时候有因为顺利编出程序而开心过、有因为做得比人家慢而郁闷过、有因为不知从何入手而无奈过、有因为不知错出在哪而彷徨过??但随着练习的增多,我对c语言比以前熟了很多,不再只是纸上谈兵,我都有能力独立做出一些程序,可能对于一些“高手来说这不算什么,或者他们早就会了,但我依然觉得很开心,因为我跟我自己比是进步了。

当然,我还得感谢老师的指导与帮助,如果没有老师和其他同学的指点,我可能对c语言还是一筹莫展,在实验中遇到的大大少少的问题与所犯过的错误将是我以后的要加以注意的地方与认真审查的部分,为我奠定坚固的基石。伴随着学习的深入,我发现高深的东西还有很多很多,不懂不熟的知识还有很多,所以我不能停步,对c语言,我以后会更加努力学习的。篇三:c语言培训学习心得体会 c语言培训学习心得体会

c语言是一种结构化语言,是大部分编程语言的基础,c语言学好了,以后的java,c#以及更多的编程语言才有可能学好。下面就跟南宁达内小编一起,要学好c语言必须了解的四点:

1、课前认真预习,把下一节要上的内容先自己看一遍,把不懂的地方打个标记,等上课的时候可以请教老师。理解书上的例子,搞懂每个语句的含义,用法。看完后尝试着不看例子自己编写程序,编完以后再跟书上进行比较,看自己的程序还有哪方面的不足,再进行改正。想要真正学好c语言光看书是不够的,一定要自己多动手。

2、上课认真听讲积极思考,提高上课效率。老师上课讲述的都是课程的重点和难点,听好课程可以达到事半功倍的目的。

3、课后复习。把每天的上课内容回家再温习一遍,独立完成课后的作业,如果有时间,最好能找点课外书籍、课外习题什么的来巩固所学的内容。

4、主动上机,多多实践,提高动手能力。通过上机实践来验证所学的理论,通过在机器上查找错误来巩固概念,通过提高上机能力来促进理论学习,开阔编程思路,提高反映速度,提高分析问题解决问题的能力,锻炼心理素质,提高心理承受能力。

c语言的学习心得 篇6

开课之前信息的收集:在高中的时候就听过程序员这个职业,当时也只知道这些人是写程序的,然而程序是什么具体我也不知道。终于上大学了,我看到自己的课表上有C程序设计,感到很兴奋,自己终于要开始学程序。于是我问大二的学长学姐C语言学习经验,他们只对我说,有点难学(可能是他们没认真学的原因)要好好学,在老乡会上刚刚找到工作的大四学长对我讲述他求职百度的时候的经历,百度面试官问他说你会什么编程语言,他说会C,C#,java。面试官接着问你最擅长哪个,他说C语言,紧着接面试官问了一系列关于C语言的问题,一个比一个深入,他答不出来,最后的结果就是直接被拒绝。临走的时候百度面试官对他说,只要你能掌握一门编程语言就能要你。学长告诫我,信管会学很多课但都是只知道一点,因此要学既然要学一门编程就要把它学精,哪怕其它的编程语言不擅长也没关系,我现在就后悔当时没好好学。知道这些情况后我决心学好C语言。

开课后学习的经历:第一节课上,老师说由于课程的安排,前四章的知识会讲的很快,对编程有用的就说,还有些理论课下自己看看,介绍了C语言的发展和编程格式输入和输出。紧接着的上机课我写了人生的第一个程序,觉得很有意思,从此就喜欢上了编程,喜欢这种逻辑的推理与设计,课前我会将书上的知识点掌握,然后上课认真听老师讲课,看看自己有没有漏掉什么知识点,书上没说的和老师给的程序要记下来,回来后自己来体验下这个程序。就这样到了期中考试,结果并不好,让我认识到自己不能只停留在programe上,要多做acm上的题目,并且课下要多读别人的代码来学习方法,就这样白天在图书馆里看书,晚上回来编程,两个月后发现有了很大进步,也发现C语言更有趣了。我也很积极报了来年三月份的计算机二级等级考试,虽然只学了一半,但是我想通过自己的学习和请教老师,拿到那个证书应该不是问题,就这样我开始了自学后半部分,发现真的很晕,果然后面不简单。但是我想到每件事开始的时候都是困难的,就这样我坚持了下来,在老师的帮助下我也成功的过了,并且还是优秀,而且由于自己事先学过了,所以下学期的学习并没有特别困难。

通过学习Funcode让我真正的看到了C语言的应用,课上学的只是C语言的理论,而最重要的是应用。经过实验每个函数的功能,掌握每种函数的接口,再根据自己的设计将这些函数通过一定的组合和排列,制作出一个属于自己的动画,这种感觉真的很棒。我都迫不及待地想给我爱看动画的小表弟展示我制作的动画和体验我设计的游戏,虽然这些动画和游戏还比较低级,但我想他看到后一定会很开心。

一年的学习经历不仅让我C语言入门,更教会了我许多许多。教会了我如何自主学习;教会了我只要你肯努力,就能学有所成;教会了我坚持自己所喜欢的,并为之汗水,结果也一定让人满意。感谢老师一年来一直以来对我的指导和教诲,课下牺牲自己休息的时间来为我解答问题,为我提前开放作业题。

C语言的指针学习法 篇7

关键词:指针,数组,地址,变量

凡是学习过c语言的都知道指针是c的灵魂, 它极大的丰富了c语言的功能。下面这部分内容就我个人认识做如下阐述。

1 指针的出现

我想有很多初学者学习到指针都感觉很难, 下面我就以自己的想法来解释下指针这个特殊的数据类型。基本类型变量大家可能并不难理解, 因为基本类型变量其内部存储了同类型的常量, 事实上指针也是变量, 不过呢, 这个变量和基本变量有点不一样, 不同点就在于基本类型变量内部存储了同类型的常量, 而指针变量内部存储的则是“同类型变量的首地址” (所指向的变量的地址) 。可以给你形象的来描述一下:

int a;/*声明一个基本整形的变量*/

此时, 编译器已经给a分配了连续4个字节的内存空间 (VC++6.0) , 结构如图1。

内存地址是线性编码的, 我们可以很容易的看出a的首地址就是他第一个单元的地址1001。

int*Pointer=&a;/*声明一个指向a的指针Pointer*/

编译器也同样给指针变量Pointer分配相应字节数的内存空间, 如图2

该内存空间里存放1001, 即为变量a的地址。

在程序设计中, 如果存在语句:a=10;直接给a赋值, 我们称为直接访问。

如果使用语句:*Pointer=10;即通过指针变量来赋值, 前面的*是间接运算符号, 意思是求Pointer内部存储地址所标识的内存单元, 也就是a。此时, 该赋值是通过间接访问来实现的。如图3

以上就是指针实现的基本解释, 很多优秀的程序员都说指针是C语言中的精华, 的确如此, 很多优秀的程序员写程序都非常依赖指针, 因为它很方便, 实际上指针所访问的对象是没有限制的, 他可以指向任何类型的变量, 前提是只要我们知道内存地址。因此指针也并不安全, 在开发网络程序的时候, 尽量要少使用指针。

2 指针在数组中的使用

简单的来解释下数组, 数组是“同类型变量的有限集合”。数组在内存中占用连续的内存单元 (地址连续) , 来存储数组中的每一个元素。数组是预先分配好指定长度的内存单元, 供数组元素使用。它并不支持动态内存分配。

下面以字符型数组为例来分析字符指针和一维数组之间的关系。数组名其实就是这一组内存单元的首单元, 它的地址就是整个数组的入口地址;数组名是一个指针, 它的基类型为基本数据类型, 不过在具体操作的时候不允许给数组名重新赋值, 可以把数组名理解为cons Pointer (指针常量) 。在程序中可以这样操作:

即同类型的指针, 完全可以胜任数组名的任务。一点问题没有而且可以运行的很好。当然, 我们可以进一步把代码这样来写:

改成

下面以基本整型二维数组为例来分析指针和二维数组之间的关系。二维数组名也代表二维数组的首地址, 也是一个指针常量, 只是其基类型为数组类型, 称为行指针 (a指向第0行, a+1指向第一行) 。可以把二维数组看做一个特殊的一维数组, 只是每个元素又是一个一维数组而已。在程序中可以这样操作:

/*把二维数组看做一维数组时, 每个数组元素a[0]、a[1]、a[2]又包含一个一维数组, 该一维数组又包含4个元素, 这样a[0]、a[1]、a[2]即成为相应的数组名, 也成为一个指针常量, 其基类型为基本整形;所以可以把a[0]、a[1]、a[2]分别赋给指针数组的相应元素*/

p=a;/*p为行指针, 其基类型为数组类型*/

3 总结

指针本身与指针所指向的变量不是一个单元, 一定要弄清楚指针变量的基类型。一个指针ptrold加上或减去一个整数n后, 结果是一个新的指针ptrnew, ptrnew的类型和ptrold的类型相同, ptrnew所指向的类型和ptrold所指向的类型也相同。

参考文献

[1]C语言初学者入门讲座:<http://www.gshu.cn/detail/0/337.htm>

c语言的学习心得 篇8

关键词:C语言;课堂教学;学习兴趣

C语言是目前比较流行而且使用最广泛的计算机语言之一。它具有表达能力强,功能丰富,使用方便灵活,应用面广,生成目标代码程序质量高,可读性和可移植性好等优点。而且也是学习其他计算机语言的基础。因此C语言成为高职院校计算机专业在大学一年级第一学期开设的一门专业基础课。托儿斯泰说过:“成功的教学需要的不是强制,而是激发学生的学习兴趣”。因此,在C语言在教学过程中,如何培养学生学习C语言兴趣,调动学生学习C语言的积极性,调动学生对C语言的求知欲望具有十分重要在意义。

一、在C语言教学活动中发现的问题

1.学生在中学教育阶段无学习计算机语言的基础。通过问卷调查发现在中学阶段,学生接触的计算机知识,只是为了应付会考,背诵一些计算机应用基础的理论知识,大部分学生连基本的WORD和EXCEL操作都不会,因此学生动手操作能力很差。C语言又是计算机专业在大一第一学期开设的一门专业基础课,学生没有任何学习语言基础,对学生而言学习新类型的课程,适应很困难。如果沿用中学的学习习惯来学习这门课程,会产生很大的不适应性。在学习之初,C语言需要记忆及注意的语法点很多,经常让初学C语言的学生感到抽象,枯燥,导致学生在听讲过程中,感觉像听天书,容易使得部分学生产生厌学心理,从而逐渐失去学习的兴趣。

2.学生学习目标不明确。学习C语言的主要目的是应用,对计算机软件专业学生来说尤为重要,是学习后续课程JAVA程序设计的基础。由于目前最流行的语言是JAVA和安卓,所以学生对学习C语言的应用缺乏深层次的了解,部分学生认为学习C语言没有任何用处,因此缺乏学习的兴趣和积极性。

3.教学模式过于单一。我们的教学活动是在机房进行。一般情况下,教师先在多媒体机房讲授知识点,并演示操作,学生在下面听,学生处于被动学习的状态。刚开始的教学方法,主要讲授C语言的语法,和基本的输入输出格式,要求学生必须记忆很多规则,不能出错,因为学生觉得全是英文字母,就感觉学习起来很吃力,失去了学习C语言的动力和积极性。

4.学生上机实验效率不高。在学生动手操作过程中,一是因为学生打字速度很慢,指法不熟练,因此输出一个简单的语句需要很多时间,二是教师讲授完基础知识,学生接着练习,学生没有完全吸收和理解所讲授的内容,因此在编写代码时候无从下手,即便比着教师的课件和案例去原版照抄,也会输入很多错的字符,程序不能运行,学生自己不能查找错误去解决。因此感到茫然,逐渐就失去学习C语言的兴趣。

二、如何激发学生学习C语言的兴趣,采取的主要措施:

1.明确学习目的,抓好第一堂课是关键

学生上第一堂课前,就对C语言有很大的恐惧感。第一趟课的教学设计关系到学生学习C语言的第一印象。因此教师应该先向学生讲清楚学习C语言的重要性和目的性,用生活中的例子讲解C语言的广泛用途,让学生明确C语言在计算机语言中的重要地位,也是后续学习JAVA等其他面向对象语言的基础。为了消除学生对学习C语言的神秘性,降低学习的难度,在课堂上即兴编写有趣的小程序,比如简单的四则运算并当场演示,然后和学生互动,调动学生学习的兴趣和积极性。

2.采用启发式教学和问题教学法,激发学生学习主动性

在课堂教学活动中,教师讲授理论知识的同时,以启发式教学为主。同时在讲解案例时采用问题教学法。比如讲解IF语句双分支结构,案例以60分为分界线,评定成绩为及格或不及格。教师讲解基本语句格式,并编写代码。在演示结果时候,先输入0到100的数据,显示结果。然后再输入大于100或者小于0的数据时,让学生们观察结果,并让学生思考。如何让成绩限定在0到100范围之内,除此之外显示数据输入有误。从而,引出了IF语句的多分支结构。这样由简到难,让学生先有个基础的认知和了解,更容易接受新的知识,从而再逐步完善程序,既增加学生学习的信心和兴趣,同时也提高学生学习的主动性和积极性,自己动手解决问题的能力也会不断提高。

3.活跃课堂气氛,激发学生学习兴趣

课堂教学以学生为主体,教师为辅助。教师讲授基础知识,应多以生活中学生熟知的例子为主,这样有助于和学生有良好的沟通,让学生先思考并讨论,进而再引入新知识点,讲解如何解决此问题。对于课堂重点和难点,在教学双边活动中,多以小组讨论、竞赛、互评方式,增加课堂的互动性,同时让学生自主发现编程过程中的问题,并提出解决问题的办法。

4.采用案例教学法,让学生从枯燥的理论中解放出来

对于C语言基础语法部分,开始就讲解基本数据类型和输入输出格式。学生从课本上预习,感觉枯燥无味,很难看懂、理解。在课堂教学过程中,教师多采用案例教学。比如,讲解整型时,关于短整型、整型、长整型的数据的使用范围,学生很难去记忆。而且对于不同的编译环境和处理器的位数不同,得到的实际结果也不一样。因此要通过实例演示,让学生明白各种整型的使用范围。

5.课下要巩固练习,培养学生独立思考的能力

学生要想真正能够灵活运用C语言编写一些适用的程序,仅仅靠课堂的时间远远不够,因此学生必须课下进行大量编程代码的训练。教师布置一些相关的习题和编程题,比如读程序分析结果题,程序填空题,程序纠错题,编程题等。前几种类型考察学生对基础知识的掌握和理解情况,编程题更侧重编程能力和实际解决问题的能力。这样的实践练习,既提高了学生的动手能力和获取知识的能力,又培养学生的自信心和学习兴趣。

6.分层次教学,关注全体学生的兴趣点

学生在学习C语言的开始,学生的接收能力不同,导致学习C语言的难度也不同。因此在教学中分层次教学。开始先讲解基本的知识和案例,要求是面向全体同学。在后续的上机练习和课下习题中,分出试题的难易度。有必做题和选做题。必做题是面向所有学生,选做题相对较难,基础好的同学完成。这样可以让每个学生在学习C语言的时候,既能学到基本知识,又能不同程度的提高自己的自信心和兴趣。

C语言心得体会 篇9

襄樊职业技术学院 计应0802 蒋静

光阴荏苒,当一年的时光白驹过隙般一晃而过,我的C语言学习历程划上了句号。但我深知我所学到的只不过是C语言的皮毛而已。将来我若想有所提高,有所成就,就还必须努力完善自己的C 语言体系,下面我就简谈一下自己的学习体会吧!

开始学习时,我几乎听不懂老师在讲什么,就感觉讲台上一个博学者在给我们讲一些让我们“得道成仙”的话语,可怜的是台下的我们没有一个人晓得他的仙语。总之,课堂上老师讲的是唾惺横飞,而我们是听得昏昏欲睡。

随着时间的推移,随着知识的积累,我对C语言的认识终于有了点眉目。我越听越有一种懂它恨晚的感觉,但是从此我在C语言上的磕磕绊绊也开始了…….C语言的学习,有许多要迈过去的沟沟坎坎,那我就说一下里面的玄机吧。C语言是写给电脑看的语言,电脑只懂二进制,所以我们就必须掌握二进制与八进制、十进制、十六进制的转换关系。其次,我们必须记住C语言的关键字,且C语言有许多常用字符,它们和ASCII代码一一对应。再次,C语言有许多运算符,它们的结合方向不一样,且有各自的优先级。我们要掌握C语言,那么掌握它们就是基础。C语言是一种高级语言,是所有语言的基础,学好C语言,将对我们今后的语言课程的学习有很大帮助。当我学到数据结构这门课时,我能够隐约地感觉到C语言学到的知识,在其中派上了用场。如数组的学习,给我带来了不少烦恼。但是说起数组来,它贯穿于我们整个C言之中,我们经常要用它来存储数据。编写图形要用它来储存坐标数据,编写音乐要用它来储存音符乐谱,即使学生的成绩也要用到它来储存„„但是,如果我们在利用它的时候,不好好注意,将被弄得眼花缭乱!我们在利用它来处理数据的时候,涉及到的排序,找最大,最小值这些问题。特别是排序,方法挺多,但如果不把握住几种常用的方法,使用数组就变得非常不便。常用的方法中,有冒泡排序,选择排序,希尔排序,快速排序等方法:选择法排序,与冒泡法排序都是利用for循环语句,前者是先寻找出最大最小值的下标,然后再交换,后者则是利用相邻间元素的比较大小,不符合要求顺序的就交换,这样一级一级地向上交换,把最大的或者最小的放到最上面去;对于后两种办法排序,都利用到循环次数不确定的while和do-while语句,前者还利用到for语句,希尔排序利用一一对应比较的办法,后者利用数组中其它元素与中间数进行比较大小,然后实行交换。

以上只是我学习C语言的一此经历,下面我想与大家分享一下我的学习经验、建议:

一、学习C语言呢,首先要调整好自己的心态,不要再想着玩了。只有自己努力学习,才能学有所得,学有所想,学有所用。

二、在学习C语言的时候不要钻牛角尖,不要在一个问题上卡死,当你遇到问题时,要多想想多条途径去解决一个问题。如果实在解决不了了,可以去请教你的任课老师。(学习的时候一定要注意这几点,不会的一定要问明白,不管谁能让他教会你知识就是你的了,要学会让知识为我所用。在看书的时候一定要做好标记,特别是不懂的地方一定要标明是什么意思。)

三、学C语言时,要多想,多写,多练,多动!当一个题目出现的时候,你不能只想到用一种方法去解决它,要多想出几种方法去做、去研究;当你将它完成后,可以将它全部删去,然后再重新写,写个二、三遍就熟悉了;如果你有多余的时间,你可以按照这道题的模板稍加修改,然后自己去做,做个N遍,此为多练;一般来说,一道题如果你有三种做法将它做出来,那么对于这一类型的题目你就不在话下拉!当然你也可以给自己出题目,多动动脑筋,这样可以提高自己的发散思维和逻辑能力,这是很重要的!!

四、在上课的时候一定要认真听老师讲课及上课演示的代码,因为有些东西是书上没有的。如果上课不认真听,那么在练习的时候是很困难的(当然天才除外)。

五、在学习语言的时候一定要记住动手,不要只说不做,这样会行成眼高手低,不管什么样的程序都要亲手做过才能说会了。

六、学习时,老师是宝贵的资源,但也别忘了图书管的作用,多跑图书管,多借相关的书看,多看程序、分析程序思想、多做题,从中寻找不会的题,与老师、同学交流,进而不断地提高自己!

最后,再送大家几句话:

1、学习不要死钻牛角尖,当你遇到解不开的问题时,就要换一种方法去想想,说不定会有新的路给你去走,而且很宽敞。主要是要用心去学、并且要找到好的学习方法,肯定有所成功。

2、在学习C语言的路上我们都是公平的,且我们的智力大抵相似,最后能否成功就看我们的学习态度。要想成功,我们就必须努力且要坚持,因为蝴蝶是蛹痛苦脱茧后的羽化,凤凰要在烈火中锻造才能涅磐。

3、想想自己的未来,看看自己的过去。我不想用过多的时间来考虑。过去的一切都已经不可挽回了。未来又充满了无数的变数。我只想把握的就是现在。总结过去的经验,并用以指导现在,我想才能在以后的日子里少些感伤,少些变数,让未来变得更美好。

4、想成功的人找方法,梦想成功的人找失败的借口,我希望我和我的朋友都不是一个找借口的人。

以上所述,旨在抛砖引玉,若有不当,敬请见谅!

中职C语言课程教学心得 篇10

【摘 要】本文在分析C语言特点和功能的基础上,强调中职教学要合理地制定教学目标、合理利用教材灵活教学,并提出了中职C语言教学策略。【关键词】C语言;计算机;教学方法;教学目标

C语言是一种实用性强的编程语言,它不仅可以编制系统程序,也可以编制软件程序,具备灵活、高效的数据处理能力,这种程序设计语言备受青睐,多年来一直被使用,很多计算机科研类项目都必须应用到C语言。

一、C语言的特点和功能

中职学校是重点培养学生掌握技能的学校,所以,一定要让学生们认识到学习C语言的重要性,特别是认识到C语言的特点和功能,这样才能学生们更爱学习这门课程。下面,我介绍一下C语言的特点和功能。其特点有三点:1.它是中级语言,可以把高级语言的基本结构和语句与低级语言的实用性结合起来。2.它还是汇编语言,可以操作计算机中的工作单元:字节、位和地址;3.它也是结构式语言,可以分隔代码和数据,也就是让程序中每个部分相对独立,这样保证了程序中各结构层次清晰、维修便捷。C语言的功能:做底层驱动、嵌入式?通信行业、银行系统、写操作系统、片机开发机的软件系统基本都是用C语言开发。尽管C语言的功能强大,但我们也不能认为学了C语言基本上可以解决一切问题。其实不然,学完了C语言只是学到了语法,如果想要进行开发还需要学习相关知识,就好象学会了英语语法并不代表会用英语写文章一样。

二、合理的制定教学目标

中职学校重在培养学生们的专业技能。但是也要认识到中职学生的学习特点,这些学生们普遍学习能力较差,学习热情较低,所以,要根据其实际情况合理的制定教学目标,这样才能保证所学知识能够被完全消化,从而不仅有利于调动学生们的学习热情,也为以后的拔高学习打下坚实的基础。我校的教学目标是培养学生们掌握C语言的基础知识和基本技能。基础知识的培养有利于提高学生们分析和解决问题的能力,更有利于培养学生们的逻辑思维能力,这样学生们有了编程的思路,为以后的后续学习打下了坚实的基础。

三、合理的利用教材进行灵活教学

C语言是一门复杂的计算机课程。这门课程的特点是:概念较多、规则复杂、语法应用难度较大等,这对于初学者来说很有挑战。所以,教师一定要认清教学形势,在教学中讲究方法和策略,这样才能保证教学的顺利开展,才能达到良好的教学效果。多年来经过分析和总结,我认为要做好以下两点内容:1.有选择的挑选教学内容进行教学。也就是说根据学生们的能力和特点,有选择的挑选适合他们理解和掌握的知识进行教学,这样才可能让学生们听懂、学会,如有教学要求中必须掌握的难点、重点知识,就需要教师多耗时间进行讲解,千万不可操之过急,以免影响学习效果;2.培养学习兴趣,灵活的进行教学。C语言教学内容很枯燥,这就需要教师采用灵活的教学方式,从培养学生们的兴趣入手进行教学,这样才能保证学生们有学习的热情,才能达到教学的目的。举个例子:教学中先教学生们一些简单的编程知识,从而激发学生们的学习兴趣。如自制一个自动关机的小程序,这个程序制作难度小,操作又简单,学生们可以从制作这一个小程序中就认识到编程的乐趣,从而开始喜欢上这门课程,进而提高了学习成绩。

四、教学中要改善教学方法

教学方法是提高学习成绩的有效手段,只有选择正确的教学方法才能达到更好的教学效果。对于C语言课程的教学,传统上还是采用首先讲解、然后练习、进而巩固、最后考试等步骤来完成教学任务,这种教学方法有其优势,但我们不得不承认,随着教学的发展,这种教学方式已经逐渐暴露其弊端。枯燥的教学方式已经不能激发学生们的学习热情,根本就不能达到教学发展的目标和要求。所以,教学方法急需改革,这样才能提高教学质量。下面,我列举一下C语言教学中使用的新方法:1.项目教学法。这种教学方法需要教师做好备课工作,首先教师要根据教学内容挑选一个项目,然后教师在课堂上正常讲解教科书内容,课程结束后布置这个项目让学生们自主完成,教师可以给与一定的指导,学生们在整个过程中是靠自己来完成任务,这样的学习过程不仅让学生们对这个知识的理解和掌握更加透彻,也培养了学生们独立思考、解决问题的能力;2.合作教学法。对于有难度的教学内容可以应用这种教学方法。它需要教师选择一个有难度的编程任务,最好编程内容可分几个部分,这样教师可以对学生们进行分组来完成这个任务,每个同学都可以参与到这个任务中,为了尽快完成任务,同学们需要分工合作、共同努力,在整个过程中,不仅让学生们有了合作的意识,更培养了学生们互相帮助的精神。还有很多教学方法就不一一列举了。总之,良好的教学方法可以在教学中发挥重要作用,它不仅提高了学生们的学习成绩,也提高了学生们的整体能力。在以后的教学中,教师要多多应用,积累经验,从而完善教学方法,提高学生们的学习成绩。【参考文献】

[1]上官珺.高职院校C语言程序设计教学方法探索[J].闽西职业技术学院学报.2008(03)[2]刘霞,郭晓利,赵志明.C语言教学改革探索与实践[J].吉林省经济管理干部学院学报.2003(05)[3]宋春秀.高职《C语言程序设计》课程教学改革的探索[J].网络财富.2010(22)【作者简介】

c语言的学习心得 篇11

关键词:自主学习;微信公众平台;C语言

中图分类号:TP311        文献标志码:A          文章编号:1673-8454(2016)20-0090-03

一、引言

随着信息技术的飞速发展,各种新信息技术正逐渐应用到教学活动中,如各种在线学习平台[1],学生能够通过平台进行自学、作业、测验等工作,方便了学生的学习。在使用过程中也存在一些问题:①平台设置相同的题目、相同的作业和统一的时间进度,基础较好的学生不能通过系统取得更大的进步,而对于基础较差的学生不能提供有针对性的指导;②系统主要是在提供PC端访问的界面,在移动终端尤其是手机上使用比较困难。2011年腾讯公司推出一个为智能终端提供即时通讯服务的免费应用程序——微信,微信支持跨通信运营商、跨操作系统平台通过网络快速发送语音短信、视频、图片和文字。基于此平台各种微信公众号进行营销、推广、电子商务等工作,取得了很大的成功。另一方面,在C语言的教学过程中,限于学时、空间和学生的基础等各方面原因,很难进行有效的交流互动。

本文将设计一种基于微信公众平台+HTML5技术实现的C语言自主学习系统:①可以为用户在不同移动操作系统(IOS、Android、WP等)提供统一的访问界面。用户通过微信ID与系统ID 绑定后,就可以通过微信公众平台方便快捷地使用本系统。②微信公众平台自带浏览器,解决了不同浏览器访问界面不兼容的问题,为用户提供简洁统一的用户体验。

二、系统设计

自主学习系统主要分为图1所示三个模块:

资源管理模块:主要为用户自主学习提供学习资源。在本系统中的资源包括用户资源、学习资料、题库以及交流资源四类。

学习进程管理模块:学习进程管理是整个自主学习系统的核心模块,记录和分配用户的整个学习过程, 根据每位用户的具体情况(学习进度、水平等级、活跃程度等)为用户推荐学习资源,并根据用户的学习效果(测试分数、学习时间)等对用户进行评价。同时,学生可以在学习过程中对学习资源进行评价。

效果评价管理:效果评价是对自主学习系统中的资源进行分类、匹配的重要模块,对于系统中的所有资源,用户可通过效果评价达到优化组合的效果。

三、学习资源管理

1.用户资源

自主学习过程是以教师为主导、学生为主体的学习过程。在本系统中用户资源分为学生用户和教师用户。

(1)教师用户

教师用户在系统中作为引导者和帮助者,主要工作有组织课程、设置教学进度、布置作业、维护教学资源、维护题库等。

(2)学生用户

学生用户是自主学习的主要服务对象,也是学习过程的主体。学生在学习进程模块的引导下访问学习资源,并对学习资源进行评价。

学生用户应包括以下属性:①系统ID:系统的唯一标识。②微信ID:作为微信公众平台的登录ID,与系统ID绑定。使用微信ID在微信公众平台登录,即可认为绑定的系统ID 登录。③学习进度及水平等级:学习进度指该学生通过该系统学习并通过知识点进度。水平等级标志学生完成某学习进度的水平程度,分为基本完成、巩固提高、综合运用三个等级,为学生推送不同的学习资料、题目、学习任务等。学生在学习过程中也会不断提高等级值。(注:学习进度和水平等级在系统中以列表方式记录。)④活跃度:标识该学生在系统中使用频率和与他人交流的频率。⑤个人信息:如姓名、年龄、密码等信息。⑥总评信息:学生用户在自主学习系统中的表现得到的综合评价。

2.学习资料

学习资料是指在学习过程中用的讲义、课件、参考资料(网页、视频、音频)等。学习资料是学生自习的重要基础和依托。学习资料具有以下特点:①数量较多,除了教师上课讲解的讲义外,还会有大量的网页、视频、音频参考资料,如果让学生一一去打开学习,会使资料的使用效率降低,所以,本系统通过匹配策略设计根据用户的学习进度和水平等级有效提供给用户需要的学习资料。②难度等级不同。各类参考资料根据其难度适用于不同水平等级的学生。

学习资料应有以下属性:①资料ID:作为资料访问和下载的唯一标识。②知识点:资料的分类属性。为不同学习阶段的学生推荐资料的依据。③难度等级:为不同学习基础、学习目的的学生推荐资料的依据。在本系统中,学习资料等级分为基础级、提高级、综合级。④评价:学生通过学习,对资料的质量等进行评价反馈。⑤其它信息:资料内容、下载地址、阅读次数等。

3.题库资源

为了解学生对知识的掌握程度,需要通过作业和测试进行测评。测评需要建立一个全面科学、合理的测试题库。题库要同时满足以下几个条件:①覆盖性:题库应该覆盖到各个知识点,使学生掌握基本语法知识、基本结构等。②综合性:程序设计不是孤立的,是各类知识点的综合运用。设计题库时应该在基础知识点的基础上设计综合类型的题目。③层次性:题库应该适应不同基础、不同学习目标的学生。设计题库时各种难度的题目都应该占有相应的比例。④反馈性:题目应该根据学生答题的正确率等情况,动态调整其难度级别,增加推送的准确性。

为满足以上条件,学习资料表应具备以下属性:①题目ID:作为题目的唯一标识。②知识点:题目的分类属性。为不同学习阶段的学生测试的依据。③难度等级:题目的难度等级分为基础级、提高级、综合级。④正确率:学生通过测试,提交正确答案的比例。⑤其它信息:题目内容、测试次数、参考答案等。

4.交流资源

在学生的自学过程中,遇到疑难的问题需要其他同学或老师帮助时,可以通过交流论坛进行提问,也可以在论坛中回答他人的提问。学生在论坛中回答他人提问如果获得提问者采纳会提高其活跃度。

论坛主贴结构:①问题ID:作为问题的唯一标识。②标题:问题的简要概述,主要用于在列表中显示。③内容:问题的正文,可以用文字、图片等展示。④其它信息:提问人、提问时间等。

论坛回贴结构:①问题ID:关联主贴问题的唯一标识。②回复ID:唯一标识回复信息。③内容:回复的内容正文,可以用文字、图片等展示。④采纳度:提问人对该回复的评价反馈。⑤其它信息:回复人、回复时间等。

四、学习进程管理

学习进程管理是整个自主学习系统的核心模块,用户通过自主学习系统进行学习,学习进程管理记录用户的整个学习过程,通过记录学生的使用系统的历史信息,分配用户的学习进程、记录学生的活跃度并计算学生的水平等级,并根据每名学生的信息,为学生提供针对性的服务。

1.资源访问记录

为保证教学效果和教学进程,本系统中所有用户为实名注册,系统为每个用户分配系统ID,用户在PC端采用系统ID 与密码登录使用该系统,在移动端,为保证用户登录的便捷性和唯一性,平台采用系统ID 与微信ID 绑定的方式。用户通过微信公众平台访问学习资源,操作过程如图2所示。

其中,首次绑定成功的用户学习进度及活跃度设为0。

2.自习资料

由于学生个体存在差异性,所以每名学生登录系统后应根据其具体情况为其推荐学习资料。

系统根据三部分参数为用户生成学习资料列表:①用户的学习进度;②用户的水平等级;③资料的评分。

3.自测练习

根据教学进程和学生的学习进程和水平等级,生成针对该学生水平和进程的测试题,推送给学生,根据学生的答题情况及正确率,更新学生的学习进程和水平等级。

用户在请求自测练习时可以选择新进度测试或者升级测试。

(1)新进度测试:用户在学习资料后,可以进行当前进度的测试,系统根据用户的学习进度、用户的水平等级、测试题难度三部分参数生成测试试卷。用户答题后系统根据参考答案自动进行评分,如果评分通过,学习进度更新为当前进度。

(2)用户在当前进度用户等级升级,用户答题后系统根据参考答案自动进行评分,如果评分通过,学习进度不变,将进度水平等级升级。

4.交流互动

记录学生通过论坛系统与其他学生交流的情况,回答他人问题并得到他人的评分反馈记录,更新其交流活跃度。

五、评价管理

系统评价管理,主要包括三个部分:①学习资料的评价;②题库评价;③学生评价。其中学习资料通过用户的评分获得,测试题目评价主要通过正确率获得。

系统的评价管理中,最重要的是对学生评价,在学习进程管理中得到以下参数:

(1)学生的学习进度设为p,学生在每个学习进度中的学习等级,设为

Ai=10  基础级12  提高级15  综合级

学生的进度评价A=pi=0Ai

(2)学生系统中学习的活跃度,设用户的总学习时间为cj,则该学生的学习活跃度评价为C=×10。

(3)用户交流活跃度,设该用户回贴数为n,设每贴的提问者评分为di,则该用户的总评分为S=mi=0dj,用户的活跃度评分为 D=×10。

用户总评价为以上三部分的和,S=A+C+D。

六、结束语

本文设计了一种基于微信公众平台的用户自主学习系统,目前应用在《C语言程序设计》课程中,作为课程的辅助教学平台。在实际的应用过程中,取得了较好的效果。

(1)增加了学生课后学习C语言的时间,由于系统是基于移动终端设计,用户只需关注公众号就可以随时随地利用空闲时间学习。

(2)为翻转课堂的学习提供了良好的前提条件,学生可以提前通过平台进行预习,课堂上可以带着问题有目的地学习,提高了学习效率。

(3)程序设计需要设计人员协作与交流,本系统提供了很好的师生交流和学生之间交流的平台。

参考文献:

[1]白京.基于微信与Moodle的移动学习平台关键技术研究[D].云南:云南大学,2015.

[2]郭华峰,梅成才.基于微信公众平台的微课移动学习平台设计[J].中国教育信息化,2015(1):82-84.

[3]李娜,乜勇.基于微信公众平台的微学习资源设计与应用研究[J].中国教育信息化,2014(17):52-55.

[4]徐梅丹,兰国帅,张一春等.构建基于微信公众平台的混合学习模式[J].中国远程教育,2015(4):36-42.

上一篇:巡回护士须知下一篇:主管护师护理学