期刊大全 杂志订阅 SCI期刊 投稿指导 期刊服务 文秘服务 出版社 登录/注册 购物车(0)

首页 > 精品范文 > 编程语言

编程语言精品(七篇)

时间:2022-08-22 03:37:24

编程语言

编程语言篇(1)

不得不承认,世界上第一个编程语言完全是懒惰的副产物。对于IBM员工John Backus而言,上世纪五十年代的计算机操作起来太复杂了。那时候,程序员们需要使用二进制机器码才能与计算机通讯,只有最高端的系统才支持字节。操作计算机的人需要处理超长的打孔纸带——这是一件麻烦又非常容易出错的事。1952年,接到美国海军的命令后,数学家Grace Hopper使用A-0系统创造了一个程序,这段程序可以合并海军指挥命令定的字符串(String),然后将其转换为机器码。最后,在编译器的帮助下,人终于可以与机器进行“对话”了,但这种汇编语言的代码依然非常抽象。在John Backus看来,汇编语言太麻烦了,他很快想到了应该发明一种语言,它可以将符合人类语言逻辑的对话“翻译”为机器语言命令。他把这种自己设计的计算机编程语言称为“FORmula TRANslation”,缩写为FORTRAN。第一个高级程序设计语言FORTRAN的出现,使得编写程序的代码(命令)数比机器码时代降低了至少20倍。

编程难度相对降低之后,计算机开始进入大学和金融研究机构。由于它们对计算机的需求与早期从事科研及军事的机构不同,为了让他们更好地使用计算机,让编程语言更易于理解、并可以为特定的任务而优化就成为了当时的发展趋势。正因为如此,专注于编程语言和软件开发的新型企业开始出现。例如,比尔·盖茨在1975年创建了微软公司,他们希望为即将到来的个人电脑开发操作系统和应用软件。与此同时,拥有不同优势和弱点的各种编程语言开始涌现。人们很快就发现了问题:这些编程语言并不能相互兼容,大多数编程语言容易出错且不稳定。直到美国国防部在1983年指定Ada语言为第一个标准化的编程语言后,情况才好转了一些。以美国国防部为例,他们使用的编程语言从450个降到了36个。

为互联网而生的新语言

编程语言的进化随着互联网的繁荣又迎来了新的阶段,服务器和浏览器的工作模式向编程语言提出了新的挑战,它要求编程语言在稳定性、系统安全和可访问性上要有所提升。因此脚本语言在那时出现,这种语言被认为是简单的、容易理解的,它可以将程序代码轻易地集成到最流行的系统中。其实,还有很多特殊的编程语言对大部分人而言是陌生的,因为它们并没有实际的用途,甚至源代码都让人难以理解,例如不支持可打印源代码的,只由空格和制表符等组成的编程语言Whitespace,采用菜谱一样源代码结构的Chef等。

尽管编程语言的进化历史并不长,但是依然诞生了很多长寿的、极具生命力的编程语言。一些智能手机App仍在使用部分C语言,54岁的FORTRAN仍然在不断改进、成长中,并诞生了许多不同的分支,它的发明者John Backus至今仍然在该语言的发展领域扮演着重要的角色。

编程语言篇(2)

关键词:混合编程;嵌入汇编;参数传递

C51是广泛应用于8051系列单片机编程的高级语言,具有C语言的开发效率高、可读性强、可移植好等诸多优点。keil C51编译器提供了大量功能丰富的库函数,能够对C51源程序编译生成高效的目标代码,从而提高了程序的开发与维护效率,因此采用C51语言开发8051系列单片机应用程序是开发人员的首选。

大多数情况下采用C51语言即可完成预期的任务,但是采用C51语言编程还是存在着效率不如汇编高、对底层硬件控制不如汇编方便、对代码执行速度有特殊要求(如精确延时)情况时无法实现等缺点。因而,编写高速、高效率、可移植性好的单片机应用程序,必须结合C51语言与汇编语言各自的优点,即C51语言与汇编语言混合编程。混合编程通常的做法是,程序的框架、复杂的数学运算、多任务管理等用C51语言编写,对于那些要求执行效率高、精确延时、直接控制底层硬件等部分则由汇编语言来完成。

编程实践证明,混合编程有机结合了C51的强可读性与汇编的高实时性,比单独使用C51语言编程效率要高。但在实际开发中,不少初学者对混合编程无法下手,下面就作者本人的经验,探讨混合编程的一些基本方法。

一、C51中嵌入汇编程序

在C51中嵌入汇编程序通常用在汇编代码量少、内部无复杂的跳转的情况下,可生成精简的代码、减少运行时间。在keil C51编译器中,C51中嵌入汇编程序是通过#pragma asm/endasm预处理语句来实现,其格式如下:

#pragma asm

;汇编程序

#pragma endasm

通过#pragma asm/endasm语句告知编译器,中间的语句行不用编译为汇编程序代码。在keil C51编译器中,需设置嵌入汇编代码的源文件中的“Options for ...” 选项,激活其中“Generate Assembler SRC File”和“Assemble SRC File”两个选项,然后根据选择的编译模式,把相应的库文件添加到工程中,编译即可生成目标代码。使用该方法可以在C51源代码的任何位置嵌入汇编代码,主要用于延时和中断处理。下例即是一个在C51程序中嵌入汇编代码的实例。

二、C51的参数传递规则与命名规则

C51程序中调用汇编程序是通过函数调用形式来实现的,汇编程序中各种段的命名、安排、参数传递和返回,必须严格遵守keil C51编译器的参数传递规则和命名规则,才能保证正确的调用。

(1)参数传递规则

参数传递的简单办法是使用寄存器,这样做能够产生高效的代码,其传递规则如表1所示。

表1 参数传递规则

参数类型char,一字节指针int,二字节指针long,float一般指针第1个参数R7R6,R7R4~R7R1,R2,R3第2个参数R5R4,R5R4~R7R1,R2,R3第3个参数R3R2,R3无R1,R2,R3

如果传递的参数较多,部分参数可在固定的存储区域内传送。传递参数所使用的存储器空间取决于选择的存储模式,这种参数传递方式代码效率不高、速度较慢,一般尽量不要使用。

C51程序调用汇编程序过程中若存在返回值,汇编语言通过寄存器传递参数给C51程序,其传递规则如表2所示。

表2 返回值传递规则

返回值类型使用寄存器说明bitC进位标志(unsigned)charR7 (unsigned)intR6,R7高位在R6,低位在R7(unsigned)longR4~R7高位在R4,低位在R7floatR4~R7高位在R4,低位在R7指针R1,R2,R3存储类型在R3,高位在R2,低位在R1

(2)命名规则

为了使C51程序能够正确调用汇编程序,汇编程序必须遵循C51中函数名的转换规则,否则无法实现程序的调用,其规则如表3所示。

表3 函数名的转换规则

C51函数声明转换函数名说明void func(void)FUNC  无参数传递或不含寄存器参数的函数名不做改变地传入目标文件中,名字只是简单地转换为大写形式void func(char)_FUNC  带寄存器参数的函数在其名字前加上前缀“_”以示区别,表明这类函数包含寄存器内的参数传递void func(void) reentrant_?FUNC对于再入函数在其名字前加上前缀“_?”以示区别,表明这类函数包含堆栈内的参数传递

三、C51中调用汇编程序

编写被C51调用的汇编程序,除了参数必须按照相应的规则外,程序的格式也有相应的规则,这些规则比较繁琐,实际处理中可查阅有关资料。以下给出一个简单的示例。

C51代码中的void delay(char)函数是在另一汇编文件中实现的。将C51源文件与汇编源文件一同添加到keil C51编译器的工程文件中,编译即可生成目标代码。

四、总结

C51语言与汇编语言混合编程可以实现两种语言的优势互补,即可提高程序的开发效率、增强程序的可读性,又能够方便、精确地控制硬件,具体应用中主要注意相应的使用方法及参数传递。适当的用好C51语言与汇编语言混合编程技术,可以简化设计过程,开发出性能较好的单片机应用程序。

参考文献:

[1]马忠梅,单片机的C语言应用程序设计,北京航空航天大学出版社,2007年

编程语言篇(3)

关键词:编程语言;教学;教学模式

中图分类号:G64 文献标识码:B

文章编号:1672-5913(2007)02-0051-02

1引言

在计算机专业本、专科和非计算机专业的计算机教学中,学校几乎都设置了高级语言程序设计或数据库管理语言的程序设计课程。与一些应用软件或工具软件相比,编程课程的教学具有较大的灵活性,这使得学生掌握起来有一定困难,教师教学也有一定的难度。采用何种教学模式进行教学就成为编程语言教学的一个关键。笔者经过多年的教学实践,总结出了编程语言教学的感性认识、算法分析、代码讲授、功能变化的教学模式,这些在实际教学中收到了很好的效果。

2编程语言教学模式探讨

在下面的讨论中,以Java语言编写查询记录的程序为例进行说明。

2.1 感性认识

这里的感性认识是指先让学生对要讲授的程序有一个感性的认识。即先运行程序,显示程序的运行结果,让学生了解程序的运行界面、控件的布局、操作顺序及整个程序的功能。使学生对要讲授的程序有一个感性的认识,这对于理解算法及编程代码都是非常有利的。

通过运行界面,学生可以了解整个界面的布局,即各个控件的摆放位置及相互关系,之后在文本框输入查询条件(书名)并单击“确定”按钮后,即显示出查询结果,这让学生了解操作顺序并看到运行的结果,同时也知道了整个程序的功能。

2.2 算法分析

根据上面演示的界面、操作顺序及运行结果,详细分析程序的功能,在此基础上,我们分别从界面设计、事件代码两个方面进行算法分析,找出程序实现的算法并画出程序流程图。

例如,对于查询记录程序,其界面设计的算法分析如下:由于是在窗口内显示界面,所以应先创建一个窗口类Frame类的子类。在子类的构造方法中创建标签、文本框、按钮等对象;设计相应的布局,通过面板等容器将这些对象添加到窗口中;添加诸如按钮等对象事件的监听。

对于在文本框中输入书名,并单击“确定”按钮,处理按钮事件的算法分析如下:到数据库中查找满足条件的记录,如果没找到就显示相应的信息,并重新输入查找条件;如果找到了就将找到的记录放在相应的面板等容器中并显示。

其他如“打印”和“退出”等按钮事件处理算法按相应的要求给出。

根据上面的算法分析,画出程序的流程图如图1所示。

图1程序流程

对上面的流程图教师要进行详尽的讲解,使学生真正了解程序的算法,这对后面书写程序代码非常重要。因为代码的编写就是将算法变成能运行的程序。

因为许多程序可以有多种算法,在教师讲授自己的算法之前,可先让学生写出自己对这个问题的算法分析(这就要求学生要事先预习教学内容)并画出流程图,再对学生的算法进行简单评价。

2.3 代码讲授

根据上面的算法分析,教师可采用下面两种方式讲授程序代码:一种是逐条给出并在讲解过程中启发学生如何写代码,这时可以启发学生思考要想完成算法的某一功能应如何给出代码。教师可以先让学生给出代码,然后按学生给出的代码演示运行结果,看是否达到了算法的要求,如果达到要求应给予积极的评价;没有则应和学生一起分析问题出现在哪里,找出正确的思路,直至给出正确的代码。学生给出的代码可能会有多种,可选择有代表性的几个进行演示及分析,不要只讲正确的代码方案,不正确的代码方案也可作为反例提醒同学们注意,这样对于鼓励学生参与互动教学有积极的作用。另一种是代码全部给出,之后按算法要求讲解每一条语句的作用,再讲解每一段的作用并解释它实现了算法的哪一个功能。前者占用课堂时间较长,但对启发学生的编程思维有好处;后者占用课堂时间短,提高了课堂效率,但学生掌握程序代码效果不如前者。教师在教学中可根据学生情况、教学内容的复杂程度及课时数进行选择。在讲解过程中教师一定要结合算法,注意讲清每条语句或每一段代码能完成算法中的哪一步。在此过程中,为了说明某条语句或某段代码的作用,可边讲解边演示其运行的结果,这样效果会更好。

2.4 功能变化

在讲解清楚上面的程序之后,可对程序的语句或程序段进行修改,例如删除某些语句、修改某些语句,并演示删除或修改变化后的运行效果,使学生加深对某些语句或程序段功能的理解,以拓展本程序的知识点。同时教师要注意鼓励学生大胆探索新的算法,对于虽不完美,但经过指导也能实现程序功能的算法要给予积极的表扬和肯定,推崇学生自己动脑、动手进行程序设计与修改是非常必要的。

3结束语

以上只是作者在教学中总结出的一点体会,在以往的教学中应用这种模式进行实践并收到了较好的效果。学生不但学会了编程语言,同时也学会了编程思想及编程方法。在毕业设计中,学生做出了较好的管理信息系统,并在“大学生科研训练计划”的信息系统开发中取得了较好的成绩。当然,编程语言教学模式多种多样,许多同行都有自己的优秀的教学模式,笔者会在今后进一步学习和吸取这些经验,不断提高自己的教学效果和水平。

参考文献:

[1]印F.Java语言与面向对象的程序设计[M].北京:清华大学出版社,2000.

[2]耿祥义.Java2实用教程[M].北京:清华大学出版社,2004.

[3]Bruce Eckel .Thinking in Java(Third Edition)[M].北京:机械工业出版社,2004.

[4]Harvey M.Deitel,Paul J.Deitel .Java大学教程[M].北京:电子工业出版社,2004.

编程语言篇(4)

关键词:汇编语言;教学改革;实践

作者简介:陈燕俐(1969-),女,江苏常熟人,南京邮电大学计算机学院,副教授;许建(1980-),男,江苏徐州人,南京邮电大学计算机学院,讲师。(江苏南京210003)

基金项目:本文系2011年南京邮电大学教改项目“以人为本,因材施教,构建多层次立体化教学模式的研究”(项目编号:JG00411JX13)的研究成果。

中图分类号:G642.0     文献标识码:A     文章编号:1007-0079(2012)11-0055-02

“汇编语言程序设计”是计算机及相关专业的专业基础必修课。[1]学生通过该课程的学习,不仅可掌握汇编语言程序设计的基本理论和方法,培养汇编语言程序开发能力,而且还会对计算机系统有更深刻地认识。学生学好该课程对于了解计算机系统的组成结构与原理,更深入地学习程序设计方法很有意义,[2]也为将来学习操作系统、微机原理及接口技术、计算机组成原理、计算机系统结构和高级语言等课程打好坚实的基础。

“汇编语言程序设计”是一门软硬件结合的课程,和处理器及操作系统都是紧密相关的。近年来,由于教学内容滞后于当前计算机技术的发展,并且这门课程的内容较抽象、不易理解,容易导致学生的学习兴趣下降,因此“汇编语言程序设计”逐渐在计算机专业教学体系中被忽视,课程改革成为各高校计算机等专业紧迫的问题之一。本文根据汇编语言的特点,结合课程组老师的多年的研究和探索,探讨了从教学进程、教学内容、教学手段以及实践教学等多个方面对该课程进行改革的基本思路和策略。

一、教学进程的改革

目前大部分学校都是在大二或大三开设“汇编语言程序设计”课程。笔者认为应将该课程安排在第一学期,在学生学习了课程“计算机科学与技术导论”之后。原因主要有以下两点:

1.汇编语言是计算机学习最佳起点的编程语言,是人和计算机沟通的最直接的方式

汇编语言是最接近于机器语言的编程语言。如果说机器语言是计算机操作的本质,那么汇编语言就是最接近本质的语言。汇编语言描述了机器最终所要执行的指令序列。可以说汇编语言是联系硬件与软件的纽带,学习它既可以理解软件,又能够感知硬件,所以学习汇编语言无疑是学生学习和理解计算机体系最佳的切入点。通过该门课程的学习,学生能够深刻理解机器运行程序的机理,使得他们在以后接触复杂变化的计算机知识时变得清晰和顺畅。

2.汇编语言是很多相关课程,如高级语言、数据结构、操作系统、微机原理等的重要基础

目前在大学计算机课程体系中,“高级语言程序设计”通常被安排在第一学期。大一新生主要是通过C语言的学习达到利用计算机分析问题和解决问题的目的。C语言被认为是学习其他计算机课程的基础。这门课程的掌握程度将对其他课程的学习积极性产生影响。但学生普遍反映学习该门课程有较大的困难,对许多概念(如指针、形参实参、函数调用、全局变量、局部变量等)难以理解,他们认为许多概念抽象、空洞,往往在学习的初始阶段感到茫然、乏味,甚至产生恐难情绪,直接影响到整个学习和教学效果。学生经常学习结束后,连简单的程序都不能编写,其原因就是大一新生普遍缺乏计算机知识背景和算法思想,汇编语言才是计算机技术的基础,而不是C语言。汇编语言能够让学生更好地理解高级语言,高级语言大都编译为汇编指令,最终转化为机器指令得以执行。所以说学习汇编语言既有助于透彻地理解高级语言的核心原理,又能明晰程序内部的执行过程。

汇编语言作为一种与硬件紧密联系的低级语言,相对于其他计算机语言比较难于掌握,再加上随着软件技术的发展,毋庸置疑汇编语言的应用领域越来越小,不少学生认为学习汇编语言在以后工作中用处不大,纯粹只是为了考试过关而应付学习。因此在教学过程中,教师首先必须向学生详细阐述汇编语言在计算机学科知识体系中的重要作用,充分调动学生的学习热情和求知欲望,强调学好汇编语言,并不仅仅是掌握一门编程语言,更重要的是能够获得直接从底层分析问题解决问题的能力,为学习高层的知识奠定基石;更要向学生说明汇编语言具有与高级语言不同的特点,正是这些特点使得汇编语言具有高级语言不可替代的作用,汇编语言也具有其他高级语言所无法企及的优势。

二、教学内容的改革

“汇编语言程序设计”教学内容包括以下几个主要部分。微型计算机概述:微型计算机的发展过程、特点,微型计算机及微机系统的组成,微型计算机的三总线结构,数制和码制等基础知识;80x86微处理器:80x86微处理器的发展、特点和结构,微处理器的寄存器,微机系统的存储器组织,微处理器的工作模式,微处理器的引脚信号及其功能;80x86的指令系统:寻址方式,数据传送类,算术运算类等指令的功能和使用,常用伪指令和运算符的使用;汇编语言程序设计:汇编语言编程格式,汇编语言程序设计的基本方法(包括分支、循环、子程序调用等)。

汇编语言是和处理器以及操作系统紧密相关的,随着16位处理器和DOS操作系统退出历史舞台,32位、64位CPU以及Windows、Linux等多任务操作系统的出现,[3]课程的基础知识和实践环节必须与时俱进,需要从DOS下的16位实模式编程过渡到Windows下的保护模式编程。[4]但由于多任务操作系统工作在保护模式,使用汇编语言直接开发的应用程序,不能直接对硬件进行操作。应用程序通过操作系统来实现对硬件的控制,[4]且Windows下的保护模式编程较为复杂,因此目前在大部分学校,该门课程内容的核心仍然是DOS下的16位实模式编程,但为了教学内容的先进性,增加了32位指令和保护模式的介绍,CPU的结构是以386体系结构为基础的Pentium 处理器为主,摒弃了8086结构的介绍。这种矛盾就造成了学生对许多概念不能理解,如操作数的存储器寻址方式等,这样直接影响学生下一步学习指令和汇编语言程序设计的积极性。

针对上述问题,笔者认为应将16位汇编和Win32位汇编有机融合起来。16位汇编语言和Win32汇编有其相似之处,例如有着相同的寄存器、相同的指令系统、相同的寻址方式,只不过操作数和地址的长度不同而已,因此应以16位汇编入手,以8086寄存器结构、寻址方式、指令集为基础逐步过渡到32位汇编,这样内容相对简单,学生容易理解。重点要阐述清楚实模式下的存贮器编址和保护模式下存贮器编址,在讲述处理器的工作模式时就应该让学生明确16位段和32位段的概念以及差别;在此基础上进一步让学生明确16位汇编和32位汇编的概念。

三、教学方法的改革

目前的汇编语言授课计划都是在讲述完所有的理论知识,包括所有的指令(传送类指令、算术运算类指令、转移和调用类指令、逻辑运算和移位指令、串操作指令、处理机控制指令)和伪指令后,再开始学习编写程序。由于汇编语言指令、伪指令较多,有大量的指令和语法规则需要记忆,学生要在短时间内掌握每条指令的功能、指令的寻址方式、指令对标志位的影响以及指令执行时的约定设置、需要预置的参数、隐含使用的寄存器等内容,这将导致学生对课程中所讲授的内容无法消化,容易感到枯燥、厌烦,从而产生倦怠心理,失去了学习兴趣。

笔者认为首先应从整体上让学生了解微机结构及其工作原理,对学生阐述清楚指令的组成、操作数的寻址方式以及指令的运行这些最基本的概念和理论。现如今的教学环境有了不同程度的提高,多媒体教学已经普及,各种汇编语言教学软件和课件层出不穷,把难以想象的部分以动态、直观的图形图像演绎出来,让学生易于接受和理解。比如CPU编程结构、存储器分段、寻址方式等可以用PPT来演示;指令的运行可以用flash等软件形成动态图像演绎全过程,达到了事半功倍的效果。

在讲述最基本的传送类指令、算术运算类指令和基本的伪指令后,就可以让学生学习编写完整的汇编语言程序,并且上机调试、运行,使学生能在实践中掌握汇编语言程序设计,并使其熟悉指令系统。其余的各种指令和伪指令等内容分解到下面的学习进程中,让学生逐步接触并使用这些指令,如可将转移和调用指令分解到分支、循环程序设计的学习中;在学习数据处理程序设计时可以先向学生介绍串指令。这样将编程环节提前,以一个完整的程序实例引导,通过编程与动手,学生对程序设计及一些基本概念、基本方法建立感性认识,在此基础上以程序为线索再逐一展开,将使学生在整个学习过程中的每一步都目标明确,主题清晰,基础扎实,可达到循序渐进的效果。学生在此过程中还会不断地获得成就感,可以更大地激发求知欲望,进行自主探索和互动协作的学习。

四、实践教学的改革

实验教学是检验和巩固已学知识的一个必要手段,是培养学生创造性的关键环节,也是教学改革的一个重要方面。[5,6]汇编语言是一门实践性很强的语言,实验环节在整个教学活动中占据了举足轻重的地位,是提高学生动手能力的重要环节。[7]

在“汇编语言程序设计”实验中,目前主要还是要求学生编写实模式DOS程序。但学校实验室计算机通常不会安装DOS操作系统,而是安装多任务如Windows操作系统,因此汇编实验程序运行在Windows下的虚拟86模式,工作在虚拟DOS环境,汇编工具为Borland公司的Tasm或Microsoft公司的Masm。汇编程序的汇编、链接均要输入DOS命令,但由于学生对DOS操作环境不熟悉,在上机时不能够熟练地在DOS环境下进行操作,使得学生对上机实验产生畏惧心里。

针对上面的问题,教师一方面应耐心讲解,让学生充分认识到实验的重要性,熟悉汇编语言源程序从汇编、链接到调试运行的整个开发过程;鼓励学生只要反复实践,一定能够掌握汇编语言的开发过程。实验室提供使用更加方便的汇编语言集成开发工具,如未来汇编等。与汇编语言程序在传统的DOS界面下的上机环境不同,未来汇编是在Windows界面下的集编辑、汇编、链接、调试为一体的16位TASM集成环境,其窗口化、菜单式及汉化的操作,使得汇编语言程序设计实验大为方便。开发人员可以在该集成环境下编写源程序,然后只要直接用鼠标点击菜单上的相应命令,就可以完成程序的汇编和链接工作,直接生成可执行文件,所有工作一次性完成;并且同时把汇编和连接时产生的输出信息输出到输出窗口中,供用户参考,而不会输出到DOS的命令界面上去,省去了不同操作环境之间的频繁切换。这一平台可以很好地将学生的注意力集中于汇编语言程序的编写与设计中,解决了实模式DOS程序的开发与Windows操作系统之间的矛盾,大大提高了学生做实验的积极性。这对于提高学生的学习兴趣、巩固课堂教学内容起到了关键作用。

五、总结

“汇编语言程序设计”作为计算机及相关专业的专业基础课程,其重要性显而易见,但是目前面临着很大的挑战。这其中的原因是多方面的,包括计算机技术发展的日新月异造成的教学内容的滞后。面对当前的形势,找到合理的解决方案是当务之急。本文主要分析了目前课程教学中存在的问题,结合教学实践,从教学进程、教学内容、教学方法与实践教学改革等方面给出了课程教学改革的基本思路与策略。让学生充分了解学习汇编语言的重要性,合理安排教学内容,选择适当的教学方法和实践手段,充分发挥学生的学习积极性。

参考文献:

[1]郑晓薇.汇编语言[M].北京:机械工业出版社,2009.

[2]程学先,林姗,程传慧.汇编语言程序设计[M].北京:机械工业出版社,2009.

[3]冯建文,包健,严义.“汇编语言程序设计”课程的教学改革与探讨[J].吉林大学学报(信息科学版),2005,(S2):22-24.

[4]谭毓安,张雪兰.Windows汇编语言程序设计教程[M].北京:电子工业出版社,2005.

[5]宋人杰,周欣欣,李红彪.《汇编语言程序设计》教学改革的探索与实践[J].东北电力大学学报(社会科学版),2008,28(5):38-40.

编程语言篇(5)

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

中图分类号:TP312.1-4 文献标识码:A 文章编号:1007-9416(2017)01-0099-01

C语言凭借着强大的功能和广泛的应用,一直在编程领域中占着重要地位,目前许多学校也将其作为主要的课程之一,重要性显而易见,C语言是将汇编语言与编程语言融为一体,尽管C语言如此重要,但在实际教学之中往往出现学生的学习能力不强,认为C语言晦涩难懂,在学习过程中相当吃力,达不到理想的教学效果,因而,在实际的C语言学习过程中,更要注重编程技巧。

1 C语言概述

C语言作为全球范围内的计算机软件开发语言具有相当广发的应用领域。发展速度及传播速度也相当快,最早的C语言是开发与20世纪60年代,随着时代的发展到70年代趋于完善,在经过几十年的发展,就到了目前这样较为成熟的阶段,C语言具备着一些其他语言所不能替代的优势及特征。

2 C语言学习过程中存在的问题

(1)C语言作为一种高级编程语言,是有一定难度的,尤其是许多学习者接触过可视化的编程语言,这样就会明显感觉到差异性,学习的压力也会变大,因为在实际的学习过程中,学习者不能直观的去感受去查看所编写的程序,只有在完成所有的编程之后,才能对其编写的程序进行查看,在运行过程中发现问题在回过头进行调试修改,反复的进行操作,因而,许多学习者就会觉得这样的编写会产生很多的偏差,在程序的结果显示出现很多的问题,无法对所进行编写的程序有明显的真实的感知[1]。(2)C语言本身的表意元素体系内存在着大量的算法及数据结构,对于C语言的学习者来说,必须要进行基础知识的学习,只有打下扎实的基础,才能具备应用技巧方面的学习,在学习过程中不断的去学习和理解,如此循环,学生在短时间内是看不到成效的,因而,很难体会到学习的与乐趣,更多体会到的枯燥乏味,从而加深了学习者的厌恶心理,当一个人在学习过程中体会不到乐趣,就会逐渐的失去学习的兴趣,从而,学生的学习效果也会明显的下降,得不到明显的提升。因而,进行C语言学习的学习者心理上的逆反情绪也成为了C语言学习过程存在的重要问题之一。

3 C语言学习中的编程技巧研究

3.1 指针的编程技巧

C语言的特征简单来说就是靠指针来实现的,指针通过一些简单的语句,就可以大大的提高C语言的运行速度,但是当内存不足的时候也存在一定的问题。当进行最基础的对字符串进行赋值操作的时候,既可以写成:#defune LEN 32;char string 1[LEN];memset (string,0,1LEN);ctrcpy(string1,”this is a example”);还可以写成:const char string2 [LEEN]=“this is a example”;char*cp;cp=string2。就这另种代码的编写方式来说,运行效率是无法比拟的,第一种方式需要对两个字符的函数进行调用才可以得以实现,而后一种方式则通过指针就可以完成,大大的提高了运行速度。因而通过指针的方式是C语言中的第一种技巧方式[2]。

3.2 数学方法的编程技巧

对于在C语言的学习过程中,要选择相应的数学方法,因为好的方法在实际的过程中会起到事半功倍的效果,当遇到大量的数据结构形式要进行处理的过程中,要通过计算机来代替人工的操作,因而有许多繁重的任务是人工所不能进行的,计算机则可以大大的省时省力,尤其遇到一些需要用数学方法来解决的,就需要在C语言编程之前,要进行很好的分析,将数学的方法运用其中。

3.3 位操作的编程技巧

使用位的操作可以对于C语言编程效率的提升起到明显的作用,因而位作为存在于数据单元中最小的单位,可以使编程的代码相对更加的简练,这样运行的效率也会得到提高,基本在运算的过程中,位操作都可以进行,在实际的应用中,可以根据具体的情况来进行选择应用。

3.4 单片机的编程技巧

单片机作为产品开发的一种趋势,操作也是越来越复杂,性能需要大大提升,单片机的存储设备也在不断的扩大,通过单片机进行编程是非常重要的一项内容,C语言尽管拥有众多的优势,但是单片机的编程技巧也是不容忽视的,首先对于基于单片机的C语言编程来说要对数据结构的类型进行有效的选择,计算机可以直接的进行读取,对于一些如浮点型、整形或是相应的程序以及函数都要产生许多的代码,必须要将数据的类型进行合理的选取才能很好的实现相应的操作,其次,要对算法进行优化,根据具体的情况进行优化选择。

4 结语

总之,C语言编程的学习是尤为重要的,要想将较为复杂的语言在学习过程中更加容易,就需要掌握一定的编程技巧,要不断的提高对C语言学习的兴趣,具有较明确的目的,从而提高学习的效率。

参考文献

编程语言篇(6)

关键词:编程语言 软件 应用

中图分类号:TP311.175 文献标识码:A 文章编号:1674-098X(2016)12(b)-0085-02

1 什么是编程语言

编程语言是用来定义计算机程序的形式语言,用来向计算机发出指令。计算机语言数量很多,每年都会产生大量新的编程语言。按层次来分,编程语言可分为3类:机器语言、汇编语言和高级语言。机器语言由机器指令集构成,能够直接被机器执行。机器语言写的程序存在不便于阅读、难以记忆的问题。汇编语言本质上也是直接对硬件操作,由于采用了助记符,相比机器语言更加方便书写与阅读。在高级语言中,将多条汇编程序语句合并成更简洁的编程语句,同时自动完成一些如堆栈、寄存器分配管理等工作,更加方便程序员开发程序。

编程语言的出现可以说给人类社会快速发展提供了一个契机。目前编程已经渗透于我们日常生活的每个方面,我们所使用的电子设备、软件服务中都运行着大量的程序。近年来,不仅是高科技产业,传统行业也在积极投入互联网时代,网站、软件等编程需求巨大。研究编程语言具有重要意义。分析各个编程语言的特点,能够指导编程者选择更适合任务的编程语言,提高开发效率。同时能够对编程初学者起到指导作用,以便选择合适的学习路径。相对于机器语言与汇编语言,日常编程任务更多x择高级语言,该文主要讨论高级语言的发展与特点。

2 高级语言发展简史

目前已经有数千种编程语言被发明,每年仍有大量新的编程语言诞生。我们一般认为1957年由John W.Backu研发的Fortran是世界上第一门高级编程语言。1957―1959年这段时间,是编程语言刚开始新兴的时候,这个时候Fortran、Lisp、Cobol也就是编程语言的雏形出现。1972年,Dennis Ritchie在B语言的基础上改良和发展,最终将其命名为C语言[1]。C语言作为一种经典的编程语言,至今仍被广泛使用。而之后贝尔实验室又在C语言的基础上推出了更强大的面向对象语言C++。1991年和1993年,Python和Ruby语言也相继被发明。1996年Sun公司了Java的第一个开发工具包,标志着Java[2]成为一种独立的开发工具,此后Java一直是一种非常流行的编程语言。

据TIOBE编程语言社区的编程语言流行趋势排行榜统计显示(前部分节选如表1所示),2016年仅有两种语言的增长率超过了1%,分别是Groovy和GO语言,可以发现谷歌的GO语言将成为发展最快的语言。从此榜单可以看出,目前Java、C、C++使用量排名前三,而Java语言也是以9%的差距大大领先于排名第二的C语言。

如图1所示,在2003―2005年间,Java语言使用指数有明显的下降,2006年有所回升,而在后来的几年(2015年前)里依旧呈逐渐下降的趋势。2015年以前C语言使用量较为稳定(15%~20%),近两年迅速下降至10%左右。C++语言在过去的10年中呈动态下降趋势,2016年使用量占主流编程语言的6%左右。图1中未统计MATLAB使用量,因为MATLAB并非软件开发语言(图片来源于TIOBE编程语言社区)。

3 常用编程语言特点分析

3.1 C

C语言是一门标准化高的编程语言,适用于不同的计算机系统,因为它具有较好的可移植性,所以成为了应用非常广泛的语言。C语言方便灵活,语言简洁,它只有32个关键字,9种控制语句,运算符包含的范围广。所以,相较于其他的高级语言,C语言容易上手。但语法限制不严格,设计时比较自由的同时也使C语言被滥用。图2展示了一个C语言编程的常见错误,在if语句后误加了一个分号,此时不管是否'a>b',程序运行输出都是'a>b'。C语言可以进行系统程序的编写,比如UNIX就是由其编写的。C语言不仅是高级语言,而且还可以像汇编语言一样对物理内存、硬件直接进行访问与操作,有时因为操作不当也会造成严重的错误。

3.2 C++

1983年,贝尔实验室将改良后的C语言命名为C++,这门语言在保留C语言大部分设定的基础上增加了面向对象[3]。面向对象核心概念是类与对象,类就是一个由属性相同的对象组成的抽象集合,而对象是类的具体实例。C++语言可以直接以类为模板定义出若干个对象,所以面向对象技术使重用数据、代码变得更加便捷。相比C语言,C++语言更适合开发大型软件,许多系统支撑软件和应用程序都是由C++编写的。C++运行速度比C慢,和C一样都存在语法的滥用。

3.3 Java

Java语言的前身是由Sun公司在C++基础上改造出的Oak语言。Oak语言在经过许多年的修改后最终成为了现在的Java语言。与C++一样,Java同样是个面向对象的编程语言,它的数据库操作强大于前者,并且C++中不常用的特征都被删掉,使得Java更容易上手。Java的一项优点是它具有很好的安全性,因为它没有指针,所以不会被程序员得到一些隐藏的信息,也令Java更加可靠。Java语言适合于大型项目的开发,方便一些企业编写程序,但它在较底层的开发项目中显得不足。如今,由于Android系统的普及,作为其基本开发语言Java为更多人所知。

3.4 MATLAB

MATLAB也称作矩阵实验室[4],它包含了600多种数学计算所需的函数,在矩阵运算、数值运算和数据处理等方面的功能很强大,是一个专业的数学软件。它的语言简单,语法也相对不严格。MATLAB语言编写与我们日常书写的方式是很像的,易于上手。MATLAB的图形功能也十分强大,它可以根据数据方便地做出各种图形。MATLAB读取文件功能也十分强大,能够快捷、智能地读取各种数值文件。总之,在数学和科研领域上,MATLAB的便捷性和高效性是远远强于介绍的前3种语言的。

4 常用编程语言应用场景分析

在学习编程或进行软件开发时,编程者应当根据自己的任务需要选择合适的编程语言。C语言多运用于操作系统以及底层软件的编写,比如Unix、Linux和大家熟知的Windows系列等。与C语言相比,C++语言常运用于更上层的软件编写,比如QQ和迅雷等常见Windows桌面软件,另一个很重要的应用是大型游戏的开发。Java语言则更多运用在商业应用软件以及网站的开发,使用J2EE(企业级Java开发框架)能够快速、高效地完成大型商业网站开发任务。在目前流行的Android操作系统上,应用软件都是基于Java语言编写的。相比于其他3种语言,MATLAB广泛运用于科学计算编程,而不适合软件开发。

参考文献

[1] 倪瑞晓.C语言编程技术的分析研究[J].计算机技术与发展,2009,19(12):251-254.

[2] 贾俊奇.软件开发下的JAVA语言[J].中国科技信息,2014 (13):133-134.

编程语言篇(7)

【关键词】计算机;编程语言;选用技巧

1计算机编程语言的主要类型

1.1C语言

在20世纪80年代,C语言即得到了广泛的应用,同时由于其是基于B语言而开发所得,因而C语言在应用过程中逐渐凸显出兼顾高级语言、低级语言的优势,因而在当代计算机软件开发过程中应强调对其的合理化运用,同时将其含有的34种运算符、9种控制语句贯穿于计算机编程语言设定过程中,由此来丰富计算机语言表达能力,并强化其与用户间的有效沟通。此外,就当前的现状来看,现在的C语言包含有C、C++、C#和Objective-C语言等几种类型,因而由此呈现出语言紧凑、使用灵活、自由度较高的特点,为此通过对C语言的应用可由此优化语言交流环境,同时激发用户语言应用兴趣。另外,图形功能、逻辑判断功能、计算功能亦是C语言应用过程中凸显出的主要优势,即其可将抽象的数据信息直观化,因而应注重将其应用于计算软件开发过程中,并以C++、C#和Objective-C的设计形式扩大C语言应用范围。

1.2Vinsual

Basic语言VinsualBasic语言即可视化语言于1991年被相关专家学者开发出来,VinsualBasic语言在运用的过程中透过面向对象机制将复杂程序设计问题简单化,且由此整合成对象集,继而便于用户对自身所需数据进行整合与操控。

1.3JAVA

JAVA于1995年5月被推出,其作为程序设计语言中的一种,可实现跨平台、动态的Web、Internet计算,同时被广泛应用于Web设计领域中,支撑当前浏览器的运用。此外,就当前的现状来看,JAVA程序设计语言在应用过程中需要应用编程接口、虚拟机等部件的支撑,最终为Web服务、通信API等提供了良好的服务项目。

1.4PHP

PHP计算机编程语言属于HTML内嵌式的语言,旨在执行HTML文档信息,且融合了C、Java、Perl等多种语言,继而由此满足了用户对计算机平台的操作需求,并实现了对动态网页的支撑。

1.5Python

就当前的现状来看,Python语言被广泛应用于日常操作过程中,即可代替VBA对Excel进行操控,且具备自动检测的优势,继而便于用户通过Python语言对自身所需数据进行搜集。

2计算机编程语言选用原则

就当前的现状来看,计算机编程语言选用原则主要包括以下几个方面:(1)在计算机编程语言选择过程中应充分考虑到硬件环境因素的影响,且结合硬件技术更新速度较快的特点,尽量在计算机语言编程过程中将软件调整控制在较为简便的状态。(2)平台的支持性决定着编程语言应用成效,因而在计算机编程语语言选用过程中亦应强调结合C语言、VinsualBasic语言、Python、PHP、JAVA各自优势,继而达到良好的语言选用状态。(3)在软件开发过程中由于计算机编程语言是程序运行的关键,因而程序员应对程序总体需求展开调查行为,且对其需求数据信息进行整合,继而在此基础上选用适宜的编程语言应用类型,避免编程错误问题的凸显。(4)在计算机编程语言选用过程中充分考虑程序员对编程语言熟悉度及语言开发成本是非常必要的,因而应着重提高对其的重视程度。

3常用的计算机编程语言选用技巧

基于计算机编程语言选用的基础上,要求程序员在C语言选用过程中应注重结合其可移植性,以混合编程的方法来达到语言选用目的。同时随着现代化计算机技术的不断发展,高校在开展实践教学过程中逐渐将C语言纳入课程教学范围内,就此提高了学生C语言应用能力,因而在计算软件开发过程中应着重强调对C语言的选用。此外,在VinsualBasic语言选用过程中应注重结合其执行效率较低的特点,将其应用于复杂的程序环境下且保障执行效率满足程序运行需求。另外,在利用汇编语言进行程序编写的过程中应注重结合其结构较为复杂的特性,将其应用于初始化程序编写过程中,以此来形成效率较高的语言编写状态,并就此满足程序运行需求。在JAVA语言选用过程中应注重将其置入到Web服务环境下,同时提供灵活的环境,且以一次应用程序编写的形式将其应用于设备中,同时在JAVA语言选用过程中配置+、-、++、a>b?true:false等运算符号,由此满足JAVA语言应用需求。而在PHP语言选用过程中,应有助于结合PHP语言可应用于所有流行数据库、操作系统的特点,在语言选用过程中将其置入到特定环境下,并注重以C、C++进行PHP程度语言的拓展,且注重在PHP计算机编程语言选用过程中配置ISAPI筛选器,达到语言应用目的。除此之外,在Python计算机编程语言选用过程中应注重将其应用于EXCEL等日常操作中。

4结论

综上可知,编程语言的选用在计算机软软件开发过程中起着至关重要的影响作用,因而在此基础上为了提升整体程序运行效率,要求程序员在实际工作开展过程中应强化对汇编语言、VinsualBasic语言、C语言优势的掌握,并结合编程语言选用技巧达到良好的语言选用状态,且就此提升整体软件开发效率,满足程序编写需求,同时就此提升计算机整体使用性能,与用户达成良好的语言交流及沟通。

参考文献

[1]滕飞.基于C语言的计算机软件编程实验研究[J].无线互联科技,2014,21(11):47+79.

[2]邢如意.Linux系统下计算机C语言的编程技巧分析[J].电脑知识与技术,2014,45(36):8674-8675+8690.

[3]丛晓颖.常用计算机编程语言选用技巧探析[J].电脑编程技巧与维护,2015,20(12):27-28.

友情链接