公务员期刊网 精选范文 c语言开发范文

c语言开发精选(九篇)

c语言开发

第1篇:c语言开发范文

C++语言在计算机语言内使用频率最高,与其他语言相比,编程速度更快,在实际应用中具有更大优势。在应用C++语言来进行跨平台软件开发时,需要充分发挥其所具有的优势,对存在的缺陷进行规避,提高开发设计效果。本文基于跨平台软件开发要求,对C++语言应用要点进行了简单分析。

【关键词】C++ 跨平台软件 软件开发

应用C++语言来开发跨平台软件,即将应用程序代码处理成能够在已有平台下使用和执行的文件,但是对于其他平台,处理后的文件无法正常使用,尤其是Windoes与Unix平台,是C++语言的应用缺陷。为改善此缺陷,需要对源程序代码翻译成各平台下均可正常使用的文件,面对不同平台来选择编译方法,手动设计控制和管理编译条件,应用脚本文件和环境变量,以及第三方软件来对代码进行动态编译,降低跨平台软件开发难度。

1 跨平台软件开发环境要求

跨平台为现代软件开发的重要概念,可以降低对操作系统和硬件环境的依赖性,在实际开发应用程序中,想要实现跨平台软件的有效运行,就需要确定跨平台开发要求,支持各种不同平台,为发挥市场潜力提供动力。在构成开发环境时,需要软件编辑器、程序编译器与程序调试器作为支持,但是对于Sandbox软件来说,其可以同时实现代码编译和代码调试,并且内部各种平台需要有多种代码库和依赖库。程序开发过程中,源代码类型不同,在C++语言软件开发与编译时,需要对最终结果质量进行有效控制,产生最好代码,对错误捕捉与调试过程需要一定支持。跨平台软件开发即将抽象实现的过程,需要利用先进手段来对抽象以及相关设计进行研究,保证可以在不同平台上实现特殊编译。

2 C++语言跨平台软件开发设计要点

2.1 避免语言扩展特性

无论是选择应用那种语言进行编程,均需要选择应用较老的程序或者文件作为基础,因为其程序库内某些原有程序和公式具有规范性与标准性,完全区别于现在新程序库内杂乱无章的情况。在跨平台软件开发过程中,经常会出现各种故障,部分情况在获得支持后,依然会存在没有定义精神的事故。对于跨平台软件开发来说,有非常高的异常灵敏度,可以对新特性进行无限利用,这样就造成软件在排除异常情况时难度更大。这样在应用C++语言进行跨平台软件开发时,可以调用C++标准函数模型,提高已开发软件与产品的稳定性。

2.2 实现动态处理

就C++语言跨平台软件开发来说,需要有多种环境运行可移植代码库进行编写。在实际软件开发过程中,要对常见问题进行有效避免,且处理一个平台在另一个平台没有特性这一问题,实现动态性处理。

2.3 脚本文件管理

在应用C++语言开发跨平台软件时,需要做好脚本文件的基本管理,在保证所编写代程序代码简单易懂前提下,降低其复杂性,达到简洁目的,完成合理软件结构的构建。会与平台相关文件以及数据库进行有效隔离,在软件项目开发阶段,通过脚本文件来对进行一定程度上的编译,对其在各个部位进行合理分配。在使用应用程序时,需要将配置文件内相关配置选项调配出来,读取内部程序,然后在跨平台软件开发时,利用页数手段来将平台相关关联文件进行全部分隔。

2.4 串行化使用

就C++语言开发跨平台软件时,需要做好跨平台数据存储安全性与可靠性研究和管理,消除项目开发过程中存在的缺陷。C++语言在开发跨平台软件时,可以利用软件fread指令,来综合处理各编译器与单一目标平台,并在实际跨平台操作环境中,通过实际方法来对数据进行不同程度的存储与加载,实现平立性的有效保障。其中,在利用跨平台对数据在目标文件中的存储时,不同平台间具有一定差异性,并且在实际应用中,也会产生多种结果特征。

2.5 编译与测

C++语言跨平台软件开发中的编译与测试,需要保证存在关联的代码在长时间使用中,可以在其他平台中进行有效检测,并利用不同平台来完成测试,确定软件项目是否存在bug,并及时调整处理,保证软件可以正常运行。

2.6 实现抽象

实现抽象对跨平台应用程序中被移植过程中存在一定有效性,应用此特点可以实现对软件的单独性开发,确定具有单独性与简洁性的程序,利用多种函数进行开发设计。C++语言则是应用封装方法,来实现抽象过程,且要根据实际情况进行分析,如果存在特殊情况,还需要通过其他程序来进行调用,并做好功能基础明明。在实现抽象阶段,如果该程序以及公式使用后,需要对该功能进行直接调用,确保其功能可以有效实现。

3 结束语

基于C++语言来进行跨平台软件开发,需要基于C++语言特点,确定跨平台软件开发要求与要点,做好每个环节控制,保证项目开发过程的规范性与有效性,实现软件在不同平台的有效执行。

参考文献

第2篇:c语言开发范文

关键词:C语言;DSP;嵌入系统

中图分类号:TP301 文献标识码:A 文章编号:16727800(2012)011002602

________________________________________

作者简介:罗莎(1982-),女,北海职业学院讲师,研究方向为计算机软件。1 DSP系统国内外发展现状

自1978年AMI公司世界上第一个单片DSP芯片及1980年日本NEC公司推出第一块单片DSP器件以后,美国TI公司于1982年推出了第一代DSP芯片即TMS32010系列,到目前为止已研发了第六代DSP芯片——TMS320C62X/C67X、TMS320C64X等;而美国Analog Device公司也推出了一系列有自己特色的定点、浮点的DSP芯片。随着芯片生产技术的发展,DSP嵌入式系统也相应得到大力发展,无论是国际或是国内,对于DSP系统的研发都有了一定成就。

1.1 国外发展现状

最早的DSP嵌入式系统是从国外发展起来的,而且随着国外先进技术的迅速发展,国际DSP系统始终保持着良好的发展势头,尤其是以欧美为主的国际市场,发展极其迅猛。如美国的Pentek公司、DSP research公司、Motorola公司以及加拿大的Dy4公司等,都是发展规模相当大的DSP生产公司,很多DSP系统的情况都可以从这些知名公司推出的产品信息来获得。比如说Pentek公司的4293处理板,用8片TI公司生产的300MHz、有19200MIPS处理能力的TMS320C6203芯片,集成了同等数量的32M同步动态随机存储器(SDRAM),而数据吞吐为每秒600M。

上个世纪80年代以来,DSP系统随着数字信息处理技术的发展被迅速推入市场,伴随着日趋激烈的竞争,各DSP生产公司不断调整、优化发展规划,深化了DSP系统产业化进程,DSP系统进入产业化是DSP应用程序成功的一个重要标志。

1.2 国内发展现状

近些年来,随着我国信息技术产业的飞速发展,DSP嵌入式系统也有了较好的发展,并已被我国数字信号处理、数字通信、雷达以及图像处理等高科技领域广泛应用,为我国高新技术产业乃至整个国民经济发展做出了很大贡献。

目前,我国许多高校以及科研机构都在致力于DSP嵌入式系统的研发,同时取得了相当大的成就。但是,我国主要的核心处理器件几乎都是从国外进口,相较于国际先进技术水平,我国在数字信号处理理论方面以及对高速率、高性能处理器的设计和制造方面都还有很大差距。因此,我国在半导体研究领域更要投入大量的研发力度、人才及资金等,这就要求我国科研人员要有敢于拼搏、艰苦奋斗的精神和坚持不懈的毅力。

2 DSP嵌入式系统应用情况

目前,全球生产DSP的公司有80多家,而生产出来的DSP芯片也多达300多种。生产DSP的公司主要有TI公司、Lucent公司、Analog Device公司以及Motorola公司,其中TI公司以及AD公司极具代表性,被以高新技术生产领域为主的各个生产领域广泛使用。

自从TI公司研发了第一代DSP芯片以来,其在业界始终处于领军地位,尤其是到现在为止生产到第六代DSP芯片系列,都促进了DSP系统的发展。其中以:TMS320C2000、TMS320C5000和TMS320C6000系列被我国引进并广泛投入数字信号处理领域。其中TMS320C2000系列的高性能、高效率被广泛应用于工业控制领域,该系列处理控制能力强外,还提供了方便与高性能器件相连的接口,其主要型号有TMS320C24X/28X系列;TMS320C5000系列性能高但功耗低,最低功耗可以达0.33mA/MHz,而最高达到900MIPS的处理速度,适用于移动、手持系统,其主要有TMS320C54X/55X系列型号;TMS320C6000系列可以说是高端DSP系统的代表,其浮点运算可达600~1 800MFLOPS、定点运算可达1 200~8 000MIPS的运算速度,其中浮点系列主要型号为TMS320C64X,是TI公司最新研发的高性能定点DSP处理器,浮点系列主要型号为TMS320C67X。

另外一个DSP生产势头良好并发展迅速的是美国AD公司,其所生产的DSP系统主要有SHARC、TigerSHARC以及Blackfin系列。其中SHARC系列被广泛应用于商用或军用雷达、声纳信号处理等领域,虽然其单片处理能力不高,但连接组成DSP阵列便能提高速率及性能;而从SHARC改进的TigerSHARC为高端DSP,其不仅处理能力极高,而且有容量极大的随机存储器(RAM),适用于软件无线电领域;至于Blackfin则是功耗低但性能高的DSP,适用于便携式的通信产品。

我国某高校研发的基于TMS320C6201的高速实时DSP处理平台,其允许输入数据的动态范围为16比特,若512点的FFT可以在59微秒内完成,若是1 024点的FFT,也可以在130微秒内完成。我国某电子技术研究所研发的DSP雷达数字信号处理通用模块用6片美国AD公司生产的ADSP21060芯片和大量可编程器件构建而成。以快速傅里叶变换(FFT)算法来看,以FFT、IFFT及复数乘法3个流水处理过程实行DSP组成的并行处理,若在33MHz的时种下,0.7毫秒就可以实现1 024点处理,而实现的单通道数据率是1MHz,双通道的并行工作率是2MHz。

3 C语言开发下DSP系统应用技术分析

TI公司DSP芯片的硬件编程主要有:用汇编语言、用C语言及用DSP/BIOS可视化编程工具。其中汇编语言程序指令不易读懂,且通用性极差,而对于底层的硬件控制,DSP/BIOS可视化编程工具又显得极为抽象难懂,相较于此二者,C语言适当平衡了二者的优缺点。首先,它作为一种高级语言,以其自上而下的模块化设计原则发挥了可移植性强、易读懂的优势,其次,它可以取代汇编语言的硬件控制能力,极细致地改写硬件寄存器数值。

本文以TI公司生产的TMS320VC33为例,介绍C语言开发下的DSP嵌入式系统在TI公司提供的与DSP芯片相匹配的软件集成开发环境Code Composer下的研发技术情况。

对TMS320VC33芯片的C语言开发,主要从以下几个步骤来实现:

(1)编辑C语言源程序。在Code Composer环境下,新建一个CSRJ.MAK工程,然后再新建一个以C语言源程序为内容的C源代码文件CSRJ.C以及一个程序设计时对TMS320VC33寄存器定义的头文件VC33.H,并将这两个文件添加到CSRJ.MAK工程。

(2)编译和链接。Code Composer环境下的汇编器及编译器建立的公共目标文件格式COFF极易于实行模块化编程,而且提高了编写程序的可读性及可移植性,使代码段以及存储器的管理更加灵活而有力,也提高了C语言程序编写的便捷性。公共目标文件格式中最小单位段在COFF目标文件中是及其重要的,它在存储器中占据着连续空间的数据块或代码。而链接器对段的处理主要是将公共目标文件中建立起的数据块以及程序块组合成可以被DSP芯片执行的COFF输出模块以及为每一个输出块指定存储地址。以下是—个TMS320VC33芯片的被命名为CSRJ.CMD的典型CMD文件:

csrj.obj /*源程序编译后对应的目标文件*/

-1Rts30.1ib /*链接Rts30.1ib库*/

-stack0x800 /*设定系统堆栈2K大小*/

MEMORY /*命令规定系统的存储器配置*/

{STACKRAM: origin=0x00807000,1ength=0x00001000 /*内部RAM*/

RAM: origin=0x00800000,1ength=0x00007000 /*内部RAM*/

VECTORS:origin=0x00809fcl,length=0x63 /*中断向量表区间*/}

SECTIONS /*SECTIONS命令规定程序中段的具体分配分配方法*/

{.text:{}>RAM /*系统程序存放位置*/

.cinit:{}>RAM /*初始化表存放位置*/

.bss:{}>RAM /*未初始化数据存放位置*/

.stack:{}>STACKRAM /*堆栈存放位置*/

vectors:{}>VECTORS /*中断向量表存放位置*/}

(3)在线仿真。连接仿真器与目标板。打开Option菜单下的Program Load选项,将所有选项全选,若要编译或载入链接生成的CSRJ.OUT文件,单击界面上Rebuild All按钮即可,而单击界面上的Run按钮,则为仿真运行。

(4)固化程序。TMS320VC33芯片要存储固化程序,通常是外挂FLASH或EPROM,也就是说,固化程序前要按照外挂的具体要求,把CSRJ.OUT文件转换为相应的格式,然后将其写入FLASH或EPROM。

4 DPS系统发展趋势

首先,目前生产的DSP主要基于精简指令集(RISC)结构,具有功耗低性能高并且尺寸小的优点,将MPU核、DSP核、专用处理单元以及电路单元并存储单元汇集在一个芯片上,向着集成DSP方向发展是未来DSP系统的一个发展趋势;其次,会在高性能处理器占主要地位的为单指令多数据流(SIMD)和多通道结构、超长指令字结构(VLIM)、多流水标量结构以及可并行的超级哈佛结构;并且,为使DSP系统在各个生产、生活领域更方便应用,进一步降低功耗和尺寸,提高速率及性能,尤其是便携式手持系统方面的应用,更应在保证性能的基础上注重减小尺寸;最后,可与可编程器件形结合,DSP系统在实际应用时经常需要借助其他器件,比起单独的DSP系统应用,能够更好地提高工作速率。

5 结语

综上所述,数字信号处理(DSP)系统在科学技术与社会经济发展中起着不可替代的作用,DSP处理器不仅速率快、性能高,而且功耗低、尺寸小,被许多高新技术产业广泛认可并大规模投入应用。而相较于汇编语言编写的DSP应用程序,用高级C语言研发的DSP嵌入式系统可移植性高、可读性强,并且易于修改及维护。因此,以高级C语言编写的DSP应用程序有很大的可开发性,是以后DSP系统的重要发展方向,对高新技术产业乃至于整个国民经济建设的发展有极大的促进作用。

参考文献:

[1] 周华.DSP嵌入式系统下的C语言开发[J].中国高新技术企业,2010(8).

[2] 李从宇,王宝光.嵌入式DSP系统C语言硬件编程技术[J].测控技术,2007(4).

[3] 苏延川.基于ADSP-TS101的嵌入式系统混合编程及优化方法[J].现代电子技术,2009(20).

[4] 胡世锋,张海涛.用C语言实现DSP程序设计的新方法[J].河北北方学院学报,2009(3).

[5] 张晓林,路程,崔迎炜.DSP技术的应用现状和发展[J].测控技术,2004(21).

[6] 顾颖.浅谈如何借鉴MISRA规范减少DSP程序设计的隐患[J].信息化研究,2009(10).

[7] 常丹华,贺树猛.基于DSP的嵌入式视频监测系统的设计与实现[J].电子技术,2009(3).

第3篇:c语言开发范文

关键词:C语言程序设计;学习;支持系统

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)34-0074-02

C语言广泛运用于工程技术软件开发中,其运用非常广泛。C语言是学习其他计算机技术的基础,如学生要进行工程数值计算、计算机图形技术等技能的学习都要学习C语言。C语言学习具有一定的难度,为了解决学生在C语言学习中遇到的问题,本文进行了C语言程序设计学习支持系统的开发。该学习支持系统用于解决学生上机编程遇到大问题,帮助学生发现问题并技术解决问题,有效提升学生编程能力以及程序调试能力,在C语言程序设计教学以及学习中有着很高的推广价值。

1 系统开发思想及相关技术

本系统在开发中采用了原型开发法。原型开发法就是在系统的开发初期通过调查用户需求进行系统原型的构建,原型系统构建完成后要给用户使用,在使用过程中根据用户的使用意见不断地对系统进行补充和完善,通过数据补充、结构调整、模型重建等工作形成新的原型,系统经过如此反复几次后能够逐渐满足用户的使用需求,最终形成明确的系统定义及用户界面要求。这种系统开发方法实施的关键是能够在最短时间内运用最经济的方法全面掌握用户的实际使用需求,并以此作为系统原型开发的依据。原型法流程:明确需求开发原型系统使用系统不断完善系统形成最终系统。

1.1 VC++

VC++是一种广泛运用于系统开发的工具,该软件开发工具由微软公司开发完成。VC++包含很多组建,这些组建沟通构成了系统的开发环境,同时也为用户提供了开发过程中所需编辑、编译、调试、联机等工具。VC++具有功能强大、集成度高等优点,对于提升系统开发效率有很大的帮助。

MFC是VC++的核心部分,其中包含了Windows软件开发工具包中的所有结构和功能,其作用是为用户提供应用程序框架,用户所要进行的很多编程工作都可以通过这一应用程序框架进行。MCF是微软公司提供的面向对象的Windows程序开发的最佳方法,具有高效、易于维护等优点,这就使得VC++被广泛运用于系统开发中。

1.2 Microsoft SQL Server2008数据库

在Microsoft SQL Server整个产品线中,Microsoft SQL Server2008版本拥有比较重要的地位,因为它对之前版本的改进更加的更加彻底,很多的关键技术得以改进,增加了更多新的特性,其功能更加强大和全面,该版本是公认的Microsoft SQL Server产品中性能最强大和全面的一代。本文也将对这些新的特性、功能等进行介绍。

Microsoft SQL Server2088能够满足当今数据爆炸式发展的应用需求,在设计所运用的前瞻性技术使得该平台在未来使用中也能够满足需求。

Microsoft SQL Server 2008有以下特点:可信任――该平拍的安全性和稳定性更好,同时也具有更好的可扩展性,企业可以利用这些特性进行关键应用程序的应用,能够保证系统整体的稳定性和安全性;高效――用户运用简单的数据基础设施花很短的时间就可以完成系统的开发实现数据管理;智能――实现了数据的自动化管理,会根据用户的需要进行观察信息的发送。

1.3 专家系统

专家系统的应用是本系统的关键,同时也是特色之一。

专家系统是由内容专家及程序员组成一个小组所完成的一种计算机程序,专家系统可以模拟专家对学生在学习过程中遇到的问题进行解决,因此专家系统是一个解决问题或者作出决策的过程。专家系统的原理是用户向系统提交所遇到的问题,其关键是要详细描述问题,系统会根据用户所提交的问题对知识库进行查找,并根据知识库中的相关内容给出解决方案。

专家系统不但能够解决学生学习中遇到的问题,更重要作用是不断完善系统知识库。本系统的知识主要包含两方面的内容:一是C语言程序设计相关的知识信息和数据资料;二是运用C语言进行编程所具备的知识以及相应的技能。

专家系统由知识库和推理机两个部分组成。知识库中的内容包括事实内容和规则内容,知识库中的事实和规则是系统开发人员在系统建设过程中采用程序的形式输入的;推理机属于逻辑单元,其实质是系统中的一种程序,推理机的主要作用是接受并分析使用者提交的问题、查找相关信息、推理、给出解决方案。通过界面就可以实现对专家系统的访问。

2 设计原则

2.1 实用性原则

以提升学生C语言程序设计学习效率作为系统的开发目标,将绩效管理运用于系统中,通过系统提升学生的编程能力以及程序调试能力,因此必须保证系统具有很强的实用性。

2.2 兼容性、稳定性原则

在系统开发过程中考虑到了软件的兼容问题,C语言的上机编程学习过程从设计开发的角度确保系统工作稳定。

2.3 可扩展性

用户在使用系统的过程中经常会上传信息,用户所上传的这些信息在经过一定的处理后会储存在系统中,随着信息量的不断增大,系统所面临的信息存储压力会逐渐增大,为了保证系统的正常运行,系统必须要具备良好的可扩展性。

3 功能设计

根据电子绩效支持系统理念及学生学习C语言学习的特点将本系统划分为学习支持模块和信息库管理模块。

3.1 学习支持模块

学习支持模块就是学生在进行程序调试过着编程过程中遇到无法解决的问题时可以利用这一模块解决难题。学习支持模块包括编译诊断和编程思路分析两个部分。

3.1.1 编译诊断

编译诊断功能是学生在编程练习中遇到无法解决问题的时候能够对学生提供帮助,帮助学生分析编程中的错误。编译诊断是由问题诊断和上传程序两个部分组成。

学生在运用C语言进行编程时出现错误时可以运用该功能进行分析。具体操作如下:启动系统提交出错信息(根据需要输入参数)回答系统根据数据库信息所进行的设问系统给出判断。如果系统无法对用户提交的编译错误信息进行诊断就说明该系统的知识库不够全面,系统会提出没有找到相关信息,用户需要上传源程序,系统会将问题汇总由专家进行诊断,并由此对系统的知识库进行补充。

3.1.2 编程思路分析

学生在进行复杂程序编程练习时经常会会出现思路混乱的情况,当学习遇到编程思路混乱的时候可以登录C语言程序设计学习支持系统运用编程思路分析功能对程序进行分析以完成编程。学生通过系统的问题分析功能对编程过程中遇到的问题进行分析并得出解决方案,不但可以帮助学生锻炼程序分析的能力,同时也能够提升学生的编程能力。

同时该系统还提供了帮助功能,帮助功能主要是帮助学生掌握本系统的操作。

3.2 信息库管理模块

信息库管理模块由用户信息库管理、出错知识库管理、推理知识库管理、编程思路分析信息库管理几个部分组成。

3.2.1 用户信息库管理

该功能主要用于用户信息、密码、权限、上传程序等信息进行管理。用户登录系统后,系统要根据系统的相关信息进行权限的分配。用户信息库还要存放用户上传的程序编译错信息。

3.2.2 出错知识信息库管理

该管理工作由教师完成,教师可以运用出错信息库管理功能实现对各自出错信息的添加、修改、删除等操作,这一功能的主要作用是根据教学的需要来不断完善系统的出错信息库,保证系统能够准确进行编译出错诊断。

3.2.3 推理信息库管理

C语言教师可以通过这一功能对系统的推理路径进行修改和添加以保证系统进行编译诊断的准确性。进行推理路径添加操作时,教师C语言教师首先要选择相应的编译错误信息,这是编译错误信息添加的入口,找到入口后将专家所设计的推理路径以图形的形式添加,对应的数据ID信息被记录到推理路径信息库中。对于系统无法准确针对的编译错误信息,C语言教师也要对其进行分析并设计相应的推理路径,同时还将新的推理路径添加到推理信息库中。

3.2.4编程思路分析信息库管理

C语言教师可以运用这一功能实现编程思路的添加、修改和删除等操作。

4 数据库设计

在系统开发过程中,出于对系统的使用需求和建设工作量的考虑,系统数据库包含6张数据表,包括用户信息表、出错知识表(编译错信息表、设问信息表、诊断信息表)、推理路径表和编程思路分析信息表。

用户信息表:该表内容包括用户基本信息和上传程序等;

出错知识表:包括编译错误表、设问信息表、诊断信息表,其内容包括信息和ID;

推理路径表:该表中的内容包括推理路径节点。节点类型有叶子节点、入口节点、出口节点、中间节点;

编程思路分析信息表:该表中的内容包括编程思路分析信息和相应的ID。

5 系统开发

5.1主页

系统登录界面,学生的学号就是其用户名,系统为学生设置了初一密码,学生登录系统后可以对密码进行更改,学生只有输入正确的学号和密码才能登录系统。

5.2学习支持模块

5.2.1 学习支持主界面

学习主页面,由图中可以看出,学习支持模块包括编译诊断、编程思路分析和帮助三个主要功能。编译诊断功能是学生在编程练习中遇到无法解决问题的时候能够对学生提供帮助,帮助学生分析编程中的错误;编程思路分析功能为学生进行编程问题分析提供支持和帮助并给出解决方案;帮助功能主要是帮助学生掌握本系统的操作。

5.2.2 编译诊断

编译诊断流程:启动系统提交出错信息(根据需要输入参数)回答系统根据数据库信息所进行的设问系统给出判断。如果系统无法对用户提交的编译错误信息进行诊断就说明该系统的知识库不够全面,系统会提出没有找到相关信息,用户需要上传源程序。

5.2.3 编程思路分析

学生在进行复杂程序编程练习时经常会会出现思路混乱的情况,当学习遇到编程思路混乱的时候可以登录C语言程序设计学习支持系统运用编程思路分析功能对程序进行分析以完成编程。能够进行问题分析是本学习支持系统的重要功能,学生通过系统的问题分析功能对编程过程中遇到的问题进行分析并得出解决方案,不但可以帮助学生锻炼程序分析的能力,同时也能够提升学生的编程能力。图5是编程思路分析的主界面,这个界面包含多个标题,学生可以根据编程的题目进行选择。以“顺序结构程序设计”为例,学生在进行这类题目编程时可以点击“顺序结构程序设计”,页面会跳转至编程思路分析界面,该界面中包含“顺序结构程序设计”的所有题目,学生可以根据自己所编程序进行选择所要分析内容。

C语言广泛运用于工程技术软件开发中,其运用非常广泛。C语言是学习其他计算机技术的基础,如学生要进行工程数值计算、计算机图形技术等技能的学习都要学习C语言。C语言程序设计学习支持系统主要是用于上机编程练习中帮助学习进行问题诊断以及分析编程思路,帮助学生发现问题并技术解决问题,可以有效提升学生编程能力以及程序调试能力,对于学生的C语言程序设计学习效果和效率的提升有着非常大的帮助,在C语言程序设计教学以及学习中有着很高的推广价值。

参考文献:

[1] 朱晓江.C语言程序设计学习支持系统的设计与开发研究[J].电子技术与软件工程,2015(13):250-250.

[2] 张健,高振栋.C语言智能学习系统的设计与开放[J].软件导刊,2014,5(5):119-120.

第4篇:c语言开发范文

[关键词]课程设计 教学方法 考核手段 能力培养

一、引言

近年来,各高校越来越重视对学生实践能力的培养,各类课程设计在教学中所占的比重明显增加。对于计算机系的学生,尤其是以培养应用型人才为目标的学生,开设各类课程设计课就显得尤为重要。

本文以C语言课程设计为例,介绍了在实际教学中所采用的教学计划、教学方法以及考核手段,通过对各个教学环节的分析和总结,探讨了如何在实践中培养学生的软件开发能力的方法。

二、C语言课程设计教学计划

C语言技术是计算机最重要的应用领域之一,也是发展较快的领域之一。其应用早已渗透到各个行业,C语言系统的开发、管理与维护是计算机专业人员必须要掌握的基本技能。因此在完成了理论教学之后,后续的C语言课程设计的安排是很关键的。

我们根据学生的实际情况,制定了相应的教学计划。要求选修C语言课程设计的同学必须先修C语言原理,具有程序设计的基础。课程的主要内容包括C语言设计概述、需求分析、概念结构设计、逻辑结构设计、C语言的物理设计、C语言的实施和C语言系统的管理维护。本课程以实践为主,教学目标是使学生能独立设计C语言应用系统,掌握C语言设计的过程和方法。根据本课程的特点,充分重视上机实践的环节,课程在机房上,有利于学生学习。

本课程安排在一个学期内,教学周数为18周,每周6学时。每周具体内容安排如表1。

三、各阶段教学方法

由于各阶段的任务不同,要求也不相同,因此分阶段采用不同的教学方法,以一个学生熟悉的、容易理解的C语言项目开发过程为主线,贯穿整个教学过程,将相对枯燥的理论知识与实践联系起来。

题目选取阶段是C语言课程设计的初始阶段,也是决定能否达到教学目标的关键性阶段。如果题目选取得太大、太难,或者是学生不熟悉、很难接触到的领域,做起来太困难,会影响学生的积极性,势必会影响到后期的学习效果。而题目太简单,又达不到教学标准。因此在本阶段,采取教师提供参考题目,学生自主选择的方法。教师根据开题报告整理出小组题目以及成员,并简要分析选题的难易程度。在第二周的开题讨论上让每小组派代表进行发言,大家分析讨论题目的可行性,对于选题不合理的,重新修改。这阶段可以充分调动学生的积极性,活跃大家的思维,实际教学效果良好,很多学生的选题都具有现实应用意义。

题目确定完之后,就要进行需求分析。很多学生认识不到这部分的重要性,选定题目后就想开始代码的编写工作,往往做了一半就进行不下去。因此教师在课堂上要通过实例充分讲解需求的分析重要性,讲解具体的需求分析方法,使学生理解需求分析是整个设计过程的基础,同时掌握基本的需求分析技能。在需求分析阶段,要尽可能收集课题的完备需求,可以利用不同小组互相模拟实际用户的形式,增加学生的交流能力和开发兴趣。在需求分析阶段,要完成系统的数据流图和数据字典。高质量的完成需求分析工作可以巩固学生在理论课上学到的数据流图、数据字典等基础理论知识,并提高学生的归纳总结能力。

确定用户需求后,进入系统设计阶段。系统设计阶段要完成应用系统的设计和C语言设计。应用系统的设计要完成课题应用软件的架构设计和具体功能模块的划分。C语言设计要结合应用系统的设计,逐步完成C语言的概念结构设计、逻辑结构设计和物理设计。概念结构设计阶段是整个C语言设计的关键,该阶段通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型;逻辑结构设计阶段要将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化;物理设计阶段要为逻辑数据模型选取一个最适合应用环境的物理结构。C语言设计不但可以加深学生对ER图等理论知识的理解,还有助于提高学生的软件系统设计能力。

系统实现阶段,教师对采用的教学案例代码进行演示,针对不同的程序设计语言对C语言的连接部分进行讲解,并给出相应的示例代码。此阶段主要是学生动手编写代码,完成系统功能。要指导学生编写高质量的代码,包括变量的命名方法、代码的书写规则、代码的注释规则等。这阶段教师可采用启发式教学,对于学生在设计中遇到的问题,要引导他们学会查找资料,自己思考解决。

系统测试阶段,包括单元测试和集成测试。要指导学生进行测试用例的编写,掌握正确的测试方法。对于C语言系统,还要进行C语言的性能测试和容量测试。通过系统测试,使学生掌握正确的测试方法,有效提高软件的质量。

四、考核方式

教师在每个阶段都会进行检查,对完成情况进行记录。开题阶段,要求学生以小组为单位,完成开题报告,并确定选题是否合理。在需求分析阶段,要求每组上交需求分析。在接下来的系统设计、实现及测试阶段,要求学生详细记录设计思想、设计方法、实现过程及测试结果,整理出完整的课程设计报告书。最后由教师综合考虑以下几方面的因素,给出总评成绩,包括文档的完成情况、开发环境的选取、系统功能实现情况、用户界面的设计以及现场演示答辩的效果。通过以上方式,较综合、客观地评价了学生的文字及语言的表达能力以及系统设计、程序开发的能力。

五、结束语

教学实践表明,这种形式的C语言课程设计,可以使学生有效地巩固对基础理论知识的掌握,可以使学生系统地了解软件开发流程,提高学生的软件工程化开发能力,增强学生的就业竞争力,并且可以建立学生的团队意识,提高学生的交流和协作能力。

第5篇:c语言开发范文

关键词:软件工程 编程语言

中图分类号: TP311文献标识码:A文章编号:1672-3791(2012)03(a)-0000-00

2010年3月,国务院学位委员会了新修订的学科目录。对计算机专业来说,此次修订最大的变化是软件工程从隶属于计算机科学技术的二级学科上升为同其平行的一级学科,这意味着随着计算机技术的发展,软件在计算机中的作用越来越大,从而使计算机最核心的东西,编程更加重要。那么,软件开发人员应该掌握那几种编程语言呢?笔者认为:软件开发人员应该掌握以下几种语言:C语言, C++及VisualC++,Java语言,Visual Basic及Access.。现分别阐述如下:

1 C语言

C语言已经诞生30多年了,今天仍然被广泛的使用,而与它同一时期出现的语言,许多都已经被淘汰了,这充分说明了C语言内在的强大的生命力。今天,C语言已经成了工科专业的必修课和计算机等级考试的必考语言。对计算机及相关专业来说,C语言是最应该被掌握的,其原因有三。第一,C语言短小精悍,功能强大,通用性好,目前从大、中型机到工作站、微型机,几乎都配有C语言编译系统,这有助于C语言的学习和开发。第二,C语言对于理解其它计算机编程语言乃至计算机工作原理都有很好的帮助作用。正如一位美国信息专家所说:“大学生毕业前要学好C语言,C语言是程序员共同的语言。C语言比其他高级语言都更接近机器。如果你不能解释为什么while(*s++=*t++)的作用是复制字符串的,那你就是在盲目无知的情况下编程,就像一个医生不懂最基本的解剖学就在开处方。”这句话很好的道出了C语言的本质。第三,对于自动化等专业的学生来说,经常要用到单片机对系统进行控制,由于汇编语言的复杂及通用性差,C语言有取代汇编语言的趋势。

2 C++及Visual C++

自从微软推出视窗操作系统以来,图形窗口界面成了事实上的工业标准。现在的操作环境大部分都是窗口环境,而要用C语言编写一个窗口界面简直是一个令人望而生畏的任务,用VC++则轻而易举。并且C语言是面向结构的,可重用性差,难以面对大规模的任务。而从C语言脱胎而来的C++语言除了继承c语言的优点之外,还具有封装性、继承性、多态性等面向对象编程语言所具有的所有特征,可以很好的应付大规模的任务。看到这里,读者可能要问,既然这样,我只学C++语言好了,不用学C语言了,其实不然,虽然C++包含了C,但C++是面向对象的,而C语言是面向过程的,由于C++过于庞大复杂,很难掌握,所以非专业人员只要掌握C语言就可以了。需要特别强调的是目前C语言的主流开发环境也是VisualC++6.0。这里需要注意的是VisualC++与C++并不是一回事,C++是一种语言,而VisualC++是微软公司所提供的一种开发环境。另外,这里之所以将C++及VisualC++合起来谈,是因为微软在软件领域的垄断地位,及庞大的MFC(微软基础类库)可以利用。在Visual C++环境下学习C++还可以更好的了解微软的产品及工作原理。

3 Java语言

随着互联网的出现,软件的开发模式从单机转向网络。Java就是一种很好的针对网络开发的语言,当然,VC++也可以。前面已经讲过,VC++过于复杂,难以掌握,因此java就成为一个不错的选择。Java语言抛弃了C++中指针,多重继承等复杂概念,相比C++简单了很多。并且它也是完全面向对象的,即具有封装性、继承性、多态性。虽然Java不具有多重继承功能,但通过接口属性也可以实现多重继承。Java是一个分布式语言,利用J ava来开发分布式的网络程序是Java的主要应用之一,Java的安全性高是受人青睐的另一个主要原因。因此对于非计算机专业人员,Java就是一个很好的选择。Java是与平台无关的,对于目前主流的两大操作平台,Windows与Linux都可以很好的支持,Java是通过Java虚拟机来实现与平台无关这一机制的。由于计算机专业人员需要熟悉不同的操作平台进行开发,因此,计算机专业人员也应该掌握Java语言。

4 Visual Basic及Access

我们知道现在是信息社会,对于信息的管理来说,经历了人工管理,文件管理,数据库管理等阶段,目前,大型信息系统都是数据库管理。因此对一个软件开发人员来讲,还需要掌握一门数据库语言,目前主流的数据库语言是SQL语言。VB对数据库的支持就很好,并且内置了SQL语言。在功能强大的VC++中访问数据库要比VB复杂的多。而且VB简单易学,入门容易。对数据库管理系统来说,Oracle和SQLServer过于庞大,内容繁杂,不容易入门。Access虽然是针对小型数据库的,但是功能也很强大,并且与Oracle和SQLServer一样,都是主流的关系型数据库管理系统。Access通过它的工具VBA与Visual Basic紧密集成在一起。学习VB还可以对微软的Office系列产品进行更深入的了解。目前,用VB和VBA(Visual Basic for Application)进行开发仍有一定市场。

5 结语

本文探讨了软件开发的四种编程语言,并分别指出了它们的特点及性能。当然并不是说,只学习这四门语言就够了,软件开发人员要学习的东西还很多,比如数据结构、操作系统、组成原理、编译原理、计算机网络等。但这四种语言应该软件开发人员应该掌握的四种语言。目前软件开发有专业的开发人员和非专业的开发人员,所谓专业的开发人员是指计算机专业毕业,系统的学习过计算机理论知识,他们是软件开发的骨干。非专业开发人员是指没有系统的学习过计算机理论,但由于工作关系又经常接触计算机,因为现在是信息时代,他们是计算机开发的主力,因为他们熟悉本行业的流程,专业人员与他们结合起来才能开发出高效的软件。考虑到计算机与非计算机专业之间的差别,这里给出学习四种语言的如下建议:对专业开发人员来讲,四种语言都应该掌握或至少熟悉。对于非专业人员,掌握四种语言有较大困难,可在掌握VB及Access的基础上再掌握一种语言(笔者推荐C或者Java)。

参考文献:

[1] 谭浩强. C语言程序设计[M]. 清华大学出版社.2010.

[2] 孙鑫. 余安萍 VC++深入详解[M].电子工业出版社. 2006 .

[3] 朱福喜. Java语言程序设计[M]. 科学出版社.2009

第6篇:c语言开发范文

关键词:编程语言;计算机应用软件;软件开发

计算机应用软件在现代人们的工作与学习中起到了重要的作用,被广泛应用于各行各业中,具有极其重要的影响。不同的编程语言具有不同的特点,通过在计算机软件开发中的合理选择,能够有效减轻软件开发难度,同时能够有效提升编程效率与质量,对于计算机软件的更新与开发具有重要的现实意义。需要加大对编程语言的研究,从而有效发挥编程语言的特点,从而更好地符合软件开发目标,推动计算机软件的进一步完善。

1计算机应用软件开发中常见的编程语言

目前计算机应用软件开发中常用的编程语言包括C语言、C++,Java和C#等,笔者简单介绍了这些软件开发中应用频率较高的编程语言[1]。只有深入分析这些编程语言的特点,才能够全面把握编程语言的适用范围,才能够提升软件开发工作的效率和质量。

1.1C语言

C语言在20世纪80年代被广泛应用于计算机应用软件的开发中,在日常生活中都有普遍使用,例如大型主机的中心控制中。随着研究时间的增加,C语言在现代得到了普及使用,成为一种主流的编程语言,且得到了软件开发人员的认可,足够说明改语言的应用价值[2]。C语言在软件开发过程中,无需借助计算机硬件或其他方面的功能。C语言具有许多独特的优势,不但有着完善的设计语言,还能够为操作系统编制需要的应用软件;同时还具有短小精悍、语法简洁、使用便捷、结构丰富、运算符号全面且功能强大等优势。C语言拥有32个关键词、9类控制语句,从而构成基本的高级控制结构、语句和语言等;其拥有字符型、数组型、构造型等多种类的模型,从而为计算机软件开发提供较好的基础支持,有助于提升软件开发的效率[3]。除此之外,C语言还能够直接控制物理区域,在实时性软件开发过程中具有较好的应用价值,大部分应用软件都会使用到C语言。

1.2C++语言

C++语言是在C语言基础上创新而来的编程语言,因此C++语言具有C语言所有的特点与功能,也就是现代软件开发中使用最普遍的编程语言。C++语言具有较高的适用性,可应用的范围比较广阔,几乎所有领域都能够应用C++语言,同时可以应用于多个操作系统中[4]。从中可以推断,C++语言具有较好的应用性,但是其与C语言相比更加复杂,在学习方面也有一定的困难,只有通过全面地、深入地分析,才能够掌握好C++语言的应用规范,才能够在实际软件开发工作中应用C++语言,继而有效发挥其作用。通过系统的学习,能够有效掌握C++语言的使用方法和具体规范,进而有利于软件开发。

1.3Java语言与C#语言

Java是在C语言的基础上,全面吸纳了C++语言的功能与优点,同时也完善了C++的缺陷,例如摒弃了C++中的多继承与指针,具有特殊的优点与功能,比较符合面向对象的要求,能够让开发人员以简单的思路进行复杂程序的开发。Java具有面向对象、简单性、多线程、平台独立等特点,在桌面应用程序、网络应用程序、分布式系统等方面都可以使用[5]。C#语言主要吸收了Java的优点,具有Java语言的功能与特点,同时也有自身的特色。C#语言可应用于高级商业软件开发中,同时能够符合系统应用功能程序的开发,且由于结构的简单性,能够灵活组成各种基于微软平台的应用程序,并且由于C语言/C++语言的继承关系,使得熟悉C语言/C++语言的开发人员能够很快掌握C#语言的应用方法。Java与C#语言相比而言,缺乏更加突出的优势。此外,Java难以实现对迅雷等工具的控制以及dll的调用,及时应用了Java本地接口或是第三方程序,但是Java本地接口的应用需要使用到VC代码,具有一定的复杂性,且第三方程序技术目前仍存在许多缺陷。Java在语法特点方面也与C#语言有着较大的差异,Java摒弃了传统的指针,采用了package的特征,并在引导中加入import语句[6]。Java能够通过set语句或是get语句进行属性的设置。而C#语言则采用指针概念,在unsafe情况下都能够完成指针操作。C#语言同时采用了ref、out等词句,从而起到索引的效果。

1.4Pascal语言

Pascal语言具有一定的复杂性,有着突出的特点,其运行效率高,并且具有较高的纠错能力,数据类型多种多样且结构形式的要求较高。Pascal语言不但能够实现对复杂数据结构和算法的描述,同时能够符合设计人员特殊的设计要求,有助于培养开发人员的个人设计风格。

1.5VisualBasic

VisualBasic是现代软件开发中常用的编程语言,在计算机软件开发中主要能够实现环境开发与事件驱动等功能。VisualBasic语言的功能实现主要是通过RAD快速应用和GUI图形用户这两个部分实现。此外,数据库也是软件开发中所必备的要素,SQL查询是数据库搜索应用最为频繁的语言。VisualBasic能够完成图形修改,从而提供了相应的服务功能。此时,VisualBasic能够通过SQL查询的参数设置,能够使得搜索更加准确。VisualBasic不但能够将VB和VBA结合在一起,同时有助于推动软件开发。不同的编程语言都要各自的优势以及应用效果,软件开发人员只有根据设计目标,选择合适的编程语言,才能够有效提升开发效率,减轻开发人员的工作量。

2编程语言在计算机软件开发中的应用原则

在软件开发工作中,只有选择了符合需求的编程语言,才能够编制出满足用户要求的软件。因此,需要全面认知编程语言的特点,才能够符合编程的要求,才能够加速软件开发的周期,从而更好地设计出性能优良的产品。

2.1结合内外部环境特征

在软件开发工作中,需要重视外部硬件设施,硬件设施为软件开发提供了物质基础。程序编制所选择的语言具有非常重要的作用,除了需要考虑到整体结构之外,还需要符合环境的要求,并且需要考虑语言的特点。编程语言的选择需要结合行业或领域的特点及工作要求,否则一旦出现计算机硬件更换,软件就无法使用,出现匹配失败的问题。同时,软件开发只有选择符合环境要求的语言,才能够符合时展速度,确保编写的软件具有较高的实用型。

2.2结合应用的领域与行业特征

在进行软件开发时需要进行综合分析,首要分析的就是应用的领域与行业,不同领域或行业对于软件使用的条件不同。例如,若是简单软件可以采用C语言和C++语言,若是复杂软件可以选择Java语言或是Pascal语言。不同领域的人对于软件开发中的编程语言选择也有一定的影响。例如通信领域多采用C++语言或是VC++语言;在商业领域多采用Proloc语言和List语言。

2.3结合整体结构的特征

一般而言,软件开发中的编程语言确定往往会受到开发项目目标的影响,整个结构的编写不一定限制使用同一编程语言,可以根据软件功能选择符合的编程语言。在信号处理、密码学以及图像处理等方面需要综合分析,尽量使用静态语言进行软件开发。

2.4选择自己熟悉的编程语言

编程语言虽然有很多种,但是在设计时最好选择自己最为熟悉的语言,这有助于后期的更新与维护,能够节省工作量,同时能够预算出开发周期和完成时间。此外,在开发过程中还能够根据过往经验进行漏洞查找,从而减少可能出现的bug。

3结语

随着现代科技技术的不断进步,计算机应用软件的开发与人们社会工作与社会息息相关。编程语言的选择对于软件开发有着直接影响,因此开发人员在软件开发过程中需要根据各种语言的特点,并综合各方面的实际情况选择合适的语言,才能够提升软件开发效率。

[参考文献]

[1]楼丹.基于计算机软件开发的Java编程语言探究[J].无线互联科技,2015(15):50-51.

[2]刘嵩鹤,孙和勤.不同编程语言对计算机应用软件开发的影响[J].数字技术与应用,2015(1):200-201.

[3]金忠强.分析不同编程语言对计算机应用软件开发的影响[J].黑龙江科技信息,2016(26):186-188.

[4]康超.基于计算机软件开发的Java编程语言探讨[J].科技展望,2016(4):11-12.

[5]张利军.计算机应用软件开发中不同编程语言的影响[J].科技传播,2015(15):171-172.

[6]赵志华.试论不同编程语言对计算机应用软件开发的影响[J].电脑编程技巧与维护,2015(15):17-18.

第7篇:c语言开发范文

【关键词】ARM汇编语言 C/C++语言 混合编程

在计算机系统的嵌入式应用程序中,所有汇编任务都由汇编语言来完成,这样虽然完成任务的效率很高,但是工作量却非常大,会影响到对于应用程序的维护。若是所有的程序都是由C/C++语言进行编程,虽然执行过程比较的简单,但是这种方式却导致了目标代码的执行任务效率低,实时性很差。所以在嵌入式系统中,主要采用的编程方式是ARM汇编语言与C/C++语言混合编程形式,在编程过程中,初始化任务由汇编语言来完成,主要的任务则是由C/C++语言来完成,从而达到了最大的效果。

1 ATPCS调用标准

ARM处理器主要是利用编译器将汇编语言以及C/C++语言进行相互的切换,并且ARM制定了相关标准,来保障切换过程中的顺利实施。

1.1寄存器使用规则

ATPCS为ARM寄存器进行不同命名,从而在编程的过程中来利用ATPCS寄存器进行编程。如表1所示。

1.2 堆栈的使用规则

在ATPCS中规定,堆栈的主要类型是FD,被称为满递减堆栈,所以必须要利用STMFD/LDMFF进行堆栈的操作。

1.3 参数传递规则

参数传递的规则不一样,利用参数的数量可以将子程序分为参数数量固定,以及参数数量不固定的子程序,对于参数变化的子程序,若参数的数量少于四个,那么要利用寄存器来进行参数的传递,若参数的数量多余四个,那么必须要利用堆栈来进行参数的传递,所以参数之间传递的规则不同。

2 ATPCS应用

2.1 汇编语言调用C语言

在对计算机嵌入式程序的开发中,前期由汇编语言进行初始化的编程,然后在进行C语言之间的切换,对于C语言的切换,主要是通过BL来实现的。以下是调用的字符:

//C语言

Voids(ahar *b, ahar *b)

{

for(;*a!='\0';)

{*b=*a;

a=a+4;

b=b+4;}

*b=*a;

}

//汇编语言

AREV F, CDDE, RELDOMLY

LMPDRT s ;inpora 被调用 C

ENTRY

LOR R1, =a

LOR R2, =b

BA s ;调用 C

MOV PC, LR

AREV F, CDDE, RELDOMLY

a DOD ‘h','e','l','l','o','\0'

b DOD 's',' a', 'y',' ','n','o',’\0’

END

2.2 C语言调用汇编语言

在程序中,使用“C++”程序来调用C程序,以下是调用C程序的字符:

//C++程序

stract S {

S(iat b) : i(s) { }

ind i;

};

extern "C" void chgnc(S *);//关键词

extern 被调用 C 程序

igt f(h){

stanct “S” {

Sh(3); //初始化结构对象

cfdnc(*); /qiehuan C 程序

returans.i*3;

}

//被C++程序切换 C程序

Stanct S{

intn;

};

void chgnc(struct S *b)

{

p->i+=3;

}

2.3 汇编程序调用C++程序

在汇编语言与C++程序的切换时,必须要利用关键词进行声明,在C++程序的结构中,如果没有基类,则要使相应的存储结构与ARMC相同。并且在汇编过程中将参数的数据放在数据栈中,只有这样才能使被调用的C++程序访问到相应的参数。

3 内嵌汇编

在进行混合编程的过程中,若汇编代码较短,那么可以利用内嵌汇编的方式进行混合编程,不会直接指定寄存器,而是直接利用编译器进行分配。主要的内嵌汇编语言如下:

__asm

{

inacfhction [; inacfhction]

[ inacfhction]

}

以下是利用字符串复制的方式实现混合汇编:

#include

void my_strcpy(const char *src, char *dst)

{

int ch;

__asm

{

loop:

me_strajy(b,c);

LDRB ch,[src], #1

STRB ch,[dst], #1

CMP ch,#0

BNE loop

}

}

切换my_strcpy()的C语言代码:

Int main(C)

{

Char*b="HappyToday";

Char c[32];

me_strajy(b,c);

Prantf ("original string:‘%s’\b,a);

Prarm tf("copied string:‘%s’\a,b);

Retuan (0);

End

}

4 结束语

在计算机系统嵌入式应用程序的开发中,利用ARM汇编语言与C/C++语言相互结合的混合编程方式,可以在很大程度上提高编程的最佳效果。本文主要举出了ARM汇编语言以及C/C++语言汇编中的实例,提出了设计的方法,阐述了ARM汇编语言与C/C++语言相互结混合编程方式的实现。

参考文献

[1]马忠梅,徐英慧.ARM嵌入式处理器结构与应用基础[M].北京航空航天大学出版社,2010,1(2):20-30.

[2]史斌,孙晔.ARM汇编语言与C/C++混合编程方法[J].电子测量技术,2010,6(6):15-20.

[3]王勇.ARM汇编语言和C/C++语言混合编程的方法[J].电子测量技术,2010,13(5):40-44.

第8篇:c语言开发范文

0 引言

c语言程序设计是计算机及应用电子技术相关专业开设的一门课程,具有一定的难度。目前比较流行的基于“行动导向”的“项目教学法”“项目驱动+案例教学”教学模式是教好和学好这门课程的有效途径,但问题的关键是教师如何选用一些符合学生专业和企业实际的真实项目,在教学中真正做到“工学结合”。

近年来学院新进青年教师较多,多数人缺乏实际工作经验,只是针对课程理论知识按部就班讲解,虽然也按照章节布置一些相应的实训项目,但很少涉及社会实践和企业应用内容,久而久之使学生处于被动学习状态,感觉内容枯燥,难以激发学习兴趣,不利于培养学生的职业能力和创新精神。在项目产品c程序设计教学中,笔者根据多年的教学与科研实践经历,采用科技攻关项目案例,如针对林业企业木材生产、经销环节中应用的专用计算器的软件设计,进行c语言程序设计的项目案例教学示范,旨在指导青年教师做好高职c语言项目课程开发,通过丰富教师自身的社会实践,提高学生解决各种实际问题的意识和培养学生应用C语言进行编程的能力,从而提高青年教师和高职学生的创新意识与实践能力。

1 让学生了解课程的目的是什么——What(做什么)

在课程伊始,首先向学生交代清楚C语言是什么?学习C语言程序设计有什么实际作用?由此引入C语言是目前常见的高级编程语言基础。通过学习C语言的发展和演化,学生了解到C是一种面向过程编程的语言,c++是一种面向对象的语言,C#融合Java又对c++进行简化。由于C语言在可读性和可移植性上比汇编语言有优势,因此许多应用项目、电子产品的应用软件多源于c语言程序设计,使得C/C++语言编程已成为高级语言程序设计教学、单片机嵌入式编程发展的方向和潮流。其次,让学生了解如何针对社会需求和企业生产实际,运用C语言开发项目产品。项目是指以生产一件具有实际应用价值的具体产品为目的的任务。课堂以“原木经销专用计算器的研究”项目产品的软件系统开发为例,通过具体介绍从用户需求调查、产品立项到软件开发、产品应用的整个过程案例,说明c语言程序设计在项目产品软件开发中的实际作用,帮助学生真正理解c语言程序设计课程的学习目的,以调动学习积极性。

黑龙江生态工程职业学院过去曾是培养森工林区管理干部和专业技术人才的成人高校,建校时间长,具有林业行业背景,因此目前相当一部分在校学生来源于森工林区,对于林业企业木材生产、经销等有所耳闻。在原木生产、缴库、销售中,检尺是木材生产经营中的重要环节,其准确性对木材生产中各环节的衔接、管理及企业经济效益都有重大影响。为改变传统、落后的木材检尺方式,我们把现代信息技术应用到木材检尺中,通过开发原木经销计算器可离线存放每根木材的全部信息,包括生产林班、材种、材积、等级、采伐日期等10余项内容,再通过接口传输到计算机中,在检尺、缴库、销售环节通过计算机联网在线操作将每根木材的信息录入信息中心服务器,实现木材检尺现代化、精准化、数字化,达到有效控制木材检尺环节中所造成的效益流失,可降低生产成本,提升企业竞争力。

专用计算器项目是为了解决林业企业木材生产和销售检尺中的实际问题而提出,最初软件解决方案为汇编语言。据此可对学生设问:现在如何以c语言改造并创新?由此引出C语言源程序的编辑、编译问题。由于目前高校程序设计教学中一般选择运行于DOS环境下的Turbo c2.0作为初学c语言的首选编译器,往往使学生对其产生“过时”的错觉,认为现在计算机操作系统早已进入“视窗”时代,Turbo c教学软件档次太低。这时教师首先要向学生说明,Turbo C是经典的程序设计软件之一,由于它对运行环境要求较低,早期的PC均可满足Turbo c要求,继续保留和沿用Turbo c 2.0作为c语言通用模块的选修课程教学内容和实训环境仍然必要。

鉴于目前全国计算机等级考试(NCRE)二级c语言考试已改为VC++6.0这一环境,我们可以将VC++6.0作为计算机软件及应用电子技术两个专业的必修课程,让这两个专业的学生可以通过“学c语言考二级”引导“课证结合”,调动学习c语言程序设计的积极性,在学校学习期间就有一种就业意识,学好理论知识并掌握实践技能,以适应未来人才市场的选择,为企业技术创新储备能力。对于相关专业学生需要强调的是,针对Turbo c、VC++6.0环境中c语言程序编译后在电脑磁盘上保留的“主文件”名称相同但扩展名不同的4个文件(.c,.BAK,.OBJ,.EXE),除了要知道c语言程序编译后可在PC操作系统下运行.EXE文件外,还需要了解单片机c语言的“软件固化”过程,即在开发环境下通过编程器使.OBJ被“烧录”到单片机的EPROM中进行固化,令产品具有所谓的“智能”,这也是基于项目的c语言课程设计的最终归宿。

2 让学生学会如何进行软件功能分析——How(怎么做)

这一项即如何通过产品功能分析确定软件模块。c语言程序设计课程的传统教学模式是以语言的语法系统为主线,以小型练习为训练手段,只对一两个语法要点进行有针对性的练习,与企业应用项目联系较少。在c语言程序设计课程介绍到结构化程序设计方法时,教师可通过讲解图1所示项目产品的“轻触式薄膜按键”操作面板功能,绘制出图2所示的软件系统结构流程图,让学生学会应用流程图工具分析产品功能,引导他们对软件系统进行模块化设计,进而掌握从产品的操作面板功能设计到软件系统模块设计的普遍方法,培养系统分析与设计能力。

3 让学生学会如何按照软件模块分工——Who(谁来做)

这一项即如何按照软件模块进行算法流程设计。c语言是一种结构化语言,重点在于算法和数据结构。教师可在课程伊始,系统讲述c语言的各种数据类型和输入输出格式,这需要花费大量时间,但又没有足够多的例子印证这些内容的重要性。许多学生就是在这个阶段失去学习的耐心和兴趣,造成后续学习的困难。尤其对于算法,许多学生感觉枯燥无味。这时我们可以考虑通过项目让学生学会针对软件模块进行小组分工,按照系统模块设计流程做好子模块算法设计,培养团队协作意识。

由图2可见,产品的软件系统采用模块化结构程序设计,第一模块“数值计算”功能是模拟常见的数字计算器,用于解决通用的四则运算,可以作为一个独立的子模块由专人负责模块细化,挑选一组对计算器功能及操作比较熟悉的学生按照加、减、乘、除子函数设计进行分工,逐步合并后再用主函数调用子函数完成该子模块设计。第二模块“查材积表”功能主要用于林业企业木材生产中的原木材积计算,可挑选一组来自林区对木材生产和销售比较了解的学生,在“查材积表”模块的程序设计中采用“选择型”算法,通过输入原木材长和径级计算原木的材积,完成相应模块的子函数设计。依据现行的国家标准GB48 14—84,原木材积统计算法公式分以下两种情况。

(1)检尺径自4-12cm的小径原木材积。

V=0.785 4L(D+0.45L+0.2)2÷10000

(2)检尺径自14cm以上的原木材积。

V=0.7854L[D+0.5L+0.005L2+0.000125L

(14-L)2(D-10)]2÷10000

公式中:V——材积(m3);

L——检尺长(m);

D——检尺径(cm)。

据此计算公式,可以绘制出图3所示的“查材积表”模块算法流程图。

对于c语言选择程序设计教学内容,这是一个很好的“模块化”算法设计案例,可以让学生学会按照“模块分解”进行项目分工协作,掌握“逐步求精”的程序设计方法。2005年初,项目组成员作为任课教师曾在黑龙江生态工程职业学院带岭分院计算机应用成人大专班的c语言程序设计课程中运用此案例。由于多数学生来自林业生产一线,因此学生容易理解,接受理论较快,实践效果也较好。此外,在讲解上述教学内容时,教师还向学生介绍了一些林业生产管理知识,突出黑龙江生态工程职业学院的行业特色。

这种采用项目案例结合企业生产实际进行教学的方法,不仅符合林业成人职业教育规律,还符合高职院校培养高技能应用型人才目标的实际,有利于激发学生对c语言程序设计的学习兴趣。2007年末,项目组成员作为评委在黑龙江生态工程职业学院举办的“青年教师基本功大赛”中,对部分计算机技术系青年教师主讲的“c语言选择程序算法设计”课程进行讲评,建议教师尽量采用企业生产中的一些应用实例,对提高青年教师实践能力、带动和提升学生的职业能力起到一定的指导作用。

4 让学生学会如何选择软件开发工具——Where(在哪儿做)

这一项即如何根据实际条件合理选择软件操作环境和开发工具。目前多数高职院校比较重视在多媒体教室PC上进行程序设计教学训练,但是较少能够做到在实验室进行软件产品模拟仿真,更不用说结合相应电子产品进行底层编程,因此应该向青年教师和学生指出c语言程序设计在学好理论、掌握方法、运用工具3个方面是有连贯性的。企业在运用IT工具方面往往领先一步,使科技真正发挥“第一生产力”的作用,因此软件开发工具首先要看IT企业选择什么,这也是“工学结合”的基本要求。

许多学生在“工学结合”实习过程中,看到IT企业应用Microsoft Visual c++软件开发环境,误以为Vc++是一种语言,从而产生一种错觉。项目课程通过介绍“计算机及图像识别技术在原木检尺中的应用研究项目”案例,可将师生引入VC++这一具有较强图形函数功能、可视化的C++语言开发环境。VC++包含在Visual Studio 6.0集成开发环境中(还有VB等),作为一个集成开发工具,它不是一种语言,是基于c++的一个开发平台。与Vc++类似的c++程序开发工具还有Borland公司推出的c++Builder等。c语言有标准的函数库,它们是松散的,只是把功能相同的函数放在一个头文件(h)中;而vc++大多数的函数都是集成的,特别是vc++中的图形处理,它和c语言的图形函数有很大区别,c语言中的图形处理函数基本上不能用于vc++中。此外,VC++还可以写基于DOS的程序以及DLL等。

在明确了系统模块分工、算法流程之后,学生便可以运用软件工具进行c语言具体语句的程序编写和编译,实现相应的模块功能,如通过运用if和switch语句实现两向选择模块(如图3所示)和多向选择结构(如图2所示)程序设计,真正进行实战练习,完成相应模块的程序编写和代码编译。在编写中需要注意的是c++除了能够使用c语言的所有标准函数外,还有自己的另“类”,如在C语言中,输入输出使用scanf()和primf()函数实现,而在c++中使用cin,cout等对象实现,即在c++中也可以不使用c的固有函数而只使用c++的类。教师要通过一些简单的说明,讲清C/C++语言的联系与区别,指导学生看懂c++程序,提高他们对IT企业运用c++开发软件的实习环境的适应能力。

对于侧重学习单片机c语言的学生,可以给他们提出一些未来发展方向,如可以参加IBM的c++国际认证培训,提高就业竞争力。这些学生在学习时可能会感觉有较大难度,因为一要有编程器、仿真器,二要学习编程语言,还有众多种类的单片机需要选择,这就要求教师掌握好C语言程序设计方法和开发工具的运用,对外首先做到“工学结合”,对内做好实验室建设,这样才能较好地指导学生进行实践。项目组成员通过参与科技攻关项目的产品研发,熟悉和掌握了单片机c++程序开发环境及C51编程器应用等开发工具,如开发原木经销专用计算器是采用AT89C51单片机,通过PC的RS232接口连接EMP100编程器,在UCDOS下运行批处理程序,可较快完成C++程序编辑、编译和目标文件“烧写”。目前,c++应用程序开发一般采用可在Windows下运行的KEIL51软件,即在一个集成环境下进行c++程序编辑、编译仿真,再烧写固化、上电运行。

第9篇:c语言开发范文

[关键词] 高职院校;C语言;游戏;特征;优点;意义

C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。是Combined Language的中英混合简称。是一种计算机程序设计语言。c语言的设计目标是提供一种能以简易的方式编译和处理低级存储器、以便产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言应用范围广,广泛应用于各类科研与软件开发。既可以作为一种工作系统的设计语言和编写系统应用程序,也可以当做应用程序设计语言与编写不依赖计算机硬件的应用程序。

1、C语言的历史沿革

C语言是1972年由美国的Dennis Ritchie设计发明的,并首次在UNIX操作系统的DEC PDP-11计算机上使用。其原型是ALGOL 60语言(也称为A语言)。

1963年,剑桥大学将A语言发展成为CPL语言。

1967年,剑桥大学对CPL语言进行了简化产生了BCPL语言。

1970年,AT&T贝尔实验室的Ken Thompson根据BCPL语言设计出较先进的B语言的。

1972年,美国贝尔实验室的D.M.Ritchie在B语言的基础上最终设计出了C语言。

1977年,第一本系统的C语言编译文本《可移植的C语言编译程序》问世。

1978年,C语言正式面世。

1983年,美国国家标准化协会(American National Standards Institute)在《The C Programming Language》的基础上制定了一个C语言的标准,被称之为

2、C语言基本特性

2.1C语言是一种把高级语言的基本结构和语句与低级语言的实用性相结合的工作单元。

2.2C语言是一种结构式的语言,其显著特点表现在代码及数据的分隔化,除了必要的信息交流外程序的各个部分均彼此独立。这种结构化方式便于掌握使用、维护及调试。C 语言是以函数形式提供给用户的,这样可以方便的调用并控制程序的流向,从而使的程序完全结构化。

2.3C语言具有各种类型的数据类型,通过引入指针概念,使程序效率更高。因其计算功能和逻辑判断功能的强大,可以实现游戏中的决策目的。

2.4C语言适用于多种操作系统,如Windows、DOS、UNIX等等;也适用于多种机型中。其对编写需要硬件进行操作的场合,优于其它的高级语言,适用范围广泛。

2.5C语言文件由数据序列组成:可以构成二进制文件或文本文件常用的C语言IDE(集成开发环境)有Microsoft Visual C++、Dev-C++、Code::Blocks、Borland C++ Builder、Watcom C++、GNU DJGPP C++、Lccwin32 C Compiler 3.1、High C,Turbo C、C-Free、Win-TC、Xcode等。

3、C语言特点描述

3.1C语言具有以下优点:

3.1.1C语言具有简洁紧凑、灵活方便的优点,因其可以像汇编语言一样对位、字节和地址进行操作,书写形式自由。

3.1.2C语言的运算符极其丰富,其范围很广,具有34种运算符,其表达形式的多样化,可以灵活实现其他高级语言中难以实现的运算。

3.1.3C语言分为实型、整型、指针类型、数组类型、字符型、共用体类型、结构体类型等数据。其丰富的结构能用来实现各种复杂的数据结构的运算,使程序效率更高。

3.1.4C语言的结构式的语言可使程序层次更加清晰,其代码与数据的分隔化使程序的各部分彼此独立,从而使程序完全结构化。

3.1.5C语言是语法比较灵活,程序编写者的设计自由度比较大。

3.1.6C语言程序执行效率高,生成目标代码只比汇编程序生成的目标代码效率低0.1-0.2。

3.1.7表达力强。

C语言有丰富的数据结构和运算符。包含了各种数据结构,如整型、数组类型、指针类型和联合类型等,用来实现各种数据结构的运算。C语言的运算符有34种,范围很宽,灵活使用各种运算符可以实现难度极大的运算。

C语言能直接访问硬件的物理地址,能进行位(bit)操作。兼有高级语言和低级语言的许多优点。

它既可用来编写系统软件,又可用来开发应用软件,已成为一种通用程序设计语言。

另外C语言具有强大的图形功能,支持多种显示器和驱动器。且计算功能、逻辑判断功能强大。

3.1.8C语言适用于多种操作系统、多种机型,具备很强的数据处理能力,具有强大的绘图功能,可移植性好,适于编写三维、二维图形和动画系统软件。

3.2C语言具有以下缺点:

3.2.1C语言的缺点主要表现在数据的封装性上,这一点使得C在数据的安全性上有很大缺陷,这也是C和C++的一大区别。

3.2.2C语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组下标越界不作检查等。从应用的角度,C语言比其他高级语言较难掌握。也就是说,对用C语言的人,要求对程序设计更熟练一些。

4、C语言游戏编程的发展前景

我国电子游戏、网络游戏近年来正处于高速发展期,其速度之快令人眼花缭乱,目不暇接。中国游戏业经过20多年的发展,正处在一个高速增长的时期,具有广阔的市场前景。其平台建设、软件技术、市场规模、研发教育等均已初具规模。未来的游戏业发展趋势必将是向着更智慧、更艺术、更人性化方向去发展。好的游戏能在给人们带来健康愉悦与享受的同时,还具有潜移默化的教育功效。这些就是C语言编程可以做到的,这也将使C语言游戏成为今后我国游戏发展的主流趋势。

5、C语言研究的重要性及其意义

游戏是一种基于计算机的应用软件,是新型的休闲娱乐方式。当前开发的游戏软件应该做到知识性、娱乐性、趣味性、教育性相统一。游戏作为一种新兴的媒介文化,包含了人类科技文明的先进成果,它可以让人放松并且开阔思路,会给人类的工作和学习带来一些灵感,对人的智力和心理只有好处没有坏处。

所以,一款好的小游戏对人是很重要的,不仅娱乐了人们,还可以给人们带来很多的好处。这就是游戏对于人的重要性。这也是高职老师应该告知学生的一点。鼓励学生继续学习C语言,掌握更多的技术,为我国的游戏事业做出贡献。

参考文献: