HI,欢迎来到学术之家,发表咨询:400-888-7501  订阅咨询:400-888-7502  股权代码  102064
0
首页 精品范文 c语言开发

c语言开发

时间:2023-05-29 17:46:53

c语言开发

c语言开发范文1

引言

长期以来,在DSP系统开发中,一直把汇编语言作为主要的开发工具;但汇编语言与自然语言差距很大,不易常,而且汇编语言是依赖于处理器的,不利于软件的可重复利用和系统的稳定性,程序不易移植,给开发工作带来了很大的困难。随着嵌入式系统复杂程度的不断提高,用汇编语言编写一个巨大的程度将是困难,甚至是不可能的。为此,AD公司推出了针对ADSP21XX系列DSP的嵌入式C和C++语言集成开发工具,分别是VisualDSP和VisualDSP++系列,这些开发工具提供了C语言和C++语音的开发功能。以下就以笔者在实际开发中的一些经验,结合VisualDSP6.1版本,介绍用C语言开发VisualDSP6.1版本,介绍用C语言开发ADSP21XX的方法。VisualDSP提供了一个开放源码软件组织GNU的C编译器,和一套成熟稳定的C运行时间库(C Run time Library)等。GNU的编译器一向以编译效率高著称,在编译后的代码长度和运行速度方面非常优秀;C运行时间库则把很多重复性的工作,如浮点运行、三角函数、FFT等作为C语言的库函数,提供给用户,大大提高了用户的开发效率和程序的稳定性,降低了开发难度,另外,由于把这些库函数的源代码提供给了用户,还提高了C语言与汇编语言之间的透明性,使用户开发的程序兼具两者的优点。

1 Visual DSP简介

VisualDSP是AD公司的DSP开发工具,主要由可执行文件、库文件和各种帮助文档组成。6.1版本还带有一个基于图形界面,针对21XX系列DSP的软件仿真和调试工具。

VisualDSP的可执行文件包括汇编、编译、链接工具以及可执行文件重新格式化工具等,见表1。

表1 VisualDSP的可执行文件及用途

可执行文件名用 途

Asmpp.exe*汇编预处理程序Asm2.exe*21XX系列汇编程序的汇编程序Asm21.exe21XX系列命令行汇编程序Ld21.exe21XX系列链接工具G21.exe基于GNU的21XX系列C编译器Bld21.exe系统编译工具,产生相应于不同硬件体系的.ACH文件Lib21.exe21XX系列的库管理工具Hspl21.exe把21XX系列可执行文件变成HIP口可加载的格式Spl21.exe把21XX系列可执行文件变成PROM可烧写的格式注:“*”代表该程序一般不单独使用,而昌由G21.exe或Asm21.exe调用。

VisualDSP套件中的软件仿真调试工具DEBUGAPP,采用Windows图形界面,使用方便。它的主要特点是:可以仿真调试从ADSP2101~2189全系列的DSP;支持断点、单步、全速运行等各种常见调试方法;可以随时查询和修改DSP的程序RAM(PM)、数据RAM(DM)和各寄存器的内容;可以仿真中断,进行可执行程序性能评估(Profile),因此可以进行时序仿真。DEBUGAPP是调试程序和验证复杂算法的极好工具。

VisualDSP6.1还提供了丰富的帮助文档,包括21XX系列的用户手册、汇编和C语言工具以及仿真调试程序的使用手册;还有C运行库的参考手册,列出了所有可用的C库函数。用C语言开发DSP的典型流程如图1所示。

2 C语言运行库结构

C语言运行时间库是位于LIB目录下的*.a文件,是整个C开发工具的核心之一,提供了大量的可以直接调用的库函数。这些库函数的函数原型包含在INCLUDE目录下的头文件中。这些头文件有的还包含一些宏定义。另外,VisualDSP还把这些库函数的汇编语言源代码提供给出了用户,方便了用户从中提取有用的代码,甚至修改源代码,生成新的库,来适应自己的要求。利用LIB21程序,还可以把自己的常用汇编子程序做成库,或是将实时性要求较高的代码用汇编语言来写,做成库,供C语言程序调用。

VisualDSP的C语言运行库由两部分组成:应用程序框架和预定义的各种库函数。

不同的DSP型号有不同的硬件结构、中断向量表,所以对应的应用程序框架库也不同,相应的文件是21*_HDR.DSP.其中*代表不同的DSP型号。应用程序框架的主体是中断向量处理部分,把中断向量引到合适的地址。其中最重要的是对系统复位(RESET_VECTOR)的中断向量的处理:

_Reset_vector:CALL_lib_setup_everything;

CALL main_;

JUMP_lib_prog_term;

NOP;

第一条指令是调用C库函数中的_ _lib_setup_everything函数作程序启动时的初始化工作。接下来,调用C语言程序中的main_函数,进入C程序的主体,也就是进入用户自己程序,开始正常工作。主程序结束后,再调用_lib_prog_term函数,作程序退出时的结尾工作。由于嵌入式系统的特性,系统绝大多数都在主程序运行时被继电了,所以_lib_prog_term得到执行的机会很小。

其它的中断向量由C运行库来管理,汇编指令如下:

_Interrupt2:JUMP_lib_int2_ctrl;NOP;NOP;NOP;

其中的_lib_int2_crtl就是C语言库中控制INT2的函数。如果用户要使用该中断,应先把中断服务程序用一个C库函数Interrupt()把服务函数指针设定好,并打开相应的中断允许位,当该中断发生时,_lib_int2_ctr1函数就会控制DSP跳转到相应的指针位置。

VisualDSP预定义的C语言库函数包括数学函数、FFT函数、ANSI标准内存管理和字符串管理函数的一个子集。所有的函数列表可参考VisualDSP的联机文档。这些库函数以二进制代码的形式,打包集合在lib*.a文件中,用户的C语言程序可以像使用自己的子程序一样方便地调用这些库函数。下面是调用库函数的一个例子。

#include //包含所需的头文件

……

float a,b,c; //定义所需的变量

……

c=a*sin(b); //数学运算

编译后产生的汇编源代码中有call sin_指令,就是调用sin库函数的汇编语言指令语句。

从嵌入式开发的角度讲,VisualDSP的C语言工具已经提供了一个操作系统雏形的功能。在AD公司的ADMC系列DSP中,已经把这些库函数和一些电机控制专用的函数,以及程序加载功能,集成在了DSP的片内ROM中。

3 C语言与汇编语言混合编程方法

用C语言开发的缺点是不能精确控制程序运行的时间,对于实时性要求较高的应用,必须用汇编语言。VisualDSP为用户提供了两种与汇编语言的接口方法:用ASM()方法,直接嵌入汇编语言语句;用汇编语言编写子程序,供C语言程序调用。为了支持C语言与汇编程序程序的接口,VisualDSP预定义了诸如FUNCTION_ENTRY、EXIT、SAVE_REG、RESTORE_REG等13个宏。限于篇幅,不详细介绍其功能。使用这些宏以前,要包含asm_sprt.h头文件。

3.1 使用ASM()嵌入行的方法

使用这一方法时,一定要注意各寄存器和堆栈当前的状态,以免破坏程序运行的环境,产生错误的结果。VisualDSP保留了一些内部寄存器供用户的汇编代码使用。用户可以自由地修改其内容,而不会对程序造成破坏。这些寄存器包括AR、AF、AY1、M5、11、16、MF、MR0等18个。如果不够用,可以用系统定义的宏save_reg和restore_reg保护现场,得到另外11个可用寄存器。另外要注意的是,在汇编语言中操作C语言中定义的变量时,要在变量名后加下划线。下面是一个嵌套汇编语言的例子:

int img228; //定义C语言变量

asm("ax0=0x5c;")

asm("dm(ing228_)=ax0"); //用汇编语言赋值要将Img228变成Img228_

img228=0x5c; //直接用C语言赋值

编译后的汇编语言代码是

ax0=0x5c;

dm(img228_)=ax0

my1=92;

dm(img228_)=my1;

注意前者可能会破坏程序结构,因为它使用了未经保护的寄存器AX0;而由C语言产生的汇编代码,则会自动选择合适的临时寄存器MY1。

3.2 使用汇编子程序的方法

使用汇编子程序是C语言程序与汇编语言接口的另一种方法。用户定义的子程序放在单独的汇编文件中,或是做成二进制的库文件,并将子程序的定义用GLOBEL输出,汇编后就可以供C语言程序调用。下面是一个不需要参数的子程序的例子:

.MODULE/RAM_delay_;

.external del_cycle; //声明del_cycle是外部变量

.global delay; //声明delay为全局函数

delay_:

runction_entry; //子程序开始标志,必须要的

ar=dm(del_cycle_);

cntr=ar;

do d_loop until ce;

d_loop:nop;

exit; //子程序结束标志,必须要的

.ENDMOD;

如果汇编语言子程序中用到了参数,情况就复杂些。子程序中的入口参数前两个一定要保存在AR、AY1中。如果参数多于两个就要把其余的放在堆栈中。所有子程序的第一个返回值放在AR中。如果返回值不止一个,就要用到变量型参数或者指针来获得取所有的返回值了。下面是一个有5个输入参数、1个返回值的子程序例子。

add5_:

function_entry;

ar=ar+ay1; //前面的两个变量放在AR、AY1中

readsfirst(ay1); //从程序堆栈中读取第三个变量

ar=ar+ay1;

ay1=readsnext; //从程序堆栈中读取第四个变量

ar=ar+ay1;

ay1=readsnext; //从程序堆栈中读取第五个变量

ar=ar+ay1; //返回值放在AR中

exit;

注意其中的readsfirst和readsnext都是汇编语言接口宏。其功能是从堆栈中读取所有的参数。

4 C运行库的汇编源代码

如果只用C语言来开发21XX程序,只要有C运行库的二进制版就够了。幸运的是,AD公司把所有C运行库的汇编源代码随VisualDSP提供给了用户,所以对那些用汇编语言开发的工程师来说,这些源代码也提供了很大的帮助。因此这代表很多功能的子程序不需要自己去编码、调试,用到某功能时只要把相应的汇编代码链接进自己的程序就可以。C运行库的源代码是扩展名为DSP的文本文件。基本上一个库函数对应一个文件,文件名就是函数名。比如说sin.dsp是正弦、余弦查找、使用都很方便,但是对于其中的交叉调用要注意。

反过来,用户也可以把自己已经调试、验证过的汇编子程序,做成二进制库文件,供C程序调用,这样可以大大提高软件的可重复利用率。要制作二进制库文件,只要用lib21.exe工具处理就行了。注意,生成的二制库文件的名字必须以.a作为文件扩展名。

笔者在实际的开发中,遇到这样的情况,自制的2181目标板上有一个自己开忍气吞声驻留程序,通过软件模拟的异步串口与PC通信,加载程序。但是这个驻留程序占据了0~0x500的空间,用户开发的程序只能加载到从0x500开始的空间内,而用C语言开发的程序起始地址都是从0开始的。为了解决这个问题,只能自己修改2181_hdr.dsp源文件。首先把第一行的.MODULE/ABS=0改成.MODULE/ABS=0x500,然后汇编成obj文件,代替原来的文件。另外,在自己的程序中定义一个从0开始0x500大小的PM区域,并初始化成0,就可以防止编译器在该区域内分配别的变量或程序代码,这样编译后的可执行文件的0~0x500空间都是0,加载时把它剔除,而其它有用的指令代码都在0x500之后,解决了这一个问题。

c语言开发范文2

关键词:职业岗位;课改;基于工作过程;职业能力

中图分类号:C41 文献标识码:A文章编号:1007-9599 (2010) 04-0000-01

Exploration of Curriculum Development Based on CLanguage

Working Process

Wei Feng

(Heilongjiang Information&Technology College,Harbin150025,China)

Abstract:The goal of higher professional education is to train the qualified personnel to meet the needs of the society.But the traditional teaching model of C Language has not adapted to the need of the professional position in the modern society.So the course reform is imperative.The article, explore the course C Language based on the work process with new model and strengthen training students’comprehensive abilities.

Keywords:Professional position;Course reform;Based on work process;

Professional ability

一、引言

目前国内多数高校,把《C语言》作为新生学习计算机知识的基础语言。但由于我国多年的应试教育,使学生学习主动性不强,学习兴趣不高,只是为了应付考试被动地学习。而传统C语言教学注重由设计算法到书写程序的过程,显得抽象、复杂,这也是大多数学生抱怨程序设计太难、太深奥、不好学的主要原因。因此要对《C语言》教学进行改革,提高高职高专院校《C语言》教学质量。

高职高专教育人才培养模式的基本特征是:以培养高等技术应用性专门人才为根本任务;以适应社会需要为目标、以培养技术应用能力为主线设计学生的知识、能力、素质结构和培养方案,毕业生应具有基础理论知识适度、技术应用能力强、知识面较宽、素质高等特点。可以看出在高职教育中,强调以就业为导向。

目前,随着教学改革的不断深入,涌现出很多新的教学模式和教学方法。其中基于工作过程的改革模式比较适合高职院校《C语言》的教学。

基于工作过程的课程是通过整体化职业分析(关注的是工作过程的系统化知识和完成工作任务的职业行动能力,而不仅仅是独立的、点状的岗位技能和知识),开发出一系列典型工作任务,按照人的职业能力形成规律进行序列化,形成学习领域,并按照工作过程进行基于教学论的组合和序化构成教学内容体系,以工作过程行动导向为教学实施原则的课程模式。

二、基于工作过程的《C语言》课程开发过程

(一)职业岗位分析

目前我国大力发展信息化、智能化产业,因此具有编程水平高,技术熟练的技能型人才是社会岗位急需的。由于C语言使用范围广,如果能够熟练掌握C语言进行程序设计,则对学习其它高级程序设计语言也会有很大帮助。综合分析我校学生的就业特点,对基本使用岗位进行职业技能与职业素质分析,把本课程职业岗位定位为程序设计人员。通过企业调研、毕业生回访、与企业管理与技术人员交流等方式,认真分析岗位工作任务的职业能力,细化对应的知识点,使课程内容的构建与实际工作过程相联系。

(二)学习情境的设计

学习情境是实现学习领域能力目标的具体的课程方案,是整个教学设计的关键。通过精心设计的一个个理论和实践一体化的工作任务和项目,将专业知识点合理串联起来,学生通过工作任务循序渐进的完成,逐步深入地掌握离散的知识点,不断提高实际解难能力。

在C语言课程开发中,将内容设计成4个学习情境,分别为“走进高级语言程序设计”,“数值计算”,“基础部分应用能力训练”,“图形处理及综合能力应用”。每个情境设计若干个工作任务,如在“图形处理及综合能力应用”情境中包含“绘制几何图形、卡通时钟、学生信息管理系统、”等任务。通过学生编制和修改源程序,理解程序设计的语法规则和设计思想。学习情境设计围绕岗位工作过程所涉及的知识与技能,根据学生的认知特点,逐层递进、由简入繁展现教学内容,通过真实“项目+任务”的结构组织教学内容,使学生在项目活动中掌握岗位技能,培养学生在软件工程实施过程中的职业能力。

(三)在教学中的实施

在教学过程中,通过校企合作、校内实训基地建设等多种途径,采取工学结合、课程设计等形式,充分开发学习资源,给学生提供丰富的实践机会。教学效果评价采取过程性评价与结果性评价相结合,理论与实践相结合,理论考试重点考核与实践能力紧密相关的知识,重点评价学生的职业能力。教师在给予评价时,指出不足,更要肯定学生的闪光之处,这将会很好的激发学生的学习热情,激励学生不断进取。

三、总结

基于工作过程的课程不再把知识传授和技能训练作为教学的核心任务,而是把完成具体的工作任务、提高学生的职业行动能力作为教学目标。基于工作过程的《C语言》课程改革实施的过程中,笔者发现学生在上课时课堂气氛活跃,学生逃课、上课开小差的现象减少了,学生学习的兴趣大大提高了,取得了比较明显的课堂教学效果。同时培养了学生创新意识和创新精神,团队合作能力和组织实施操作能力以及自主学习的能力。

参考文献:

[1]徐健.构建基于人的发展的职业教育课程模式[J].教育与职业,2007,6

[2]姜大源.职业教育研究新论[M].北京:教育科学出版社,2007

作者简介:

c语言开发范文3

摘要:近些年来,随着时代经济的飞速发展以及科技的进步,当下主流的编程语言中,C++语言作为一种特殊的编程语言,主要来源于C语言的演化,同时C++语言跨平台软件开发的如何设计始终是当前软件开发行业领域研究的热点之一。本文在对基于C++语言的跨平台软件开发设计研究时,首先分析了C++语言,其次分析了跨平台软件开发环境,最后探讨总结了C++语言的跨平台软件开发设计过程。

关键词 :C++语言;跨平台;软件开发;设计研究

现如今计算机语言中C++语言使用频率和次数最多,同时编程速度较高,进而广泛的应用于跨平台软件的开发设计中。跨平台作为软件开发中的重要概念之一,不仅仅依赖于实际的操作系统,结合跨平台开发的实际需求,逐渐推动了现代化软件工程的蓬勃发展。因此本文对基于C++语言的跨平台软件开发设计进行研究有一定的经济价值和现实意义。

1、C++语言的相关概述

C++语言主要是由C语言演化而来的,C语言开发演化过程中,逐渐注重系统软件开发的特性,并伴随着C++语言的兴起,其新特性逐渐增加。当前C++语言和其它相对高级的语言相比较而言,有着特殊的运行性能,在实际的运行过程中,并不需要借助于虚拟机将其作为中介,进而将C++语言的运行效率显著提高。

同时C++语言在实际的开发过程中,往往有着相对较低的开发成本,C++语言应用的过程中,逐渐被引入各种各样的特性,将其在泛型编程拓展过程中,对于高层次的软件工程问题有着一定的积极作用。

总之,C++语言有着相对根本性的优势,不仅仅可以用于高级系统程序的设计和3D游戏的开发应用,同时也可用于数值科学计算以及通用程序设计等。

2、跨平台软件开发环境

2.1 跨平台的相关概念

跨平台作为现代化软件开发中相对重要的一种概念,不仅仅对操作系统没有一定的依赖性,同时对于硬件环境也没有一定的依赖性,而在实际的开发应用程序过程中,更要将其在另一个操作系统下保持有着正常性的运行,基于跨平台的实际需求,就要结合现代软件工程的发展,对各种不同的平台加以支持,进而将其带给市场的潜力充分发挥。

2.2 跨平台软件开发需要的环境

一般而言,开发环境构成的过程中,往往需要有着一定的软件编辑器、程序调试器以及程序编译器三种,但是就其实质性而言,Sandbox这种软件不仅仅可以实现代码的编译,同时也可实现代码的调试,其内部同样各种各样的平台中往往需要有着各种各样的代码库和依赖库。开发程序中,同样也存在多种类型的源代码,在C++语言的软件开发和编译中,就要做好最终结果质量的控制,并有最好的代码产生,在对错误捕捉和调试过程中往往需要一定的支持。

跨平台软件开发主要是将抽象实现的一种重要因素,往往需要将抽象以及相关的一些设计逐渐的借助于新的开发手段进行开发研究,实现在不同平台上都能实现特殊的编译。

3、C++语言的跨平台软件开发设计

C++语言跨平台软件开发设计过程中,更要做好各个环节的综合设计,就其实质性而言,C++语言的跨平台软件开发设计可以从以下几个环节做起:

3.1 将语言的扩展特性避免

一般而言,任何语言在编程的过程中,往往都是对相对较老的程序以及文件进行选择。这些相对较老的程序包含一些原有的程序和基本公式,相对来说这些程序和公式不仅仅有着规范性,同时也有着标准型,而当前现代化的新程序库相对来说是杂乱无章的,在跨平台上产生过程中,常常面临各种各样的故障,虽然会获得一定的支持,同时也会有不精确定义的事故存在。

C++语言的跨平台软件开发设计过程中,就要避免语言存在一定的扩展特性,这种跨平台开发过程中往往有着相对较高的异常灵敏度,无限度的对新特性利用中,就要借助于C++语言标准函数的基本模型,并保证开发软件和产品有着相对较强的稳定性。

3.2 将动态处理实现

C++语言跨平台软件开发中,就要对多种环境运行的可移植代码库加以编写,在实际的项目开发过程中,就要对可能存在的问题加以避免,并处理好一个平台在另一个平台上没有特性这一问题,进而实现动态性的处理。

3.3 借助于脚本文件实现管理

就C++语言的跨平台软件开发设计而言,就要做好脚本文件的基本管理工作,保证编写的程序代码不仅仅有着简单易懂的特点,同时也要有着一定的简洁性,对合理的软件结构进行构建,将和平台相关的一些文件以及数据库充分的分隔,在实际的开发过程中借助于脚本文件进行某种程度上的编译,将其在各个部位合理的分配。对应用程序使用的过程中,就要将配置文件中的相关配置选项调出来,进而将里面的程序读取,并在跨平台软件开发过程中,尽可能的保证平台相关联的文件进行全部的分离,借助于特殊的手段将该功能充分实现。

3.4 对安全的数据串行化使用

现如今,C++语言的跨平台软件开发设计过程中,对于如何保证跨平台数据存储的安全性和可靠性这一问题,始终是当前软件开发设计的核心问题之一,而C++语言的跨平台软件开发设计过程中,可以借助于软件的fread指令,做好对每个编译器和单一目标平台的综合性处理,并在实际的跨平台操作环境中,借助于实际方法对数据进行不同程度上的存储和加载,进而对平台的独立性加以保障,借助于跨平台将数据在目标文件进行存储过程中,一般而言,不同的平台间往往有着一定的差异,在实际的处理过程中,同样也将会有着多样性的结果特征。

3.5 C++语言跨平台开发中的编译和测试

C++语言跨平台开发变异和测试过程中,更要做好科学化的编译和测试,在实际的跨平台软件开发过程中,尽可能的保证相关联的一些代码在长时间的使用过程中,保证其代码可以在另外的平台上加以检测,并借助于不同的平台进行测试,进而将bug及时的发现。

3.6 实现抽象

一般而言,实现抽象主要是对跨平台应用程序中被移植过程中有着一定的有效性,通过对这种方式加以借用,进而实现软件的单独性开发,并将具有独立性和简洁性的程序拿出,在实际的跨平台开发设计过程中,往往需要对多种函数进行利用,进而在实际的开发过程中,并不用对所有的函数进行变异,而C++语言跨平台软件设计过程中,主要是对封装方法加以采用,进而将抽象的过程实现,这种封装方法相对来说,需要视情况而定,一旦存在相对特殊的情况时,就要借助于其它的方式做好程序的基本调用工作,并做好对该功能的基础命名工作。实现抽象的过程中,一旦对该程序及其公式使用之后,就要将该功能的主要程序直接调用,并将该功能充分实现。

3.7 C++语言跨平台软件开发的实现过程

C++语言跨平台软件设计开发的实现过程中,首先就要做好功能模块实现过程和非功能模块实现过程,在代码编写之前,就要对源代码在文本编写过程中的相关编辑策略加以规定,对\t格式加以统一,并使得代码的结构尽可能有着简单化的基本特点。

C++语言跨平台软件开发实现过程,同样也要对统一的工程宝建立,并对跨平台的代码库加以建立,借助于平台依赖库对平台相关代码进行封装,做好对处理器差异、编译器差异的合理控制,保证有着对齐的内存和有着顺序的字节,并将平台无关的代码实现,做好内存的管理。

操作系统和接口库实现的过程中,往往不同的操作系统将会存在各种各样的系统限制,在实际的开发设计过程中,更要对限制的参数进行适当的调整,并做好对文件描述符的基本限制,尤其是在Unix系统中,就要借助于文件的描述符这种系统性的资源,提高程序的通用性和灵活性。网络程序开发过程中,任何一个网络连接将会对一个文件描述符占用,一旦程序将很多的Socket连接打开,其程序在实际的运行过程中借助于fopen将难以打开文件。对这一问题如何加以解决呢?可以将其系统逐渐的升级为64位系统,同时还可以采用64位方式编译程序,对sys/io.h中的函数操作文件加以使用,并对文件池技术加以采用,将一部分文件描述符预留。进程和线程在实际的限制过程中,就要对线程数进行创建,并将符的数量以及进程线大小的限制加以描述,其操作系统抽象层中操作系统函数不能直接的被调用,更应该将其在一个操作系统抽象层中包装的库中实现,将其在底层的操作系统中直接的脱离出来,并保证系统调试有着相对有效的起点。

用户界面的实现过程中,就要做好跨平台软件图形界面的基础设计工作,将程序基础的逻辑代码和数据构成,金可的借助于跨平台的开发工具包,借助于C++语言实现,进而开发利用C++语言跨平台应用程序的一种用户界面,进而做好相关界面的控制。

结语

总而言之,本文在对C++语言的跨平台设计进行研究时,通过对C++语言和跨平台需要的环境进行分析,进而对C++语言跨平台设计做了主要的探讨,进而总结出,C++语言跨平台设计过程中,不仅仅要有着相对丰富的经验,同时更要在开发的软件中将更多的功能和实际的操作容积加入,借助于相对优越的设计,综合性的提高软件的额功能。本文研究分析C++语言的跨平台设计时,希望其中的设计思路以及相关的理论基础为更多的跨平台开发设计工程师给予一定的帮助,同时本文中存在的不足之处还望更多相关研究人员给予指正。

参考文献:

[1] 张驰. 基于C++语言的跨平台软件开发的设计与实现[D]. 北京交通大学,2010.

[2] 侯成杰. 航天器C语言软件常见编程错误分析及检测方法研究[J].空间控制技术与应用,2013,06:53-57.

[3] 杨波,沈承舒. 面向嵌入式软件开发的C语言程序设计课程改革探索[J]. 计算机教育,2014,05:105-107.

[4] 吴兴华. 基于C语言软件开发的效率、移植及调试[J]. 数字技术与应用,2013,12:172.

[5] 杨鹏. 基于C++语言的跨平台软件开发的设计[J]. 硅谷,2014,04:19+21.

[6] 徐巍. 跨平台移动开发框架的比较分析与实例开发[D]. 吉林大学,2014.

[7] 谢东来. C语言软件设计中的主要问题分析[J]. 计算机光盘软件与应用,2013,04:235-236.

c语言开发范文4

关键词:多媒体学习理论;多媒体课件;Flash技术

中图分类号:G424 文献标识码:A 文章编号:1009-3044(2013)21-4940-04

目前,多媒体教学作为一种现代化的教学手段,正逐步走进学校课堂教学,已经越来越多地为广大教师所采用,在教学活动中发挥着越来越重要的作用。多媒体教学具有直观性、立体感强、信息量大、形象生动的特点,改变了传统的教学模式,能有效地激发学生的学习兴趣和学生主体作用的发挥。

本文将以多媒体学习理论为指导,以《C语言程序设计》课程为例开发一个教学演示课件并应用于课堂教学,旨在通过多媒体技术的应用突破教学难点,结合传统教学的优势,提高教学质量和学习效率。

1 多媒体学习理论

1.1 理查德·E.迈耶的多媒体学习理论

美国当代著名教育心理学家、认知心理学家与实验心理学家理查德·E.迈耶认为,多媒体学习研究必须基于人类学习的研究,“按照人的心理工作方式设计的多媒体教学信息比没有按照人的心理工作方式设计的多媒体教学信息更有可能产生有意义的学习”。因此,迈耶在研究中一直致力于建构一个描述学习者如何从多媒体中学习的可检验的认知学习理论作为指导多媒体设计的学习理论基石。

1.2多媒体教学信息设计主要原则

基于人类信息加工系统本身的特性,迈耶在《多媒体学习》一书中提出了多媒体教学信息的设计原则,其主要设计原则如下:

1.2.1空间临近原则

空间临近原则是指屏幕或书页上对应的文字和画面在空间上临近呈现比隔开呈现时能使学习者学得更好。“根据多媒体学习认知理论,当对应的文本和画面在空间上临近呈现时最有利于学习者将两种呈现形式的信息同时纳入到工作记忆中进行加工,进而有利于整合心理模型的建立”。

1.2.2 相关性原则

相关性原则是指多媒体教学信息中的无关材料被删除而不是被包含时学习者学得更好。无关材料是指多媒体教学信息中那些与达成教学目标无关的文本和画面,根据多媒体学习认知理论,学习者的两个信息加工通道的认知容量都是非常有限的。因此,保证学习者有足够的认知容量去对必要材料进行认知加工就显得尤为重要,而多媒体教学信息中的无关材料不但会争夺学习者有限的认知容量,还可能会干扰学习者对必要材料的认知加工。

1.2.3 片段化呈现原则

“片段化呈现原则是指当多媒体呈现按照学习者的学习进度分片段呈现时要比以连续单元的形式呈现能使学习者学得更好”。片段化呈现原则针对的是必要学习材料本身的复杂性所造成的认知超载。在多媒体学习过程中,必要认知加工的多少取决于学习内容本身的复杂程度。当学习材料本身很复杂时,即使删除了全部的无关学习材料,学习者理解必要学习材料所需要的认知加工本身就可能会造成学习者的认知负荷超载。

2 多媒体教学信息设计相关技术

2.1 动画模拟技术

动画模拟技术是计算机图形学的重要内容,它在多媒体教学中的应用日趋广泛。在抽象思维较强的学科教学中,有时很难用语言表达其思维过程。例如,在计算机语言程序设计课程中,如何将代码的执行过程以直观的形式表示出来是很重要的问题。除了用流程图的形式外,动画模拟则以其生动、形象、直观的效果越来越受到人们的重视。经研究,动画模拟技术可以用来模拟程序代码的执行过程,对辅助抽象的逻辑思维教学起到一定的作用。

动画模拟技术的应用不仅要求学生由外部刺激的被动接受者和知识的灌输对象转变为信息加工的主体,而且要求教师要由知识的传授者、灌输者转变为学生的帮助者和促进者,它可在很大程度上激发学生的高水平思维活动,让学生通过反省性的、高水平的思维活动来构建深层的、灵活的知识体系。

2.2 人机交互技术

人机交互技术是指通过计算机输入和输出设备,以有效的方式实现人与计算机对话的技术。它包括机器通过输出或显示设备给人提供大量有关信息及提示等,人通过输入设备向机器输入数据、回答问题等。人机交互技术是计算机用户界面设计中的重要内容之一,它对计算机的发展产生了重大影响,并且影响着人们的学习和生活方式。采用人机交互的教学模式,有利于学生进行信息加工并培养他们的综合能力,有利于对学生进行个性化发展和合作精神的培养。

2.3 界面构建技术

在人机系统模型中,人与机之间存在一个相互作用的“面”,称为人-机界面。人与机之间的信息交流和控制活动都发生在人机界面上。机器的各种显示都“作用”于人,实现人-机信息传递;人通过视觉和听觉等感官接受来自机器的信息,经过脑的加工、决策,然后做出反映,实现人-机的信息传递。人机界面的设计直接关系到人机关系的合理性,它是计算机科学和认知心理学两大科学相结合的产物,同时也吸收了语言学、人机工程学和社会学等科学的研究成果。

3 《C语言程序设计》多媒体教学演示课件的开发

3.1 主界面的实现

3.1.1构图创意

教学演示课件的主界面是链接到各个模块的中转界面,功能并不复杂。因此,主界面的设计应当尽量简洁,突出主体。

主界面主要分为上、中、下三部分,上部以较大字体显示系统名称,从而起到突出作用,下部为本演示系统的版权信息,中部为本页面的主体部分,主体部分由四个方形按钮组成,每个按钮上配有小动画并且均添加有鼠标经过效果,且按钮跟随鼠标运动却不会遮挡其它按钮,当鼠标离开时,按钮回到原来位置。整个界面动静结合,按钮具有一定动感却不乏整齐,如图1所示。

3.1.2 色彩搭配

主界面的上部为系统名称部分,采用灰色调作为背景色,名称部分采用白色加阴影浮于背景之上,使得系统名称突出,起到强调作用。版权信息部分依然为白字浮于灰色背景之上,使版权信息清晰可见。主体部分背景更深,而四个按钮选取蓝、红、黄、绿四个较为鲜艳抢眼的颜色,更起到突出作用。强烈的色彩对比使主界面主体突出,信息清晰可见。

3.1.3 页面导航

在页面导航的设计方面,点击所要进入的模块,相应模块内容展开,与原按钮在背景色彩上保持一致性,同时其它模块处于“待命”状态,模块与模块之间的转换操作更加便捷;同时克服了以往下拉菜单中鼠标滑过消失带来的操作不便;目录导航中加有鼠标滚动效果,如果所要呈现的内容超过了显示区域的大小,则可以通过鼠标来进行滚动选择,节省了该项在屏幕上的显示面积。如图2所示。

3.2 “递归算法”实现示例

3.2.1 用文字表达算法思想

本页面主要为静态页面,交代所要讲述的具体算法内容和解题思路,右下角部分呈现本页面的导航信息,即该页面所处位置。如图3所示。

整个内容呈现界面简洁,没有冗余的按钮、图片;从内容呈现方面,算法思想语言表达简洁,对累加算法的定义、思想做了概括整理,减少了无关材料,防止了无关材料争夺学习者有限的认知容量,较好地应用了多媒体教学信息设计的“相关性原则”,如图3所示。

3.2.2 用动画模拟算法过程

根据多媒体学习认知理论,当对应的媒体在空间上临近呈现时最有利于学习者将多种呈现形式的信息同时纳入到工作记忆中进行加工,进而有利于整合心理模型的建立。本部分将页面主体部分分为四个功能区,左上部分为语句运行区,指示正在运行的语句;左下角为注释区,对所运行的语句进行注释,是对正在运行语句的解释;右上角为运行效果区,表示正在执行语句不可见的运行过程;右下角为该程序的运行结果区,模拟程序执行加过;四个部分根据语句运行的过程,同时呈现。

动画模拟算法过程遵照多媒体教学信息设计的“片段化呈现原则”,例如:递归算法的实现部分,算法实现的讲解遵循学生理解算法的思维过程,分步骤片段化呈现,教师可根据学生对于片段的理解程度控制讲解速度,在整个画面中的设计中减轻了学习者的认知负荷。如图4所示。

4 课件应用效果分析

4.1 课件应用过程

4.1.1 课件测试

在演示课件的实际制作中,为了减少主动画的运算量,将演示系统分割成一系列模块分别进行设计制作,最后通过主动画进行调用。课件测试的目的主要是检测程序是否可以顺利运行,内部连接是否正确,各种声音、动画是否可以正常播放等等。另外,课件设计者还测试了演示系统在计算机屏幕上的运行效果,保证其在大屏幕状态下运行状态良好,在多媒体网络教室提供的物理环境下运行流畅。

4.1.2 设计调查问卷

调查问卷的设计主要针对该演示系统能否提高学生学习积极性,与传统教学方式相比课堂学习效果是否提高,演示系统设计是否具有良好的可视性、艺术性,从学生的视角对教学演示系统的设计提出可行性建议等四个方面对演示系统的受众进行问卷调查,以便改进系统功能,优化演示系统。

4.1.3 进行实际调查

本次调查是在天津师范大学教育技术专业2012级学生中进行,共计有效问卷58人次。本演示课件在他们的《C语言程序设计》课堂教学中已应用将近一个学期,其应用效果通过问卷调查得到了原始统计数据。实际调查过程中,为保证问卷样本的真实性和可靠性,利用了网络调查问卷系统进行原始数据的搜集和结果统计,提高了调查的可信度。

4.2 应用效果分析

4.2.1 课件优点

经过对调查数据分析,本教学演示课件具有以下优点:操作界面设计形式新颖、导航便捷;演示系统互动性强,充分调动了学生的学习的兴趣;演示系统辅助教学效果良好,从一定程度上提高了课堂教学质量;教学设计遵循教学目标和学生认知心理规律,使学生课堂学习注意力集中程度增强,提高了学生探求知识的欲望和学习的主动性,提高了学习效率。

4.2.2 课件不足

在该演示课件实际应用过程中,发现存在以下不足:系统背景色彩不够柔和,视觉上具有一定的刺激性;系统对物理环境的要求较高,课堂互动模块必须在多媒体网络教室中使用,推广上具有一定困难;产品未进行集成,携带不方便。

4.2.3 课件改进方向

在今后对演示课件的优化过程中,应当进一步提高演示课件的可用性,充分调动学生的学习积极性。加强师生之间、人机之间的互动,学习内容更加直观、生动、形象、易学,同时应使学生在课堂上的实践操作与教师的教学过程进一步融合,最大限度地提高教学质量和学习效率。

参考文献:

[1] 韩宇.动画设计原理教学中的多媒体交互技术应用研究[D].北京工业大学,2012.

[2] 刘琦.高等师范院校多媒体课件应用现状及改进策略研究[D].信阳师范学院,2012.

[3] 梅耶.多媒体学习[M].商务印书馆,2006(1).

[4] 王玉秋.Flash模拟演示课件在教学中的应用[J].辽宁教育行政学院学报,2009(4).

[5] 王英豪.多媒体学习的认知理论指导下的课件设计[J].现代教育科学,2007(12).

c语言开发范文5

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

中图分类号: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.

c语言开发范文6

关键词:汇编语言,C语言

 

单片机的开发离不开单片机的开发语言,对于一个开发者来说,选择适合的语言是非常重要的一个开发环节。

目前的单片机的编程语言主要有汇编和高级语言两种,每一种类型的单片机都有自己的汇编语言,软件可移植性不是很好。而高级语言有C 语言,PLM 语言,PASCAL 语言,BASIC语言等几种。BASIC 语言主要应用在MCS51 系列单片机上,但效果不是很理想,现在已经基本上不用。PLM 语言主要应用在MCS51 和MCS96 系列单片机中,对硬件的控制能力和代码效率都很好,PLM51语言是介于C语言和汇编语言之间的一种高级语言, 是由一种曾经用于大中型计算机的高级语言 PLM 语言移植来的。PLM 的程序书写格式相当灵活,其说明语句写在输入行的位置不受限制,而且程序的元素之间可以随意插入空格。PASCAL语言在MOTOROLA 单片机中有应用。C语言是现代单片机开发中较常用的高级语言,其程序的可读性,可移植性都很好,对硬件的控制能力也很强,唯一不足的是其代码效率较低,在程序量较大时需使用大容量的程序存储器。下边本文就主流的汇编语言与C语言的语言结构和特点进行研究。

首先是汇编语言的结构及特点。

汇编语言是一种采用助记符来编写程序的语言,它由操作符和操作数两个部分组成,其中操作数又分为源操作数和目的操作数。汇编语言比用机器语言的二进制代码编程要方便些,在一定程度上简化了编程过程。论文大全,汇编语言。。汇编语言的特点是用符号代替了机器指令代码,而且助记符与指令代码一一对应,基本保留了机器语言的灵活性。使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。

由于汇编语言中使用了助记符,用汇编语言编制的程序必须通过预先放入计算机的'汇编程序'的加工和翻译,才可以变成能被计算机识别和处理的二进制代码程序。用汇编语言等非机器语言书写好的符号程序称为源程序,运行时汇编程序要将源程序翻译成目标程序。目标程序是机器语言程序,它一经被安置在内存的预定位置上,就能被计算机的CPU处理和执行。

汇编语言像机器指令一样,是硬件操作的控制信息,因而仍然是面向机器的语言,使用起来还是比较繁琐费时,通用性也差。但是,汇编语言用来编制系统软件和过程控制软件,其目标程序占用内存空间少,运行速度快,有着高级语言不可替代的用途。

其次是C语言的结构及特点。

C语言是一种通用的计算机程序设计语言,在国际上十分流行,它既可用来编写计算机的系统程序,也可用来编写一般的应用程序。以前计算机的系统软件主要使用汇编语言编写的,对于单片机应用系统来说更是如此。由于汇编语言程序的可读性和可移植性都较差,采用汇编语言编写单片机应用系统程序的周期长,而且调试和排错也比较困难。而一般效率高的高级语言难以实现汇编语言对于计算机硬件直接进行操作(如对内存地址的操作移位操作等)的功能。而C语言既具有一般高级语言的特点,又能直接对计算机的硬件进行操作,并且采用C语言编写的程序能够很容易地在不同类型的计算机之间进行移植,因此许多以前只能采用汇编语言来解决的问题现在可以改用C语言来解决。

C语言可以用来编写科学计算或其他应用程序,但它更适合于编写计算机的操作系统程序以及其他一些需要对机器硬件进行操作的场合,有的大型应用软件也采用C语言进行编写,这主要是因为C语言具有很好的可移植性和硬件控制能力,表达和运算能力也较强。

概括来说,C语言具有以下一些特点:

1.语言简洁紧凑,使用方便灵活 :C语言一共只有32个关键字,9个控制语句,主要用小写字母表示,压缩了一切不必要的成分;C语言程序书写形式自由,可以用简单的方法构造出复杂的数据类型和程序结构。

2.运算符丰富 :C语言把括号、赋值、强制类型转换等都作为运算符处理,从而使C的运算类型极其丰富,共有34 种运算符。C表达式类型多样化,灵活使用各种运算符可以实现其他高级语言难以实现的运算。

3.数据结构类型丰富 :C的数据结构类型丰富,根据需要可以采用:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等多种数据类型来实现复杂数据结构的运算,尤其是指针类型数据使用起来非常灵活多样。

4.可进行结构化程序设计 :C语言是以函数作为程序设计的基本单位的,用函数作为程序模块以实现程序的模块化,是结构化的理想语言。

5.语法限制不严格,程序设计自由度大 :C语言的语法规则不太严格,程序设计的自由度比较大,限制和灵活是一对矛盾。C语言放宽了语法检查,所以程序员应当仔细检查程序,而不要过分依赖C编译程序去查错。

6.C语言允许直接访问物理地址 :C语言允许直接访问物理地址,能进行位(bit )操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作,这样它可以对单片机的内部寄存器和I/O口进行操作,可以直接访问片内或片外存储器。

7.生成目标代码质量高 :众所周知,汇编语言程序目标代码的效率是最高的,但统计表明,C语言编 写的程序生成代码的效率仅比汇编语言低10~20%。

8.程序可移植性好 :汇编语言完全依赖于机器硬件,因而不具有可移植性,C语言是通过编译来得到可执行代码的。C语言的编译程序便于移植,基本上不作修改就能用于各种机器和操作系统。

尽管C语言具有许多的优点,但和其他任何一种程序设计语言一样,也有其自身的缺点。但总的来说,C语言的优点远远超过了它的缺点。论文大全,汇编语言。。

因此我们在使用中通常将汇编语言和C语言相结合,利用共同的优点来完成开发工作。那在C语言中如何使用汇编语言呢?这个问题在不同的编译器中,具体实现方法是不同的。不过在实现大方上也不过就是有两种,而且各种编译器的实现方法也是大同小异。论文大全,汇编语言。。通常的方法是:一、对C语言程序编译后形成的汇编程序进行手工修改与优化;二、在C语言程序中直接嵌人汇编语句;三、分别编写C语言程序和汇编语言程序,然后独立编译成目标代码模块,再进行链接。第一种编程方式要求对汇编与C语言都极其熟悉,并且这样的编程方式对程序的可读性和扩展性的负面影响比较大,一般不建议使用。第二种方法适用于语句执行频率非常高,并且C编程与汇编编程效率差异较大的情况,例如进入中断的通用中断子程序等。第三种方式是混合编程最常用的方式之一,在这种方式下,C语言程序与汇编语言程序均可使用另一方定义的函数与变量。通过这样的方法就可以使二者结合起来,达到混合使用的目的。

以上就是本文对多种单片机的开发语言特点进行的研究。

参考文献:

[1]陈建铎.单片机原理于应用.北京:科学出版社,2005.2

[2]刘守义.单片机应用技术.西安:西安电子科技大学出版社,2007.8

[3]李平,杜涛,罗和平.单片机应用开发与实践.北京:机械工业出版社,2008.7

c语言开发范文7

关键字: C语言;高职教学;测温工程;改革措施

1、学生学习C语言的现状

由于C语言简洁紧凑、具有结构化的控制语句、生成的目标代码质量高、具有良好的移植性和灵活性,都选择C语言作为首个计算机教学语言。C语言除了具有以上高级语言的优点外还允许直接访问物理地址,更适应于底层应用软件的开发,是嵌入式电子产品开发、芯片设计等基础; Linux的内核也主要是以C语言写的。基于以上特点,即使面向对象程序设计流行的今天,许多公司依然把C语言作为程序设计的首选语言,开发解决本领域的应用程序。

然而,C语言教学现状不能令人满意,C语言是学生进入大学学习的第一门计算机语言,加上C语言本身的抽象性、用语句表达逻辑关系比较复杂,加之以往在C语言教学中不能与解决实际问题紧密结合,造成学生学习C语言过程感到困难,目的又不明确,不能从学习C语言中获得成就感,降低了学习兴趣,学习到最后能够坚持下来的学生比例很低。往往导致学习C语言开始阶段踌躇满志,中间阶段困惑遍地都是,最后阶段不了了之的现象。严重影响了C语言的教学质量和教学效果。

2、本研究的具体解决思路

本研究主要从C语言的特点和学生以往学习中出现的问题出发,通过强化知识点、分散难点、以实际测温工程问题作为C语言学习承载媒介,通过激发学生学习兴趣,严格要求学生、充分信任学生,鼓励学生坚持学习,发挥师爱在教学过程中的作用,促使学生完成C语言的教学,最终达到学生在学习过程中目的清晰、学有兴趣、学以致用的目的,帮助学生熟悉C语言在工程中的使用。提高学生的综合职业能力和素质,为顺利就业打下一个良好的基础。

3、本课题的研究内容的具体步骤和内容

3.1 归纳出C语言的知识点

为了把C语言的知识梳理清晰便于学生记忆,我们把C语言的知识分为静态的知识和动态的知识。

3.1.1 静态的知识[1]

(1)一些概念如:运算符、标识符、关键字、数据类型、表达式、语句、数组、函数、指针等,像运算符、标识符、数据类型等概念容易理解,但是另一类概念(还包含用法)如二位数组及引用、指针、结构体与共用体等概念都是新接触的概念并且抽象,它们的使用还涉及到计算机内部的工作过程,难度比较大,需要反复通过实例让学生理解定义,在理解的基础上在尝试着应用。在这部分教学中需要重点加强练习。

(2)C语言的格式:可以概括为“函数头 + 一个主函数”的结构,这是任何一个C语言程序必须的格式,就像给具体的C语言穿的一件制服,看到这个制服就知道是一个C语言程序;反过来,每一个C语言程序都必须穿这套制服。具体C语言程序中是什么内容,就要看{ }中的内容了。

3.1.2 动态知识包括算法、函数、语句的使用、编译工具软件

(1)算法是一个很复杂很宽泛且有很大难度的问题,但就解决常见的工程问题和生活问题的算法还不是很难。明确算法只是解决问题的方法和步骤,不能对算法这个概念产生神秘感。对常见的算法会用C语言实现就可以,例如:一般的数值计算、逻辑运算、查找、排序、查表等。

(2)函数[2]:明确函数的调用、参数的传递,函数是C语言中的一个重要概念和组成部分,是C语言程序的基本组成单位,计算机的很多功能都是通过函数来实现的。要会使用乘方开方、正弦余弦、正切余切、指数运算、微分积分等有关的数值运算函数,能完成一般的数值计算,通过查阅资料会使用常用数学函数和必要的其它常用库函数就可以了,在教学中要进行分项针对练习。

(3)C语言的编程语句表达式和语句的关系:把C语言语句分为四类以强化学生的记忆:顺序语句、选择语句、循环语句、转移控制语句。C语言编程语句的教学是C语言教学中最核心难度最大也最有挑战性的部分,只有学好这部分内容,才有可能会使用C语言进行编程。对这部分内容的教学重点要区别对待。对顺序结构的语句来说,难度比较小,结合工程中的的算法就可以顺利过关。选择语句的难度有两个,一是几种选择语句的书写格式和用法。二是选择语句的嵌套,逻辑关系一层套一层,逻辑嵌套的逻辑习惯养成不容易,必须由简单到复杂循序渐进进行,让学生养成用C语言逻辑嵌套的方式寻找解决问题的习惯。对简单的循环语句结构要加大强化力度,开始通过一定量的循环小实例练习加强学生对循环语句的理解,达到熟练运用的程度,然后再结合工程中的循环语句让学生知道循环语句在工程中的实际运用。循环的嵌套难度最大,对循环嵌套的教学必须通过实例反复训练,达到熟练的程度,并且让学生自己寻找生活中循环嵌套的例子,以适应循环嵌套的逻辑。最后还要仔细体会测温工程中的循环嵌套的使用。对转移控制语句的教学应该强调这三种控制语句的应用条件和注意事项,防止使用不当是程序进入死循环。必要时要通过一个错误的使用让学生感受到错误使用产生的结果。

(4)C语言的编译平台,编译平台有几种可以使用,通常使用的是Visual C++6.0有在教学中发现, C语言学习还没有开始,就被编译平台难住了,选择《啊哈磊》[3]编写的C语言学习平台,等适应后在启用Visual C++6.0编译软件。

3.2 建立一个真实的测温工程:

3.2.1 设计工程的硬件

本工程是利用C语言开发单片机以热敏电阻为传感器测定空气的温度。热敏电阻与555组成振荡器,,温度变化,热敏电阻阻值变化,电路振荡频率变化,通过单片机测定电路振荡频率,与标准比较就可以计算出温度值。设计一个硬件电路并且用软件设计一个PCB板,焊接好电路元件备用。

3.2.2 对测温硬件电路编写部分测温软件代码如下:

#include

#include

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.

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

作者简介

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

作者单位

西南石油大学四川省成都市610500

c语言开发范文9

关键词:C语言 调试工具 VS2008 开发环境

中图分类号:G718 文献标识码:C 文章编号:1003-9082(2015)06-0007-01

引言

C语言作为面向过程语言的代表,一直是广大程序员学习编程的入门语言。C语言结构清晰易懂,简洁紧凑。C 语言数据类型丰富,表达方式灵活实用;在众多的高级语言中,C语言能够直接访问物理地址,对硬件进行操作;C语言生成代码质量高,程序执行的效率也比较高;最后,C语言的语法和C#、Java等主流高级语言语法十分类似,可以作为学习这些高级语言的先行课。因此,C语言越来越受到广大计算机编程爱好者的欢迎,成为计算机编程的必学入门语言。

一、C语言调试工具

C语言的调试工具众多,以往比较流行的有Turbo C,现在几乎找不到单独的C编译器了。大多数情况下,C编译器捆绑在C的一个高级版本C++中。比如Borland C++、Dev-C++、Visual C++等等。Linux下则是GCC。随着.net框架的出现,绝大多数微软系统下的编译器都用了Visual studio,目前比较成熟的是Visual studio2008(简称VS2008)。VS2008是一个高度集成化的工具,主要用C#语言在上面进行软件开发。VS集成开发环境同时可用于编译C++和C程序。但是在编译C程序的时候有些不同,本文下面将讨论如何用VS2008编译C程序,同时指出同其他编译器的区别。

二、用VS2008调试C语言源代码的步骤

用VS2008编写C语言代码:

下面以一段最基本的C语言代码为例,说明如何用VS2008编写C语言代码。代码如下:

#include

main()

{

printf(“This C stuff is easy!”);

return 0;

}

代码十分简单,就是输出一行文字“This C stuff is easy!”

首先打开VS2008后,点击“文件”“新建”“项目”,出现了如图1所示的对话框,选择win32控制台应用程序,输入名称并选择好存放位置以后,点击确定,出现了程序向导如图2所示。点击下一步,在附加选项中选择空项目,点击完成即建立了一个项目。建立项目后,在左上角会出现命名后的解决方案,在方案下面“头文件”、“源文件”、“资源文件”三项。右击源文件,选择“添加”在添加下面选择“新建项”,出现了添加新项的对话框。然后在模板里选择C++文件,在下面的名称中输入C程序的名称。点击添加即进入了编辑界面。

图1:新建项目对话框 图2:Win32程序向导

三、VS2008的安全性要求

用VS2008调试C语言的时候,关于scanf函数的问题一直困扰着初学者,scanf函数使得计算机能够读取用户输入的数据,然后将其放在用户指定的变量中。scanf函数一般的输入例子为:scanf(“%d”,&a)。该语句的含义是读取用户输入的整型数值,放入整型变量a中去。如果是浮点型、字符型等其他类型的数字,只需要将%d改成%f或%c等即可。

在VS2008中,要求用scanf_s函数来代替scanf使用,下划线s代表的是secure安全的意思。在功能方面,scanf_s函数和scanf函数的功能完全相同。需要注意的是:两个函数里面的参数有一定的区别。当需要用户输入数值类的数字时,scanf和scanf_s的参数相同。而当需要用户输入字符或字符串的时候,两个函数的参数就大不相同。是scanf函数输入字符串的语句如下:scanf(“%s”,a),而scanf_s则要求你传入一个和参数有关的大小值,避免引用到不存在的元素。scanf_s的标准写法为scanf_s(“%s”,a,20)。比较两个函数的区别:scanf()在读取时不检查边界,所以可能会造成内存访问出界。scanf_s()函数则能够很好地解决这些问题。下面是一个简单的C语言程序,用sacnf_s函数来接收用户输入的字符串。

#include

main()

{

char a[20];

printf(“请输入一串小于20个的字符:”);

scanf(“%s”, a, 20 );

printf(“您输入的字符是:%s”, a);

getch();

return 0;

}

scanf()函数中的20制定了位数,避免引用到不存在的元素。

c语言开发范文10

关键词:计算机;软件开发;汇编语言

一、计算机中运用的编程语言

(一)C语言和C++语言

C语言是面向过程的编程语言。C语言兼顾了低级语言可直接作用在硬件上的特点。所以这也就注定了C语言是一门比较难的语言,只有拥有足够的知识以及非常强的动手操作能力才能真正的掌握这门语言。不同于C语言,C++语言可以面向对象进行编程。C语言和C++语言的思维方式以及解决问题的方式都有所不同,C++语言中存在了许多的设计概念,如果可以把C语言和C++语言进行很好的结合,那么将产生意想不到的结果。

(二)JAVA语言

JAVA语言从诞生之日到如今,发展极其迅速。JAVA语言是现在软件开发中运用的一种比较广泛的编程软件。JAVA语言也是一门面向对象的编程语言,但是JAVA语言又不同于其他的编程语言,JAVA语言有着跨平台的特点。JAVA语言有着简单易懂、容易解释、安全性高、可进行移植等显著的特点,让其受到众多程序员的喜欢。但JAVA语言对环境的要求非常的严格,极不支持桌面程序的开发。

(三)C#语言

C#语言同样也是面向对象的一种编程语言。由于微软公司一直坚信分布式应用是将来的发展方向,所以C#语言的发展一直遵循这个原则。C#语言与JAVA语言虽然都是面向对象的高级语言,但是他们有所不同,JAVA语言将指针以及手动内存管理完全摒弃,而C#语言并没有将其摒弃,C#语言拥有安全性高、精确度高等优点。C#可借鉴的经验丰富,发展迅速。

(四)Pascal语言

Pascal语言由于各种原因,其发展的前途并不是很好。Pascal语言是一种高级语言,同时还是具有自编译的特点。Pascal语言的语法十分简洁,程序的结构性非常的明显,数据类型非常的丰富。现在很多用Pascal语言的都是应用的Pascal语言的扩展语言Delphi。

二、编程过程中编程语言的选取

在进行一个软件的编写时,编程语言的选取是非常重要的一件事,编程语言选取的成功相当于编程任务成功了一半。现在的软件编写中,基本上不能单靠一种编程语言进行整个编程项目的编写,通常都是运用各种编程语言进行很好的综合运用,从而达到想要达到的目的。所以一个合格的程序员需要同时精通多门编程语言,只有这样才能在运用时取长补短,运用各种语言的优势,躲避各种语言的劣势。计算机编程语言虽然有很多,但各种编程语言都有很多的相同点,只要精通一门计算机编程语言,那么会对新的编程语言的学习非常有利。这样就降低了程序员的学习量。

(一)思考软件所处的环境

软件的运行是在硬件的基础上运行的,没有硬件的支持,软件只是一个漂浮在空中的灵魂。所以软件的开发过程中必须要考虑硬件,所编写的软件必须要适应于硬件。在编写前必须要明白所编写的软件需要满足什么样的条件,必须明确需要用什么样的编程语言编写什么部分的软件。当然也要有发展的眼光,可以在这个电脑更新换代十分迅速的时代里让自己的软件得到发展。

(二)思考编写软件的目的

在进行编程之前,需要对自己所编写的东西能特别的了解,需要明白编写的软件是为了满足什么样的需求,满足谁的需求。只有将这些特别清楚才能进行合适的编程语言的选取。同时明白自己编程是面向的对象还是过程也是非常重要的,只有明白这些才能真正的选择好适合自己项目的编程语言。

(三)尽可能的发挥自身的优势

进行编程的时候,一定要发挥好自身的优势,将最擅长的一面拿出来,在选取编程语言的时候尽可能选取自己最擅长的编程语言。计算机软件的运行其实就是按照程序员给它输入的思想进行的。一个大型的软件需要用到很多语言,工程大而且复杂,如果不使用自己擅长的编程软件就很容易造成错误,不能很好的将程序员的思想融入进计算机中。而使用自己擅长的语言,便可以游刃有余的进行思想的输入。

c语言开发范文11

【关键词】C语言;软件编程;混合编程

引言

传统上,B语言只有计算机字这一种数据类型,其功能有限、语言简单,贝尔实验室历时多年研究开发的C语言很好地解决了这一缺陷。C语言作为程序员的入门语言,具有上机执行过程简洁,操作自由的特点。C语言是一种更接近数学的具有较强移植性能力的一种语言,独特的算法决定了其特点人性化,以便用于多种操作系统。,作为计算机软件编程中重要的程序设计应用语言,C语言集合了汇编语言的优越性和高级语言的特点。随着互联网技术的飞速发展,C语言的运用已经成为计算机软件编程技术的核心。

1概述

C语言是在B语言的基础上完善形成的。我们的计算机辩称人员在使用B语言作为软件开发的过程中发现B语言其结构过于简单,而且在编写程序的过程中灵活性不强,针对于软件在开发过程中需要应对不同的复杂程序完全不能够匹配。因此在这些问题下,研发人员经过多次试验,深入研究计算机编程语言,最终,C语言于1972年被美国贝尔实验室D.M正式推出。C程序语言是早期的时候在u-nix操作系统中被使用的。1978年以后各种计算机开始对C语言进行使用,C语言既可以对应用程序进行设计,也可以我们在日常计算机工作的语言。经过多年发展,C语言成为低级语言的升级版,而且更多更便捷的后续语言也被研发出来,对软件开发起到了非常重要的作用。计算机的主要组成语言就是通过C语言来实现的,只有能够灵活的使用C语言进行程序的编写才能对计算机软件的开发起到重要的推动作用。

2C语言编程的主要特点

2.1模块化思想在我们使用C语言进行软件编辑的时候,我们因该将每一个大的程序没款进行分解,通过分解的方式式的大模块编程小模块,将每一个小模块设计完整后,再通过彼此之间确定联系,从而发展成一个完善的大模块。2.2函数库强大在C语言程序编辑的时候,我们所使用的软件已经建立了一个完整的函数库,程序眼在编辑过程中不需要再定义相关函数,调用方法是使用系统编辑指令中的“#inClude”指令,搭配着各种相关文件,即可以实现直接进行函数的使用,编译程序简化,出错率也大大降低。2.3指针使用灵活C语言中每一个内存单元都有其相对的地址,我们将变量存放在内存空间中,指针是一种赋值操作,其通过对变量的地址的描述,实现动态的存储分配。当我们对函数指针进行定义时,需要根据函数指针的名称、指针所具有的数值和指针所对应的类型去进行指针的选择。所以当我们在使用指针时,我们先要了解我们所调用的指针后再进行调用。2.4运算范围广C语言的34种运算符能够对运输结果采用各种不同的表达方式,以此为基础,C语言的数据可以针对不同计算机软件开发的数据结构进行运算,正是因为这种原因才使得C语言得以广泛的使用。2.5移植泛用性由于C语言具备广泛的移植性能,使得各类不同型号的计算机和操作系统环境都能够加以应用,基本不需要做任何修正,因此多种不同版本的C语言由此而形成。2.6程序设计有较大自由度使用C语言编写程序相对而言是比较自由的,因为C语言在其语法限制方面比较小。我们只需要掌握C语言的语法通过合理的构思就可以实现程序的编写,假如当我们我们编写程序A-B时,程序员只需直接输入A、B的值并配合我们所调用的函数,就可以直接进行A-B的运算。

3C语言在软件编程中需要掌握的技巧

因为C语言具有模块化特点,在发挥其灵活性和方便性的同时,我们需要提升自身的编程技巧,进一步的对编辑软件和开发软件进行提升。3.1合理设置变量数据和运算模式为了满足计算机软件编程的条件,我们需要注意使用最小的无符号数据,以减少程序中出现的代码,进而提升我们计算机编程的效率。在设置运算时我们应该使用定点运算的方式使运算结果更为准确。3.2合理定义变量存贮器类型变量存贮器中所存储的变量包含了动态变量、静态变量、寄存器变量和外部变量。当我们使用存贮器时一定要根据程序要求选取不同的存贮器。3.3正确选择编译控制指令C语言针对计算机的软件在进行编程时会提供很多的控制指令,其主要组成是由首要控制指令和一般控制指令,其中我们可以对一般控制指令进行多次的选择调用,但是首要指令只能放在程序的开头,以防止因重复而导致停止编译。3.4使用特有函数因为在编程过程中我们需要经常的使用函数,所以程序员因该根据C语言编辑软件自带的函数库进行合理的选择,程序员可以通过输入#include指令”,找到所需要的函数直接进行使用。

4C语言与汇编语言的混合编程方法探析

在使用C语言与汇编语言混合编程时,一定要注重程序的开头后结尾的模式。当汇编语言调用C语言子程序只需主程序和子程序的格式保持一致。因为C语言和汇编语言所应对的方式不同,所以我们必须将C语言和汇编语言组合在一起进行使用,其中两者最重要的问题就是如何进行数据的传递。所以C语言和汇编语言在组合使用时我们需要注意的是:一是要根据函数的值来确定传送的方式,二是将程序的反输入到堆栈,三是通过“ExTERN,”进行函数说明并根据函数来说明身份;四是说明代码段,并且以“一ETXT’’作为代码段命名的原则,五通过程序的参数来选取汇编语言,六是兼顾保护寄存器的原则。

5C语言与汇编语言连接的问题研究

C语言和汇编语言进行互连时,我们要注意其中的三个问题:调用关系、解决参数和模块连接。混边称重时我们要注意参数关系对其造成的影响,大多数程序员采用堆栈来寻找错误,它的过程是:把BP当做一个寄存器,将C语言反序使用后添加到堆栈中,使用BP将添加的参数数据偏移使用。在确认了他们之间的调用关系后,程序需要对使用函数或者过程进行解释,然后明确互相的调用关系。特别要注意的是,当我们使用程序时,我们需要对于外部模块的作用和名字进行介绍。

6结语

当今世界,科学信息技术飞速发展,所以C语言所应用得月越来越多,计算机软件编程的要求也越来越高。在计算机软件编程中,汇编语言与C语言的合理使用,大大简化了编写过程,提高了软件的使用效率,C语言对促进科技发展也起到不可替代的作用。

参考文献

[1]刘秀明.基于C语言的计算机软件编程实验研究[J].电子技术与软件工程,2014(05):263.

[2]李悝.计算机C语言计算机编程实验研[J].数字技术与应用,2012(11):229.

[3]王晶晶.基于计算机软件开发的JAVA编程语言分析[J].河南科技,2013(02):17,134.

[4]梁甜.基于C语言的计算机软件编程分析[J].田电脑编程技巧与维护,2014(22).

c语言开发范文12

关键词:C语言;程序设计;编程能力

中图分类号:TP312.1-4 文献标识码:A文章编号:1007-9599 (2011) 15-0000-01

C Language Programming Learning Problem and Strategies

Feng Shenggang

(Shaanxi Changling Software Development Co.,Ltd.,Baoji721013,China)

Abstract:This paper analyzes the C programming language to learn some of the problems that exist for these problems,on how to improve the C programming language learning efficiency gives some opinions and suggestions.

Keywords:C language;Programming;Programming capabilities

一、前言

C语言是一种计算机程序设计语言。它既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围极其广泛。

二、C语言程序设计学习中的问题

(一)在C语言程序设计学习中,很多开发者的基础薄弱,学习的目的性不强。一些人在学习C语言程序设计的过程中,由于之前从未接触过C语言程序设计的相关基础,导致他们在开始接触C语言学习的时候,对其感到及其陌生,所具备的基础知识也不扎实;同时,还有一些人对C语言程序设计的学习并没有引起足够的重视,他们认为C语言只是一个工具,可以在等到需要使用的时候再仔细学。通过调查发现,在对C语言程序的设计学习中,很想成为电脑高手,愿意专研C语言程序设计的人仅占11%,大部分人往往是抱着一种完成任务的心态来进行C语言的学习。可见,很多开发者在学习C语言的过程中还存在着目的性不强的问题。(二)在C语言程序设计的学习中,人们的学习兴趣不强,参与率不高。兴趣是学好一门学科的基础和重要条件。在C语言程序设计的学习过程中,由于这门学科学习难度大,理解性强,很多人对这门学科没有太大的兴趣,总是认为这门学科枯燥无味,在学习过程中,不能积极的思考问题,遇到困难就害怕退缩,必然影响了人们对这门学科的学习效率和效果。(三)在C语言程序设计的学习中,人们的编程能力差,动手能力也有待提高。尽管计算机已经普遍进入到人们的学习和生活当中,但是人们对计算机的使用更多的是用在娱乐和对信息的获取上,愿意把时间和精力放在C语言程序设计学习上的人则是少之又少,在对计算机的实际应用中,很多人忽视了对计算机程序设计技能的培养和提高,导致人们的编程能力和动手能力较差,影响了C语言程序设计学习效率的提高。(四)在C语言程序设计的学习过程中,人们缺乏后续学习的环境和途径。C语言程序设计的学习是一个长期的、不断丰富的过程,人们在学习该课程的过程中,由于基础较差,学习兴趣不高,动手能力不强,导致很多人在后续的学习过程中,面临着越来越多的困难,进而放弃了对该工具的进一步研究和学习;另外,有部分人在经过系统的学习之后,逐渐对C语言有所认识和了解,并产生了学习兴趣,但是目前很多人的后续学习和提高还缺乏一些有效的途径,缺少一个可以让该工具得到长期应用的环境,导致一些人在学完了C语言程序设计之后又长时间不用,逐渐对该工具陌生化,对顺利开展后续的学习带来了不利影响。

三、C语言程序设计学习的策略分析

(一)努力激发人们的学习兴趣。兴趣是最好的老师。浓厚的学习兴趣对人们学习C语言程序设计尤为重要。激发人们的学习兴趣,人们可通过各种不同的方法和策略,激发对该课程的好奇,从而提高他们的学习兴趣。比如,在C语言学习的初期阶段,可以采用炫耀的方式,即学习者通过趣味性的话语,编制一些小程序,让学习者获得一种成就感,引起学习兴趣;到了学习的中间阶段,人们对C语言有了一些初步的认识,但同时,人们在学习过程中面临的困难也越来越多,此时,就必须坚持,并克服害怕退缩的情绪。除此之外,还需要进行一些实战型的实例分析,例如,可以进行一些较为复杂的软件中的部分工作,通过亲手参与和动手,增强了学习者的主观能动性,帮助他们树立学习的自信心。(二)加大对基础性知识的学习,为C语言程序设计的学习培养坚实的基础。良好的基础是学好C语言程序设计的前提和保证。人们在开始学习C语言程序设计的过程中,首先要打好基础,必须严格的要求自己,针对初期对C语言的基本语法理解所出现的难题,必须认真负责的解决问题,打开学习思路的大门;同时,要有良好的编程习惯,严格按照标准格式进行程序代码的编写和注释。(三)避免学习误区,把握学习方法。首先,人们在学习的过程中,必须认识到容易陷入的误区,很多人在拿到编程题目之后,就开始进行编程,对于一些简单的编程,没有多大的问题,但是对于一些较为复杂的编程,在拿到题目之后就必须进行深入的分析。其次,在C语言的学习中,必须重视算法的重要性,把握算法的表示和步骤。例如,给出一个编程题目:输入三个数,然后输出其中最大的数。第一、我们定义三个变量A、B、C,并将三个数依次输入到A、B、C中;然后,准备一个MAX装最大数。我们先进行A和B的比较,选出大的一个,然后把MAX和C比较,进而求出最大的数。其具体算法示如下:

输入A,B,C;

若A>B,则MAXA;

否则MAXB;

若C>MAX,则MAXC;

输出MAX,MAX即为最大数

通过对算法的正确把握,编程的最终结果就出来了。在进行编程的算法时,必须按照这种算法,树立良好的习惯,从而提高学习的质量好效率。

四、结束语

总的来说,C语言程序设计的学习不仅需要人们具备较高的学习兴趣,还要求人们正确把握C语言程序学习的方法,掌握编程的算法,找对适合自己的学习套路,注重C语言程序设计的实践型,把理论和实践结合起来,实现学习质量的提高。

参考文献:

[1]李丽娟,马淑萍.C语言程序设计(第二版)[M].北京:清华大学出版社,2009