计算机c语言范文
时间:2023-03-16 05:45:01
导语:如何才能写好一篇计算机c语言,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。
篇1
实训教学是培养计算机专业学生C语言的基本能力、职业能力、技术应用能力、创新能力的重要途径。本文是小编为大家整理的计算机c语言实训报告范文,仅供参考。
一、 课题名称:简单计算器
设计一个简单的程序来模拟计算器的功能。
二、 设计目的:
1、通过理论知识与实际需求相结合,编辑解决一些日常中的实际问题,培养初步的独立分析和设计能力。 2、了解应用程序设计解决实际问题的具体过程和实现方法,掌握应用C语言进行程序设计的基本规范; 3、重点掌握C语言的程序编写、函数设计、算法设计和程序调试方法; 4、初步掌握系统开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能。
三、 设计任务:
1、通过结构体数组和共用体数组来存放输入的每一数字或运算符号的记录(包括1、2、3等数字,+、--、_、等运算符号),然后将其信息存入文件中。输入一个算术计算式,就在屏幕上显示结果。 2、输入简单的加减乘除算术计算式,并在屏幕上显示计算结果;
四、 设计要求:
1、用C语言实现程序设计并进行调试; 2、画出查询模块的流程图;
3、系统的各个功能模块要求用函数的形式实现; 4、界面友好(良好的人机互交)。 5、完成设计说明书(A4)。
五、代码设计:
#include "stdio.h" main() { float x,y;
char operator;
printf("x,yun suan fu ,y: "); scanf("%f%c%f",&x,&operator,&y); switch(operator)
{case '+': printf("%.2f+%.2f=%.2f",x,y,x+y); break; case '-':printf("%.2f-%.2f=%.2f",x,y,x-y); break; case '_':printf("%.2f_%.2f=%.2f",x,y,x_y); break; case '/': if(y==0)
printf("chushushilingwuyiyi"); else
printf("%.2f/%.2f=%.2f",x,y,x/y); break;
default: printf("yunsunfuwuxiao"); } }?
七、设计总结:
学习C程序这门课一个学期了,这是我们学的第一门专业课,所以作为我这个计算机系的学生来说当然十分重要,老师在第一节课说过,C语言是计算机的基础,大多数软件都需要用C语言来编写,通过一个学期的学习,使我初步掌握了一些关于这门课的知识
这次的课程设计是对我们一个学期来所学的知识的综合考察,里面涉及到了我们大多数所学知识。记得刚开始学这门课的时候,对这门课充满了希望,自己有信心学好这门课,但是经过一段时间的学习之后。才发现程序设计并不好学,它既要你有很强的领悟能力,还要你课后的努力,也许是自己之前太有信心学好
这门课了吧,中间遇到了很大的瓶颈,一度陷入无休止的烦恼中编程序时没有一次是成功的,总会遇到很多的error,改完一个又有一个,这时我会想到一句古话“天将降大人于斯人也,必先苦其心志,劳其筋骨,饿其体肤”,也许以后会有些许光明吧。之后,随着时间的推移,慢慢掌握了这门课学习的一些窍门,学习起来也比刚开始的时候好了一点,至于编程序吗还是有错误,但比以前少了,总让我看到希望了。这次的课程设计要求我们编一个简易计算器,刚开始的时候我一头雾水,丈二摸不着头脑,不知从哪里下手,后来经过老师和同学的帮助,从最简单的编框开始,慢慢的到最关键的算法,这其中经历了很多弯路,也犯过了很多错误,但是还是一一攻克了,好比两万五千里终于到达了终点。看到最后自己编写出来的计算器感到格外的高兴,暂且不说计算器的功能方面吧,但毕竟是自己写的第一个正式的程序,感到格外的高兴。
在编写程序的过程中受到了其他同学的指点,也许在某些程序方面会和有的同学想类似,另外老师也帮助了很多,一个好的学生离不开一个好老师吗,虽说我不算一个好学生,但是老师在我编程序过程中也起到了很大的作用,就像老师说的一句话一样“革命尚未成功,同志仍需努力”,我们在C语言这门课上还会继续走下去,以后还会经常碰到,我会努力的。
实验一 工作平台
一、目的和要求
1、熟悉C语言程序的支持运行环境,了解所用计算机系统的软、硬件配置和使用方法。
2、初步了解运行一个C语言程序的过程。
二、实验环境
硬件环境:计算机(windows xp系统) 软件环境:Turbo C3.0或VC++6.0
三、实验内容
1.1请编写一个程序,显示以下两行文字。
I am a student.
I love China.
源程序代码:
#include
int main(void)
{printf(“I am a student.\n”);printf(“I love China.\n”); return 0;}
数据输入与运行结果:
1.2编写一个程序,从键盘输入两个整数,输出这两个数之和。
源程序代码:
#include
int main(void)
{int a,b,c; printf(“input two integers:\n”);
scanf(“%d %d”,&a,&b);c=a+b;printf(“The sum is %d:\n”,c); 数据输入与运行结果:
1.3编写一个程序,求3个整数之和。
源程序代码:
#include
int main(void)
{int a,b,c,sum;a=12,b=34,c=56;sum=a+b+c;
printf(“sum is %d\n”,sum);}
数据输入与运行结果:
1.4编写一个程序,从5个整数中找出最小的数。
源程序代码:
#include
int main(void)
{int a,b,c,d,e,min;
scanf(“%d %d %d %d %d”,&a,&b,&c,&d,&e);
min=a;if(min>b) min=b;if(min>c) min=c;if(min>d) min=d;
if(min>e) min=e;printf(“min is %d\n”,min);}
数据输入与运行结果:
1.5写出下列程序的输出结果。
(1)#include
int main(void)
{printf(“%d%d%d%d\n”,1+2,5/2,-2_4,11%3);
printf(“%.5f%.5f%.5f\n”,1.+2.,5./2.,-2._4.);
(2)#include
int main(void)
{int i=8,j=10,m=0,n=0;
printf(“%d,%d,%d,%d”,i,j,m=++i,n=j++);
(3) #include
int main(void)
{int x;
x=-3+4_5-6;printf(“%d\n”,x); x=3+4%5-6;printf(“%d\n”,x);
x=-3_4%-6/5;printf(“%d\n”,x);x=(7+6)%5/2;printf(“%d\n”,x); }
数据输入与运行结果:
1.6分析比较下面两个程序的输出结果。
(1) #include
int main(void)
{int x,y,z; x=y=2;z=3; y=x++ -1;printf(“%d\t %d\t”,x,y);
y=++x-1; printf(“%d\t%d\t”,x,y); y=z-- +1; printf(“%d\t%d\t”,z,y); y=--z+1; printf(“%d\t%d\n”,z,y); return 0;}
(2) #include
int main(void)
{int x,y,z; x=y=2;z=3; y=x + +-1;printf(“%d\t %d\t”,x,y);
y=+ + x-1; printf(“%d\t%d\t”,x,y); y=z - - +1; printf(“%d\t%d\t”,z,y); y=- -z+1; printf(“%d\t%d\n”,z,y); return 0;}
数据输入与运行结果:
实验二 C语言基础
一、目的和要求
1、进一步掌调试的方法。
2、掌握数据的输入和输出方法。
3、掌握有关运算符与表达式的运用。
二、实验环境
硬件环境:计算机(windows xp系统) 软件环境:Turbo C3.0或VC++6.0
三、实验内容
2.1 上机调试下面的程序,给出运行结果。
(1) #include
int main(void)
{float x=234.89;double y=-123.4567;printf(“%.3f,%.3e\n”,x,x); printf(“%08.3f,%010.3e,%015.3e\n”,x,x,x);
printf(“%g,%e\n”,y,y,y);}
(2) #include
int main(void)
{char c;short i;c=’A’;i=65;
printf(“c:dec=%d oct=%o hex=%x ASCII=%c\n”,c,c,c,c); printf(“i:dec=%d oct=%o hex=%x unsigned=%u\n”,i,i,i,i); c=’X’;i=-4;
printf(“c:dec=%d oct=%o hex=%x ASCII=%c\n”,c,c,c,c); printf(“i:dec=%d oct=%o hex=%x unsigned=%u\n”,i,i,i,i);}
(3) #include
int main(void)
{char c1,c2; c1=’A’+’5’-’3’; c2=’A’+’5’-’3’; printf(“%d,%c\n”,c1,c2); }
数据输入与运行结果:
2.2指出下面程序段中的错误,并加改正。
#include
int main(void)
{int a; float b; char c; scanf("%c%d%c%f";c,a,a,b);}
数据输入与运行结果:
改正后的程序:
#include
int main(void)
{int a; float b; char c; scanf("%c,%d,%f",&c,&a,&b);
printf("%c,%d,%f",c,a,b);}
运行结果:
2.3写出下面程序段执行后变量a,b,c的值。
char a=’2’,b=’a’;int c;c=a+b;a=c;
数据输入与运行结果:
程序:#include
int main(void)
{char a='2';char b='a';int c;c=a+b;a=c;
篇2
关键词:C语言
中图分类号:TP3-4 文献标识码:A 文章编号:1007-9599 (2012) 08-0000-02
一、C语言的主要特点
(1)C语言适合于多种操作系统,也适用于多种机型。C语言对编写需要硬件进行操作的场合,明显优于其它高级语言。
(2)C语言具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。而且计算功能、逻辑判断功能也比较强大。
(3)C语言结构式语言的结构化方式可使程序层次清晰,便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。
(4)C语言把高级语言的基本结构和语句与低级语言的实用性结合起来,可以像汇编语言一样对位、字节和地址进行操作。
二、C语言几个函数的使用方法
(一)main()函数的正确定义
main()函数必须声明为int main()或int main(void)或int main(int argc,int **argv)
不能定义为void main(){}以消除无返回值警告,但是它可能导致与调用者期待的返回顺序不能的返回顺序
(二)有关i++的定义
int i=3;
printf("%d",(i++)*(i++));我的编译器输出结果是9,而不是12。原因尽管后缀自加和后缀自减操作符++和--在输出其旧值之后才会执行运算,但这里的“之后”常常被误解。没有任何保证确保自增或自减会在输出变量原值之后和对表达式的其它部分进行计算之前立即进行。也不能保证变量的更新会在表达式“完成”之前的某个时刻进行。本例中,编译器选择使用变量的旧值相乘以后再对二者进行自增运算。
(三)NULL(空指针)到底是什么?
每个指针都有一个特殊的值,空NULL,这与其他对象或函数的地址都不相同,也就是说在程序中通过&(取地址运算符)永远无法得到NULL地址。
当一个指针类型的变量被赋予0值,那么编译器在编译的时候会将其作为NULL指针,即在指针初始化、比较、赋值的时候NULL可用0代替。即自己定义
#define NULL 0
如果NULL要以函数参数传递的时候,编译器可能不知道这是指针类型的变量而把其当作是常数0看待,这是可以进行强制类型转换(char*)0来使编译器将其作为NULL来使用。即
#define NULL ((void *)0)
所以空指针的使用注意
*在源码中使用空指针常数时,则使用0或NULL
*在函数的参数传递时如果使用空指针,则使用NULL或相应的类型指针0((type *)0)
(四)*p++的含义是自增指针p,还是自增p的内容
*p++和*(p++)等价,++和--比前缀的一目操作运算符优先级高,它的含义是自增p并返回p增加前地址的内容。所以如果自己比较混淆,干脆使用括号消除自己的歧义。
三、数组的应用
用简单变量固然能编出各种各样的程序,但在实际处理问题时,常常遇到这样的情况:需要对同一类型的数据进行多次记录,并且需要将历次记录保留下来进行处理。例如,某班有40名同学,他们的某次测验的成绩共有40个数据,需要将数据记录下来分析成绩。如果用简单变量来表示,命名起来很麻烦,操作更不方便。
我们可以把同一类型数据的变量用同一个名字来代表,而这一类型的不同变量用不同的号码加以区别。如用m1,m2,m3…m40代表测验成绩,可以表示为m(1),m(2),m(3)…m(40)。我们把按一定顺序排列的一组数据或变量叫做数组。数组中的每个数据或变量叫做数组元素。
在数组中,每个数组元素都处于某一确定的位置,这个位置就称为该数组的下标。如果数组元素是变量,也就称为下标变量。
下标变量的格式为:
数组名(下标)
例如,a(1)、a(2)…t(10)等都可以作为下标变量。
数组中下标的个数称为数组的维数。我们经常使用的有一维数组和二维数组。
数组定义方法:类型 数组名[下标] (下标是指数组的长度)
例:int array[10]//这样我们就定义了一个长度为10的数组
为什么说在某些情况下数组比单个变量好用呢?下面来做一个示范:
输入一个五位数,分解为五个单个数字并输出。
要做到这个要求首先要懂得拆数。下面来讲一下拆数的方法:
首先,我们要使用取余来取一个数个位数字。使用“%”便可以达到要求。
例如:123 % 10=3(123对10取余,就是123除以10等于12余3,我们就把这个余数取出)
然后:123/10=12(如果定义int类型的变量,这里的“/”不是除以,而算是整除,所以小数点后舍去)
再用:12%10=2(十位的数也被取出了)
最后:12/10=1(百位的数也被取出了)
综合以上拆数的方法,我们可以发现,一个数取余,就可以拆出一个单位数,再整除10、取余,就又可以得到一个数。这样我们就可以将一个多位数拆分为多个单位数。这就是拆数的基本方法。
下面我们使用非数组方法来做一次
int a,b,c,d,e;//定义5个变量分别保存5个数字
long n;//用于读取输入的数
do{printf("请输入一个5位数");
scanf("%d",&n);}while(n>99999||n
a=n%10;
b=n/10%10;
c=n/100%10;
d=n/1000%10;
e=n/10000;
printf("这五个数是%d %d %d %d %d",e,d,c,b,a);
这样写一个程序,用了这么多变量,如果要拆十几位的数,那就十分麻烦了。所以,下面使用数组来做一次,大家可分别来作比较。
int a[5];//定义长度为5的数组,注意:下标的范围是0~4,所以后面a[5]是不可使用的
long n;
int i;
do{printf("请输入一个5位数");
scanf("%d",&n);}while(n>99999||n
for(i=0;i
{a[i]=n%10;//每次取最后面那位(这应该很容易理解,不理解的话把程序输入到电脑中试验一下就知道了)
n=n/10;//每次取完以后原数要缩小十倍,给下一次做准备
}//做完5次拆数,循环退出
/*在上面的循环体中,我使用了i作为a数组的下标,因为i是可以变的,而i的变化就可以指定到数组的下一个位置。也就是说,现在a[0] a[1] a[2] a[3] a[4]分别保存的就是原数的个位、十位、百位、千位、万位。在输出的时候,我们同样可用循环从后往前输出。*/
printf("这5个数是");
for(i=4;i>=0;i--)//注意这里是从4~0的循环,增量部分使用i--,每次减一
{printf("%d",a[i]);//因为i是变量,所以每次做循环体的时候a[i]表示的是就是a[4]、a[3]、a[2]……}
篇3
关键词:计算机;C语言;应用特点
引言
计算机技术在当下应用得极为广泛,而随着计算机技术的发展,已经逐渐从最基础的高级语言发展到了各种硬件和软件系统,而只有在编码正确的前提下,才能保证高级语言程序的顺利执行,在计算机编程的过程中,C语言是较为常用的高级语言,在整个计算机系统中应用很广。这就需要进一步加强研究C语言计算机的应用,使其得到更好地应用和推广。
1 C语言简述
计算机中C语言是较为常用的设计语言,并具有高级语言和汇编语言的双重特点,也正因为具备这样的特性,使其得到了大力推广,应用较为广泛。C语言的使用最早可以追溯到1972年,美国的贝尔研究所推出了C语言,通过研究人员的不懈努力,C语言得到了改进和完善,进而应用的范围越来越广。C语言的设计和编写功能得到了广泛应用,其除了能够满足工作系统的相关设计外,还能够更好地完成一些程序的编写工作,这也有力地说明了C语言之所以得到广泛应用的原因所在。现阶段C语言还能够有效处理数据,也就突破了软件系统的局限,在各种科学研究中也得到了应用。
2 C语言的特点
(1)操作简便、灵活。C语言具有操作简便的特点,而且还很灵活,主要是由于其包含了9种控制语言以及32个关键字,还能区分出大小写。这就提升了编程书写的效率,也便于高低级语言的更好的结合使用。
(2)广泛的运算符设计。C语言中运算符的使用会涉及到众多方面,涵盖三种运算符,C语言对于一些赋值、括号以及相关强制类型的转换,能够利用运算符进行有效的处理,这样就丰富了C语言的运算类型,是其他语言单一性所无法比拟的。
(3)标准库函数的应用。在C语言中,很多都是利用标准库函数来完成的,只有实现选择、顺序和循环等九条控制语句除外。这就需要在C语言的学习过程中,在全面掌握各种运算符和这九条控制语句的同时,必须要熟练掌握常用标准库函数的基本使用。在现阶段的发展中标准库函数是C语言程序编写过程中较为重要的单位。
(4)指针的有效性操作。不同于其他语言,C语言的指针独树一帜,这使C语言的使用范围更加广泛。究其原因,主要是因为C语言中的指针能够直接控制硬件系统中的操作,使系统的工作效率更高,也更加方便快捷。同时,在指针的操作中,有时保护措施做得不到位,导致了安全问题的出现,使C语言指针优势削弱了,这也是C语言指针的缺陷所在。而Java和C++是弥补这些缺陷的有效措施,但也存在安全上的缺陷,进而使C语言系统运行效率大幅度降低。总之,C、Java和C++属于一个系列,是编程的重要方面。
(5)C语言的语句。C语言也同其他的高级语言一样,需要利用函数体中的相关语句来向计算机发出操作命令。控制语句应用得最多,最大的功用在于完成计算机的控制,一般情况下,C语言中的控制语句共有九条,从类别上来看又可以分为三种――循环结构控制语句、选择结构控制语句、其他控制语句。循环结构控制语句主要有:for()~,while()~,do~while(),break,continue;选择结构控制语句主要有:if()~else~,switch()~;其他控制语句主要有:goto,return。
3 计算机中C语言的应用
(1)有效表达文字和数据。有效表达文字和数据是C语言得到广泛应用的前提和基础,在具体的操作过程中,C语言能够将一些简单的数据和文字巧妙的连接在一起,从而达到更为有效的表述。这里值得强调的一点是在二进制中文字和数据的表述还有一定的缺陷,此问题就可以利用C语言来进行妥善解决。同时,二进制可以发挥的空间是比较大的,但表达起来却很抽象,如果无法转为相应的语言,就会在使用者的理解上造成一定的困难,C语言能够有效表述这些文字和数据,使文字和数据的传输更为准确,使用效率更高,范围也更广。
(2)灵活设置变量。灵活设置变量也是C语言中极为重要且不可忽视的一个方面,其中大部分变量的地址均是由变量字节中的第一个字节地址所表述,使指针变量中变量的灵活设置和使用性更高,还可以利用灵活的设置来达到既定要求。在具体的操作过程中,相关人员在设置变量的初始值时所依靠的就是语言数据的类型和内存的特点,这样预期的结果就能从中反映出来,大量事实证明,这样做使C语言编程的工作效率大大的提升。
(3)完善的内存储器。要想实现C语言良好的应用离不开完善的内存储器系统,之所以这么说,主要原因在于C语言运行中绝大多数数据保存的地点是内存储器,之后才利用CPU进行处理。计算机系统的正常运行,必须要有内存储器作为支撑,所以完善的内存储器是C语言运行的先决条件,也只有做到这一点,C语言的优势才能得到最大化的发挥。完善的内存储器在一定程度上关乎C语言的运用,二者相辅相成,因此为了保证C语言中每一个字节都配备唯一的编号,需要更多位的二进制来支撑,为了实现以上这些也需要内存储器的存储容量大。
(4)有效处理计算机的关键环节。运用C语言中,还要对计算机中的关键环节进行有效的控制和处理,这样做的目的在于计算机中包括很多环节,而C语言程序的设计是保证计算机得到有效运用的关键环节,C语言的使用能够解决计算机使用中所出现的程序问题,还要对计算机中的关键环节进行有效的处理。大量事实证明,通过C语言的合理使用,一方面有效控制了计算机语言的编程方法,另一方面还大幅度提升了计算机的运行效率和质量,这样就提高了计算机软件的竞争力,这就是计算机中关键环节的意义所在,也充分说明了处理好关键环节的重要性。
4 结束语
通^文章的分析使我们充分了解到现阶段我们的社会已然进入了计算机的网络时代,计算机自然是不可或缺的重要组成部分,重要性是毋庸置疑的,而且重要性会随着技术的不断深入发展得到更好的体现,C语言是计算机中重要的编程语言,应用的范围很广,所以要重视C语言的应用,相关的技术人员要认识到自身工作的重要性,努力提高自身的专业技能,还要在日常的工作中注意积累经验,总而言之,使计算机中的C语言应用得更好,为经济社会的发展贡献出应有的力量。
参考文献
[1]章赛 .解析计算机中C语言的运用[J].消费电子,2014,7(2):69-70.
[2]田美艳.计算机中C语言的应用特点分析[J].电子制作,2015,12(8):104-105.
[3]崔宁.计算机原理中C语言的应用价值[J].电子技术与软件工程,2015(09).
篇4
C语言是一种计算机程序设计语言,是计算机汇编语言的重要组成部分。其实质就是通过对语言进行编写和翻译,使其产生一种与社会相衔接的语言,让人和计算之间通过这种语言能够进行简单的交流。C语言是在1972年由美国贝尔研究所提出,1978年先后被运用到各种机型中。C语言具有双重性,具备高级语言的特点和汇编语言的优越性,不仅能对系统应用程序进行编写,而且能对不依靠计算机硬件的应用程序进行编写。同时C语言也具有广泛的应用性,能在多个计算机的操作系统中运用,大大提高了计算机软件编程的效率。随着计算机的日益普及,C语言的应用领域越来越宽,成为目前较为流行的高级程序设计语言之一,在许多大型的软件编程中被广泛的应用。C语言具有如下的特点:
1.1模块化思想模块化的基本思想就是运用C语言在进行计算机软件编程设计时,按功能作用的不同将一个较大的程序分割成为许多小的子模块,使每个小的子模块成为一个功能单一、理解简单和结构合理的小程序。
1.2简洁性强C语言具有语言简洁、结构紧凑、使用方便、灵活的优势。C语言包含了32个关键字和9条控制语句,源程序书写方式较自由灵活,因此在计算机软件编程中要选择使用小写字母,压缩掉所有不重要的部分。
1.3运算范围广C语言总共具有34种运算符,其运算符号十分丰富且对运输结果能采用各种各样的表达形式,因此C语言的数据处理能力强,可以为各类数据结构进行复杂的运算,进行一些高级语言较难实现的运算功能。
1.4移植泛用性C语言在进行软件编程中基本上不需要做任何的修改,就能运用于各种不同型号的计算机和操作系统环境上,从而形成很多不同版本的C语言。
1.5应用效率高C语言的应用结构简单清晰,能够对内存中的相应地址进行直接的访问,操作十分方便,被称为高级语言中的低级语言。同时能够直接调用系统功能,直接操作硬件,具备许多高级语言所不具备的高效率。
2.C语言在计算机软件编程中的技巧
C语言具有模块化的特点,因此在计算机软件程序编程中,充分发挥C语言的灵活性和方便性,提高软件编程的技巧性,能够优化软件程序编辑和提高软件开发的效率和质量。
2.1变量数据和运算模式的合理设置设置变量数据时,要在最大限度满足计算机软件编程需要的前提下,尽可能合理的设置变量数据,使用无符号的最小数据类型,这样能减少程序代码,从而促进计算机软件编程的有效运行。同时在设置运算模式时,要尽量运用定点运算,避免运用浮点运算。
2.2变量存贮器类型的合理定义在计算机软件编程中,采用和操作不同类型的变量存贮器时,会造成编译后的代码执行效率各不相同,只有合理定义变量存贮器类型,才能不断提高程序的执行效率。因此在定义变量存贮器类型时,应在满足条件的情况下尽量选用内部直接寻址存贮器。
2.3变量存贮类型的灵活设置在计算机软件编程中,C语言具有模块化思想,正确函数变量的传递在编程中十分重要,因此子程序模块使用的变量常采用局部变量,而整个程序模块使用的变量要采用全局变量。另外在C语言中灵活使用指针、结构和联合,也便于数据的传递,提高软件编程的效率。
2.4设计软件编程与C语言的接口C语言具有程序执行速度快和直接操作硬件的优势,在进行数据采集、中断服务器处理和实时控制时,可以将C语言程序运用到计算机软件编程中,自行控制数据的传递,从而能够精确控制任务,加快实时响应。
2.5编译控制指令的正确选择C语言能为计算机的软件编程提供了20多条控制指令,总体可分为首要控制指令和一般控制指令,首要控制指令的选择只能用一次,要放在源程序的开始处,以防止重复而导致停止编译,而一般控制指令的选择可以多次。因此选择正确的控制指令,能加速程序调试过程。
3.C语言在计算机软件编程中的应用
C语言具有很强的优越性,可以适用于计算机软件编程实验研究,这就需要对C语言在计算机软件编程中的应用有一个全面的认识,避免在以后的程序设计过程中出现基础不足的情况。
3.1指针的应用C语言中的指针代表相关变量、相应函数的地址和地址相对应的存储内容。在进行软件编程时,如果一个相应的变量声明前面,出现“*”号,那就表示这个内存地址相对应的存储内容。通常情况下C语言的一个指针代表着一个相应函数的地址,是一个常量。此外,C语言的指针可以在调用函数时得到几个不同于return(z)的返回值。
3.2字符串在C语言中,字符串是一种以ASCII的UNL作为数组退出的一种chair型的数组,在计算机软件编程中,字符串的使用一般不需要引用库。但在C标准库中包含着一些函数可以操作相应的字符串,在使用这些函数时,需要运用相对应的头文件进行引用。
3.3C语言结构C语言主要包括三种结构模式即顺序结构、选择结构和循环结构。顺序结构在C语言中是按照先后次序进行操作,通过构建一个相对简单和完整的程序,进行相对独立的运用。循环结构是在进行各种数据运算和处理时,需要对其中的一些语句进行反复的执行,这在一定程度上简化了程序的长度,使程序变得简洁。选择结构是根据相关的分支条件选择相应的执行路径,在计算机软件编程中要选择具有较强适应性执行路径。
篇5
1.1理论与实践不能相辅相成
计算机课程对学生的实际操作能力要求很高,需要学生把理论上学习的知识融会贯通,运用到编程中。可是在很多学校计算机C语言课程的理论与实际联系不紧密,导致很多学生理论知识学的很好,可是不具备严谨的逻辑思维能力,在实践中不知道如何进行具体操作。而且部分学校受到硬件设施的限制,不能做到人手一台电脑,教授计算机课程的教师也不是本专业的,在实践课上没有进行计算机的教学,导致学生们用电脑进行其他娱乐项目,忽视了实践课的学习,影响了学生的学习效率。
1.2C语言课晦涩难懂,学生的学习兴趣低
学习计算机C语言要求学生具备良好的逻辑思维能力,能够充分理解书本上的知识,在大脑中形成思维脉络,并运用到实践中。C语言知识比较晦涩难懂,需要学生精神高度集中,提高自身的理解能力,善于思考,把书本上的字母,转化成编程用的符号。很多学生在刚开始学习的时候没有打好基础,对于知识一知半解,随着学习的深入,大量问题暴露出来,导致学生跟不上教学进度。学生学不会C语言基础知识,也缺乏对问题的思考,导致知识越落越多,形成了恶性循环,长此下去,难以培养学生对于学习的兴趣。
1.3C语言实验教学的方法比较单一
C语言的学习是枯燥乏味的,需要更多的是大脑的思考,不断探讨问题的解决方法。很多学校开设课程是为了应付考试,没有对该门课程进行详细的介绍与教导,导致学生对知识的学习没有给予足够的重视,实践编程也是照着书本的例子模仿,对于整个学习过程没有花费过多的精力。C语言仅仅靠老师教授知识是不够的,而且老师也不可能把所有的情况都考虑完全,在实践中有时候符号位置的变化都会影响编程的结果,所以需要学生结合自身实际情况去解决问题。
二、提高高校计算机C语言实验教学质量的主要策略
2.1在实践教学前期加强对学生理论知识的教学,打好实验学习的理论基础
理论知识是实践操作的基础,为计算机编程提供科学依据。学校应该重视对于理论知识的教学,在课堂上加强对基础知识的讲解,确保学生打好坚实的基础,然后再进行深层次的教学。在遇到重点、难点时,教师要反复强调,或者是用提问的方式增加学生的印象,巩固学生的理论知识水平。还要注意结合一些编程的实例,让学生去体验理论知识和编程应用的联系。
2.2强调学生在实验教学中的主体性地位,为学生提供自我发挥空间
C语言教师除了从科学合理化教学模式与内容以提高学生的兴趣和投入度之外,还要注重让学生自行动手操作。在学生独立自主的实验操作过程中,才会形成这样或那样的问题,并进行独立思考。学生自由实验操作期间,教师应当在教室内不断巡视,以及时注意到学生们的难点并回答他们提出的问题,不过巡视的也不用过于频繁,避免干扰学生的实验操作兴致。
2.3加强实验教学过程中的师生交流互动与学生间的合作探究
学生在遇到问题的时候才能知道自己知识点薄弱的地方,所以在课堂上教师应该经常提问,并且随时对答案进行补充,以加深学生的印象。在实践中要让学生学会独立编程,对学生在编程中出现的问题进行改正。并且在班级中设立学习小组,统一布置课题,以加强学生间的交流合作,促使小组间进行良性竞争,引起学生的学习兴趣。小组成员共同讨论课题,研究解决方案,对于提高自身的实践能力和创新能力有重要作用。
三、小结
篇6
这次实训有很大的收获,让我对c语言有了更深的认识,平时在课堂上学到的东西可以自己动手编写,将其转化成一些实用的技能。如果是一个程序写完一处错误也没有,会有种成就感,于是兴趣就来了,兴趣来了,自然学的东西也就多了,能把理论变成实际的技能,让我对c语言有了浓厚的兴趣和更深层的认识。
c语言是一个有序的学习,学了最基本的替换,然后扩展到循环,嵌套,条理很清楚,不是一个零散的知识,实际上所有的课程都如此,不过通过实训我也知道了自己的不足,存在的很多问题。
比如自己写的写的小程序出了问题,不会解决了就叫老师帮忙,虽然说一定意义上增加了师生之间的感情,但是会养成一种依赖的心理,碰到问题了第一个想到的是求助而不是自己独立解决,所以以后要多多锻炼自己的信心和增加自己的能力,争取做到老师不在身边的时候也可以完成一些简单的程序编写与错误排除。
还有自己的基础知识不扎实,遇到的问题,没有很好的逻辑思维,亲自编写一个陌生的程序的时候会有种无法下手的感觉,找不到突破口。通过实训,逐渐理清了顺序,对于简单的程序和一些相对比较繁琐的嵌套,循环,不在是看着一头雾水。其实只要理清了思路,把基础知识掌握了,然后有条不紊的分析,一步一步理解,c语言还是很有意思的课程。
自己亲自动手编写程序让我增加了对c语言程序开发环境的了解,在上课的时候老师就讲,学习c语言最重要的是学习c语言的逻辑思维,不管以后从事什么行业,学习c语言都对自己的职业很有帮助,如果是从事编程工程工作的话,就更有帮助了,即使以后的编程工作可能不用c语言,但是拥有扎实的c语言基础是对工作很有用的。
篇7
关键词: 非计算机专业 C语言程序设计 邵阳学院
目前,C语言程序设计课程已成为计算机专业及其他相关专业的基础课,目的是通过C语言程序设计课程的学习,使学生掌握用计算机解决问题的方法,学习常用的各种算法,掌握程序设计的基本思想。程序设计思想贯穿相关专业的后续课程,是最基础的内容。教学实践证明:程序设计课的教学质量对相关后续课程的教学与实践有很大的影响。
1.C语言程序设计前期教学中存在的问题
C语言程序设计是一门逻辑性较强的语言类课程,对于初学程序设计的大学生来说,面临大量的基本语法和程序结构理论性的学习,某些学生认为教师讲的这些知识理论性较强而实用性不强,因而会对这门课程的学习产生不重视甚至是抵触的心理。还有的学生虽然认识到该课程的重要性,也很想学好,但由于教材缺乏较容易理解和生动有趣的范例,感觉学习过程缺少乐趣与兴趣,渐渐地就失去学好这门课程的自信心。同时在实践考察环节中由于实验内容设置欠合理,大部分学生即使到期末也很难对本门课程有一个整体框架式的认识,课程教学效果无法保证。
2.原因的剖析
(1)学生的基础薄弱,特别是英语、数学比较差是一个主要原因,也是阻碍他们学习该门课程的最大障碍。英文版的VC++系统是大部分学生拦路虎,程序算法问题的处理更让他们望而却步,要真正解决问题,就要想办法提高他们的学习兴趣,让他们不断地练习,积累经验,寻找解决问题的突破点,探索适合学生发展的教学方法和教学内容,以充分调动他们的学生积极性和主观能动性。
(2)有的教材内容过多过难,不符合非计算机专业学生的实际。首先我们先对C教材进行分析,目前使用的C语言教材涉及太多的数学知识,这使得学生一看到教材就感到头昏脑涨,培养兴趣就更无从谈起,使得老师在讲授例题和练习时首先必须先解释数学知识,然后学生才能勉强接受。当前常用的编程系统是TruboC,其特点是:①界面是单任务的DOS界面;②菜单、命令、帮助等都是英语;③当程序出现错误时,也都是英语提示信息,学生感觉无从下手,而且操作麻烦,为了与计算机等级考试相适应,因此我们使用汉化的VC编译系统替代TurboC。
3.非计算机专业C语言程序设计教学的特点
与计算机专业相比,非计算机专业的C语言程序设计教学有其自身的特点,主要表现如下:
(1)教学目标不同。
计算机专业的学生学习C语言是为了增强逻辑思维能力,为学习其他的编程语言和以后从事软件开发工作打下基础;而对于非计算机专业的学生来说,掌握计算机知识主要为以后就业提供保障,因此,通过这门课程的学习,使学生顺利通过国家计算机二级考试,获得一份二级证书无疑是每位教师努力的方向。
(2)教学重点不同。
计算机专业的教学主要为了提高学生的编程技能,因此所教授的内容无论是从难度、深度和广度都远比非计算机专业要大;而非计算机专业的教学重点是依据二级考试大纲,学生只需要掌握大纲要求的知识点,牢固基础知识,具备一定的编程能力即可。
(3)教学手段不同。
计算机专业的C语言教学理论和实验学时都很充足,可以将重点难点知识深入展开讲解,除了实验课外,还可以安排实习让学生动手编写一个完整的应用程序,为后续的学习打下基础;而非计算机专业受学时所限,需要教师在理论课上利用有效的教学方法,高效地把重点难点内容讲透彻,在实验课上尽量激发学生的学习兴趣,引导学生自主学习,使学生逐步学会编程。
4.C语言程序设计课程教学改革
邵阳学院非计算机专业的C语言程序设计课程都安排在大一的下学期,均为理工科学生开设,由于这一阶段课程多,课时长,而C语言程序设计课程侧重于应用,需要大量的上机实践。而且C语言课程中存在较多新的概念,较为抽象、复杂,对于一年级学生尤其是非计算机专业的学生来说还存在很大的难度。针对这一问题,我们在多年的教学实践当中对于教学方法进行了一系列的改进和探索,取得了较好的教学效果。在这里进行简单的总结和分析,主要从教学目标、教学内容、教学模式、教学评价及师资队伍优化等方面提出多项教学改革措施。
(1)明确教学目标,优化教学内容的组织结构。
教学目标是指教学活动实施的方向和预期达到的结果,是一切教学活动的出发点和最终归宿[1]。C语言程序设计的课程教学目标要求学生掌握C语言的基本概念、语法和程序设计的常用方法,领会结构化、模块化程序设计的基本思想;通过编程训练,熟练地使用编程工具编写和调试程序;在课程学习的过程中,形成良好的编程风格和程序设计思维方式,提高分析问题及通过设计程序解决实际问题的能力,为专业课程体系中后续课程的学习打下基础。教学内容是实现教学目标的基础,合理地组织教学内容是实现教学目标的保证。只有通过分析和研究C语言程序设计的前导、后续课程才能更好地优化教学内容的组织结构。C语言程序设计的后续课程可以分为直接后续课程和间接后续课程,其课程内容的组织优化要以服务后续课程的学习为目的,充分考虑课程内容之间的内在联系。例如C语言中的单向链表属于数据结构中的链表部分;C语言中的文件读写函数是操作系统中文件处理的具体实现;C语言中的结构体可以看成面向对象程序设计中的类;C语言是学习编译原理的载体和媒介。总之,任课教师要认清C语言程序设计课程在整个专业课程体系中的地位,讲解内容时要有的放矢,不但要告诉学生学什么,还要告诉学生学有何用。
(2)采用师生互动式教学与任务驱动式教学相结合模式,提高学生的学习积极性。
邵阳学院C语言程序设计理论授课46课时,授课过程中要求教师同时应用PowerPoint和VC++两个软件,课件制作要求高质量,当讲解到程序示例时,适时切换到VC环境中演示C程序运行,例如有这样一个程序:假设有一张足够大的纸,厚度为0.0001米,问将这张纸对折多少次超过珠穆朗玛峰高度。程序代码如下:
main()
{floath=0.0001;
intn=0;
while(h
{h=2*h;n++;}
printf(“n=%d次”,n);}
此题让学生感觉很有意思,当程序结果打印出来是27次时,学生顿时目瞪口呆,在脑海里产生深刻的印象,接着修改程序的部分语句再次运行,显示每一次变化的数值,让学生立即看到修改之后的结果,帮助学生彻底搞清楚程序每个部分的功能,让学生直接看到程序的真实运行结果,大大调动学生的学习C语言的积极性。VC环境中字体较小,后排的学生往往看不清楚,可以打开Windows辅助工具中的放大镜功能,对局部区域进行放大,增强显示效果。我们还结合VisualC++集成开发环境进行示错教学的尝试。给出一些例子和程序,让学生进行分析,哪些是对的,哪些是错的,错误的原因是什么,应该怎样修改。然后立即在VC中演示,先演示未作修改之前的运行情况,提示学生注意VC报告的错误信息及相关位置,接着在修改后再次运行程序。这样可以使学生对于相关知识点掌握得更加牢固。同时,我们针对某些比较复杂、学生理解起来有一定困难的算法制作生动有趣的FLASH动画。如排序算法中的冒泡排序、选择排序。函数调用中的递归调用(以汉诺塔问题为例)等。讲解具体算法时结合动画演示,将抽象问题形象化、枯燥问题生动化,使学生较快地理解相关算法的思想实质。
在基本语法知识互动式讲解完成后,可以引入任务驱动教学法穿插于教学过程中[2],以完成一个个具体任务为线索,由教师巧妙设置任务,任务中含有知识点,把教学内容融于实际任务中。任务开始时向学生介绍需要用到的概念、思想和方法,学生经过思考和教师的点拨,自己解决问题。在完成任务的同时,可以培养学生的创新意识、创新能力及自学的习惯,学会如何发现问题、思考问题及寻找解决问题的方法,从而极大地提高学生的主观能动性。在这个过程中,教师的任务则是对学生如何完成任务进行引导和指导,并加以鼓励和评价。
(3)加强实践环节,增强学生动手能力。
我们精心制定12次(24课时)上机实验内容,其中包含11次设计性实验和1次综合性实验,设计性实验内容按最新大纲要求所订,综合性实验锻炼学生的综合应用能力,实验内容统筹语法掌握与能力的培养。上机实验是学生掌握C语言的语法、语义、程序结构的重要过程,能提高学生的动手能力,加深学生对基础知识和算法的理解,是提高学生程序设计能力的重要环节,实验教学和理论教学同样重要。上机实验前要求教师课前做好充分的准备,必须精心设计每一次实验课,同时要对学生提出具体要求。要求学生根据教师的实验题目在上机实验前完成相关程序设计,并形成实验报告,最后完成上机实验,并提交实验报告待老师检查。实验任务可以给学生以压力,在规定的时间让学生充分动脑,争取在短时间内完成任务。这样做有利于提高学生自身运用C语言的能力,展示平时学习的效果。较高的实验分数能给学生一种荣誉感及成就感,更有利于调动学生学习的主动性、创造性,充分展示学生的学习能力。对于成绩好的学生出现“吃不饱”的问题,我们特意组织有经验老师像搞课程设计一样,另外为他们加题,指导他们完成任务。
(4)加强课外辅导,及时了解学生的学习情况。
课外答疑和习题课是课外辅导的一种形式,是完善教学的一种补充,每章内容教学完成后,给学生布置一定量的作业,安排一次答疑或一次习题课,往往可以达到事半功倍的效果,由于时间关系,习题课上由教师详细挑选有一定代表性习题进行详细讲解,对编程思路及程序结构进行解析并演示运行结果。答疑则通过课后实现,为此要求老师与所任班级学生始终保持通讯畅通,采用面授、邮件、QQ工具等方式实现。这样可及时掌握学生的学习情况,真正做到为学生服务。
(5)使用多种评价形式,优化师资教学团队,提高服务水准。
课程评价既检验学生对基本概念、语法知识的掌握,更检验学生使用程序设计解决实际问题的能力;评价一般应采用笔试、上机考试两种形式,具体有学校课程考试、湖南省计算机等级考试、全国计算机等级考试等。笔试题目的题型丰富多样,利用选择题、填空题考查学生对基本知识的把握,利用阅读题、编程题考查学生读、写程序的能力。上机考试可以使用随机抽题自动评分系统,对学生的动手能力进行客观、公正的评价。在对学生学习情况评价的同时,学校应组织学生评教和教师互评活动,通过对教师的多方位评价衡量教师教学的质量。教师队伍的优化是有效实施教学改革、稳步提升课程教学质量的重要保证。C语言程序设计教学队伍要依托课程质量工程建设,在课程负责人的带领下积极申报教研项目,定期开展教研活动,重点培养一批中青年教师,逐渐形成一个教学水平高、科研能力强、年龄层次合理的优秀教学团队。
5.结语
通过对非计算机专业C语言程序设计课程的教学实践,我们深深体会到教材的选择、课程内容的安排、教学方法的运用不但要符合教学的目标,更要适合学生的思维特点。在C语言教学中,注重学生的思维训练,增强学生的实际动手能力,激发学生的学习兴趣,提高学生分析问题和解决问题的能力,将学生引进计算机应用领域,使其在更高的层次上理解计算机和应用计算机,使C语言真正成为非计算机专业学生运用计算机解决本专业应用问题的工具,这才是我们的目的。
参考文献:
篇8
关键词:C语言;基础语言;计算机专业
中图分类号:TP312.1-4 文献标识码:A 文章编号:1007-9599 (2012) 17-0000-02
C语言是目前高校计算机专业课程中广泛应用于教学的计算机高级语言,一直以来被作为计算机专业的基础课程,在一些非计算机专业的教学中也是一门重要基础学科。C语言广泛应用于计算机的各个领域,包括计算机数据分析和管理、图像图形处理、操作程序和系统、软件程序设计等等。C语言作为计算机专业的基础语言,具有优点多、应用广、通用性强、可植性强、效率高等特点,这决定了它广阔的应用领域和持久的生命力。
1 C语言在计算机应用领域中的应用特点
C语言是进行计算机程序设计的一种基础语言。1972年由美国贝尔科研所推出,1978年之后开始相继在其他计算机上进行使用,经过多年的发展的进步,C语言已经成为一门成熟、专业的计算机科学学科。在当下计算机软件技术迅速发展的前提之下,C语言程序设计已成为现代化编程的主流。C语言能够广泛的应用于各种科研领域,与它自身优点和特性密不可分。
(1)C语言可以在DOS、Windows、Linux等多种操作系统下进行程序编写,不限制操作平台,具备强大的功能。(2)C语言具有很强的应用性,能够在计算机科技产业中广泛运用、快速投产、并且逐步产生可观的经济效益。(3)C语言是程序设计、软件开发最根本的前提和基础。(4)C语言在计算机领域中发展空间广阔。(5)C语言具备强大的描述功能和语言结构,是操作系统教学和数据结构教学的课程基础,满足当下计算机专业课程教学的需要。
2 目前高校计算机专业的发展现状
在我国经济迅速发展和科学不断进步的共同作用之下,计算机技术已经成为现代社会应用最为普遍的科技成果,给社会带来了最本质的改观和深远影响。高校的计算机相关专业的设立,为计算机科技行业的持续发展源源不断输送人才,积极推进了全民计算机技术相关知识的普及和运用。随着信息时代的全面到来,我国高校的计算机相关专业的规模在不断壮大。截止到目前为止,全国范围内大约有上千家高校开设计算机专业。同其他学科的专业设置情况相比较,高校计算机专业的课程设置类型和专业规模都首屈一指。
为满足社会发展的需求,高校计算机相关专业课程不断进行改革以培养适应时展的科技型人才。在课程教学中,高校计算机专业的从业教师以现有课程体系为基础,注重知识的及时更新和实践练习、前沿操作技术的引入、教学模式和教学内容的完善。在多方努力之下,我国高校计算机专业在探索中蓬勃发展、稳步前行。
结合当前社会形势和经济形势对计算机相关人才的专业和技术要求,高校的计算机专业现状仍然存在很多问题。对于高校计算机相关专业的学生而言,计算机操作水准和应用能力已经成为衡量个人素质及能力的重要标杆。快节奏的社会生活要求计算机专业的大学生在具备理论知识素养的同时,也要有熟练的专业技能和丰富的实践经验。因而高校计算机专业教学所面临最为严峻的问题就是能否使教学内容与时俱进;能否培养出适应社会需要的专业型、复合型人才。
就目前高校计算机专业教学现状而言,专业师资力量的匮乏、传统的“填鸭式”方法在理论教学中依旧存在、理论知识与技术操作设置失衡、书面考试仍旧作为常规考核办法,这些不利于计算机专业学生发展的弊病较为普遍、常见。在高校计算机专业课程体制之中硬件系统教学薄弱、软件系统方面缺乏实践练习、相关实验受到条件严重限制、课程体系落伍、数据及网络理论得不到良好消化等问题还没有得到全面解决。相关教育部门和高校自身针对上述问题相继采取了许多改革措施,力争使高校计算机专业教育符合现代社会的发展需求,尽力缩短课程发展与社会发展之间的距离。
3 C语言在高校计算机专业课程中的重要意义
C语言是计算机相关专业中最重要的基础课程之一。C语言课程的学习是为了培养学生计算机编程的基本能力,同时为更多计算机技能的学习打下基础。C语言的应用领域非常广泛,在计算机图形图像处理、操作系统、软件工程、数据具体分析和数据库相关管理等方面都需要运用C语言进行设计和编程。决定C语言在计算机科技领域广泛运用的重要因素之一就是它操作和应用上的可取性。C语言在计算机科技领域中的应用优势主要包含以下几个方面:
3.1 C语言强大的功能优势和良好的使用性能
C语言丰富完备的数据结构设计,能够较为灵活的对数据流进行控制,同时还具备通用性、可植入性、目标效率较高等优良性能,C语言的上述特性适应计算机程序设计要求。C语言的最大特点就是同时具备高级语言和低级语言的性能,可以实现灵活操作运用。C语言允许编程人员进行分块编译,方便编程者管理项目,大大提高编程效率。
3.2 C语言广阔的市场前景
C语言既是高校计算机专业课程设计中必须学习的基础语言,又是专业的计算机科技领域里常用的高级语言。它广泛的应用领域使其具备较强的应用性。C语言在计算机中的运用可以直接投产到计算机科技产业当中并产生十分可观的效益。广阔的市场空间和专业人才缺乏的社会现状,使得C语言开发人才成为大型国企、外企竞相争夺的对象。良好的市场发展形势证明了,C语言在计算机专业课程中的设置满足现有经济形势下社会对于计算机专业人才的需要。
3.3 C语言在其他计算机专业课程中的作用及地位
C语言作为功能强大、性能优良的综合编程语言,使用便捷灵活且具有丰富的表达能力。除了具备前文中提及的诸多优点之外,它还可以直接进行计算机硬件方面的操作。适合各种不同类型软件设计、开发以及系统编写。C语言在计算机专业课程中能够起到良好的衔接作用,尽早学习C语言有利于为日后学习“数据结构课程”“C++”“Java”打下良好基础。
C语言是计算机专业程序设计课程中最常用的基础语言。学习C语言可以使计算机专业的每一个学生了解程序设计的基本理论、掌握程序设计的相关问题。C语言中的许多内容机制将程序设计得以融入到高级语言当中,而且C语言可使计算机专业初学者更容易掌握程序设计的思维和方法。
在计算机图形图像课程中,C语言承担着开发环境、编写程序、将计算机图形的相关理论与计算机绘图实践有效结合的重要作用。C语言自身具备强大的图形功能,并且不限制显示器和驱动的类型,操作十分便捷。在C语言编译软件中大量的图形库函数使得C语言的绘图功能十分强大。
4 总结
C语言作为高校计算机相关专业学生的一门必修科目,作为计算机专业相关课程学习的基础,它的重要作用和地位是无可厚非的。同时C语言作为现今社会经济形势下最流行的计算机基础语言,它在今后计算机科技领域和产业中的发展也是不可限量的。培养适应时展的计算机专业人才是高校教育工作的要点和重要使命。综上所述,C语言无论作为高校计算机专业课程学习的基础语言,还是保证学生具备社会所需专业技能的一种就业手段,它都有足够的优势长期存在于高校计算机专业课程体系之中。
参考文献:
[1]朱迅.“C语言程序设计”教学的探讨[J].软件导刊,2010(8).
[2]王琪,周彩根.C 语言程序设计.课程建设的研究与实践[J].中国成人教育,2007,12.
[3]蔡晓丽,陈舜青,丁志云.计算机C语言实验教学改革探讨[J].电脑知识与技术.2010,15.
[3]曹凤莲,李英明.浅谈C语言学习[J].网络与信息,2007,6.
[4]高伟,张国印,黄宏涛.C语言程序设计课程建设研究与实践[J].计算机教育,2010,16.
篇9
关键词:C语言程序设计;教学方法;非计算机专业;示例教学法
中图分类号:G642 文献标识码:A 文章编号:1009-3044(2013)17-4064-03
C语言是一种通用的计算机程序设计语言,对于计算机专业的学生来说,它是最重要的一门基础课程。学习C语言之后,可以为后面继续学习其他的高级程序设计语言打下坚实的基础。通过对C语言的学习,可以培养学生的提出问题、分析问题、解决问题的能力。在计算机专业的课程设计中,C语言程序设计是数据结构、操作系统、面向对象程序设计等多门课程的先修课程,对这些课程的教学有着直接的影响[2]。
学习C语言不止对计算机专业的学生来说重要,对非计算机专业的学生也是相当的重要。随着社会的发展,科技的进步,用人单位对员工的要求等的越来越高,加上应届毕业生的求职门槛越来越高,很多非计算机专业的学生也纷纷学习C语言,因为它不仅可以证明其具有一定的计算机操作的能力,如果拿到国家计算机等级考试C语言二级证书的话,还能在求职过程中,占据相当大的优势,赢得面试官的亲睐。所以大量的非计算机专业的学生学习C语言,而因为其计算机基础很弱,甚至有的为零,那么怎样才能让其将C语言学会,学好,并能灵活运用呢?这就是本文的探讨所在。
目前,在各大高校的非计算机专业都会设置相应的C语言程序设计课程,不仅如此,还有大量的培训机构招收非计算机专业的学生进行培训,以达到获得国家C语言二级证书,或使其具备一定的编程能力以备求职所用,可见C语言的重要性。
1 存在的问题
1.1 学生的问题
在近几年的教学实践中,发现学生普遍认为这门课难度很大,不容易学,而且即使懂了理论也不会做题或编写程序。究其原因,主要有:
1)很多学生的学习目的是不明确的[3]。经过相应的调查,发现在高等院校中,很多学生只是顺从学校或学院的安排,盲目地去上课,根本就不清楚自己为什么要学习C语言,所以一旦遇到困难,就会觉得难学,甚至会觉得学了也没用,导致学习兴趣以及热情的下降,这样就会缺乏学习的积极性和主动性。
2)学生的实践动手能力不高。C语言是一门逻辑性和操作性都很强的计算机语言,而很多学生都不明确上机实验的目的,甚至有的学生连实验的内容都不清楚,到了机房就是一盘散沙,不知道要做什么,导致动手能力不高。当然在上机的过程中,也难免会出现某些学生玩游戏等这样的情况,所以这也是实践课程中管理的疏忽。
3)对于高等院校的非计算机专业的学生来说,他们对学校安排的计算机课程的重视度不高。认为本门课程不是主课,仅仅是为应付考试而去学习,所以学习积极性不高,有时可能会发生上课不听讲,下课不看书的现象[4]。
4)教学过程中,发现在学生中存在一种普遍现象,即程序设计能力和调试能力都比较弱。究其原因,主要是因为其对于算法不够熟练,灵活运用知识的能力比较弱,编程的时候程序结构不清晰,标点符号等语法错误较多,不够细心。
1.2 教师的问题
教学的过程是教与学的过程,是教师的教与学生的学相结合的。国内著名的教育技术专家何克抗教授提出来“主导-主体”教学理论[5],他认为教学活动应该以教师为主导以学生为主体,突出教师在教学活动中主导者地位的同时,要注重对学生创新思维和创新能力的培养,避免学生被动学习。
1)在课堂教学过程中,太重理论的讲解,而忽视了对学生实践操作的引导。这就要求教师在备课过程中,必须清楚整个教学大纲的内容,做到有的放矢,理论讲解的同时,注重对锻炼学生动手能力的实践做相应的指导。
2)在上机实践时,容易放心让学生自己练习,导致学生动手能力未能得到确切的提高。这样就可能会导致很多学生在实验课上玩耍而不做任何实验。所以这就要求老师事前必须得做好实验课内容的设计,并严格要求学生达到什么样的效果,让学生自己动手操作,以达到锻炼提高的目的。
2 解决方案
基于上述问题的存在,并结合近几年的教学经验,该文提出一些改进的教学方法,以达到提高非计算机专业的学生学习C语言的学习效果。做到尽量让学生感觉学习C语言很轻松,很有趣,且能将其学会并灵活应用。
2.1首因效应
作为一名教师,应该很清楚第一堂课是非常重要的。首先应该与学生互动,相互了解,建立良好的师生关系,拉近彼此间的距离,如果一个老师的气场足够吸引学生的话,后面的教学过程中的任何问题都能很好地解决,缺课现象也会少之又少。其次要消除学生对于C语言程序设计课程的陌生感和神秘感,使其明白C语言对于我们而言,其实并不陌生,它存在于我们的日常生活中。举例如计算器、手机等电子产品、各种游戏软件、操作系统、智能电器等的功能都可以由C语言程序设计实现。最后充分调动学生学习的兴趣,使其明白学习C语言并没有想象中的那么难。
在第一堂课时,可以少讲课程内容,必须得让学生明白其学习目的,可以通过现场调查法了解学生的想法,并引导其明白学习本课程的目标。这样能使学生具有更大的学习动力。充分调动学生的积极性,激发其兴趣,这有利于日后的教学工作的进行,以及改变学生学习的氛围。
2.2 教学方法
要想提高学生的学习效果,就必须得注重教学方法的使用。只有方法对,使用得当,才会达到事半功倍的效果。针对非计算机专业的学生来说,该文总结出下面几种方法。
2.2.1 示例教学法
项目教学法在文献[6]中阐述得很清楚,它是通过实施一个完整的项目而进行的教学活动,使学生通过对所选项目的完成来完成对C语言的学习。这样的方法有一定的效果,但是在实施方面的难度比较大,比如所选项目的难易如何把握,时间如何分配(尤其是在高等院校的日常教学中),达到的效果如何衡量等。这些都很难有一个标尺来衡量。有两种效果,一是对C语言掌握得非常的好,应用能力很强;二是对C语言一头雾水,云里雾里,不知所云。所以对此本文提出一种结合项目教学法的优势与高等院校特点于一体的示例教学方法。此方法是在传统教学方法的基础上,对于课堂的设计有所改变。传统教学注重理论的讲解,而此方法是在简要讲解理论的基础上,针对某些重点知识的运用,例举一些具体的有趣且贴近生活的实例,做出相应的讲解后,加以演示,让学生对此程序的运行结果等有一个直观的感受;而且在演示的过程中,还可以教学生相应的一些调试程序找错的方法,这样学生自己上机练习的时候,调试能力会大大的增强。通过示例教学法,可以使学生对知识点的掌握以及运用能力得到很大的提高。
2.2.2 诱导法
传统教学模式是针对什么内容就很直白的讲解相应的内容,这样会使学生觉得枯燥乏味,久而久之会产生相应的厌学情绪,导致学习效率低下,学习效果低。该文针对此现象提出相应的改进方法,即诱导学习法。在课堂上,学生是主体,教师应该设计好所讲授内容的先后连接顺序,做到连贯有序。比如引入一个新的知识点之前,先提出问题,引导学生思考相应的解决方法,或让学生相互讨论,最终引出知识点进行讲解。这样更能提高学生课堂上学习的积极性。比如在学习数组之前,先提出问题,如果用一般的变量存放学生的年龄,需要存放几万学生的年龄,则需要几万个的变量,这样的编程量是非常大的,引导学生思考解决方法,并引出数组的概念和作用,这样学生比较容易接受,而且也不会觉得很突然或陌生,更能轻易得接受并学习。
2.2.3 对比法
根据人类认识事物的规律,在课堂上采取对比教学法会得到的非常好的效果。从常理出发,人们习惯性地会对比身边的事物,从而认识相应的事物。所以在课堂上讲解知识点的时候,恰到好处地运用好此方法的话,教学效果是非常好的。比如在学习数组的时候,当学习完一维数组之后,学维数组的时候,就可以以类比的方法来介绍二维数组,学生会很快学会并吸收二维数组的内容。这样的效果是非常显著的。
2.2.4 抽象具体化
C语言中,有很多抽象的专业性描述的概念理论,而对这些理论的讲解是比较难的。对于学生而言,这些内容在头脑里是很抽象难以理解的。所以这时就需要教师在讲解内容时,少用专业术语进行解释。比如讲解C语言充有且只能有一个main函数,且程序从main函数开始到main函数结束时,很多学生不是很理解,教师就可以举例说一个学校只有一个大门,学生要想进入学校逛耍就只能通过大门走进,而逛耍完后想要走出学校时,也只能通过大门才能出去。学校的大门就类似于main函数,要想进入学校只能从大门进或出,而C语言程序的开始结束也只能从main函数开始或结束。这样的话,学生比较能接受并理解此知识点,而且会觉得有趣。
2.2.5 组队上机法
此方法主要是针对上机实验课。传统的实验课是学生进入机房之后,个人练习,各练各的,学生之间缺少交流沟通。对此,该文提出的组队上机法可以有效地改善此现象,并得到相应的效果的提高。事先将学生进行分组,然后对每个小组分配任务,并提出要求及实验结果,还可以制定一些相应的奖惩制度,当然奖惩制度得切实可行。上机实践时,小组成员之间相互探讨问题,互动地学习,这样可以激发学生的求知欲,也能锻炼学生的团队协作能力。相互之间有竞争,就可以刺激学生的学习欲望。
2.3 课后沟通
因为高校的老师和学生之间见面的机会最多的就是上课时间,而学生有问题又不可能在课堂上问。针对这种现象,如果老师能和学生打成一片,加入学生的QQ学习群里,课后有任何的问题,大家都可以通过互联网在QQ群里讨论,老师也可解答问题。这样的学习效率是很高的,学生觉得老师负责,他的学习激情会更大,潜能也会被激发。
3 总结
教学实践证明,针对目前非计算机专业的学生学习C语言的现状,该文所提出的解决方案教学方法是切实可行的,且教学效果得到了确切的提高。利用这些方法,不仅可以激发学生的学习兴趣,更能增强学生分析处理问题的能力。学生在一种快乐融洽的氛围中学习,学习效率是非常高的。
参考文献:
[1] 谢竞博.C语言程序设计教学中的问题及改革建议[J].重庆邮电大学学报:社会科学报,2008(2).
[2] 王继东,赵瑞斌,陈桂林.计算机专业C语言程序设计课程教学改革探索[J].计算机时代,2012(2).
[3] 牛熠,董阿妮,吴燕玲.C语言教学中学生兴趣的培养[J].东莞理工学院学报,2006(1).
[4] 冀振川,谷飞.计算机C语言教学方法初探[J].新课程学习(中),2011(9).
篇10
关键词:中职学校;C 语言程序设计;教学设计;计算机专业人才
随着计算机产业的迅速崛起,计算机被应用于各个行业,我国对计算机专业人才的需求逐年增加。而目前计算机行业人才济济,就业竞争激烈,中职学校的计算机专业学生不能局限于一些常用的应用软件的学习,作为当今最流行的程序设计语言之一,C语言的学习显得尤为重要。在中职学校,这不仅被作为计算机专业的必修课,而且被选为非计算机专业的选修课。又由于中职的学生大多数是中考失败者,他们的英语和数学方面的基础较差,而C语言学习既有高级语言的特点,又有汇编语言的特点,因此学生在学习这门课程的时候难免会遇到各种各样的障碍。加之学习的内容相对枯燥,如果教师在授课的时候还是按照传统的方法来教学生的话,学生势必会产生抵制的情绪。所以,教师在授课的时候一定要讲求方法,针对当前中职学生的特点,注重学生学习的情绪。这样,才有利于促进教学目标的达成,培养学生专业才能。
一、注重第一堂课开始就要培养学生
学习的兴趣
兴趣是学生学好一门课程的敲门砖。从学生的角度分析,当他们第一次接触到C语言程序设计的时候,往往都是比较兴奋的。在他们看来,这门课程既神秘又充满挑战性,加之以前学长学姐的描述,他们谁都不想在一开始就落下去。从教师角度分析而言,在《C语言程序设计》教学中,教师一般都是以Turbo C为主,但是Turbo C的调试环境不是可视化的过程,这在客观上造成了学生掌握C语言程序设计知识的难度。为此,教师要想办法整合教学内容,改变那种单一犹如“模板”一样的教学模式,让学生感到这门课程虽然神秘,但是不会像传说中的那样难学。
我认为,上好第一堂《C语言程序设计》课是至关重要的。因为第一堂课的成功与否直接关系到学生能否对这门课产生兴趣。所以,我在教学的时候,第一堂课或者是在新的一章节,一般都会将学习变成“趣味C语言导学课”。为了让学生初步了解与重视这门课程,会先给学生强调这门课程的重要性,告诉他们:C语言是学生今后学好后继课程的基础,虽然更新很快,但是只要具备了真正解决实际问题的能力,就万变不离其中。然后,为了让学生对这门课程产生兴趣,先利用多媒体给学生展示C语言的强大功能,例如可以解决“水仙花数、翻译密码、判断素数”等等问题。这样,学生会被深深吸引,有些学生已经有些“蠢蠢欲动”了。为了让他们感觉这门课程不是传说中的那么难学,我又通过一些影片向学生介绍IT人士的经历和成功经验,让他们感到“既然别人都能成功,为何我不能学好”。紧接着,我又为学生展示一些趣味性的问题并演示实用性的程序。这样,更加刺激了学生学习的兴趣。第一堂课,学生往往是学习兴趣高涨,正如俗话说的“好的开始是成功的一半”,这就为学生日后更好地学习打下了基础。
二、教学中要多采用案例教学法,将复杂的问题简单化
前文已经提到,中职学生的基础普遍较差,特别是在数学方面。而本课程知识又涉及程序设计的三种基本结构、数组、函数等内容,学生学习起来很吃力也是必然的。所以,教师在授课中,要适当降低理论知识的难度和深度,将教学重点放在对程序设计方法的理解和使用上,而案例教学法是目前见效最快的好办法。
所谓的案例教学法,是指教师根据课堂教学目标和教学内容的需要,通过设置一个个具体案例,引导学生参与分析、讨论,提高学生具体问题具体分析的能力。通过实践,我认为这种方法的优点有两点。其一,具有高度的真实模拟性,案例取自于生活、贴近于生活,可以激发学生学习的热情。其二,不仅可以针对本次课程的知识点,同时还要与相关的知识点进行必要的联系,让学生既学到新知识,又巩固旧知识。
例如在讲授if语句的一般形式时,我并没有直接给学生if一般形式,而是说“如果天气不下雨,大家就去打篮球,否则,大家就呆在教室”。我告诉学生,这是一个典型的选择结构:“根据天气的情况给出两种选择,天气是选择的条件。”接着让学生自己举类似的例子。这样,通过日常的例子,让学生理解选择结构的实质含义,逐步引入if语句的一般形式。又如,在学习一维数组的时候,我以箱子为例进行讲解,提出不同的柜子存放不同的物品,然后提出柜子的容量是否无限的问题。循环引导学生学习,最后给出定义数组的一般式来说明其实这也是类似制造柜子的过程。学生在先前学习的基础上,通过日常的物品,理解了数组的概念, 掌握了定义数组的方法。
三、改革考核形式,不要以呆板的理论考核为主要形式
考核是检查学生学习成绩好与坏的重要方式,可以让教师与学生知道自己在哪些方面存在着不足,由此日后进一步改进。基于多年程序设计课不同考核方式考核效果的分析,我认为,对于C 程序设计课来说,要考查学生学习情况,最好采取上机考核的形式来实施。以前C 程序设计课考核的方式是以笔试为主,也就是通过试卷让学生做一些填空题、选择题考察学生的基础,而能力题则是给一些不完整的程序让学生填写完整。虽然这种考核的方式可以反映出学生学习的情况,但是,通过死记硬背的方式来检查很难发挥学生的积极性与创造性。而后来,是先在教室进行笔试,后进电脑室上机考核,但是我觉得,有一些死记硬背的知识根本就没有必要对学生考核。
学校开设C 语言程序设计课的教学目的,是为了让学生掌握运用计算机语言编制和调试程序,从而解决实际问题的能力。所以,我认为,笔试应该及时淘汰掉,只采取上机操作来考核学生的编写和调试程序的能力便可以。我是这样做的:在离考核一个月前,就将要考的相关内容范围告诉学生,然后让学生提前在课余时间进行编程练习。在考试的时候,我从告诉学生的范围中选出典型的题型,让学生在电脑上编写程序并调试运行。考试的目的,在于让学生掌握应该掌握的技术,将考题范围告诉学生,也就给了学生积极学习的动力。
参考文献:
[1]曹红苹.C 语言程序设计课程教学探讨
[J].计算机与信息技术,2012(11).