欢迎来到速发表网,咨询电话:400-838-9661

关于我们 登录/注册 购物车(0)

期刊 科普 SCI期刊 投稿技巧 学术 出书

首页 > 优秀范文 > c语言论文

c语言论文样例十一篇

时间:2023-03-23 15:21:50

c语言论文

c语言论文例1

在硕士学位论文即将完成之际,我想向曾经给我帮助和支持的人们表示衷心的感谢。首先要感谢我的导师曹计昌教授,他在学习和科研方面给了我大量的指导,并为我们提供了良好的科研环境,让我学到了知识,掌握了科研的方法,也获得了实践锻炼的机会。他严谨的治学态度、对我的严格要求以及为人处世的坦荡将使我终身受益。除此之外,他对我生活的关心和照顾也使得我得以顺利完成研究生的学业。在此祝愿他身体健康,全家幸福!

感谢我已经毕业的师兄徐日东、张凡、周志坚、段云涌和夏志远,他们曾经给了我无私的帮助和鼓励,让我学到很多2015优秀C语言学论文致谢词(3)篇2015优秀C语言学论文致谢词(3)篇。感谢汪健和程诗猛两位师兄,他们丰富的工作经验对于本文的硬件设计提供了很大的帮助。感谢同届的张斌、李纯和张登宝,他们是我学习、工作和生活上的伙伴,也是面对困难和挑战时的战友。感谢我的师妹邓祯,师弟冯国平、古明生、周建琼、杨帆、舒林、周宇杰、朱圣健、吴喧辉和张泽,从他们身上,我学到很多东西,和他们在一起的日子是读研期间快乐的时光。

感谢在广东普信公司实习时的同事们,他们在我第一次参加实际项目开发的过程中给了我莫大的帮助和鼓励

特别要感谢我的项目经理李旭和黄润怀,是他们的信任给了我很多锻炼的机会,也一直对他们给予我的生活上的照顾心存感激。和他们一起为广州项目奋战的一年多是我人生中一段难忘的经历2015优秀C语言学论文致谢词(3)篇论文。

感谢我的朋友Louis,Dick,Iris,Tracy,Sawyer,Joe,Jason,IceBear,以及更多我无法逐一列出名字的朋友,他们给了我无数的关心和鼓励,也让我的研究生生活充满了温暖和欢乐。我非常珍视和他们的友谊!

感觉计算机学院研028班的我的同学,感谢他们在学习和生活上给予我的帮助。

感谢生我养我的父母,他们给了我无私的爱,我深知他们为我求学所付出的巨大牺牲和努力,而我至今仍无以为报。祝福他们,以及那些给予我关爱的长辈,祝他们幸福、安康!

还有很多我无法一一列举姓名的师长和友人给了我指导和帮助,在此衷心的表示感谢,他们的名字我一直铭记在心!

最后,衷心感谢在百忙之中抽出时间审阅本论文的专家教授。

Acknowledgements

MydeepestgratitudegoesfirstandforemosttoProfessoraaa,mysupervisor,forherconstantencouragementandguidance.Shehaswalkedmethroughallthestagesofthewritingofthisthesis.Withoutherconsistentandilluminatinginstruction,thisthesiscouldnothavereacheditspresentform.

Second,IwouldliketoexpressmyheartfeltgratitudetoProfessoraaa,wholedmeintotheworldoftranslation.IamalsogreatlyindebtedtotheprofessorsandteachersattheDepartmentofEnglish:Professordddd,Professorssss,whohaveinstructedandhelpedmealotinthepasttwoyears.

优秀C语言学论文致谢词(2)篇

在硕士学位论文即将完成之际,我想向曾经给我帮助和支持的人们表示衷心的感谢。首先要感谢我的导师曹计昌教授,他在学习和科研方面给了我大量的指导,并为我们提供了良好的科研环境,让我学到了知识,掌握了科研的方法,也获得了实践锻炼的机会。他严谨的治学态度、对我的严格要求以及为人处世的坦荡将使我终身受益。除此之外,他对我生活的关心和照顾也使得我得以顺利完成研究生的学业。在此祝愿他身体健康,全家幸福!

感谢我已经毕业的师兄徐日东、张凡、周志坚、段云涌和夏志远,他们曾经给了我无私的帮助和鼓励,让我学到很多。感谢汪健和程诗猛两位师兄,他们丰富的工作经验对于本文的硬件设计提供了很大的帮助。感谢同届的张斌、李纯和张登宝,他们是我学习、工作和生活上的伙伴,也是面对困难和挑战时的战友。感谢我的师妹邓祯,师弟冯国平、古明生、周建琼、杨帆、舒林、周宇杰、朱圣健、吴喧辉和张泽,从他们身上,我学到很多东西,和他们在一起的日子是读研期间快乐的时光。

感谢在广东普信公司实习时的同事们,他们在我第一次参加实际项目开发的过程中给了我莫大的帮助和鼓励2015优秀C语言学论文致谢词(3)篇论文。特别要感谢我的项目经理李旭和黄润怀,是他们的信任给了我很多锻炼的机会,也一直对他们给予我的生活上的照顾心存感激。和他们一起为广州项目奋战的一年多是我人生中一段难忘的经历。

感谢我的朋友louis,dick,iris,tracy,sawyer,joe,jason,icebear,以及更多我无法逐一列出名字的朋友,他们给了我无数的关心和鼓励,也让我的研究生生活充满了温暖和欢乐。我非常珍视和他们的友谊!

优秀C语言学论文致谢词(3)篇

在硕士学位论文即将完成之际,我想向曾经给我帮助和支持的人们表示衷心的感谢。首先要感谢我的导师曹计昌教授,他在学习和科研方面给了我大量的指导,并为我们提供了良好的科研环境,让我学到了知识,掌握了科研的方法,也获得了实践锻炼的机会。他严谨的治学态度、对我的严格要求以及为人处世的坦荡将使我终身受益。除此之外,他对我生活的关心和照顾也使得我得以顺利完成研究生的学业。在此祝愿他身体健康,全家幸福!

感谢我已经毕业的师兄徐日东、张凡、周志坚、段云涌和夏志远,他们曾经给了我无私的帮助和鼓励,让我学到很多。感谢汪健和程诗猛两位师兄,他们丰富的工作经验对于本文的硬件设计提供了很大的帮助。感谢同届的张斌、李纯和张登宝,他们是我学习、工作和生活上的伙伴,也是面对困难和挑战时的战友。感谢我的师妹邓祯,师弟冯国平、古明生、周建琼、杨帆、舒林、周宇杰、朱圣健、吴喧辉和张泽,从他们身上,我学到很多东西,和他们在一起的日子是读研期间快乐的时光。

感谢在广东普信公司实习时的同事们,他们在我第一次参加实际项目开发的过程中给了我莫大的帮助和鼓励

特别要感谢我的项目经理李旭和黄润怀,是他们的信任给了我很多锻炼的机会,也一直对他们给予我的生活上的照顾心存感激。和他们一起为广州项目奋战的一年多是我人生中一段难忘的经历。

感谢我的朋友Louis,Dick,Iris,Tracy,Sawyer,Joe,Jason,IceBear,以及更多我无法逐一列出名字的朋友,他们给了我无数的关心和鼓励,也让我的研究生生活充满了温暖和欢乐。我非常珍视和他们的友谊!

感觉计算机学院研028班的我的同学,感谢他们在学习和生活上给予我的帮助。感谢生我养我的父母,他们给了我无私的爱,我深知他们为我求学所付出的巨大牺牲和努力,而我至今仍无以为报。祝福他们,以及那些给予我关爱的长辈,祝他们幸福、安康!

c语言论文例2

二、C语言课程新的教学方案设计

(一)教学内容的重组首先,我们要选择一本适合大部分学生的基础的教材,该教材不是呆板木讷的传统教科书,我们应该选取生动形象的教学材料,结合多媒体教学手段,激发广大学生的学习热情,提高C语言课程教学的质量。老师要明确C语言与后续课程之间的关系,从而制定本课程的教学计划,另外,要根据社会需求对教学内容进行删除和增加,在课堂教学过程中还有在教学计划的基础上对内容进行微调。一个对教学内容重新确定,把知识的讲解和实际编程相结合,以及进行一些有趣的竞赛或者互动,这样可以加深学生对C语言的理解,提高教学质量,并且激发学生的学习积极性。

(二)教学过程的设计在本科教学中,C课程语言的教学大多开设在大一,学生基础普遍薄弱,没有系统的只是结构,所以教学过程的设计至关重要。首先要激发学生的学习热情,和对未知的好奇心,大部分学生在学习一门课程之前,大脑中都会闪现这样一个念头,学习这门课程对我有什么好处,老师在第一堂课时,应该直接明了的告诉学生学好C语言的好处,比如就业市场上对软件人才的需求缺口比较大,学好C语言可以增加就业的砝码,而且C语言是很多理工科专业的基础课程,在以后还会学习很多后续课程,在教学过程中,我们还有加强与学生的互动,及时的为学生答疑解惑。C语言的教学过程是一个由浅入深,循循渐进的过程,教学过程中应该从简单的语法学习入手,慢慢的积累知识,直到能自己独立的编写程序为止。

(三)C语言教学中学生和老师联系目前的C语言教学中,比较普遍的是课堂学习和上机操作相结合的教学方式,特别是在课堂教学中,呈现的是老师滔滔不绝的讲,学生麻木不仁的听的刻板画面,老师与学生之间的互动性差,缺乏有效的沟通和交流。而作为本科学生的第一门编写程序的基础课程,学生在学习中难免会遇到很多困难,有的学生上着上着就走神,或者就产生了放弃学习的心里。另外,在上机实验部分,老师要求学生进行的实践往往是老师课堂上讲过或者是指定的某些课后习题,学生往往很容易就能找到答案,导致学生遇到困难就放弃,寻找答案,无法培养学生刻苦钻研,独立解决问题的能力。首先可以通过案例带动教学,我们可以从简单的案例入手,再到一般的案例,最后到综合应用案例。其次,在课堂教学中,可以进行小组讨论加强团队合作,鼓励学生多提问题,这种教学方法提高了学生的团队合作精神,提高了学生协作解决问题的能力,在发现问题并和同学的讨论中,不但可以相互帮助解决问题,还增强了对概念的理解。还应该鼓励学生在课堂之余自学以扩展知识面,在未来的教学过程中应该采用多媒体投影和现在的板书模式相结合的教学手段。缺点是每页幻灯片包含的内容有限,不便于学生对前后两页幻灯片知识的联系,还有就是幻灯片变换速度快,基础差的同学跟不上老师的思路,而传统的黑板粉笔模式教学方法可以很好的弥补多媒体教学的这个缺点,所以把二种教学方法结合起来会达到意想不到的教学效果。在上机操作调试的过程中,尤其应该注意学生创新和思考能力,最终获得自己动手解决问题的能力。实践环节应该以巩固知识点为主线,结合趣味性和实用性,以循序渐进的任务驱动方式,达到提高自主编程能力的目的。

(四)新的成绩考核制度除了在期末考试进行理论的考核外,还应该注意实际编程能力的考核,建立并执行创新鼓励加分制度,对那些在课堂勇于探讨问题,在编写程序过程中创新做得比较好的学生加分。提高C语言教学效果还应该注意在教学过程中相互间的探讨,在教学过程中以提高学生的编程能力为中心,让学生明白C语言课程的重要作用。这些方法使学生编写程序的能力,上机调试程序的能力和编程习惯得到有效的改善,显著的提高了C语言的教学质量。

c语言论文例3

 

0 引言

随着计算机技术的飞速发展及应用领域的扩大,熟练掌握一门语言已变的尤为关键。C语言这门课程在计算机的基础教学中一直占有比较重要的地位,然而要想突破C语言的学习,对函数和指针的掌握是非常重要的,本文将具体针对函数和指针的关系做详尽的介绍。

1 函数的有关概念

为了使程序的编写更加清晰、直观且易于修改,C语言中引用了函数。所谓函数,就是一个程序模块,该模块用来完成一个特定的程序功能。引用一个函数时,需要包括对函数的定义、声明,继而调用。此外,函数主要包括库函数和用户定义函数,调用库函数时,要用#include命令将相关的头文件包含进来。在掌握函数相关概念的同时,有以下几点需要注意:

(1) 函数的定义是平行的,不能在一个函数的内部再定义函数,而只能在一个函数中调用另外一个函数,例如:

int A(int a,…)

{

声明部分;

int B(int b,…)

{

声明部分; 执行部分;

}

执行部分;

}

(例1-1)

显然毕业论文ppt,这种定义函数的方法是错误的,在函数A中不能包括对函数B的定义。正确的定义方法如下:

int A(int a,…)int B(int b,…)

{{

声明部分; B(a,…); 执行部分;声明部分; 执行部分;

}}

(例1-2)

