c语言开发十篇

时间:2023-03-20 07:17:10

c语言开发

c语言开发篇1

任何一个好的跨平台软件开发的实现,主要还是对整体设计的把握,跨平台程序设计要求实现与平台无关的代码,在设计和编写的过程中,还要对软件的架构和整体配置的合理性问题作出考虑。思路,我们可以结合自身学习和实践经验在程序设计方面充分利用开源的代码和程序,就可以让跨平台的设计更加地趋于成功。

2C++程序设计语言跨平台开发的策略

我们在编写程序代码的时候,总是要把编辑策略放在首位,针对于不同的OS,在其上创建和编辑文本文件,就要遵循不同的规则。比如行结束符,在Windows操作系统和DOS操作系统中普遍采用回车键,而在Unix中却使用的是换行符号。这种细微的差别就是跨平台软件开发必须考虑的问题。那么当我们要想把其中一个平台上编写的代码放在另一个操作系统上运行,极有可能出现不被正确解释的现象。另外,对于不同的操作平台其tab键的功能也有很大的区别,主要体现在间距上。那么我们在编程的时候要注重这些差别,保证代码的书写和阅读对于不同的操作平台都是一致的,增加程序的可读性,进而也就实现了跨平台的思想。所以在每次开发之前都需要针对开发策略制定相应的规则:统一使用四个空格键来代替tab,也就是\t格式。Windows下的源文件代码需要存储在UNIX的文件格式,或者说是在Windows下的文件编写完成之后,通过DOS2UNIX命令实现文本格式的转换。

3处理器差异的控制

鉴于C++语言自身语言的特点,建立了一个跨平台的抽象代码库,在不同的平台和编译器上进行合理的规划代码。C++语言里普遍使用了抽象,像BOOST和StardardTemplateLibrary。Boost标准类在不断的发展和改进过程中,完全能够帮助跨平台操作中的软件和程序来适应OS系统库的内部接口的不同,可惜这些不足以解决全部问题,主要是因为目前Boost没有包含所有的库函数的类库,又会出现不确定的情况,那么关于C++语言的部分也应该及时的维护和更新。在平台上,利用库封装代码,又在不同的平台下调用已达到统一代码的目的。

4利用wxWidgets开发跨平台软件

wxWidgets是一种跨平台开发的软件包,目前使得在跨平台的图像设计方面使用自身的程序。因为其兼容性相当的好,对于Windows,Linux,Unix等都兼容。而且,wxWidgets的底层是用C++程序设计语言实现的。下面用一个实例将说明wxWidgets的跨平台问题。首先创造一个wxFrame的实例,并制定长宽和屏幕上的位置。然后,新建一个垂直的sizewidget和顶层窗口的子sizer。然后,再创建一个垂直sizerwidget和一个水平子sizer。最后创建wxStatic实例以及为这个敞口应用中添加事件响应。以下将展示一部分核心代码。在设置完这个窗口之后,还需要新建一个类实现一写功能。

5结论

c语言开发篇2

关键词:测试驱动开发; C语言;软件测试

中图分类号:TP301.2 文献标识码:A DoI: 10.3969/j.issn.1003-6970.2012.05.040

【Abstract】this paper combines c language teaching practice, presents a method of introducing test-Driven Development into c language teaching, and the example shows that this method can provide a new mode of thinking ,help students to solve practical problems and improve the quality of programming. the research has obtained the good teaching effect and is widely welcomed by students.

【Key words】test-Driven Development; c Language; Software test.

测试驱动开发是一种新的快速软件开发方法,它的基本思想是用测试推动整个软件开发的进行,即在系统开发之前,先编写“测试代码”,列举典型的测试用例,然后再编写“功能代码”,实现部分或全部系统的功能,确保所有事先准备的测试用例全部通过。

C语言是信息类专业一门重要的专业基础课,在整个课程体系中占有举足轻重的地位。学好C语言,可以为后续的数据结构、数据库、操作系统等课程的学习打下坚实的基础。教学工作者对C语言教学作了很多研究,提出了不少实用的方法。在本文中,我们提出将测试驱动开发理念引入C语言教学中。这种方法在近几年的教学实践中推广使用,获得了良好的教学效果。

在多年的C语言教学中,我们发现,初学者在学习C语言的障碍来自于多个方面,其中主要有2个方面的原因:(1)缺乏计算机的程序化思维模式。作为大学生的第一门计算机语言,很多学生刚开始学习编程时,往往不知从何处入手。出现这个问题的原因是学生不能正确认识计算机能做什么工作,以及实际问题的解决步骤和算法。(2)不能深入理解程序的执行过程。要想学好C语言,必须理解C语言语句的执行顺序和执行效果。有了这方面的知识,就会领悟计算机解决问题的方法和实质。同时,也就会解决(1)中所提到的问题。怎样才能深入理解程序的执行过程呢?要借助于调试工具。通过调试,我们可以单步运行程序,能清晰地查看程序运行的流程以及相关变量值的变化过程。由此可见,调试在C语言学习和实践中起着至关重要的作用[1]。

调试与测试有着极大的内在联系。一般来说,调试是指在软件开发过程中,定位并排除程序中的错误,而软件测试是通过验证一些测试用例,找出软件中存在的错误。因此可以说,调试中要进行大量的测试,测试中(特别是白盒测试)要借鉴调试的方法。将测试驱动开发引入到C语言教学中,可以让学生熟悉调试与测试的过程,提供了一种解决实际问题的思维模式,让学生养成测试的习惯,确保程序开发的质量。

为了更好地理解测试驱动开发方法的优越性以及在C语言教学中的应用,下面以一个实例来进行说明。

例如,要求用户从键盘输入一个年份,接着判断该年份是否为闰年。这个问题是参考文献[1]中的一个例题,学习过C语言的同学几乎都做过。对于初次遇见这个题目的学生来说,还是感觉有一定难度的。然而,当看完教材的解释以后,思路就会变得很清晰。由此可见,问题的结症在于闰年判定规则的建立。

怎样才能快速总结出规则并解决问题呢?一种很自然的想法就是列举一些实例,再总结出规则。比如,闰年的情况有2000、2012、1996,非闰年的情况有2011、1998、1900。这两组年份符合一些什么规则呢?最容易找出的一个规则是,不能被4整除的一定不是闰年,如2011、1998。再来分析一下1900,为什么它也不是闰年呢?因为它能被100整除,则要求能被400整除才算是闰年,否则就不是闰年。由于不满足这个条件,1900年就不是闰年。于是判断不是闰年的第二条规则也找出来了[2]。其实,考虑到这个程度,我们已经把不是闰年的情况全部列出来了,其它情况当然就是闰年。完成了“列举实例”、“总结规则”这两个步骤后,接下来就是编程实现了。我们按照“自顶向下,逐步细化”的思想,首先编写出程序的最初框架:

添加了isLeap函数的定义以后,程序顺利通过了编译。到此为止,只能说程序已经没有语法错误了,它在逻辑上是不是完全正确呢?这就需要第2步测试:编写测试用例,逐一验证其正确性。根据前面列举的实例,制作以下表格进行测试:

从测试结果可以看出,前面5个测试用例都是正确的,然而最后一个实际结果与期望结果不符,出现问题了。1900是能被4整除的,在我们编写的程序中,1900满足if后面的条件,所以就认为是闰年了。但是实际情况是,由于1900还能被100整除,所以还要测试它是否被400整除。很显然,不是闰年的第二条规则我们在程序中没有考虑到,因此出现了错误。

表1 “判断年份是否为闰年”的测试集

c语言开发篇3

【关键词】智能手机 C语言 嵌入式开发

C语言是面向过程的程序设计语言,能够与Linux和MiniGUI进行良好的结合,从而做到模拟实现面向对象程序的编程;嵌入式系统可以增强软件运行的稳定性、提高软件指令执行效率并优化用户使用界面,当前的大部分嵌入式系统都是基于Linux操作系统进行延伸。因此在智能手机的应用开发中C语言与嵌入式有着良好的关联性,在其开发过程中可以集两者的优点创建更加简洁高效的编程和应用。

1 嵌入式开发的核心竞争力

根据其操作系统,其中有OS的,按照是否开源,是否是通用的、常见的、还是私有的划分为:开源的、常见的、通用的嵌入式操作系统;和不等价的私有的嵌入式操作系统。原因是嵌入式开发从硬到软,很难说有一种具体的技术或者技术方向是嵌入式开发的核心。嵌入式开发的核心竞争力是“整合”。整合的前提是有充分的知识面和技术前瞻性。

首先,嵌入式开发的技术之多决定了需要有过滤的能力,而过滤的前提是有足够的知识面。一个基层的工程师投入在一个既定的项目中,其实solution可能会有很多,最关键的是找到哪些技术的最佳组合,然后让这个项目”又好又快“地完成。在嵌入式开发管理过程中,制定一个关键项目时,既要站在工业界的前沿,又要把控好关键的技术群,实际上就是一种“整合”的能力。所以,虽然做不了“全栈”,但不排斥尽可能多地了解。

2 C语言、C++和C#

按时间顺序说一说这三门语言的基本吧,这样比较一下就能知道他们的区别了。

2.1 C语言

C语言可以看成是“高级的汇编”语言。C语言的源代码基本上可以非常容易地对应到汇编代码,而且可以不需要什么运行时环境的支持。C的特点,简单容易编译,灵活贴近底层。所以一直到现在,一些需要直接和硬件打交道的软件都还是用C语言写的,比如(但不限于)Linux Kernel和一些嵌入式领域。

2.2 C++语言

C++早期是基于C的,C++的目标是提高编程人员的生产率,哪怕代价是增加编译器的复杂度。面向对象只是C++的一部分,现代的C++的目标是支持多种编程范型,同时并不会离硬件太远。所以C++是非常适合写一些基础架构级软件的,比如编译器,GUI库等等。

2.3 C#以及.net框架

managed code的崛起,与之对应的就是C/C++这种native code的衰落。C#就是微软想要复制Java的成功。C#的特点就是:抽象层次高且基本只有一种(面向对象的),运行时支持丰富(垃圾回收等),类库丰富。

3 智能手机中基于C语言的嵌入式开发

C语言主要解决的问题是,不同机器平台上的汇编语言指令,功能相似但写法不一样。所以,C语言的发明者的想法是,只要把这些不同的汇编语言的共同点提取出来,用一种相同的表达方式来描述这些共同点,那么程序只需要写一遍,就可以在不同的机器上去编译了。于是C语言大部分的工作是在汇编语言的层面上做抽象。如果要选最能体现上述思路的C语言作品,首选 CURL 和 openssl 。这也是 C语言最适合的应用场合。

嵌入式系统没有特别明确的定义,一般都是指区别于一般PC的民用操作系统,用在专用的设备内部运行的。所以像智能手机、平板电脑这些,可以算,也可以不算。实际上,在软件开发行业,嵌入式系统开发,通常是指嵌入式实时操作系统开发。实时操作系统也就是RTOS。当然,现在的安卓或iOS开发也算嵌入式,但肯定还不是RTOS。一般来说原始汇编语言就是二进制指令格式的转写,与处理器的指令集一一对应,更换处理器就需要重写。并且因为一些技术上的问题,处理器的指令集与人解决问题的思路完全不一致,例如一个加法指令根据不同类型有没有符号位在哪里取数据存哪里去有一堆的变种,所以原始汇编语言不是一个真正具有生产力的语言。人们在汇编语言的基础上,发明了很多高层语言,C语言就是其中最为成功的一个。C语言解决了汇编语言所有的问题,例如处理器的指令集不同。不论何种处理器何种指令集,在C语言里面需要将a和b两个数相加只需要写成a+b就可以了。也无需考虑类型、存储位置带来的指令的变化。简单说就是C语言大大的抽象了汇编语言,通过C语言的编译器将C语言代码翻译成处理器指令集所支持的代码形式,这一过程被称之为编译。

若开发手机平台apk,尤其是互联网应用,全部调用系统API就不算是嵌入式开发。但是必须有人从事底层驱动,内核的移植,裁剪,这方面的方法遇到的问题,又是嵌入式开发的方法。另外手机现在还不能够用来有效率的用来做开发工具,应用基本靠交叉编译,这也是和一般嵌入式系统相同的特点。

4 结语

理论上C语言能开发出几乎所有软件。但是,数字信息设备发展了几十年,留下的大量的解决方案。C后产生的各种新语言和第三方库如此丰富,这已经是巨大的财富。在今后智能手机的应用开发中基于C语言的嵌入式开发将大幅减少手机应用的编程工作所需时间,提高开发效率,也是推动智能手机应用开发的重要策略。

参考文献

[1]景香芝.基于C语言嵌入式开发在智能手机中的应用探析[J].制造业自动化,2012,34(04):145-146,150.

[2]刘烨.智能手机中基于C语言嵌入式开发的应用探析[J].湖南农机,2014(02):84-84,98.

[3]罗莎.基于C语言嵌人式开发技术在智能手机中的应用[J].计算机光盘软件与应用,2011(22):170-171.

[4]倪建新.基于C语言的游戏开发教学平台的设计与实现[J].电脑知识与技术,2012(35):8401-8403.

[5]芳.基于嵌入式Linux的智能手机应用系统研究[D].长沙理工大学,2006.

[6]李从宇,王宝光.嵌入式DSP系统C语言硬件编程技术[J].测控技术,2007,26(04):68-70.

作者简介

赵林(1978-)男,河北省保定市人。硕士研究生。高级工程师。研究方向为计算机技术。

c语言开发篇4

【关键词】C语言;SQL server 2005;B/S结构

本文研究了游戏设计的基本方法和实现过程,并研究编写出一个能够积分、难度分级、对射等具有一定娱乐性的射击对战型游戏程序。游戏是一个精度要求很高的程序系统,一个实时运行的最终作品,每秒都会运行成千上万行程序,碰撞检测、人工智能、绘图事件、键盘响应、图片和音乐提取等都会以很高的频率在后台运行并且等待响应,若有一点差错都有可能导致程序出现错误甚至死循环。一个成功的游戏融合了动画制作、音效处理、键盘响应、碰撞检测以及人工智能等相关的技术,每一项都需要花一定的时间去掌握和熟悉。

B/S结构,即Browser/Server(浏览器/服务器)结构,就是只安装维护一个服务器(Server),而客户端采用浏览器(Browse)运行软件。B/S结构的主要特点是分布性强、维护方便、开发简单且共享性强、总体拥有成本低。

C语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。本设计主要使用C语言完成。

按照设计结构和功能的特点可将系统分为2大模块:主窗体模块和菜单功能模块。

一、主窗体模块

主窗体是运行游戏的主界面,应具备显示游戏画面、播放音效、响应玩家

输入事件以及运行游戏的逻辑代码等功能。主窗体的代码包括游戏设备和配置的初始化、游戏精灵的实现、游戏引擎的使用等等。

游戏的流程图如图1所示:

二、菜单功能模块

目前,整个游戏设置了“开始”菜单,该游戏所设置的“开始”菜单,是当玩家点击“开始”后,整个游戏所会出现的状态进入开始,当游戏已开始后,“开始”按钮会自动变为“暂停”,如果“点击”,则游戏的主机会是暂停状态。

该游戏的开发环境主要是Microsoft Visual Studio 2008,安装Microsoft Visual Studio 2008比较简单,到网上下一个安装包,直接安装就可以了。

游戏的制作离不开图片,不管是背景图片还是所选择的物体图片,我们都需

要采集以及制作,下面将介绍一下图片的采集和制作。本游戏的图片大部分都是在网上找的,在做游戏之前我们应把游戏导入“horizon”,然而这个程序在安装“Microsoft Visual Studio 2008”的时候会自动生成的,也由此证明了这些是一个配套安装包,当图片导入成功后会生成一个以“.igre”为后缀名的文件,然而这个文件在编程过程中所起的作用就是怎样运用它来生成整个游戏的界面。

下面对本游戏主要设计内容进行详细介绍。

三、创建游戏界面(界面略)

代码如下:

static HZApp sampleApp = {

{1,0,0},

“jing “, //游戏界面的命名

900,

480, //界面大小

init,

quit,

};

static HZStream* stream = 0;

int init(void)

{……}

四、精灵的定义

精灵是游戏的核心,精灵的定义关系到游戏开发的成功与否。该游戏中精灵着很多种精灵。在游戏中需要定义的精灵有主机、敌机、背景图片、射击的子弹、爆炸的焰火等等,为适应游戏剧情的需要,精灵在定义中存在属性、方法等的重载和覆盖以及变量、函数、过程的定义等。该部分代码略。

五、精灵的初始化

精灵的初始化是指创建精灵并设置精灵参数。包括设定精灵实例化后在屏幕上的初始坐标、显示效果等,例如游戏开始后,战机是静止悬浮在屏幕的上方。精灵的初始化函数通常是写在精灵的创建事件中。

在本游戏中,通用类是很多精灵类的父类,它的初始化尤为重要。该通用类的初始化代码如下:

static int start()

{

bm = bm_create(buttonconfig, _countof(buttonconfig));

ball_info = (BallInfo*)HZAllocate (sizeof(BallInfo));

ball_info->next = NULL;

HintBlast = HZSpriteCreate(“HintBlast”,300,300,1); //定义精灵的位置

…………..

background = HZSpriteCreate (“Back”,340, 240, 1);

return 0;

}

六、碰撞处理

在该游戏中,很多地方都会运用到两个精灵相碰撞的情节,无论是哪些精灵相碰撞,其代码都是大同小异的,所以也不需要讲解每一个碰撞的代码唆代表的怎么样的。其部分代码如下:

for (j=0;j

{

for(i=0;i

{

pBall = ball_info->next;

pBall00 = ball_info;

while(pBall00 && pBall00->next)

{

……

}}}

本游戏是在Microsoft Visual Studio 2008环境下,运用C开发语言,结合Micro-soft SQL Server 2005所操作的一个小游戏,也就等于该游戏只能在Microsoft Visual Studio 2008 开发环境下才能运行。本游戏开发涉及了游戏开发的基本环节:游戏素材的收集与制作、游戏流程的设计、代码编写和游戏测试,并在本文中都有较详细描述。

游戏的开发主要涉及3方面内容:游戏策划、游戏美术设计和游戏程序开发。游戏的开发不仅仅是需要编辑代码,最好是把整个游戏开发的流程规划出来,有了一个好的规划流程图,整个游戏结构就比较清晰了,这一点非常重要。这次的设计还存在一些不足之处:如游戏音效处理以及键盘响应还没能实现,希望通过不断的研究加以完善。

参考文献

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

[2]张向宏.软件测试理论与实践教程[M].人民邮电出版社,2009:5.

[3]刘欣.手机游戏 简单为贵[J].通信世界,2006,07.

c语言开发篇5

关键词:C、C#、Java;面向对象程序设计;NET环境

Abstract: C-sharp is one kind of high-level programming language which Microsoft Corporation issued, is Microsoft Corporation's newest achievement. From the time sequence, Appears what most early is C, then is C++, finally is C-sharp. C is completely the procedure-oriented the programming language, C-sharp is the JAVA super version, C-sharp is completely object-oriented. This paper has made the simple elaboration to between C and the C-sharp relation and the difference.

Key words: C; C-sharp; JAVA; object-oriented programming; .NET environmen

C#(读作“C-sharp”)是微软公司的一种面向对象的、运行于.NET Framework环境之上的高级程序设计语言。其在PDC上登台亮相,是微软公司研究员Anders Hejlsberg的最新成果。很多人会提出这样的一个问题,那就是C与C#有无区别呢?答案是肯定的,那二者的区别又在哪里呢,说到二者的区别,就必须先谈谈二者之间的联系。

1 C与C#的联系

有一种有趣的说法“C添两个+号,就是C++再添加两个+号,就成了c#了(四个+就成了#)”,还有一种说法“C是爷爷,C++是爸爸,C#是孙子”,从这些形象的比喻中,我们应该能体会到从C到C#的变化过程。

从时间顺序上说,最早出现的是C,然后是C++,最后是C#。C++是为了解决软件危机而引入面向对象的概念,C#是为了实现平台统一和JAVA争夺市场下的产物。从性能上说,C的效率最高,C++次之,C#最低。C是完全面向过程的结构化编程语言,它的特点是语言体积小、效率高、语言灵活,给程序的限制小,而且可以方便地对低层进行操作,所以它非常适合于开发操作系统、驱动程序,嵌入式等对速度要求较高的程序。C++是向下完全兼容C的,C++与C相比最显著的变化就是增加了面向对象的成分,也就是增加了类的概念,因为它的增加使软件开发可以比较容易地描述人类的思维,使得软件的开发和维护变得相对简单,直接降低了软件的成本,但因为C++是面向对象的语言,这本身就制约它的速度,所以C++适合开发那些大型项目,现代的大部分语言都或多或少的借鉴了C++和C的某些特性。C#被包括在.NET平台下,是一个面向对象、面向网络、面向组件的语言, 有很多地方与JAVA非常相似,擅长于开发网络方面的程序。因此,更确切地说,C#是一个需.NET平台支持的开发语言,单纯看C#没有意义,需要了解.NET平台的开发知识。

从编译角度看,C/C++编译生成目标文件都是可被CPU直接理解的机器码,而C#编译后生成的是MSIL(Microsoft Intermediate Language),这种语言不能直接被CPU执行,而是依靠.NET framework翻译(Just-in-time Compiling)成opcode后再送到CPU执行的。因此,这也是上面为什么说C#运行效率最低的缘故。(平均意义上的效率低,不是绝对的)。

C#可认为是C的升级加强版。C是一种优良的面向过程的程序设计语言,而且得到了普遍的推广。但是随着面向对象编程思想的兴起,C已经不能满足要求,因此继而出现了C++、Java、C#等。C#是Microsoft公司设计的一种编程语言。C#和Java都是在语法上借用了C的一些形式而已。跟C/C++没有多少联系了。C#松散地基于C/C++,并且有很多方面和Java类似。Microsoft是这样描述C#的:“C#是从C和C++派生来的一种简单、现代、面向对象和类型安全的编程语言。C#主要是从C/C++编程语言家族移植过来的,因此,C和C++的程序员会马上熟悉它。C#试图结合Visual Basic的快速开发能力和C++的强大灵活的能力。”

2 C与C#的区别

了解了C与C#之间的联系,我们就可以讨论一下二者的区别了。C是一种面向过程的程序设计语言,而C#是一种面向对象的程序设计语言。二者的区别体现在很多方面,接下来就分别对它们各自的特点做个描述,从中大家可体会它们之间的不同之处。

2.1 关于C

C是面向过程编程的语言,主要用来编写操作系统、单片机程序、底层操作软件(与硬件关系较大的),它适合作为系统描述语言,即可用来编写系统软件,也可用来编写应用软件。虽然语法相对繁琐,但对硬件的底层编程和对内存的管理的灵活性方面C是其他高级语言所不可及的。

C是结构化编程的典型代表,其用作程序开发时主要是结构化模块,函数的应用和编程。在其原来结构化开发的基础上增加类,就变成了C++,所以可以说C++是带类的C语言。C语言的应用非常广泛,UINX系统中90%的代码是用C语言开发的,其余是汇编等。无论是windows还是Linux及Uinx以及MAC等操作系统,都可用C来开发程序。

C的不足之处就是:C非常的灵活,高级的不易掌握,据说微软培养一名C程序员需要2年的时间。另外,如果单用C语言开发视窗系统,不用C++是很困难的。

2.2 关于C#

C#是从C/C++演化而来的类JAVA的语言,完全面向对象(大家常说的VB、Delphi只是基于对象)。C#是专门针对在.NET Framework上开发应用程序所设计的新程序语言,C#有点类似C++,或者说更像JAVA,因此它有着易用、弹性大的特点,不但提供完整的面向对象支持,在程序语法的执行效率上也比Visual Basic快,所以说C#是为.NET平台量身定做也不为过。

C#程序设计语言学习容易,内部封装了巨量的类库,用户可以直接拿来使用,无论用它开发win程序还是web程序,都十分方便,里有强大的IDE环境vs.net,这是比JAVA好的特点之一。C#代表了编程语言的发展方向,有资料称微软技术专家认定下一代操作系统的80%代码都是用C#来写。

在C#里面基本上放弃了C的指针。语法基本没有区别,个人感觉首先C#不必对指针进行太多的研究,然后是可移植性等,其他的区别相当大,可以说不是一个方向的。

C#与C的语法基本没有区别,但稍有不同,下面就举个例子说明一下——分别在C和C#中声明数组:

int array1[5]; //在C中声明一维数组

int[ ]array1=new int[5]; //在C#中声明一维数组

int array2[3][4]; //在C中声明二维数组

int[,] array2=new int[3,4]; //在C#中声明二维数组

int[ ][ ] array3=new int[3][]; //在C#中声明不规则数组

可见,在C#中声明数组的方式和C中的声明方式是不一样的,在C#中声明数组时,方括号[ ]必须跟在类型后面,而不是标识符后面,若将[ ]放在标识符后是不合法的语法,另一细节是,C#中数组的大小不是其类型的一部分,而在C语言中它却是数组类型的一部分,C#还允许建立不规则数组。

c语言开发篇6

关键词:Coco2d-x;动态更新;Lua;跨平台开发

中图分类号:TP368.1 文献标识码:A

Abstract:The Lua scripting language technology has brought the new heaven and earth for the development of Coco2d-x.Through the Lua scripting language development Cocos2d-x application,get rid of the tedious code of C/C++ development,makes the development of fast and efficient and can run on multiple platforms at the same time,the Lua scripting language can expand sex,can make it a good integration in the application.At the same time the Lua language become controller in development.Control the application logic and Coco2d-providing display functions of x and cross-platform features.Such development can dynamically modify the client not only bugs,but also dynamic update application content to avoid the update of customer churn.Free,small,fast,easy to transplant the Lua language reduces the development cost and guarantee the application performance.

Keywords:Cocos2d-x;dynamic updating;Lua;cross-platform development

1 引言(Introduction)

Cocos2d-x是基于C++语言的移动端应用程序开发的开源框架。Cocos2d-iPhone项目的C++版本[1]。Cocos2d-x开发框架用C++语言重写了Cocos2d开发框架从而实现应用开发跨平台,在跨平台移动端应用开发中Cocos2d-x框架被大量使用[2]。其开发的手机应用,可以在C++或者Lua中编写。Cocos2d-x项目能够兼容iOS操作系统,Android操作系统,黑莓Blackberry操作系统等。在PC端Cocos2d-x开发框架支持的操作系统包括Linux操作系统、Mac操作系统和Windows操作系统等PC端操作系统,因此,Cocos2d-x能够在PC端操作系统中可以进行编辑和调试使得其在开发中变得高效快捷[3]。

2 基于Lua动态脚本语言Coco2d-x应用开发的关键技术(The key technology of Cocos2d-x application development based on the dynamic scripting language Lua)

(1)Lua技术

Lua是一个小巧的动态语言。Lua动态语言的设计初衷,为应用程序开发提供订制功能与灵活的拓展。作为脚本语言它具有轻量、可拓展、简洁等特点[4]。因为C++语言与Lua脚本语言具有良好交互能力。可以复杂繁琐的C++开发变为简单快捷的Lua语言开发。

(2)Lua与C++交互技术

Lua动态脚本语言与C++语言的通讯分为两部分,首先是Lua动态语言通过Lua Binding访问C++语言中的类库或者函数以及传递参数,其次分是C++语言回调Lua C API访问Lua的函数以及传递参数。

(3)Cocos2d-x开发手机应用技术

在实际开发中,使用Cocos2d-x框架进行移动端应用程序开发,依赖其可以和平美兼容,使其项目可以做到多个平台一套代码,多个平台一个版本避免了多平台版本不统一的尴尬。通过与之相配套的CocosStdioUI编辑快速生成plist文件可视化进行界面布局提高实际项目中的开发效率,让应用开发变得更加迅捷高效开发。

3 基于Lua动态脚本语言Coco2d-x应用开发的应用

与实现(The use and implementation of Cocos2d-x

application development based on the dynamic

scripting language Lua)

3.1 Lua与C++的交互技术实现

在C++中初始化Lua:

Lua_State * L=lua_open(); //初始化Lua环境

void CCinitLua() {

lua_openlibs(L); //载入Lua全部标准库

}

完成在C++来执行Lua文件。Lua被嵌入到C++程序中,起到一个黏合作用。而Cocos2d-x框架其强大的功能分别来自于不同的类库。Lua动态语言在程序开发中作为整个应用程序的逻辑控制器,在开发中Lua脚本语言充当大脑而开发框架充当肢体。以消息机制为例,通过调用C++语言的函数达到,回调Lua动态语言函数。以C++绘制函数为例,C++通过绘制函数传输一个消息给Lua语言,当绘制函数进行重绘时也就在Lua语言中执行相同的函数。这样就可以在书法简练没有类型的Lua中编写C++代码,省去了C++的复杂语法从而有拥有了C++的强大功能。通过这个方式就能够实现其他事件机制。

动态脚本语言Lua调用C++接口时,进行参数传递,回调结果的获取。需要把C++中函数位置通过指定的方式传达给Lua语言。在Lua调用C++,C++从栈中找到交互的栈,从而获取其中的参数,调用结束后将返回结果信息放入栈中。在当Lua语言中绘制函数被调用时,同时也调用了C++中做相应处理的函数,这样动态语言Lua与C++的交互就是实现的。

3.2 Lua与Cocos2d-x交互

Cocos2d-x具体来说更像是一个类库的合集其中把图形渲染和多媒体播放甚至物理引擎,分解集合成一个lib。通过C++调用这个lib中的具体方法而实现快速的手机应用开发的框架。通过Lua动态语言嵌入到Cocos2d-x开发框架中,并与其良好的结合。达到了在脚本中开发跨平台手机应用。

3.3 利用Cocos2d-x开发应用

目前移动端操作系统主要有iOS操作系统,Android操作系统。移动应用程序开发需要使用Cocos2d-x进行开发可以避免一款程序多套代码的尴尬。

(1)利用Lua+Coco2d-x开发Android应用

通过Native Development Toolkit(NDK)我们可以在eclipse里面集成外部库(比如Cocos2d-x),使用C/C++来编写Android程序。这些库被编译成动态库通过JNI(Java Native Interface)与Java Android体系程序进行交互。下面有两种使用方法:

①独立模式:直接在makefile中使用arm-linux-androideabi-g++。

②集成模式:使用$NDKROOT/ndk-build shell工具,它是一种高度可定制的makefile,专门为NDK库所设计的。

首先修改Anroid/jni/Android.mk中文件如下:

LOCAL_PATH:=$(callmy-dir)include$(CLEAR_VARS)subdirs:=$(addprefix $(LOCAL_PATH)/http:///../,$(addsuffix /Android.mk, \

cocos2dx\CocosDenshion/android\lua/proj.android/jni\))subdirs+= $(LOCAL_PATH)/pyramid/Android.mk

include $(subdirs)

修改jni\Application.mk文件:

APP_MODULES:=cocos2d cocosdenshion lua game

在android\src\org\cocos2dx\xx\x\.java中修改:

static {

System.loadLibray("cocos2d");

System.loadLibrary("cocosdenshion");

System.loadLibrary("lua");

System.loadLibrary("game");

}

(2)利用Lua+Coco2d-x开发iOS应用

在Mac操作系统终端中填入:

cd $COCOS2DX_HOME

sud./install-templates-xcode.sh-u

在Cocos2d-x框架安装成功以后在Xcode中会出现新的Cocos2d-x模板选择即可创建新的工程。由于lua语言不能直接与Objective-C交互,所以我们使用Lua Bingding和C/C++交互。同时C++和Objective-C可以混编,使用C++可以直接调用Objective-C,让C++作为Lua和Objective-C交互的桥梁(图1)。

(3)Lua开发应用

我们通过用Lua动态语言创建场景、层、精灵来实现应用中的一个通过用户触摸图片跟随用户手指移动的功能。

Mc_Scene=cocos2d.CCScene.node()

Mc_Layer=cocos2d.CCLayer.node()

Mc_Scene:addChild(Mc_Layer)

Mc_Sprite=cocos2d.CCSprite:SpriteWithFile

("machao.png")

Mc_Layer:addChild(Mc_Sprite)

SceneSize=cocos2d.CCDirector:shareDirector:getWinSize()

Mc_Sprite:setPosition(cocos2d.CCPoint(SceneSize.width*0.5,SceneSize.height*0.5))

Mc_Layer.__CCTouchDelegate__:registerScriptTouchHandler(cocos2d.CCTOUCHBEGAN,"btnTouchBegin")

Mc_Layer.__CCTouchDelegate__:registerScriptTouchHandler(cocos2d.CCTOUCHMOVED,"btnTouchMove")

Mc_Layer.__CCTouchDelegate__:registerScriptTouchHandler(cocos2d.CCTOUCHEND,"btnTouchEnd")

Pointbegin=nil

Function btnTouchBegin(e)

Local v=e[1]

Local pointMove=v:locationInView(v:view())

pointMove= cocos2d:CCDirector:sharedDirector():covertoGL(pointMove)

Mc_sprite:setPosition(cocos2d.CCPoint(pointMove.x,pointMove.y))

End

Function btnTouchMove(e)

Local v=e[1]

Local pointMove=v:locationInView(v:view())

pointMove= cocos2d:CCDirector:sharedDirector():covertoGL(pointMove)

Mc_sprite:setPosition(cocos2d.CCPoint(pointMove.x,pointMove.y

End

Function btnTochMove(e)

Cocos2d.CCLuaLog("T_end")

end

CocoDenshion.SimpleAudioEngine:shareEngine():playBackgroundmusic("background3.mp3",true)

CocoDenshion.SimpleAudioEngine:shareEngine():preloadEffect("effect1.wav")

Cocos2d.CCDirector:shareDirector():runwithScnen

(Mc_Scene)

Cocos2d.CCLuaLog("脚本运行结束")

4 结论(Conclusion)

本文使用Lua动态语言进行移动应用程序的设计与开发,把灵活高效的脚本语言应用到移动端应用程序开发,通过其良好的嵌入能力与Android平台和iOS平台结合,利用Cocos2d-x进行应用开发。Lua动态语言能使应用程序的逻辑和与前端视图完全剥离开,不仅大大减少的应用程序的开发周期还使其具有客户端动态更新的功能,又通过Cocos2d-x开发框架与多平台相兼容,降低了开发成本。同时也降低了应用程序的复杂程度,增加了代码的可复用性。

参考文献(References)

[1] Jayant Varma.Lua实战:IOS游戏开发[M].北京:人民邮电出版社,2014:77-78.

[2] 刘剑卓.Cocos2D-X游戏开发技术精解[M].北京:人民邮电出版社,2013:53-54.

[3] 满硕泉.Cocos2D-X权威指南[M].北京:机械工业出版社,2010:26-27.

[4] Ierusalimschy R.Progarmming in Lua[M].北京:电子工业出版社,2006:141-143.

作者简介:

c语言开发篇7

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

随着计算机技术发展,社会信息水平进步,计算机对于现实生活的影响越来越巨大。计算机凭借自身丰富的应用软件体系,实现着多种多样能够丰富人们的生活工作的功能。渐渐地,人们对于计算机的需求也来越来越高,对于计算机软件的功能以及种类的要求也随之提高。而影响计算机软件开发的编程语言从计算机发展伊始便表现出重要的作用,发展至今编程语言更是有着繁多的种类,但每一种编程语言都有着其固定的适用范围,特殊属性,了解编程语言的各种属性能够对计算机软件的开发有着重要的作用。熟知不同编程语言对于计算机软件开发的影响对于更好的开发计算机软件有着重要意义。现阶段计算机编程语言有哪些分类,其各自又有着怎样的属性特点,对于计算机软件开发的影响又是什么是本文接下来将要叙述的内容。

1 现阶段应用较多的计算机编程语言

计算机编程语言的发展是在解决人机互动矛盾的过程中所不断推进的。现阶段,根据不同的应用环境,常见的编程语言有如下四种:C、C++、JAVA、Pascal。@四种语言是当前主流的进行计算机软件编程的语言,通过对这几种语言进行解读能够更好的了解计算机编程语言对于加算计软件开发的影响作用。

1.1 C语言

C语言出现于二十世纪的七八十年代,是最早的一种能够被人们高度认可的一种编程语言。在当今的各种计算机程序开发中依旧得到广泛的应用。C语言是一种面向过程的计算机语言,其在程序功能的实现上主要是通过对相关欲实现的功能进行步骤划分,详细的写出每一个步骤计算机需要执行的操作,最终实现完整的软件功能。C语言发展至今,已充分证明了其强大的生命力以及通用性。不仅如此,在运用C语言进行软件开发时,无需过度的注重程序各要素之间的关系,代码简短便于理解,语法要求不严格有着较好的容错,并且有着较为完善的数据结构类型,各种运算符同样得到涉及,夸张的讲,现有的所有功能都可以依靠C语言来实现。从硬件角度讲,C语言有着很好的硬件亲和性,能够直接访问硬件的物理区域,并对硬件进行直接的编程。C语言在世界范围内都有着广泛的运用,各种软件开发商都在对C语言进行进一步的研究开发。并且,现阶段较为常用的JAVA语言同样是基于C语言进行开发。

1.2 C++语言

C++语言是基于C语言进一步开发的语言,其相较于C语言在程序的根本实现模式上有着很大的不同。C++语言是面向对象的一种编程语言,但在实际的代码以及库文件方面于C语言有着一定的共同。C++语言既有着C语言的各种优点与功能,又有着更家实用的现实意义。在许多熟知的操作平台是上面都能较为通常的见到C++语言的身影。但C++语言较C语言更难学习,思维逻辑结构在初步的理解方面往往存在一定的困难。只有在深入掌握这门语言之后,才能在实际运用中了解其强大的功能作用。并且C++语言是一门基础的面向对象的编程语言,学习C++语言对于未来的其他编程语言的学习有着很大的帮助。

1.3 JAVA语言

JAVA语言内核是C语言,即JAVA语言是基于C语言所开发而出的一种语言。并且JAVA语言同样是一种面向对象的编程语言。JAVA语言与C++语言相比,在易用性上更具优势,并且JAVA语言也充分的具有C++语言的各种优势。在非智能机的时代中,JAVA语言为手机娱乐软件的开发做出很大的贡献。在现阶段,JAVA语言在智能手机的运用也很多是非常主流的移动端图形软件的程序编辑语言。另外在JAVA语言的基础上,还发展出C#语言。C#语言相较于JAVA语言更加适合智能手机的软件开发,在语法特性以及一些属性方面都要更加契合现阶段的软件开发。

1.4 Pascal语言

Pascal语言在一定程度上不如以上几种语言更令人熟知,但在专业领域Pascal语言有着非常重要的地位。Pascal语言是一种高级编程语言,有着很强的个体特点。Pascal是针对当前计算机环境下所出现的一种语言,有着很高的运行效率,并且对于程序代码也有着较强的检错纠错能力。Pascal语言本身的数据类型丰富,结构也更为严谨。在当前大数据的环境下能够很好的实现数据以及算法的描述。且代表着新一代高级计算机语言的崛起。

以上四种语言是当前发展状态下几种较为有代表性的计算机语言,除了以上几种,计算机编程语言还包括更早的B语言,现在同样有所运用的VB语言等等。计算机编程语言的多样性以及互相之间结构的关联性都表现出新的编程语言是基于传统的语言进行调整优化而来的特点。各种编程语言在发展中都有着自身特有的运用范围与实用价值。

2 在软件开发中对于编程语言的选择依据

编程语言的出现是为了设计具有各种功能的计算机软件。不同的软件开发都需要运用到不同种类的计算机编程语言。不同的计算机编程语言有着各自不同的属性,但殊途同归都能构就某一种功能进行实现。但运用不同的编程语言在实现的难度上不同,实际的软件使用条件也不同。选择合适的编程语言对于开发更具通用性,更适合现阶段计算机条件的软件有着重要的意义。所以在进行计算机软件的开发时,对于计算机编程语言的选择往往会遵循着一定改的规律。

2.1 内外环境因素

一个优秀的计算机软件往往能够很好兼顾计算机的内外环境,保证在一定的外部硬件环境下能够稳定高效的运行。在内部环境中又能实现很好的兼容,容错等等。所以在对软件的开发中往往要针对软件的内外环境进行慎重的考虑。对于语言的选择,要考虑到软件的整体框架,将要实现的内容,开发的平台等等因素。对于语言的选择要考虑到外部环境变更后对于软件兼容性的影响,所以语言的选择要有前瞻性。另外编程语言的选择还要考虑到软件的功能和与之契合的专业领域内容,保证选择的语言能够很好的实现软件的是指功能。

2.2 软件应用领域的因素

对于编程语言的选择要充分的考虑到软件是运用在何种领域之中,是对于硬件进行开发还是针对面向对象的开发,是要实现图形还是要实现数据的统计分析。对于领域的划分清楚后再选择适用的计算机编程语言。不同软件如果不考虑实际应用领域接进行软件的开发,最后做出的软件在一些方面无法适应现实需求。而且,选择合适领域的计算机编程语言既能够保证软件的功能得以全部的实现,又能够保证在软件开发过程中能够顺利的的进行。对于后期的软件维护也有着很重要的意义。一般的C语言更适用硬件的开发,c++以及Java语言更适用于面相对象的软件开发,VC,VB语言则适用于信息领域的软件开发等等。

2.3 软件整体框架的影响

软件的整体的框架决定了最终的编程语言的选择,对于软件中的不同的功能项目可以选择不同类型的编程语言,对于加大规模的软件的实现,要充分的进行整体框架之间功能衔接之间进行细致的考量。

2.4 掌握程度不同的编程语言影响

掌握程度不同的编程语言在进行软件编写的时候会对软件的开发效率,软件的功能实现效果带来很大的影响,所以选择熟悉的编程语言进行编写也是一个十分重要的考虑因素。即使是同类型的编程语言,不同人掌握的版本也不相同,但是熟悉的编程语言会使得编程变得更加的流畅,最终软件的质量表现更加出众。

以上四个方面即是在进行软件开发中对于编程语言选择时需要考虑到各种元素。对于不同编程语言对软件开发的实际影响会更加直观的表现出编程语言选择的重要性。

3 不同编程语言对于软件开发带来的影响

不同编程语言对于实际的软件开发影响其实在上述的编程语言作用以及对编程语言的选择策略中已经进行相关的叙述。但还是要就不同语言对于对于软件开发带来的作用进行详细的表述。

3.1 C语言对软件开发带来的影响

上文提到C语言是一种面向过程的计算机编程语言,其有着悠远的运用历史。在现阶段,掌握C语言的人群占据很大的比例,并且C语言能够适应所有软件功能的开发。但在实际上现阶段使用C语言进行较大规模的软件开发实很罕见的,之所以会这样,是充分的考虑到C语言本身的一些特性所做出的决定。C语言实面向过程的酿成语言,其要求在算法设计中详细的对事件的每一个详细步骤进行细致的划分。一旦遇到复杂功能的实现,御用C语言进行编程就会造成过于庞大的程序语句基数。过大的工作量一方面为开发工作带来各种困难,另一方面,一旦初夏那个中问题将很难及时的对软件进行调整,并且有可能出现平台移植时的技术难题。

3.2 C++语言在软件开发中带来的影响

C++语言是一种面向对象的计算机编程语言,在一定程度上运用C++语言进行功能的实现要比C语言更为容易。并且,C++语言实除了C语言意外被人们所熟知的第二种编程语言。对于这种语言的使用者范围也是十分的广阔。但是,在运用C++语言时,如果不充分考虑到各种因素的影响,就会出现与C语言同样的问题。由于当前的软件开发都是有多人合作进行开发,所以对于各模块程序之间的联系必须要紧密,同时也必须满足一定的共用协议,如歌无法满足上述要求,完成模块化功能开发后,各个模块化程序出现各种不兼容状况,无法连称为一个整体,最终的软件开发以失败告终。

3.3 JAVA语言在软件开发中的影响

Java语言就前两种语言来讲,相对更为简单,其实现的软件功能效果也更为优秀。但是Java语言的使用有着更为明显的局限性。运用Java进行基础图形渲染的制作能够实现,但如果要想实现更为高级的表现效果,只是运用Java便显得十分不足。另外,Java开发的软件中,某些协议与计算机中某些软件冲突诸如,Java相关软件在迅雷中的一些问题。着中不兼容问题的出现会大大的影响软件的使用状态。也会降低软件的品质。

3.4 VB语言的在软件开发中的影响

VB语言是专门针对数据信息软件开发的一门语言,实一种十分方便且高级的语言,运用VB语言进行软件开发能够十分轻易的实现数据的统计分析与输入输出。但是VB语言的使用范围有着很具体的要求,无法运用VBZ言进行其他类型软件的开发,如果忽视这一问题,在实际的软件开发中就会面临更多的困难,且开发出的软件在功能的实现上也并不能满足各种实际的需求,得不偿失。

综合分析来讲,不同编程语言本身就是为针对不同的应用环境所出现,所有的编程语言殊途同归,都是为了将开发者能够理解的语言转化为计算机能够理解的语言。而之所以出现如此多种类的计算及语言正是由于,在不同的开发需求下,单一语言的各种设置无法较好的实现软件所想要实现的功能。编程语言的进步往往实在已有的语言的基础上进行进一步的完善,最终能够更好的实现技术人员的需要,实程序员能够更方便的进行各种功能软件的开发,不断的挖掘计算机功能潜力,更好的方便大众的生活。所以在编程语言的选择中一定要认清编程语言的适用范围以及功能,有原则的对编程语言进行选择。

4 结语

计算机软件开发语言就是计算机软件开发的工具。选择合适的工具才能更好的开发出具备各种功能的计算机软件。开发者要加强对于不同编程语言的了解程度,明白各类型编程语言对实际软件开发的影响作用。对于编程语言的选择有更为直观的认知,最终摸索出在软件开发中选择编程语言的方法,更高效的实现计算机软件的开发。

参考文献

[1]罗琼,李艳,熊英.不同编程语言对计算机应用软件开发的影响[J].电脑编程技巧与维护,2013(12):24-28.

[2]高霞.探讨不同编程语言对计算机应用软件开发的影响[J].电脑编程技巧与维护,2016(03):26-31.

[3]李开元.探究计算机应用软件开发过程中不同编程语言的影响[J].信息化建设,2015(06):30-35.

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

[5]马洁.计算机应用软件开发中选择的编程语言[J].电脑知识与技术,2013(08):44-49.

[6]康超.基于计算机软件开发的JAVA编程语言探讨[J].科技展望,2016(04):21-26.

[7]刘群娣.基于计算机软件开发JAVA编程语言分析[J].信息与电脑(理论版),2015(22):26-31.

作者简介

周俊威(1993-),男,四川省成都市人。大学本科学历,毕业生。研究方向为计算机科学与技术。

c语言开发篇8

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

随着计算机技术发展,社会信息水平进步,计算机对于现实生活的影响越来越巨大。计算机凭借自身丰富的应用软件体系,实现着多种多样能够丰富人们的生活工作的功能。渐渐地,人们对于计算机的需求也来越来越高,对于计算机软件的功能以及种类的要求也随之提高。而影响计算机软件开发的编程语言从计算机发展伊始便表现出重要的作用,发展至今编程语言更是有着繁多的种类,但每一种编程语言都有着其固定的适用范围,特殊属性,了解编程语言的各种属性能够对计算机软件的开发有着重要的作用。熟知不同编程语言对于计算机软件开发的影响对于更好的开发计算机软件有着重要意义。现阶段计算机编程语言有哪些分类,其各自又有着怎样的属性特点,对于计算机软件开发的影响又是什么是本文接下来将要叙述的内容。

1现阶段应用较多的计算机编程语言

计算机编程语言的发展是在解决人机互动矛盾的过程中所不断推进的。现阶段,根据不同的应用环境,常见的编程语言有如下四种:C、C++、JAVA、Pascal。这四种语言是当前主流的进行计算机软件编程的语言,通过对这几种语言进行解读能够更好的了解计算机编程语言对于加算计软件开发的影响作用。

1.1C语言

C语言出现于二十世纪的七八十年代,是最早的一种能够被人们高度认可的一种编程语言。在当今的各种计算机程序开发中依旧得到广泛的应用。C语言是一种面向过程的计算机语言,其在程序功能的实现上主要是通过对相关欲实现的功能进行步骤划分,详细的写出每一个步骤计算机需要执行的操作,最终实现完整的软件功能。C语言发展至今,已充分证明了其强大的生命力以及通用性。不仅如此,在运用C语言进行软件开发时,无需过度的注重程序各要素之间的关系,代码简短便于理解,语法要求不严格有着较好的容错,并且有着较为完善的数据结构类型,各种运算符同样得到涉及,夸张的讲,现有的所有功能都可以依靠C语言来实现。从硬件角度讲,C语言有着很好的硬件亲和性,能够直接访问硬件的物理区域,并对硬件进行直接的编程。C语言在世界范围内都有着广泛的运用,各种软件开发商都在对C语言进行进一步的研究开发。并且,现阶段较为常用的JAVA语言同样是基于C语言进行开发。

1.2C++语言

C++语言是基于C语言进一步开发的语言,其相较于C语言在程序的根本实现模式上有着很大的不同。C++语言是面向对象的一种编程语言,但在实际的代码以及库文件方面于C语言有着一定的共同。C++语言既有着C语言的各种优点与功能,又有着更家实用的现实意义。在许多熟知的操作平台是上面都能较为通常的见到C++语言的身影。但C++语言较C语言更难学习,思维逻辑结构在初步的理解方面往往存在一定的困难。只有在深入掌握这门语言之后,才能在实际运用中了解其强大的功能作用。并且C++语言是一门基础的面向对象的编程语言,学习C++语言对于未来的其他编程语言的学习有着很大的帮助。

1.3JAVA语言

JAVA语言内核是C语言,即JAVA语言是基于C语言所开发而出的一种语言。并且JAVA语言同样是一种面向对象的编程语言。JAVA语言与C++语言相比,在易用性上更具优势,并且JAVA语言也充分的具有C++语言的各种优势。在非智能机的时代中,JAVA语言为手机娱乐软件的开发做出很大的贡献。在现阶段,JAVA语言在智能手机的运用也很多是非常主流的移动端图形软件的程序编辑语言。另外在JAVA语言的基础上,还发展出C#语言。C#语言相较于JAVA语言更加适合智能手机的软件开发,在语法特性以及一些属性方面都要更加契合现阶段的软件开发。

1.4Pascal语言

Pascal语言在一定程度上不如以上几种语言更令人熟知,但在专业领域Pascal语言有着非常重要的地位。Pascal语言是一种高级编程语言,有着很强的个体特点。Pascal是针对当前计算机环境下所出现的一种语言,有着很高的运行效率,并且对于程序代码也有着较强的检错纠错能力。Pascal语言本身的数据类型丰富,结构也更为严谨。在当前大数据的环境下能够很好的实现数据以及算法的描述。且代表着新一代高级计算机语言的崛起。以上四种语言是当前发展状态下几种较为有代表性的计算机语言,除了以上几种,计算机编程语言还包括更早的B语言,现在同样有所运用的VB语言等等。计算机编程语言的多样性以及互相之间结构的关联性都表现出新的编程语言是基于传统的语言进行调整优化而来的特点。各种编程语言在发展中都有着自身特有的运用范围与实用价值。

2在软件开发中对于编程语言的选择依据

编程语言的出现是为了设计具有各种功能的计算机软件。不同的软件开发都需要运用到不同种类的计算机编程语言。不同的计算机编程语言有着各自不同的属性,但殊途同归都能构就某一种功能进行实现。但运用不同的编程语言在实现的难度上不同,实际的软件使用条件也不同。选择合适的编程语言对于开发更具通用性,更适合现阶段计算机条件的软件有着重要的意义。所以在进行计算机软件的开发时,对于计算机编程语言的选择往往会遵循着一定改的规律。

2.1内外环境因素

一个优秀的计算机软件往往能够很好兼顾计算机的内外环境,保证在一定的外部硬件环境下能够稳定高效的运行。在内部环境中又能实现很好的兼容,容错等等。所以在对软件的开发中往往要针对软件的内外环境进行慎重的考虑。对于语言的选择,要考虑到软件的整体框架,将要实现的内容,开发的平台等等因素。对于语言的选择要考虑到外部环境变更后对于软件兼容性的影响,所以语言的选择要有前瞻性。另外编程语言的选择还要考虑到软件的功能和与之契合的专业领域内容,保证选择的语言能够很好的实现软件的是指功能。

2.2软件应用领域的因素

对于编程语言的选择要充分的考虑到软件是运用在何种领域之中,是对于硬件进行开发还是针对面向对象的开发,是要实现图形还是要实现数据的统计分析。对于领域的划分清楚后再选择适用的计算机编程语言。不同软件如果不考虑实际应用领域接进行软件的开发,最后做出的软件在一些方面无法适应现实需求。而且,选择合适领域的计算机编程语言既能够保证软件的功能得以全部的实现,又能够保证在软件开发过程中能够顺利的的进行。对于后期的软件维护也有着很重要的意义。一般的C语言更适用硬件的开发,c++以及Java语言更适用于面相对象的软件开发,VC,VB语言则适用于信息领域的软件开发等等。

2.3软件整体框架的影响

软件的整体的框架决定了最终的编程语言的选择,对于软件中的不同的功能项目可以选择不同类型的编程语言,对于加大规模的软件的实现,要充分的进行整体框架之间功能衔接之间进行细致的考量。

2.4掌握程度不同的编程语言影响

掌握程度不同的编程语言在进行软件编写的时候会对软件的开发效率,软件的功能实现效果带来很大的影响,所以选择熟悉的编程语言进行编写也是一个十分重要的考虑因素。即使是同类型的编程语言,不同人掌握的版本也不相同,但是熟悉的编程语言会使得编程变得更加的流畅,最终软件的质量表现更加出众。以上四个方面即是在进行软件开发中对于编程语言选择时需要考虑到各种元素。对于不同编程语言对软件开发的实际影响会更加直观的表现出编程语言选择的重要性。

3不同编程语言对于软件开发带来的影响

不同编程语言对于实际的软件开发影响其实在上述的编程语言作用以及对编程语言的选择策略中已经进行相关的叙述。但还是要就不同语言对于对于软件开发带来的作用进行详细的表述。

3.1C语言对软件开发带来的影响

上文提到C语言是一种面向过程的计算机编程语言,其有着悠远的运用历史。在现阶段,掌握C语言的人群占据很大的比例,并且C语言能够适应所有软件功能的开发。但在实际上现阶段使用C语言进行较大规模的软件开发实很罕见的,之所以会这样,是充分的考虑到C语言本身的一些特性所做出的决定。C语言实面向过程的酿成语言,其要求在算法设计中详细的对事件的每一个详细步骤进行细致的划分。一旦遇到复杂功能的实现,御用C语言进行编程就会造成过于庞大的程序语句基数。过大的工作量一方面为开发工作带来各种困难,另一方面,一旦初夏那个中问题将很难及时的对软件进行调整,并且有可能出现平台移植时的技术难题。

3.2C++语言在软件开发中带来的影响

C++语言是一种面向对象的计算机编程语言,在一定程度上运用C++语言进行功能的实现要比C语言更为容易。并且,C++语言实除了C语言意外被人们所熟知的第二种编程语言。对于这种语言的使用者范围也是十分的广阔。但是,在运用C++语言时,如果不充分考虑到各种因素的影响,就会出现与C语言同样的问题。由于当前的软件开发都是有多人合作进行开发,所以对于各模块程序之间的联系必须要紧密,同时也必须满足一定的共用协议,如歌无法满足上述要求,完成模块化功能开发后,各个模块化程序出现各种不兼容状况,无法连称为一个整体,最终的软件开发以失败告终。

3.3JAVA语言在软件开发中的影响

Java语言就前两种语言来讲,相对更为简单,其实现的软件功能效果也更为优秀。但是Java语言的使用有着更为明显的局限性。运用Java进行基础图形渲染的制作能够实现,但如果要想实现更为高级的表现效果,只是运用Java便显得十分不足。另外,Java开发的软件中,某些协议与计算机中某些软件冲突诸如,Java相关软件在迅雷中的一些问题。着中不兼容问题的出现会大大的影响软件的使用状态。也会降低软件的品质。

3.4VB语言的在软件开发中的影响

VB语言是专门针对数据信息软件开发的一门语言,实一种十分方便且高级的语言,运用VB语言进行软件开发能够十分轻易的实现数据的统计分析与输入输出。但是VB语言的使用范围有着很具体的要求,无法运用VB语言进行其他类型软件的开发,如果忽视这一问题,在实际的软件开发中就会面临更多的困难,且开发出的软件在功能的实现上也并不能满足各种实际的需求,得不偿失。综合分析来讲,不同编程语言本身就是为针对不同的应用环境所出现,所有的编程语言殊途同归,都是为了将开发者能够理解的语言转化为计算机能够理解的语言。而之所以出现如此多种类的计算及语言正是由于,在不同的开发需求下,单一语言的各种设置无法较好的实现软件所想要实现的功能。编程语言的进步往往实在已有的语言的基础上进行进一步的完善,最终能够更好的实现技术人员的需要,实程序员能够更方便的进行各种功能软件的开发,不断的挖掘计算机功能潜力,更好的方便大众的生活。所以在编程语言的选择中一定要认清编程语言的适用范围以及功能,有原则的对编程语言进行选择。

4结语

计算机软件开发语言就是计算机软件开发的工具。选择合适的工具才能更好的开发出具备各种功能的计算机软件。开发者要加强对于不同编程语言的了解程度,明白各类型编程语言对实际软件开发的影响作用。对于编程语言的选择有更为直观的认知,最终摸索出在软件开发中选择编程语言的方法,更高效的实现计算机软件的开发。

参考文献

[1]罗琼,李艳,熊英.不同编程语言对计算机应用软件开发的影响[J].电脑编程技巧与维护,2013(12):24-28.

[2]高霞.探讨不同编程语言对计算机应用软件开发的影响[J].电脑编程技巧与维护,2016(03):26-31.

[3]李开元.探究计算机应用软件开发过程中不同编程语言的影响[J].信息化建设,2015(06):30-35.

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

[5]马洁.计算机应用软件开发中选择的编程语言[J].电脑知识与技术,2013(08):44-49.

[6]康超.基于计算机软件开发的JAVA编程语言探讨[J].科技展望,2016(04):21-26.

c语言开发篇9

【关键词】C语言 编程 结构化

1 C语言的编程特点

1.1 C语言的定位

很多人都普遍的认为C语言是在B语言的基础上发展过来的一种高级编程语言。然而从编程语言的层次结构方面来说,我们应该认为C语言,是在汇编语言的基础上发展而来的,它比汇编这类编程语言要高级,但是比一些可视化的编程语言又低级,所以准确来说,C语言应该算是中级编程语言,或者称为准高级程序设计语言。目前很多高级程序设计语言都是在C语言的基础上发展而来的,或者至少借鉴了C语言程序设计的思想。80年代初,Bjarne Stroustrup在贝尔实验室对标准C进行了改进和完善,C++得以诞生,使得面向对象的程序设计思想得以提出和落实;21世纪初,人们将C语言和单片机相结合,开发出来了应用于单片机编程的C51语言,使得单片机的程序设计从反复的汇编语言设计中抽身出来,大大的提高了程序的设计效率。

可见C语言在整个编程语言的发展过程中属于承上启下的作用,同时其自身的应用领域又在不断的更新和发展。

1.2 C语言的编程特点

通过上述C语言的定位可知,它既具备高级程序设计语言的结构性和层次性特点,同时也兼具了低级程序设计语言的实用性。

(1)用相应的C语句可以实现对微机操作中的字节、地址等进行直接访问。

(2)基于函数的结构化特点,使得复杂的软件系统可以由多个人,以设计子函数的形式,分别各自进行程序开发。之后进行函数的汇总,最后由主函数,按照既定的程序流完成对各个子函数的调用就行。

(3)丰富的数据类型,尤其是指针类型,可以很方便的应用于复杂数据和大数据的访问和处理。

(4)由于C语言基本上不向低级语言那样直接涉及到对硬件的操作,所以C语言程序往往具有很好的通用性,方便程序移植。

2 C语言的编程技巧

2.1 扎实基本工

在进行C语言程序设计之前,首先要熟悉运算符、表达式以及各钟类型数据的定义和使用方法,其次对顺序、分支和循环三大程序结构要有较好的把握,并熟练使用while循环、for循环、switch语句等。如果要在程序的设计上有进一步的提高,那就需要对“指针”能够进行熟练的使用了。指针可以用于表示变量,但更多的是用于代表数组、存储地址以及函数地址。在代替不同变量时将返回不同的值,可以说指针的功能十分强大。对其熟练使用有助于程序设计的简洁和便利。

2.2 立足C语言的结构化的特点,熟练程序设计基本构型

C语言典型的特点就是结构化,在进行具体的程序开发时,应该首先要根据设计的软件项目,然后进行任务的细分,由于C语言不需要编程人员去配置硬件资源,因此程序设计人员可以把更多的精力放在各个细分任务的子函数设计上,考虑用最简单的程序结构去实现。在数据类型的选择上,能够用短数据类型就尽量用短数据类型。

另外,为了提高程序代码的执行效率,建议C语言程序设计人员要了解C语言程序最终运行的硬件的基础机构,是在微型计算机上运行,还是在单片机上运行。在了解硬件平台结构及内部资源的前提下进行相应的程序设计,将有助于提升程序的运行效率。

3 C语言的实践应用

3.1 混合编程

很多程序设计人员都认为C语言比汇编语言高级,所以认为没有必要去学习和了解低级语言。其实这种思路是及其错误的。汇编语言之所以称之为低级语言,是因为其更加贴近于硬件。在编程时一定要明确的在代码中描述清楚,数据如何从一个存储单元送入另一个单元,因此显得编程复杂,由于其直接和硬件打交道,所以被称为低级语言。但是其运行效率却是最高的。所以在C语言程序设计上要有质的飞越,有必要了解汇编语言的编程思路和理念。有条件的话可以将C语言和汇编语言混合编程,从而发挥出两类编程语言各自的优点,达到设计程序的最优化。

在进行C语言和汇编语言的混合编程时,无论是采用C语言调用汇编,还是汇编调用C语言,还是C语言嵌入汇编的方式,都应该对调用关系、各模块的连接以及参数的传递进行妥善的处理。对于调用关系,则需要对调用的函数和过程进行说明;通过明确函数和变量的命名以及存储模式的关联性,从而实现各模块的有效连接;通常情况下往往通过堆栈的方式来实现参数的传递。

3.2 C语言在工程上的应用

C语言在电力电气系统、交通控制系统以及机器人控制方面都有广泛的应用。下面以工厂通风控制系统的C语言程序设计为例来加深对C语言软件编程思想的理解。

工厂通风控制程序的设计时采用模块化得设计思想,即单独的编写初始化函数void Initial(void);中断处理函数void**(void)interrupt;数据采集函数unsigned char ADconvert(unsigned char address)以及其它函数等。然后由主程序负责对各个子函数的调用,从而实现对工厂通风系统的控制。简化的主程序如下:

main( ){ ... Initial(void);

while(l){ReadAi( );ADconvert(unsignedchar address);

DataChange( ); DisPlay( ); …}

整个系统由于需要不停的对工厂数据进行采集,所有主程序的结构就设置成了循环结构,当通风控制系统有序的进行准备工作之后,通过调用初始化函数,程序就开始进入主循环,主循环中通过调用采集程序,完成对测量对象的循环检测以及对显示程序,数据处理函数的循环调用。一遍又一遍的不停循环执行主程序。在这个主程序循环的过程中,如果有异常情况发生,则随着中断触发事件的发生,将进入中断响应,实现对中断函数的调用。

4 总结

C语言作为编程语言中经典的一类程序设计语言,因其结构化、可移植化、编程简介的特点,被广泛的应用国民生产的各个领域。而随着信息技术、互联网技术以及物联网技术的飞速发展,未来C语言的应用领域将变得更加广泛。对C语言在软件编程方面的研究和分析将变得更有意义。

参考文献

[1]顾泰龙,李远静.基于C语言的计算机软件编程实验研究[J].软件工程师,2013(08).

[2]李强.计算机软件开发语言的选择探讨[J].电子制作,2013(09).

作者单位

c语言开发篇10

关键词:C语言;课堂教学;学习兴趣

C语言是目前比较流行而且使用最广泛的计算机语言之一。它具有表达能力强,功能丰富,使用方便灵活,应用面广,生成目标代码程序质量高,可读性和可移植性好等优点。而且也是学习其他计算机语言的基础。因此C语言成为高职院校计算机专业在大学一年级第一学期开设的一门专业基础课。托儿斯泰说过:“成功的教学需要的不是强制,而是激发学生的学习兴趣”。因此,在C语言在教学过程中,如何培养学生学习C语言兴趣,调动学生学习C语言的积极性,调动学生对C语言的求知欲望具有十分重要在意义。

一、在C语言教学活动中发现的问题

1.学生在中学教育阶段无学习计算机语言的基础。通过问卷调查发现在中学阶段,学生接触的计算机知识,只是为了应付会考,背诵一些计算机应用基础的理论知识,大部分学生连基本的WORD和EXCEL操作都不会,因此学生动手操作能力很差。C语言又是计算机专业在大一第一学期开设的一门专业基础课,学生没有任何学习语言基础,对学生而言学习新类型的课程,适应很困难。如果沿用中学的学习习惯来学习这门课程,会产生很大的不适应性。在学习之初,C语言需要记忆及注意的语法点很多,经常让初学C语言的学生感到抽象,枯燥,导致学生在听讲过程中,感觉像听天书,容易使得部分学生产生厌学心理,从而逐渐失去学习的兴趣。

2.学生学习目标不明确。学习C语言的主要目的是应用,对计算机软件专业学生来说尤为重要,是学习后续课程JAVA程序设计的基础。由于目前最流行的语言是JAVA和安卓,所以学生对学习C语言的应用缺乏深层次的了解,部分学生认为学习C语言没有任何用处,因此缺乏学习的兴趣和积极性。

3.教学模式过于单一。我们的教学活动是在机房进行。一般情况下,教师先在多媒体机房讲授知识点,并演示操作,学生在下面听,学生处于被动学习的状态。刚开始的教学方法,主要讲授C语言的语法,和基本的输入输出格式,要求学生必须记忆很多规则,不能出错,因为学生觉得全是英文字母,就感觉学习起来很吃力,失去了学习C语言的动力和积极性。

4.学生上机实验效率不高。在学生动手操作过程中,一是因为学生打字速度很慢,指法不熟练,因此输出一个简单的语句需要很多时间,二是教师讲授完基础知识,学生接着练习,学生没有完全吸收和理解所讲授的内容,因此在编写代码时候无从下手,即便比着教师的课件和案例去原版照抄,也会输入很多错的字符,程序不能运行,学生自己不能查找错误去解决。因此感到茫然,逐渐就失去学习C语言的兴趣。

二、如何激发学生学习C语言的兴趣,采取的主要措施:

1.明确学习目的,抓好第一堂课是关键

学生上第一堂课前,就对C语言有很大的恐惧感。第一趟课的教学设计关系到学生学习C语言的第一印象。因此教师应该先向学生讲清楚学习C语言的重要性和目的性,用生活中的例子讲解C语言的广泛用途,让学生明确C语言在计算机语言中的重要地位,也是后续学习JAVA等其他面向对象语言的基础。为了消除学生对学习C语言的神秘性,降低学习的难度,在课堂上即兴编写有趣的小程序,比如简单的四则运算并当场演示,然后和学生互动,调动学生学习的兴趣和积极性。

2.采用启发式教学和问题教学法,激发学生学习主动性

在课堂教学活动中,教师讲授理论知识的同时,以启发式教学为主。同时在讲解案例时采用问题教学法。比如讲解IF语句双分支结构,案例以60分为分界线,评定成绩为及格或不及格。教师讲解基本语句格式,并编写代码。在演示结果时候,先输入0到100的数据,显示结果。然后再输入大于100或者小于0的数据时,让学生们观察结果,并让学生思考。如何让成绩限定在0到100范围之内,除此之外显示数据输入有误。从而,引出了IF语句的多分支结构。这样由简到难,让学生先有个基础的认知和了解,更容易接受新的知识,从而再逐步完善程序,既增加学生学习的信心和兴趣,同时也提高学生学习的主动性和积极性,自己动手解决问题的能力也会不断提高。

3.活跃课堂气氛,激发学生学习兴趣

课堂教学以学生为主体,教师为辅助。教师讲授基础知识,应多以生活中学生熟知的例子为主,这样有助于和学生有良好的沟通,让学生先思考并讨论,进而再引入新知识点,讲解如何解决此问题。对于课堂重点和难点,在教学双边活动中,多以小组讨论、竞赛、互评方式,增加课堂的互动性,同时让学生自主发现编程过程中的问题,并提出解决问题的办法。

4.采用案例教学法,让学生从枯燥的理论中解放出来

对于C语言基础语法部分,开始就讲解基本数据类型和输入输出格式。学生从课本上预习,感觉枯燥无味,很难看懂、理解。在课堂教学过程中,教师多采用案例教学。比如,讲解整型时,关于短整型、整型、长整型的数据的使用范围,学生很难去记忆。而且对于不同的编译环境和处理器的位数不同,得到的实际结果也不一样。因此要通过实例演示,让学生明白各种整型的使用范围。

5.课下要巩固练习,培养学生独立思考的能力

学生要想真正能够灵活运用C语言编写一些适用的程序,仅仅靠课堂的时间远远不够,因此学生必须课下进行大量编程代码的训练。教师布置一些相关的习题和编程题,比如读程序分析结果题,程序填空题,程序纠错题,编程题等。前几种类型考察学生对基础知识的掌握和理解情况,编程题更侧重编程能力和实际解决问题的能力。这样的实践练习,既提高了学生的动手能力和获取知识的能力,又培养学生的自信心和学习兴趣。

6.分层次教学,关注全体学生的兴趣点