前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇计算机c语言范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。
C语言是在B语言的基础上完善形成的。1967年,英国的MartinRichards推出了BCPL语言,且在1970年,美国的KenThompson以BCPL语言为基础推出了B语言。而B语言的功能有限、语言简单,并不能完全满足计算机软件编程需要。在此基础上,许多研究者加强对计算机编程语言的研究,经过多次试验,在B语言的基础上,对其进行完善,最终在1972年美国贝尔实验室D.M推出了C语言。1978年后,大、中、小型计算机对C语言进行移植,将其作为系统设计语言,为系统程序编写提供条件。在各种计算机编程语言中,一切计算机语言的基础是C语言。它是一门高级语言,灵活方便,具有汇编语言、高级语言的特点,简洁紧凑。同时,C语言可移植性强,应用广泛,表达力强、功能丰富,适用于多种操作系统,可进行自由书写,在信息技术发展方面发挥积极作用。
2软件编程技巧
2.1C语言的特有函数在计算机软件编程中,每一个函数都具有一定的功能,而在C语言编程过程中,需要应用一些特有函数。对于函数而言,函数名对函数功能进行反映,因此,在定义函数的过程中,程序员需要定义函数名字、参数名、返回值类型等。同时,由于在编程过程中,C编译系统提供库函数,且该系统首先定义好了这些函数,因此在调用程序时,程序员通过#include指令”,在所有文件中引入相关的头文件,从而便可实现程序调用。例如,在运用程序时,当应用到sqrt函数时,头文件中必须包含#include“string.h”,以此确保程序的正常运行。
2.2指针的灵活运用在软件编程中,指针的使用极为重要,赋值的实现需要指针的控制,从而建立变量关系,且编程的难度与指针运用的大小密切相关。因此,在复杂编程工作的完成中,程序员需要熟练运用指针,明确指针使用的作用,进行编程。指针是特殊类型变量的一种,可帮助程序员解决程序设计中遇到的问题,其具有指针名、值、指针类型3要素。在编程过程中,使用者需要对指针类型、指针名进行合理、科学定义,对其赋值,从而对指针、变量进行区分。同时,在指针调用过程中,利用C语言的特有函数科学、准确定义函数,并按照算法编程的方式,利用流程图表达算法内容。此外,在函数编程过程中,程序员具体设置函数的名字、参数名、返回值类型,设置好指令,且在C语言设置过程中,具体确定文件知识、位运算,确保其满足程序中的具体要求,明确二进制的对象。对于文件中包含的程序文件、数据文件,应将它们之间的步骤设置好,从而为数据查找提供方便。
2.3位运算及算法技巧在计算机高级语言的运算方法中,C语言的重要特点是位运算。位运算的对象是二进制,具有唯一性、独特性,是计算机软件编程、程序运行的基础,其根据相关程序要求的进行符合要求的运算。同时,运算、程序运行过程中,程序文件必不可少,在编程中,程序设计员需要在文件中存储程序,方便数据查找,提高运行效率。此外,在程序设计中,程序的灵魂是算法,算法技巧的掌握对程序设计极为关键。算法可用自然语言、流程图表述,而在用流程图表示算法时,要求程序员对流程图符号进行熟练掌握,并具备牢固的数学知识,提高编程效率。
3计算机软件编程中C语言、汇编语言的结合
3.1汇编语言的嵌入方法随着科学技术的快速发展,计算机软件不断更新,而C语言、汇编语言两种语言的混合编程是计算机软件开发中常使用的方式,以此提高计算机编程、程序开发效率,实现难度较高的编程任务。在具体编程中,在C语言程序中嵌入汇编语言,在寄存器的存储、转换作用下是实现汇编语言的运行。例如,如果在C语言源程序中嵌入一组汇编语句,就需要用大括号扩充嵌入程序,进而添加“asm”,且需要在asm前面放入指令代码,并用分隔符“:”区分正常的C语言、汇编语言。其中,嵌入语言以大括号来表示,通过该形式的编程对编程的过程进行简化。当汇编程序嵌入后,程序员定义程序,根据C语言指出函数,定义函数,并对不同的函数进行区分,根据不同模块的使用特点,对目标文件进行分析,提高编程的可靠性。
3.2链接C语言、汇编语言在C语言、汇编语言程序编写中,需要独立设置编译目标代码,然后实现链接。由于C语言、汇编语言程序能够相互调用,且多个功能模块共同组成一个任务,合适的语言独立编程功能模块。因此,在编程中,程序员应根据每个模块特点,设置编程,形成目标文件,使其成为可执行文件。同时,在C语言编程过程中,汇编程序需要调用函数、定义变量,这样,程序员就需要对寄存器的使用、参数传递、子程序的返回值、变量及函数调用、存储模式等问题进行考虑,特别需要注意参数传递问题。在编程中,根据堆栈汇编程序传递参数,并按照参数传递原则进行程序编程。例如,在Voidaa(char*p,inti)函数中,利用汇编语言编写该函数,在系统调用在小内存模式下进行,写为aa(&q,n)。而在系统运行中,在堆栈中压入n,并为了实现对存储数据的存取,传递参数。此外,由于C语言程序、调用的子程序的编程使用的是同一个堆栈,这样,就会产生pushbppopbp、sp两个执行指令,设置这两个指令,为执行过程的使用提供方便。
3.3C语言、汇编语言混合编程实验分析在混合软件具体编程中,一般情况下,在5个数中比较程序功能,从而对最小数值进行确定。由于汇编的子程序、主程序共同组成了所编程序,运用C语言编写主程序,利用汇编语言编写子程序,而最小数值通过主程序的调用得到确定。在编程中,用min.c*表示主程序,用qiumin.asm表示子程序,C语言、汇编语言结合,软件之间进行交流,从而使程序运行速度得以提高。在程序运行中,需要具体编程程序设计过程中的内存模式、寄存器分配等,确保程序设计语言的相互协同,使外部接口处于正常使用状况,为编程中的外部调用功能的实现提供保障。
4C语言多项式除法的程序设计
4.1设计流程在软件编程中利用C语言,对计算机软件的实用性进行探索。在C语言多项式除法的程序设计中,实验设计的建立依据循环冗余的结构进行,设置循环冗余验码编制软件程序。在此过程中,程序员需先对函数名称进行定义,了解函数,对函数的初始位置进行确定,进而建立数据库。此后,在C语言的基础上,程序员编程、计算函数,并在此过程中,一个冗余余数在系统中自动生成,在remainder文件中存储余数,确定程序的起始文件。最后,根据系统运行的结果,结合软件需求,程序员科学分析计算机软件实验,此时,如果计算结果能够满足软件运行需求,则说明软性运行正常。如果计算结果不能够满足软件运行需求,则需要程序员仔细检查软件编程过程,发现问题,解决问题。在C语言基础上,对软件编程实验流程进行设计,简化编程过程,提高实验结果的准确性。
4.2程序应用很多领域的发展过程都需要运用到C语言多项式除法程序的编程,该编程使软件应用的实际价值得到最大程度的发挥,并拓宽了混合语言在多项式除法的应用范围。在C语言、编程语言混合语言的使用中,程序员应及时定义函数,通过函数名对函数性质进行准确体现,获取准确的余数结果,确保计算机软性系统高效运行。
5结语
【关键词】计算机语言 循环语句 C语言
在程序编辑与设计中,C语言具有一定独特性,这种高级程序设计语言能在多种场合中灵活应用。C语言的通用型与便捷性,在循环语句中得到较好的应用。循环语句主要有while、do while、for三种,前两种循环语句也被称为条件循环,主要根据条件进行判断是否进行循环,后一种循环语句,被称为计数循环,主要根据设定执行的次数进行循环执行。这种语言不但能够作为系统描述性语言,还可用来编写系统软件,也可用来编写应用软件。
一、C语言的应用现状
计算机技术的应用普及,人们对计算机应用范围的要求逐渐增加,需要其处理更加复杂且多样的问题,能够在不同的情况下,进行操作与设计。这种情况下需要使用灵活性高的控制程序,满足人们的个人需求,实现不同方面的用途。C语言是计算机语言的基础,是一种高级语言。针对计算机语言的学习,应将其当做入门基础,掌握过程编程。C语言学习中,能够掌握多方面的功能,较好的应用在代码中。C语言能够根据不同的环境和用法进行移植,针对不同的项目产生相同的效果。C语言的优势有很多,相比而言,突出优势是在多种操作系统中运行。
二、循环语句的类型分析
2.1 while语句
这种语句通过判断循环控制条件,分析流程是否符合循环要求,其形式主要体现为:
while(表达式)
这种循环语句的执行流程,应计算表达式,如果表达式的值为非零,执行循环体,之后返回第一步,重新计算表达式;如果计算表达式结果为零,则跳出循环结构执行其它语句。注意的是,如果表达式的值最开始为零,那么语句不会被执行。
2.2 do-while语句
这种语句表达式与while有一定差异,需要先执行循环体中的语句,再通过判断表达式判断是否需要进行循环,其一般形式为:
Do
循环体语句
While(表达式)
语句执行流程为:先执行循环体语句,然后计算表达式,如果表达式的值非零,则返回第一步;如果计算表达式的值为零,结束循环。这种表达式至少执行一次。
2.3for语句
这种语句用来计算循环,其形式为:
For([表达式1];[表达式2];[表达式3])
表达式1:一般为赋值表达式,给控制变量赋初值;表达式2:关系表达式或逻辑表达式,循环控制条件;表达式3:一般为赋值表达式,给控制变量增量或减量。
语句执行流程为:从初始化开始,执行表达式,直到达到条件要求次数。
三、循环语句的应用要点分析
C语言循环语句中,能够让同一个事物进行相同操作,降低程序的复杂性,运行更加有序且顺畅,提升系统运作效率。日常系统运行中,有很多重复的规律相同的操作,针对这些操作可以设计语句。操作不断重复使用,可以设计循环语句,如果循环操作有终止条件被触发,那么要设计终止循环。循环语句主要由两个部分构成,一是循环体,二是循环的终止条件。
3.1 while循环语句
这种循环语句中的表达式,是循环语句能否继续运行的条件,其功能是保证语句循环运行。只要表达式为真,就可以执行循环体内部语句,否则终止循环,执行循环体外部语句。
循环语句的语言流程,主要为While(v!=0){temp=u%v;/*循环体内语*/u=v;/*循环体内语句*/v=temp;/*循环体内语句*/}printf(“最大公约数是:%d\n”,u);}执行结果。
屏幕上显示,输入非负整数,150与35,结果:最大公约数为5。程序执行中,while有三条语句,要使用大括号括起来表示一个语句块。当表达式v!=0为真实存在时,程序需要重复执行循环语句中的三个条件;如果表达式v!=0为非真实时,要终止循环,执行prinff语句,最后在屏幕上显示出最大公约数。
3.2 do while循环语句
这种循环语句在循环中,应先执行循环体内语句,然后进行判断,如果结果为真就进行下一次循环,如果结果为假就停止循环。这种循环语句的特点是,表达式非真时,也需要执行循环语句。整个流程,应保证测试内容至少执行一次循环。这种语句能够写出菜单程序,在饭店中得到较好的应用。
3.3 for循环语句
这种循环语句的格式是for(a;b;c){……}
语句执行流程:应先对a进行赋值,然后判断b是否满足给定条件,如果其数值为真,那么可以进行循环,执行循环体内语句。如果不符合前两者,就会执行c,进入第二次循环,进行b项判别,否则可断定b的值为假,不满足实际条件,终止for循环,执行循环外的语句。
举例分析,For循环语句在程序中,for(n=1;n
For语句的特殊用法,for语句判断三个表达式为空,其表现为for(;;)prinff(“null”);( )中只有两个分号,并没有表达式,这表示无限循环。这种循环语句适合在菜单制作中使用。如果语句中没有(……),例如:for(;str==″;str++);语句中( )内的语句是一个分号,这种循环说明要将指针str所指流中的前导空格删除。还有一种情况,for(t=1;t;)这种语句在程序中有延长时间的作用,结合这种语句能够分析不同for应用对应不同的结果,应结合实际情况进行详细设计和规划。
通过上述三种循环形式分析,for语句应用有较强的功能性,是使用次数最多的循环语句。在该语句中,小括号内部的表达式可以随意变动,能够省略也能够增加。例如小括号内部分号之间,可以添加几个表达式等。一般将循环体的一些语句放在表达式3的位置,中间使用逗号进行分隔,这些功能都能嵌套使用,在一个循环内部包含另一个循环结构,也可互相嵌套使用,可形成多层嵌套结构。
在如今的21世纪,计算机的地位举足轻重,大部分的行业、生活都离不开计算机技术,而计算机技术就是依靠计算机语言来实现的。倘若没有计算机语言,那么计算机技术就只能用永远保持一种模式,那就更不能进行新发展新领域的开扩。作为计算机语言中的一种,C语言的运算种类多、相关语法灵活、使用软硬件的兼容性较强等等一系列的特点。
一、对C语言的简述
C语言是一门通用计算机编程语言,计算机的顺利使用很多时候是需要C语言的参与。C语言的设计目标是让程序的编写、运行更加的简单。虽然C语言包含有低级处理的作用,可是却有着很好的跨平台特性,即使是用一个标准编译的C语言程序却可以在很多不同的电脑平台上编译。
二、C语言的特点
C语言除了拥有汇编语言的特点,还拥有高度封装了的编程语言所具备的特点。主要表现如下:
(1)C语言是一个拥有模块思想的语言。因为C语言一般在进行程序设计的时候,会根据其功能不同来对程序进行切割,让切割成的每一个部分都具有不同的功能。
(2)C语言的预算符高达三十几个,关键字以及控制语句合起来也竟然有四十个,这样使得对于c语言的运算功能远超过其他的计算机语言。并且C语言的语法设置使得人们在使用的时候会更加方便。
(3)C语言包含的结构很多,例如整型、指针型、结构体型、共用体型等的数据类型都包含在C语言中。
(4)C语言程序的兼容性强,基本上用一种标准编写的C语言程序不需要修改就能在很多不同的操作系统环境下运行。
(5)和其他的高级语言相比,C语言能够对系统功能直接调用,以实现对硬件的操作。
三、计算机内存原理
想要透彻的对C语言程序技术进行探究,那么我们就必须先搞清楚计算机内存、结构以及编址基础知识。计算机内存在计算机中是属于不可或缺的一块,有了内存的存在才使得它能与CPU之间进行交流。计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大。编址的重要之处是我们要如何使每个字节在计算机有很大存储量的内存编址的时候,也可以有仅有的一个编号,要实现这个就要进行几位的二进制。例如使用二进制的方法来给工作人员编号,对编位进制的前提进行设定,在一定的内存容量下进行二进制编号。但是我们得先分辨出字节编址以及字节里存的内容的相异点,在计算机内存容量有限定数值的情况下,一个字节能够存的内容有多少,字节编号是什么;而且字节编号并非出于字节内,它是由字节实现的,存置的编号叫做地址,或者是指针。变量地址指的是变量在占的那些字节中的最原始的地址。
四、C语言在计算机原理中的应用
C语言在计算机的应用中不但可以用在系统软件中,还用在多维之中。例如现今非常火的二、三维及动画行业。要想对C语言在计算机原理中的运用进行了解,首先我们就需要具体的分析C语言,真正的认识C语言。为日后的使用做好铺垫。具体如下:
(1)指针。这是人们在学习C语言时的一个很棘手的知识点,如果你看到*号在变量前时,那么这便表明这个变量实际是指针型的。一般的话一个指针表示的是一个地址,或者说是常量。但是在一些特殊状况下,一个指针变量却能够有几个不相同的变量指针值。所以说,C语言中指针一般是能够代表一些数组、数组元素、变量和对其对应的函数的地址的,它还能够表示和地址对应的内容。另外,倘若使用return(z)来作为返回值,那么它是可以得到其任意不同的值的。
(2)字符串。C语言里,字符串是将ASCII的UNL当成数组的chair型数组。所以这在计算机原理中,不需要引用的库路径就能够使用字符串。可是其实C标准库中还是有某些函数是需要对一些字符串操作的,此举就导致这些函数变得更加像字符串而不是像数组了。不过要使用这些函数其实是很简单的,我们只需要需要在程序代码的开头头文件就能够开始引用了。
(3)结构应用。C语言一般有顺序结构、循环结构以及选择结构这三种结构。通过实例可以让我们更好地了解这三种结构。首先是顺序结构,例如我们先设置a=3,b=4,但是我们得将a与b的值进行更换。其实我们可以把这两个值的交换转换成是两杯之间的交换,那么我们这个时候就需要第三个杯子,那就将第三个杯子叫做c。对应的编程程序是:c=a,a=b,b=c.在电脑中进行执行的结果应该为:a=3,b=c=4。如果我们将这个顺序换掉,改成:a=b;c=a;b=c。此时在计算机中所执行的结果便会发生相应的变化改成:a=b=c=4。倘若出现如此的结果,那么这就和我们最开始所估计的结果不同了。也就是说顺序结构能够帮助形成一个简单却完整的程序,它的运用也是比较来说很独立的一种。应用在计算机原理中,就是那些最常使用的输入、计算、输出程序。顺序结构式是按照顺序进行运作的。其次是循环结构。循环指的是在运算以及处理的时候,出现的一些带有规律性的重复行为,应用到程序中就是把将一些语句反复执行。在C语言中反复被执行的代码就叫循环体。在C语言程序中,有循环结构的存在能够使得程序的书写量得以减少,程序的长度也得到相应的减少。那么程序看起来结构会变得更加的简洁明了。在C语言中,一般有for、while、goto这几种循环语句,通过这几种语句的使用能够在计算机原理中实现循环。这几种循环结构有时候能够处理不同的问题,但是有时候他们
又可以在同一结构的条件下仍进行互换。判定循环能否正常进行的条件是由表达式组成的,表达式的值是否为0表示判定循环成立的结果的真假。最后便是选择结构。选择结构的执行其实是由其对应条件的路径决定的。在设计选择结构时,主要的便是分支条件和解析程序的执行步骤。分支条件的适用性特别的强,这些选择结构在C语言中应用的语句一般是if以及if-else语句。选择结构中是能够可以衍生出其他的选择结果的,从而形成多枝节选择的出现。所以说,C语言里便存在着对应多枝节选择结构的语句switch case。
通过我们以上的分析,可知C语言其实就是由很多的独立函数根据其自身的结构来形成的。其实这也可以说是C语言模块的体现。对一个大型程序进行分割形成许多小的功能各异的子部分。所以说我们在对用计算机原理编写的程序进行调试时,其实我们大可分成很多块来进行调试、修改。让多个人参与到C语言类的程序编写、调试中其实就是模块化的最好体现,同时这也将C语言的灵活方便的特性展现出来了,这会使得软件开发成功的效率很大的被提升了。
[摘 要]语言是人类所特有的用来表达意思、交流思想的工具,由语音、词汇和语法构成一定的系统。计算机语言顾名思义是在计算机上使用的语言,是人类为了能使人与计算机间进行交流,专为计算机设计的语言,是以人类日常交流的语言为蓝本,变换成计算机可以读懂的信息符号。本文主要论述了C 语言教学方面的一些问题。
[关键词]C语言教学
这些信息符号是按照一定的规则进行的编码,是人与计算机间特有的用来表达人的意思、交流思想的工具,并指导计算机进行信息的采集、分析、加工、处理、保存和利用等。计算机语言的种类非常之多,总的来说可以分成机器语言、汇编语言、高级语言三大类。目前通用的编程语言有两种形式:汇编语言和高级语言。高级语言是目前绝大多数编程者的选择,和汇编语言相比,它不但将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关,但与完成工作无关的细节(例如使用堆栈、寄存器等),这样就大大简化了程序中的指令。
计算机语言教学是让学员掌握人为计算机设计的语言特征,学会计算机语言程序设计技能,培养学员的创新能力。教学过程首先是让学员端正思想,明确学习计算机语言的意义;其次是让学员明白学习计算机语言最终就是学会编写程序。
C语言语法结构很简洁精妙,写出的程序也很高效,很便于描述算法,大多数的程序员愿意使用C语言去描述算法本身,所以,如果你想在程序设计方面有所建树,就必须去学它。C语言能够让你深入系统底层,你知道的操作系统,哪一个不是C语言写的?所有的windows,Unix,Linux,Mac,os/2,没有一个里外的,如果你不懂C语言,怎么可能深入到这些操作系统当中去呢?更不要说你去写它们的内核程序了。 很多新型的语言都是衍生自C语言,C++,Java,C#,J#,perl...哪个不是呢?掌握了C语言,可以说你就掌握了很多门语言,经过简单的学习,你就可以用这些新型的语言去开发了,这个再一次验证了C语言是程序设计的重要基础。还有啊,多说一点:即使现在招聘程序员,考试都是考C语言,你想加入it行业,那么就一定要掌握好C语言。
对于计算机语言的学习来说,由于许多学生在以前并未接触过,所以他们会认为计算机语言是很深奥、很难学的,所以有许多人对计算机语言的学习缺乏信心。在这个时候,任课教师应该采取适当的方式激发学生的积极性和自信心。教师可以在上课过程中讲解目前计算机发展的历程和其中出现的重要人物,并讲解其中重要人物的成功历程,比如可以讲解国内“程序员之父”——求伯君老师以及他所组建的金山软件公司。为了消除程序语言对学生的神秘性,教师可在课堂上当场编写一些小程序,并当场演示。教师也可讲解目前计算机程序人才的重要性和他们的待遇,以调动学生的兴趣和积极性。
课堂教学内容如何组织是教师备课的重要步骤,教学内容组织是否恰当对教学效果有着直接的影响。教师必须对教材仔细分析,充分理解课程的特点,采用最合适的方式来组织教学。
计算机语言虽然比较简单,但要记忆的知识还是较多的,且存在着如何使用这些知识的问题。课堂上若罗列知识点,学员是可以勉强记住的,但要学会使用就较为困难了。在教学过程中,除了必要的说明外,大部分知识都应从问题引入,这样一是比较自然,这些知识都因实际问题的需要而设计,其存在是合理的,有利于记忆;其二也解决了在何种情况下使用与如何使用的问题。当然罗列是需要的,但应放在总结的时候。
当语言的基本数据类型、语句与控制结构讲完后,学员对语言是入门了,但要解决实际问题是不够的,这时应从问题的需要出发引人新的数据组织方式——构造类型,从基本类型——数组——记录——记录数组——动态数据结构——文件。每一个新的类型都是已有的类型克服其缺点,继承其优点而得到的,这符合人思维发展规律,也符合计算机语言本身发展的规律,同时对提高学员解决问题的能力是非常有利的。
对于同一个问题来讲,如果程序能够正确地解决问题,那么这个程序就是正确的,但是这个程序好不好,又有其他的因素制约,比如,程序的可读性,是不是容易让人理解;程序的结构,结构是否合理、符合逻辑;程序的执行效率以及程序所占用的存储空间等。因此,一个程序的好坏,衡量的标准有很多,而且并不是绝对的,可能不同的程序,优、缺点不同,适应的场合、对象也就不同。
通常每个人都有自己独特的思维方式及视角,所以应鼓励每一个同学将自己对某一问题的考虑讲出来,不要局限于某种标准答案之中。应将不同的想法列出来,一一进行对比,找出不同的优、缺点,这对培养学生的创造性思维很有帮助,可以让学生看到相同的问题有不同的解决方式,并且能够理解不同解决方式的优点、缺点。 计算机语言的实践就是上机编程,是培养学生综合运用相关知识解决问题的重要途径,也是我们了解教学反馈信息的直接渠道。只有亲自动手、亲自实践,才能真正体会到语言编程的乐趣,才能发现自己的智慧闪光点。通过上机练习也可以进一步加深对理论知识的掌握,也将有利于培养学生的创造思维、独立分析教师既要善于营造热烈的群体氛围,又必须给学生留有冷静的独立思考的空间。在设计实践内容的过程中,应着重做好以下三个方面。一是要结合学生的实际情况。尽量体现知识性、趣味性、实用性,激发高职高专学生的灵感和创造欲,使学生对实验内容感兴趣,产生上机一试的愿望。这样,就可以充分挖掘高职高专学生潜能,调动学生的学习积极性,使学生乐于思考,善于创新,通过上机实践,完成实践内容,增强高职高专学生的自豪感和成就感,把高职高专学生从枯燥的程序设计中解脱出来;二是要注重实践课与理论课相适应。实践课对于培养学生创造力、检验学生理论知识掌握程度具有非常重要的指导作用,因此设计实践课内容时应做到内容和时间与理论课教学内容相适应,这样才能够加深高职高专学生对基本理论、基本知识的理解和掌握;三是注重尺度的把握。在设计实践内容时,难易程度和工作量的大小是教师要考虑的内容。对于工作量小题目可以一人一组,但对于工作量较大题目,一个学生在一次实践中无法完成,那么就要开设小组来设计,使学生从接触这门课开始就能够养成良好的协作精神。对于一些有一定难度的实验内容,教师在实践前给出解决问题的总体框架,把理论课教学知识点密切相关的、并且是容易出现问题的地方留给学生,要求学生在理解问题的总体框架下完成相关问题的设计,从而既培养了学生对待实际问题的总体设计能力,同时又达到了巩固基本理论和基本知识的目的。问题和解决问题的能力以及培养学生实际编程的能力。
关键词:C语言;程序设计;教学改革
一、背景
随着科学技术的不断发展,计算机科学与其他学科的联系越来越紧密。C语言具有功能强大、表达能力丰富、使用灵活便捷、应用范围广、目标程序执行效率高、可移植等优点[1],因此很多高校将其作为计算机程序设计类课程的基础课。该课程对于培养高校学生的逻辑思维能力、编程技能、自主学习能力、分析问题和解决问题的能力都有极大帮助,并对数据库原理及应用、操作系统、单片机应用等后续课程的学习起铺垫作用。但是,由于C语言课程中涉及到的知识点繁多、概念多、重点难点多、规则较为复杂、运用灵活、不易调试、难以调动学生的学习兴趣和积极性,教师教学过程和学生学习过程都感到较为困难。
二、传统C语言教学方法和手段
传统的C语言教学过程中,课任教师作为主要的知识点传授者,大多数侧重于课本上C语言语法知识点的传授和巩固,按照所选教材的章节顺序和章节中例题先后次序进行上课讲解,针对课后习题进行作业的布置。这种按部就班地跟从教科书的授课方式,不易于将学生的实际接收和反馈情况作为授课依据,难以激发学生对该课程的学习兴趣。传统的C语言作业布置模式,让学生针对课堂上的例题和课后的习题进行编程调试,如果学生对课堂上的知识点未完全消化或学生本身非计算机专业,编程基础较差,这种作业布置模式容易使得学生有挫败感,大大降低学生学习本门课程的动力且使得部分学生畏惧上机编程。当然,也有部分学生按照课本的例题程序进行输入、调试和修改后,可实现例题中所要求的功能,带给学生一定的成就感和满足感,但也容易让学生误以为自己对C语言编程完全掌握了,而实际上,学生面对灵活多变的编程题,缺乏自我思考和灵活应用知识要点的能力。以往,传统的C语言授课方式多数是将理论课和上机实践课分开。通常先安排理论课,再安排少于理论课课时的上机课。这种传统模式容易将理论知识点和上机操作分离,学生经过理论授课后若不及时上机复习和巩固,待下一次上机操作时,容易将知识点遗忘,且不利于学生课堂上及时地理解书本中抽象的概念。而单一的上机课,学生专注于完成编程题目,或是将编程题当作此次上课的目的,单纯地为交作业而编程,临下课时,部分学生甚至为交差而拷贝、抄袭他人的程序,这种上机实践效果不利于学生将理论知识点和实践结合。
三、传统教学模式存在的问题
“C语言程序设计”作为高校相关专业的基础课程,多数高校的教学计划将本门课安排在大一或大二的第一学期,采用传统的课堂教学、课后上机编程的传统教学模式,在实际教学过程中会出现以下几个问题:(1)学生自身的计算机基础参差不齐,部分学生在初、高中阶段接受的计算机基础教学和操作训练不足,导致学生突兀地进入程序编程阶段,传统的教学模式难以让学生从零基础良好地过渡到自主编程状态,容易导致学生产生挫败感。(2)传统的C语言教学模式是一种学生被动接受知识的模式,而C语言实践性较强、重视学生分析问题能力培养,传统教学模式难以调动学生学习和编程的积极性,学生缺乏独立编写程序、解决问题的能力,难以培养学生的自主创新能力。(3)对后续相关课程的影响。在后续的面向对象的程序设计、单片机应用、MATLAB语言及应用等课程的实验及教学设计,对C语言基本知识有较高的要求,若C语言掌握得不好,会严重影响这些后续课程的学习和掌握。(4)学生自身对课程的重视度不足[2]。一些学生认为自己不是计算机专业,将来就业可能不会涉足“程序员”岗位和软件开发方面的工作,对课程的认识仅仅局限于C语言编程是计算机专业才应该熟练掌握的技能。C语言的学习实际上是通过一门具体的计算机语言系统地培养学生的逻辑思维能力。
四、对C语言教学改革的几点建议
1.作为授课教师,需要明确教学内容和目的定位。在C语言课程的第一节课,老师应当清晰地告诉学生这门课的学习目的是通过学习C语言,了解基本的算法,掌握正确的编程思想和方法,培养思考问题和解决问题的能力,提高计算机应用水平,为后续相关课程奠定坚实的基础。教学内容应该针对学生的专业,利用各种多媒体手段,选择趣味性、交互性和内容充实性的教学内容,制作适合学生在课堂上集中注意力学习的课件,帮助学生在配备教科书的学习过程中,通过教师讲授加深对所学知识的理解和掌握[3]。2.激发学生的学习热情,培养学生兴趣和自信心。兴趣是最好的老师。教师的授课应当易于学生的接受和理解,具有一定的启发性,引导学生在听课的过程中,自主思考和编程。教师应当注重课堂气氛的保持,让学生在有限的授课时间内尽可能地集中注意力,被教学内容所吸引,使教和学的师生双方都能获得极大的满足。在进行课堂教学内容的设计过程中,教师应围绕教学大纲的要求,设置一些学生熟悉的、简单的实际问题,让学生利用所学知识进行编程计算和实现。理论教学过程中,及时地发现学生的薄弱点,进行强化,师生共同参与整个教学环节。3.改进传统的教学方式。理论课和上机实践课可以同时进行,将授课课堂搬到机房,学生第一节课可以学理论课,教师在授课过程中,将一些实际编程案例通过软件界面实时再现和实现其功能。第二节课学生上机,学生可以及时地将上节课的理论知识点进行巩固和验证,并可以通过编程,发现自己的不足,任课老师第一时间向学生答疑解惑,对程序进行点评和调试。4.重视实践内容的教学。C语言这门课实践性很强,具有一定的逻辑性,应当削弱语法知识的传授,重视实践内容的教学,让学生从实际的案例编程中加深和强化理论知识点。一个完整的程序开发过程要经过需求分析、算法确定、程序设计、程序设计和调试环节。在布置上机实践作业之前,授课教师务必对本次上机内容进行思考和设计,寓知识点于编程题中,对算法有个总体的把握,允许学生将课堂无法编程完成的作业带到课下,课堂仅对其程序设计流程图或NS图进行检查和把关,实践内容从易到难,循序渐进。此外,上机实践课,可将学生进行分组,针对某一编程题,进行小组讨论和协作编程,共同完成实践教学的内容。针对上机编程题目,学生可以利用计算机网络,将一些感兴趣的问题带入课堂,通过老师讲解,学生小组讨论,利用所学编程知识实现功能,既能增强学生的学习兴趣,又培养了学生的自学能力。