其中,函数A中是可以调用函数B的。

(2) 调用函数和被调用函数

由上例1-2可以看出,函数A在执行的过程中包括了对函数B的调用,则函数A称为调用函数(调用函数B),而函数B被函数A调用,称为被调用函数论文开题报告。

(3) 实参和形参

调用函数中定义的变量是实参,被调用函数中定义的变量是形参。如例1-2,函数A中的变量a是实参,函数B中的变量b是形参。

(4) 实参变量和形参变量之间的独立性

实参变量和形参变量之间只存在值的传递过程,实参变量的存储空间在调用函数中分配,而形参变量的存储空间在被调用函数中分配,被调用函数执行完毕后,其所分配的存储空间被释放,即形参变量的存储空间被释放,它不会返回值给实参变量,也不会参与调用函数的继续执行。例如(实现两个数的交换):

main( ) voidswap(int a, int b)

{{

int a, b; intc;

swap(a,b); c=a;a=b; b=c;

printf(“%d,%d”,a,b);printf(“%d,%d”,a,b);

}}

(例1-3)

显然,函数main是调用函数(调用函数swap),函数swap是被调用函数。main函数中的a,b由main函数分配存储空间,而swap函数中的a,b由swap函数分配存储空间。main函数执行到swap函数时,调用swap函数,swap函数为其变量分配存储空间,然后实现了swap函数中变量a,b的值交换,执行完毕后即释放其分配变量的存储空间。继而,main函数继续执行,但其变量a,b没有做任何改变,即main函数不能实现a,b的交换。由上例可以看出,若单纯的使用变量,则被调用函数无法改变调用函数中的变量值,即swap函数无法实现main函数中变量a,b的交换。

2 指针的有关概念

指针是C语言中功能最强大,使用最广泛的一种数据类型,主要用于描述存储单元的地址。通过使用指针,可以在函数中进行传址调用;规范的使用指针,可以使程序简洁、紧凑、高效。

(1) 指针变量的定义

定义指针变量的一般形式:类型标识符 *变量名;其中毕业论文ppt,变量名前的符号“*”表示将要定义的变量,类型说明符表示该指针变量所指向数据的类型。例如:

int *p1; char *p2;float *p3;

分别定义了整形指针变量p1,字符形指针变量p2,以及浮点形指针变量p3。

(2) 指针变量的引用

&为取地址运算符,该运算符是一个单目运算符,运算结合性为自右至左,它返回其右边变量在内存中的地址。其一般形式为:&变量名,例如:

int x=3,*p; p=&x;指针变量p指向变量x。

在使用x的值时,可以直接使用x,也可以用*p来代替使用x。此外,指针变量一定是和它所对应的变量相互引用,即指针变量在使用时一定要有明确的指向,必须赋予具体的值,否则将可能导致错误。

3 指针与函数的关系

在函数的编写过程中,若单纯的只用变量参数,则无法实现被调用函数改变调用函数中变量值的目的。而为了实现这一目的,就需要函数和指针之间的结合使用论文开题报告。

(1) 引用指针,可以实现调用函数和被调用函数中的指针变量共同指向调用函数中的存储单元,从而实现被调用函数改变调用函数中变量值的目的。例如:

main()void change(int *p2)

{{

int a,*p1;*p2=3;

a=2; p1=&a;}

change(p1);

printf(“the value of a is:%d”,a);

}

由上例可以看出,在调用函数(main函数)中定义了变量a和指针变量p1,被调用函数(change函数)中定义了指针变量p2。程序首先从main函数开始执行,分配变量a和指针变量p1的存储单元,此时指针变量p1指向变量a(p1=&a)。当程序执行到change函数时,程序跳转到change函数执行其函数体,change函数为其指针变量p2分配存储单元,同时p2也得到了p1传过来的值(变量a的地址),此时p2也指向了调用函数中的变量a,即实现了p1和p2共同指向了调用函数中的存储单元(变量a的存储单元),change函数执行其函数体(*p2=3),即使a的值变为3。change函数执行完毕后,释放其变量的存储空间,转而继续执行main函数,此时a的值已经发生改变(由2变为3),实现了被调用函数改变调用函数中变量值的目的。

(2) 调用函数和被调用函数中实参和形参之间的关系图

被调用函数执行完毕后毕业论文ppt,释放它所分配的存储单元,而调用函数分配的存储单元仍继续使用。此外,只有当调用函数中传指针值(即实参是指针值),而被调用函数中引用变量(即形参收到指针值后,在函数体内引用变量值),才能达到改变的目的。

例如,实现变量a和b的交换,程序如下:

main()

{

inta,b,*x,*y;

a=2; b=5;

x=&a;y=&b;

swap(x,y);

printf(“%d,%d”,a,b);

}

void swap(int *x, int *y)void swap(int *x, int *y)

{ {

int *t; int*t;

t=x; x=y; y=t;*t=*x; *x=*y; *y=*t;

} }

(例1) (例2)

例1虽然传的是指针值,但在函数体的执行过程中引用的仍然是指针值(引用x和y),所以不能实现a和b的交换;例2程序传指针值后,引用变量(*x和*y,即a和b),所以能实现a和b的交换。

4 结束语

在以后的编程过程中,若遇到想通过被调用函数改变调用函数中变量值的目的,则可以把该变量的地址值传给被调用函数,从而达到改变的目的。鉴于文章篇幅及个人能力有限,本文肯定还存在许多不足之处,仅供大家学习和参考。

参考文献

[1]谭浩强.C程序设计(第二版).清华大学出版社,2004.

[2]杜友福.C语言程序设计(第二版).科学出版社,2007.

c语言论文例4

 

1.引言

C语言是一种面向过程的计算机程序设计语言。它既有高级语言的特点,又具有汇编语言的特点,具有简洁、紧凑、使用方便灵活,以及生成目标代码质量高、程序执行效率高、可移植性好等特点,广泛应用于操作系统开发、应用程序设计及嵌入式开发。C语言是软件开发领域最主流的设计语言之一。是目前高等院校以及高等职业学校理工科专业开设范围最广的一门程序设计语言课程。然而对于从没有接触过程序设计有些甚至对计算机原理了解都比较少的学生而言,学习C语言存在较大的难度,同样对于讲授C语言的教师也往往感觉课程推进较困难。C语言教学一般分为课堂讲授、上机实践、课程设计等几个环节。课程结束之后学生不会C语言的基本应用。为解决C语言教学中出现的问题,需要我们不断探讨、改进教学方法。本文将行动导向教学方法引入到C语言教学中进行了一些尝试与探索。

2.行动导向教学法概述

行动导向教学法是以“行动导向驱动”为主要形式,在教学过程中充分发挥学生的主体作用和教师的主导作用,注重对学生分析问题,解决问题能力的培养,从完成某一方面的“任务”着手,通过引导学生完成“任务”,从而实现教学目标。从学生接受知识的过程看,知识来源于实践,在实践中得到感性认识,经过反复实践才能上升到理性认识论文范文,并回到实践中去。

教师对课程知识点进行规划分解,针对学生的情况制定科学、合理的任务,以及准备学生完成任务所需相关材料。课堂上下发任务,让学生清楚的理解他要做什么。然后采用合理的方式引导学生去分析解决问题。最后对学生完成任务的结果进行积极的评价。

行动导向教学法在C语言课程教学设计中,所进行的实践教学并非是指编程序上机实习验证,而是针对C语言程序设计中编程思想应用行动导向教学法进行的教学设计。下面就本人教学设计的一个案例进行阐述。

3.教学设计案例

常用排序算法模拟应用—行动导向教学法教学设计。教学设计方案:第一阶段,任务描述:将班级的学生按座位列分成四组,A、C组利用选择排序法,B、D组用冒泡排序法分别将将本组学生按年龄递增排列,每组同学旁边放置一个空椅子可供利用。要求是每次能且只能移动一个同学坐到空出来的椅子上。第二阶段,在学生实施排序前先给每组学生相应算法的说明文档。让学生给定的时间去进行阅读、讨论并制定出实施方案。第三阶段,让各小组同学根据自己制定的方案实施排序操作,并验证结果是否符合他们的预期。同时密切注意观察并记录他们的问题。第四阶段,让小组间相互评价,对本小组排序方案及实施过程中的问题进行自我总结,。第五阶段,对每组任务的完成情况进行评价,并给予指导。可以调换排序方法按体重重复以上任务步骤。最后一阶段,问题的抽象及算法实现。这一阶段对于学生较为困难,可以指导抽象出任务处理的对象—数组数据,重复性的动作—for循环模式,位置的移动—循环变量等。这样学生主动学习使用相关C语言语法规则,并摸索和思考其使用方法和模式。之后给出一些相关的习题让学生模仿练习,巩固应用。

4.教学思考及效果评估

在这个教学设计实施过程中,激发学生的兴趣,调动学生积极参与实践活动是教师首要的任务,在学生实践能力相对薄弱的教学中教师的引导作用显得更加重要,因为在这个问题域里,学生是主体站在“风暴”的中心,只有学生被激发出来关注到实践过程的每一个细节,才能完整的描述实现的过程,将这个程序设计的灵魂—算法的思想融进大脑里,进而抽象完整的模型,思考如何利用C语言去实现。这样的教学设计注重编程思想而侧重C语言语法规则。我们可以让学生抓住“灵魂”这根绳索去探索如何去应用C语言里纷乱的语法规则论文范文,学会在实践中学习。

经过测试,这样的教学效果也较为明显,学生对for循环的理解较为透彻,应用较熟练。整个学期过后,学生对这一块儿C语言知识印象明显深刻。“行动导向”的教学过程中,学生不但在完成任务的过程中掌握了C语言知识,通过相互沟通讨论问题,增强了表达交际能力,提高了学生分析问题的能力。完成任务的成就感不仅增强了学生学习C语言的自信心,提高了学生深入学习C语言知识的兴趣,形成学习的良性循环。

5.结束语

鉴于C语言计算机应用的广泛性和重要性,作为计算机专业的入门级课程,有必要不断的探索新的科学、适用的教学方法,加强实践教学,注重引导学生编程思想的培养,从各方面调动学生的兴趣和积极性,感性认知,理性理会,学好C语言并会利用C语言进行程序设计。

[参考文献]

[1]谭浩强.C语言程序设计(第三版)[M]. 清华大学出版社,2005.

[2]姜大源.学科体系的解构与行动体系的重构——职业教育课程内容序化的教育学解读[J]. 教育研究, 2005,8 .

c语言论文例5

 

1 移动学习

移动学习(M-Learning)是借助移动互连技术,使用移动计算设备(智能手机、PDA、移动电话等)实现学习者随时随地进行不同目的、不同方式的学习[1]。移动的内涵包括:形式上是移动的,即学习者不再受时间、空间和有线网络的限制,可以随时随地进行不同需求、不同方式的学习;学习环境是移动的,学习资源和学习者也是移动的;内容上是互动的,进行教学活动的双方实时交流,教育信息、教育资源与教育服务依靠移动计算技术和互联网技术实现双向“移动”,教与学相互促进,才能更充分的体现移动学习的优越性;实现方式上是数字的,移动学习是基于无线移动设备进行的数字化学习,它是在数字化学习的基础上发展起来的,是远程学习发展的一个新阶段[2] 。

现阶段的移动学习受技术条件的制约,通常作为高校教学的一种辅助学习模式,主要应用于管理和为学习支持服务提供“交互”通道,学生和教师通过使用移动设备(如手机等)方便、灵活地实现交互式教学活动。高校移动学习的主要应用模式分为三大类:基于短信息的在线移动学习,基于连接的在线移动学习以及存储移动学习模式[3]。基于短信息的在线移动学习具有使用费用低,设备普遍支持等优点,主要应用于通信数据少并且可用简单文字描述的学习活动和学习服务,可用于向学习者发送课程安排、考试安排和考试成绩等信息,提供指导、激励和支持等作用。基于连接的在线移动学习和存储移动学习,需要建设WAP站点,提供能够支持移动设备访问和下载的学习资源,着重选取能够贴近学习者生活和工作同时又较为时尚和流行的主题作为学习内容。存储移动学习和基于短信息的在线移动学习将是目前在高校中最切实可行的移动学习应用模式[4] [5]。

2 C语言程序设计课程特点

C语言作为当今最为流行的程序设计语言之一毕业论文范文,不仅是计算机专业的必修课,也是很多

非计算机专业的学习课程。随着计算机的普及,学生运用计算机的能力越来越强,但计算机程序设计课程因其较复杂的语法、编程等知识,依然是众多学生学习上的“拦路虎”。

C语言程序课程知识点琐碎,概念繁多,理论不易掌握;概念抽象且复杂,包含的数据类型和运算符丰富,需预习与复习相结合才产生较好学习效果;对应的规则繁多且易混淆,使用较为灵活,容易出错,使得学生容易产生畏难、厌倦情绪;理论与实验教学学时分布不均衡,导致课堂教学中,对如何分析和解决问题讲得不够充分,学生编程思路不清楚;实验过程中,不能将理论知识应用自如,在处理实际问题时往往不知从何入手,需要在平时教学中注意培养学生动手能力[6][7]。

C语言程序课程的这种特点,适合采用移动学习作为其辅助教学方式。针对C语言理论性强的特点,可以在课前课后发送定时短信,提示预习摘要求较高,不好的缩进格式影响其呈现效果,结构化风格使得程序占用篇幅往往较长等等,这些因素均会制约移动设备的可读性。

3移动学习在课程教学中的应用

根据上述分析,设计移动学习方式如下:总体原则,以传统教学方式为主,移动学习方式为辅,移动学习方式充当课堂教学的重要补充,能够实现课堂知识的延伸,指导和激励学生进行更深层次的学习和实践。实现方式,主要采用基于短信息的在线移动学习方式,配合基于连接的移动学习空间、论坛,以及存储移动学习资源建设。针对课堂教学,精心设计课前案例,提出驱动式问题,相关预习提示,课后设计相关重点回顾,知识点延伸,以短信形式发给学生,对于短信不能很好显示的内容可以邮件形式发送给学生,或者放在相关网站上,以消息的形式提醒学生查收。软硬件支持:考虑到学生普遍拥有设备的程度,将移动设备限定在普通移动手机,软件使用中国移动飞信校园版(EFetion_campus)[10],可以支持PC端向移动手机的短信群发,通过飞信、群、语音、邮箱、空间等多种方式实现互联网、移动网间的无缝互通毕业论文范文,还可以使用日程提醒,邮件提醒等功能打造个性化的学习指导。移动学习具体实现方式如图1。

图1 移动学习应用模式图

3.1功能模块介绍

移动学习做为一种辅助教学模式,能够参与到C语言课堂教学的课前准备,课后辅导以及实验指导等方面。

3.1.1短消息学习模块

(1)课前预习提示。可将每节的学习目标、重点、难点发送给学生,也可发一典型程序,加驱动式问题,发送到邮箱里,同时设置邮件提醒功能。

(2)课堂内容回顾。对前面课程学习过的知识内容以短信形式发给学生,提醒其回顾。

(3)作业提示、阶段测试。也可仿照上述短信设置方式,定时群发给所有的学生。

3.1.2移动学习空间或论坛

移动学习空间既可以方便学生在线浏览,也要努力适应基于连接的移动学习访问,其资料下载模块提供的学习资源,也要支持移动终端设备。移动学习论坛,实现学生自由交流空间。在移动学习论坛上定期设置讨论专题,既可以是关于某个错误进行分析,也可以针对相关程序选题集思广益,还可以是对当前教育进行探讨等等。

(1)课堂内容延伸。可提供诸如:MSDN使用介绍,帮助学生自如设计C/C++程序等;CSDN论坛介绍,提供同资深程序员交流学习的平台。

(2)常见错误提示分析。提供调试程序基本步骤,常见错误解读及可能出错原因。

(3)课程设计选题。设计相关程序选题,使其能够体现课程各个阶段的进度,并且具有一定的实用性,趣味性,能够调动学生的学习积极性。

(4)测试空间。提供一些历年试题,可以帮助学生巩固理论学习。

(5)教育思考。定期对教学进行总结,寻求更好的教学方式,也可以一些高校精品课程网站链接。

(6)资料下载。课程内容的各种学习资源,如PPT课件、多媒体课件、部分课程的录音、录像等;有关课程的各种辅导资料,如各章节的知识要点、课程设计任务库、程序设计案例库、试题库等都可以作为下载的资料。

3.2移动学习内容设计

在高校教育中,学生同时需要进行多门课程的学习,如果在针对某一门课程实施基于短信息的移动学习方式时,设计过多的短信内容,或者发送较多的次数,都将会给学生造成信息轰炸,带来过重的信息负担。配合C语言程序课堂教学,在课前课后发送两条飞信,每次不超过5页,对于无法以短信内容呈现的资源就发送到邮箱,同时以短信形式提醒学生注意查收。程序设计课程所涉及程序对格式要求较严格,一个程序案例通常占用较多篇幅,此时以邮件的方式发送较为合适,同时在相关论坛上设置讨论专题,根据学生回答设置最佳答案,统计学生活跃度,作为平时成绩参照。图2为课前预习的飞信基本内容设计。

图2 飞信基本内容设计

把课程内容按照“章-节-知识点”的层次模式进行组织,整理出每章每节的学习目标、重点、难点、学习指导、参考资料等内容毕业论文范文,并概要总结出每个知识点的核心内容和若干测试题目,学习者可以通过短信息随时随地自由学习、复习这些重要的知识点,并对学习的效果进行测试。设计短信内容时需考虑程序格式问题,屏幕显示行数,尽量控制在8行*5屏=40行,每行8字以内,不要以图片的形式发送(涉及彩信资费问题)。

另一方面,为课程的核心内容提供文档、PPT课件、课程录音、课程录像等多种媒体格式、适合多种移动终端的学习资源,满足学习者不同的学习需求和学习习惯。学习者只要把这些资源通过教学网站,下载到自己的移动终端上,当他们在教室外面、公共汽车上等地方时,都可以通过移动终端来浏览这些学习内容,充分享受移动学习的便捷与方便,而且不需要承担高昂的移动通讯费用。但是供下载的资料要充分考虑移动学习的特点,不仅要考虑学生的设备支持程度,还要考虑移动学习的片段性特点,对其中的部分资料需要进行特殊处理使其适合移动学习方式,主要处理原则,按知识点,将文档,影音资料都处理成片段,确保一个片段一个知识点,每个片段持续10分钟左右。

4 实验分析

借助中国移动飞信校园版,上述大部分移动学习方式都可以实现,从PC端到手机客户

端可以方便的实现短信群发,只要不超过一定数量,免费且易于操作。学生也分常乐意参与到这种形式的移动学习中来,非移动用户除了在接收短信受限之外,也可以加入飞信校园版PC端,可以共享资源。实验证明,使用移动学习方式作为程序设计课程的辅助教学方式能够大大调动学生学习的积极性。但是在学生中间出现了两级分化的现象,部分同学兴趣高涨,能够充分利用提供的学习资源,学习进度甚至出现超前现象,另外一部分同学上课时也在查看手机,学习不仅没有进步,反而沉迷于手机上网。这种现象提醒大家不仅应该注意实施移动学习的方式,同时还要加强大学生的思想教育,使其认识到网络资源的便利性和危害性,能够主动的去寻求有益的资源来提高自己。

使用飞信实现移动学习还有以下必须注意的地方:(1)飞信中涉及大量广告,容易分散学生注意力。(2)短信数量过大,易给学生造成信息轰炸,要限制性的使用。(3)需警惕不法分子盗取飞信或手机号,进行诈骗。可以利用飞信的二次开发功能,屏蔽其他模块,使其更适合校园使用。

移动学习对学习者也要有一定要求毕业论文范文,比如说需要一定的自学能力,自制能力,以及较强的学习动机等[8][9]。现阶段的移动学习在高校教学中应该起辅助作用,但不能排除其对研究生,博士生及在职人员充电的作用,所以还是要做好移动资源的建设工作,注意打上数字签名保护知识产权。

5 结论

当前,移动学习是教育界的研究热点。将移动学习方式引入语言类课程的教学中已取得较大进展,但将其应用到C语言程序设计课程教学中来,还属于尝试阶段。移动学习给教学改革注入新鲜活力,其对高校教学的促进作用,不仅依赖教师的合理使用和学生的大力配合,还依赖于软件平台的设计。本文所使用的飞信校园版,受到发送短信条数,广告绑定等不利因素的限制,不仅要考虑课程特点,还要考虑软件的使用规则,不能充分发挥移动学习的优势。下一步需要改进的地方,不仅在于移动学习资源的建设,还要建设实施移动学习的软件平台,不仅要适合移动终端在线浏览,还要能够与校园各个系统整合,充分利用现有资源,更加适应程序设计课程的要求。

参考文献:

[1]德斯蒙德·基更.移动学习:下一代的学习[J].开放教育研究.2004

[2]刘豫钧,鬲淑芳.移动学习——国外研究现状之综述[J].现代教育技术.2004

[3]王建武.3G网络下基于彩信的被动式移动学习实践研究[D].西安:陕西师范大学.2009

[4]张珑,王建华,张军,邸佳奇.移动学习在高等学校教学改革中的应用[J]. 计算机教育.2010(6):34-37

[5]王伟,钟绍春,吕森林.大学生移动学习实证研究[J].开放教育研究,2009,15(2):22-27.

[6]张素芹,吴连生.独立学院“C语言程序设计”教学改革实践[J]. 计算机教育.2010

[7]顾钧.程序设计语言课程的概念体系及教学策略探讨[J].中国成人教育.2010

[8]李望秀.高校教学中的移动学习[D].长沙:湖南师范大学.2008

[9]徐楠.M_Learning在现代远程开放教育中的应用研究[D].南京:南京师范大学.2005

c语言论文例6

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标准库中包含着一些函数可以操作相应的字符串,在使用这些函数时,需要运用相对应的头文件进行引用。

c语言论文例7

计算机软件C语言的编程中,最主要的依据是指针应用,C语言指针能够根据软件程序的编写需求,构建可行的函数,而程序员在设计函数编程的过程中,即可通过函数参数的具体分配,设置C语言的指令控制。程序员利用C语言编写软件程序时,不仅要准确地控制指令,更重要的是编制C语言的算法。C语言的算法内,体现出诸多应用技巧,利用流程表示的方法规划操作位置,以此来提高C语言的流程算法。程序员编程软件C语言时,需要注意语言设置,首先确定C语言在软件编写中的对象,如程序运算,保障C语言在编程实验中的对象;然后分类计算机软件编程所需的文件,完善文件之间的关联性,设定C语言编程文件的相关步骤;最后全面检查软件C语言编程中涉及的数据,方便编程中的数据查找。

1.2计算机软件C语言的程序应用

计算机软件C语言编程实验中的程序应用,分为函数、算法和运算三个部分。分析如:

(1)C语言在软件编程中的函数,软件编程的函数,负责不同的软件功能,程序员通过C语言定义编程中的函数,由于C语言可以实现编译,因此软件编程所需要的函数,可以在系统内直接调用,程序员操作“#include指令”,关联所有的应用文件,如程序员使用C语言中的sqrt函数,还需引入头文件#include“string.h”;

(2)算法是计算机软件编程的核心,C语言在基础算法的作用下,实现程序表达,程序员需要掌握程序算法,才能保障C语言在计算机软件中合理性,程序员还要在算法的过程中,添加流程图,利用流程符号协助算法运行,提高C语言编程的效率;

(3)运算是C语言编程实验的特色,其对象是二进制,按照计算机软件的C语言编程,设计程序运算,软件的C语言编程中包括诸多基础文件,此类文件是软件编程的重要部分,程序员将编写程序存储到相关的语言内,有利于运算过程中的语言查询。

2计算机软件C语言编程的案例

计算机软件C语言的程序设计比较复杂,以混合软件编程为例,分析C语言的编程。首先程序员应该根据计算机软件的运行目的,将运行语句编写到C语言中,形成源代码,程序员需要连接C语言中的汇编语句,如:Main(){asm{Movah,2Movbh,5Int10h}}整个编程实验案例中,C语言的语句汇编存在格式要求,而且格式较为固定,因此,程序员应遵循一定要求,如:检查语句中是否具备asm,如果缺少asm需重新设定在语句前;确定汇编语句能够正常嵌入C语言内;注意C语言的分隔符,分隔符必须正确。然后设置编译代码,此项模块需要具备单独编程,待C语言编程完成后,利用链接的方式联合代码和编程。混合软件编程中的C语言,函数部分能够被汇编使用,多个编程共同组成一项语言任务,而且C语言倾向于独立编程,基本是以函数的状态实现软件的编程实验。编译代码的应用,提高C语言在计算机软件中的编程能力,保障C语言编程的准确度,强化计算机软件的实践性。最后程序员在混合软件C语言编程实验中,需注重已经出现的编程问题,尤其是参数、存储等问题,排除C语言编程的因素干扰。例如C语言编程实验中出现的参数问题,实际汇编中无法实现正常的参数传递,导致参数堆栈传输时出现问题,不能正常汇编到C语言的程序内,因此还需在汇编中增加两类指令,如:sp、pushbppopbp。混合软件C语言中添加汇编方式,可以提升计算机软件程序的运行速度,完善软件编程。

c语言论文例8

感谢在广东普信公司实习时的同事们,他们在我第一次参加实际项目开发的过程中给了我莫大的帮助和鼓励。特别要感谢我的项目经理李旭和黄润怀,是他们的信任给了我很多锻炼的机会,也一直对他们给予我的生活上的照顾心存感Ji。和他们一起为广州项目奋战的一年多是我人生中一段难忘的经历。

感谢我的朋友Louis,Dick,Iris,Tracy,Sawyer,Joe,Jason,IceBear,以及更多我无法逐一列出名字的朋友,他们给了我无数的关心和鼓励,也让我的研究生生活充满了温暖和欢乐。我非常珍视和他们的友谊!

感觉计算机学院研028班的我的同学,感谢他们在学习和生活上给予我的帮助。

c语言论文例9

1.其他语言的基础是( B )

A.书面语言  B.口头语言 C.体态语言 D.辅助语言

2.方言中具有特定意义的语词是( C )

A.共同语  B.副语言  C.土语  D.行话

3.口才是语言交际中运用语言的才能的( A )

A.有效性 B.快速性  C.准确性D.清楚性

4.庄子曾经说过:“鸣而当律,言而当法”,这是指口才的(C )。

A.目的性  B.综合性  C.技巧性D.实践性

5.在区分口才不同层次的标准中,要求表达者清晰、明确、恰当、正确、流畅地传递有关信息的标准是( D )。

A.说得妙 B.说得好  C.说得快D.说得对

6.口才必须服务于公共关系的既定目标,公关传播活动最基本的目标是( A )。

A.交流信息 B.沟通感情 C.改变态度 D.引起行为

7.语交际信息传播模式中,“说话人”是指( A )。

A.信源  B.信宿  C.信息 D.符号

8.公共关系的口语交际中,将信息编为符号的行为和过程称之为( B )。

A.压缩  B.编码  C.解码 D.语境

9.公关口才的表达方式中,叙说是最基本的方式,而叙说中最常见.最基本的方法是( A )。

A.顺叙  B.倒叙  C.插叙 D.引叙

10.一个论证中只能有一个论题,并且在整个论证过程中始终保持不变,始终围绕该论题进行论证,否则所犯的逻辑错误为( B )。

A.论题模糊 B.偷换论题 C.论据虚假 D.循环论证

11.间距较大,不会产生特殊心理影响,一般距离为3.6米到7.5米的交往距离属于( D )。

A.密切界域  B.人身界域 C.社交界域 D.公共界域

12.能体现交际者口语风格的因素是( C )。

A.生活阅历  B.文化修养 C.个性气质 D.情趣爱好

13.子曰:“书不尽言,言不尽意。”这带给口语交际参与者的启示是(A )。

A.化解编码的失误  B.把握符号外信息 C.克服解码的障碍  D.补救解码的误读

14.口才的通俗程度与一般公众的理解程度之间的数量关系是( B )。

A.前者远高于后者  B.前者略高于后者 C.前者等于后者  D.前者低于后者

15.描述可以独立运用于( A )。

A.较短的口语交际  B.较长的口语表述 C.较短的书面交际  D.较长的出面表述

16.语言是人类特有的社会现象,是声音.文字.意义结合的( A )。

A.符号系统B.工具系统C.操作系统 D.心理系统

17.以字和义结合而成,以写和读为传播方式的有声语言是( B )。

A.口头语言  B.书面语言  C.辅助语言  D.态势语言

18.一个口语表达能否称得上口才,关键在于有没有( D )。

A.反馈B.感情C.意义 D.效果

19.毛泽东在《反对党八股》一文中明确指出:写文章做演说,就是“专为影响别人的”,这是指口才的( A )。

A.目的性 B.综合性 C.技巧性  D.实践性

20.如果某人的口语表达清晰.明确.恰当的,能够正确.流畅地传递有关信息,他口才水平为( A )。

A.初级 B.中级  C.高级 D.特级

21.公共关系口才必须符合公共关系的基本精神,“投公众所好”出自( B )。

A.艾维?李 B.爱德华?伯内斯  C.科特勒 D.霍尔

22.公共关系口才必须要协助完成公共关系任务,公共关系的中心任务是( C )。

A.沟通信息  B.融洽关系  C.维护形象  D.促进工作

23.在口语交际信息传播模式中,口头语言中的“音”是指( D )。

A.信源  B.信宿  C.信息 D.符号

24.信息符号与信息之间的非对应性,造成了信息符号表示信息的( A )。

c语言论文例10

1.使用最为频繁的态势语言为( C )。c

A.目光语  B.手势语 C.表情语 D.身势语

2.适用于同事、同学等熟人之间的交往和宴会、酒会等活动中最适合的人际间隔为( B )。

A.密切界域  B.人身界域 C.社交界域 D.公共界域

3.“三个臭皮匠,顶个诸葛亮。”这句话使用的修辞手法为( C )。

A.拟人  B.拟物 C.借代 D.层递

4.中文“口才”一词,最早见诸于( A )。

A.《孔子家语?七十二弟子》 B.《孟子?尽心下》

C.《庄子?逍遥游》  D.《孟子?尽心上》

5.在口语交际的语境原则中,口语交际主体为了获取交际的成功而自觉创造出的具有积极的.正面影响的语境,这被称之为( D )。

A.对语境的导引 B.对语境的顺应C.对语境的利用 D.对语境的再造

6.语言是人类特有的社会现象,作为符号系统它包含了文字.意义和( A )。

A.声音 B.图像 C.形态 D.感觉

7.以音和义结合而成,以听和说为传播方式的有声语言是( C )。

A.辅助语言 B.书面语言 C.口头语言 D.态势语言

8.一般人不容易听懂的各行各业的专门语言是( D )。

A.共同语  B.方言  C.土语  D.行话

9.面对面的直接交流没有中介阻隔,倾听者能够对表达传递的信息马上做出( A )。

A.反馈  B.回答  C.思考  D.挑选

10.口才来源于( B )。

A.想象 B.实践 C.思维 D.生活

11.在区分口才不同层次的标准中,要求表达者形象、生动、收放有致,具有一定的感染力和说服力的标准是( B )。

A.说得妙B.说得好  C.说得快D.说得对

12.公关口才必须服务于公关的既定目标,公共关系传播活动第三个层次的目标是( C )。

A.交流信息 B.沟通感情 C.改变态度 D.引起行为

13.在口语交际中,从符号中读出信息的行为和过程称之为( B )。

A.编码  B.解码  C.压缩 D.语境

14.如果将公众的理解程度分为10个级别:0表示接受能力最差,10表示接受能力,一般公众的接受能力为5,那么公共口语的通俗程度应当定位于( C )。

A.1-2  B.4-5  C.6-7 D.8-9

15.在公关口才的表述方式中,按照事件发生、问题出现或人物成长的自然事件顺序进行叙说的一种方式是( A )。

A.顺叙  B.倒叙  C.插叙 D.引叙

16.在口语交际信息传播模式中,“听话人”是指( B )。

A.信源  B.信宿  C.信息 D.符号

17.说话人用来证实或反驳论题的理由和根据称之为(B )。

A.论题  B.论据  C.论证方式 D.论证材料

18.如果论据不真实或者未经证实,那么所犯的逻辑错误为( C )。

A.论题模糊  B.偷换论题 C.论据虚假 D.循环论证

19.借用与其密切相关的名称来代替某个人或物的名称的修辞手法是( C )。

A.比喻 B.比拟  C.借代 D.排比

20.表达的行与止主要通过停连来体现,而表达的快与慢的所依靠的辅助技巧是( C )。

A.重音 B.语速  C.节奏 D.语气

21.跟同辈.同学.同事交谈时,应该用的目光语为( A )。

A.诚恳 B.谦虚  C.理智 D.警觉

22.说话人组织材料的思路在讲话中的反映是指叙说的( C )。

A.材料 B.方式  C.线索 D.风格

23.“演讲”一词最早见于( A )

A.《荷马史诗》 B.《伊索寓言》 C.《左氏春秋》 D.《说文解字》

24.在口语交际的语境原则中,对语境消极、负面的影响加以疏导、谈话或消释,从而保证口语交际的顺利进行,这被称之为( B )。

c语言论文例11

现代电子设备中DSP芯片的开发越来越多地得到应用,使用C语言开发的DSP程序可读性和可移植性好,开发周期短,程序修改方便。但在某些情况下,C代码的效率还是无法与汇编代码的效率相比,而且一些硬件控制功能也不如汇编语言方便,甚至有些操作C语言无法直接实现。因此在DSP的软件开发中常用汇编语言实现对硬件的直接控制或用来编写一些效率要求较高的程序段,但由于汇编语言的移植性和可读性差,所以常采用混合编程的方法,以便达到最佳效果。

混合编程中两种语言相互调用,进行参数传递,共享数据结构及数据信息,但是由于两种语言在程序格式、函数调用、寄存器使用等方面都有不同之处,因此混合编程中主要是要解决二者的接口和参数传递问题。下面以C为例说明混合编程的几种实现方法:

一、直接在C程序中嵌入汇编语句

这种方法比较简洁直观,可以将C程序中无法实现的硬件控制及需要较高效率的关键部分用汇编语句编写,以优化程序。论文参考网。但这种方法的缺点是比较容易破坏C环境,因为C编译器在编译嵌入了汇编语句的C程序时并不检查或分析所嵌入的汇编语句。在Turbo C中嵌入汇编语句由关键字asm引导,其格式为:

ASM操作码 [操作数],[操作数]

例如在C语言源程序example1.c中嵌入汇编语言的语句

main()

{

int x;

int y;

x=8;y=10;

asmmov ax, [y]

asmadd [x],ax

printf (“x:%d ”,x)

}

上述C语言源程序不能用集成编辑器,因为编辑器tc.exe不支持嵌入式汇编程序,只能用DOS命令行tcc.exe实现。

二、独立的C和汇编模块接口

这种方法是混合编程中常用的方法,关键是要解决好汇编语言与高级语言的数据通讯。在这种方式下两种语言分别编写,分别产生各自的obj文件,然后经过连接,形成一个完整的程序,采用这种方法比较灵活,在使用中要遵循有关的调用规则和寄存器规则。

1、混合编程的规则

1)命名约定: C编译器对C源程序编译时要将其中的变量名、 函数名等标识符前加下划线,而汇编程序在汇编时直接使用,所以被C语言调用的汇编程序有标识符前都要加下划线。

2)声明约定: 在C语言中对C所使用的外部变量、过程、函数均用EXTERN说明:

extern 类型 函数名(参数表);

extern 类型 变量名;

使用前均应放在函数体外进行说明

3)汇编语言的变量名、子程序名等标识符,为了能让其他模块可见必须用public操作符定义它们。如

public

_bof,_array

4)由于C语言对大小写字母的区别,在汇编程序中子程序名和变量名都要使用小写字母。

2、寄存器的使用规则

对于寄存器AX、BX、CX、DX和ES在汇编语言中可任意使用,对于寄存器BP、SP、DS、CS和SS,如果C语言要求保护,在汇编语言子程序中使用它们之前,先进行保护,使用后再加以恢复。对于指针寄存器SI和DI,C语言用作寄存器变量,因此在汇编语言程序中使用它们之前都要进行保护,返回时再将其恢复。

3、混合编程的参数传递和返回

C语言程序调用汇编语言子程序时,参数通过堆栈传递给汇编程序。参数由C传递给汇编时,参数以其在参数表中出现的反序入栈,然后再存入主程序的返回地址IP的值。当被调用函数或子程序运行结束后,C主程序会自动调整堆栈指针SP使之恢复到压入参数之前的状态,不需要程序员平衡堆栈。但编程时应注意不同类型的参数占用字节数也不同如int占2个字节,real占8个字节,同时还要注意近调用和远调用时段地址CS和偏移地址IP在栈中占用字节数也不同。 当汇编子程序中有值返回时,若返回的结果是短整数,放在AX中,若为长整数放在DX:AX中。

4、编译连接

分别用C语言和汇编语言写出源程序后,下面就是要进行编译、连接生成可执行文件,这时可用Turbo C的tcc命令来完成。

其格式为:tcc [编译参数表] 文件名1文件名2…..文件名n

其功能是通过设置不同的编译参数将指定的各个文件编译连接。当文件中有扩展名为.asm的汇编源程序时,tcc命令立即调用tasm.exe宏汇编程序,对.asm源程序进行汇编。论文参考网。同时要注意如果用户使用的是masm.exe汇编程序时,要将masm.exe改名为tasm.exe,并和tcc命令存放在同一目录下。

三、利用codecomposer集成开发环境进行修改

这是一种简便易行快速优化C语言代码的方法,在Code Composer集成开发环境中,选择View菜单下的MixedSource/ASM选项即可看到交叉列表的汇编程序。在所生成的语句中,每个C语句的下面就是C编译器对该C语句编译所生成的汇编语句。论文参考网。通过查看交叉列表的汇编程序,可以对某些编译不是很优但却是比较关键的汇编语句进行修改。修改汇编语句时,必须严格遵守不破坏C环境的原则。

参考文献: