1 写代码。这是最基础的一步,即实现C语言的源文件(c,必需),和可能的头文件(h,非必需)。
2 编译。将编写好的代码,通过编译工具,转换为目标文件。此步中,会对文件内部及包含的头文件进行语法语义的分析检查。如果出错,则必须返回到1步对代码进行修改,直到没有错误为止。
3 链接。将目标文件链接成可执行文件。此步会对文件直接的关联进行检查。如果出错需要返回到1修改代码。直到没有错误。
4 运行。这个是最后一步,也是C语言的最终目的。
在运行结果与期望不符时,需要检查原因,修改代码,重新执行1,2,3直到程序没有问题。
在过去的二十年里,C和C++已经成为在商业软件的开发领域中使用最广泛的语言。它们为程序员提供了十分灵活的 *** 作,不过同时也牺牲了一定的效率。与诸如 Microsoft Visual Basic等语言相比,同等级别的C/C++应用程序往往需要更长时间来开发。由于C/C++语言的复杂性,许多程序员都试图寻找一种新的语言,希望能在功能与效率之间找到一个更为理想的权衡点。
目前有些语言,以牺牲灵活性的代价来提高效率。可是这些灵活性正是C/C++程序员所需要的。这些解决方案对编程人员的限制过多(如屏蔽一些底层代码控制的机制),其所提供的功能难以令人满意。这些语言无法方便地同早先的系统交互,也无法很好地和当前的网络编程相结合。
对于C/C++用户来说,最理想的解决方案无疑是在快速开发的同时又可以调用底层平台的所有功能。他们想要一种和最新的网络标准保持同步并且能和已有的应用程序良好整合的环境。另外,一些C/C++开发人员还需要在必要的时候进行一些底层的编程。
微软推出C#
C# (C sharp)是微软对这一问题的解决方案。C#是一种最新的、面向对象的编程语言。它使得程序员可以快速地编写各种基于Microsoft NET平台的应用程序,Microsoft NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。
正是由于C#面向对象的卓越设计,使它成为构建各类组件的理想之选——无论是高级的商业对象还是系统级的应用程序。使用简单的C#语言结构,这些组件可以方便的转化为XML网络服务,从而使它们可以由任何语言在任何 *** 作系统上通过Internet进行调用。
最重要的是,C#使得C++程序员可以高效的开发程序,而绝不损失C/C++原有的强大的功能。因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。
效率与安全性
新兴的网络经济迫使商务企业必须更加迅速的应对竞争的威胁。开发者必须不断缩短开发周期,不断推出应用程序的新版本,而不仅仅是开发一个“标志性”的版本。
C#在设计时就考虑了这些问题。它使开发者用更少的代码做更多的事,同时也不易出错。
支持现有的网络编程新标准
新的应用程序开发模型意味着越来越多地解决方案依赖于新出现的网络标准,例如HTML,XML,SOAP等。现存的开发工具往往都是早于Internet出现的,或者是在我们所熟知的网络还处于孕育期时出现的。所以,它们一般无法很好地支持最新的网络技术。
C#程序员可以在Microsoft NET平台上事半功倍的构建应用程序的扩展框架。C#包含了内置的特性,使任何组件可以轻松转化为XML网络服务,通过Internet被任何 *** 作系统上运行的任何程序调用。
更突出的是,XML网络服务框架可以使现有的XML网络服务对程序员来说就和C#对象一样。这样,程序员就可以方便地使用他们已有的面向对象的编程技巧来开发利用现有的XML网络服务。
还有一些精细的特性,使得C#成为一流的网络编程工具。例如,XML正逐渐成为在网络上传输结构化数据的标准。这种数据集合往往非常小。为提高性能,C#允许把XML数据直接映射到struct数据类型,而不是class。这样对处理少量的数据非常有效。
消除大量程序错误
即使是专家级的C++程序员也常会犯一些最简单的小错误——比如忘了初始化变量,但往往就是这些小错误带来了难以预料的问题,有些甚至需要很长时间来寻找和解决。一旦一个程序作为产品来使用,就算最简单的错误纠正起来也可能要付出极其昂贵的代价。
C#的现代化设计能够消除很多常见的C++编程错误。例如:
l资源回收减轻了程序员内存管理的负担。
l C#中变量由环境自动初始化。
l变量是类型安全的。
这样,程序员编写与维护那些解决复杂商业问题的程序就更方便了。
对版本的更新提供内在的支持降低了开发成本
更新软件组件是一项很容易出错的工作,因为代码的修改可能无意间改变原有程序的语义。为协助开发者进行这项工作,C#为版本的更新提供内在的支持。例如,方法重载必须显式声明。这样可以防止编码错误,保证版本更新的灵活性。还有一个相关的特性就是对接口和接口继承的内在支持。这些特性使得C#可以开发复杂的框架并且随着时间不断发展更新它。
总体来说,这些特性使得开发程序项目的后续版本的过程更加健壮,从而减少后续版本的开发成本。
功能、表达与灵活性
商业过程和软件实现的更好对应
企业的商业计划要付诸现实,必须在抽象的商业过程和实际的软件实现之间建立紧密地对应。不过大多数语言都很难做到这点。例如,如今的程序员们一般使用代码注释来注明哪个类对应于某个抽象的商业对象。
C#语言允许类型定义的,扩展的元数据。这些元数据可以应用于任何对象。项目构建者可以定义领域特有的属性并把他们应用于任何语言元素-类,接口等等。然后,开发人员可以编程检查每个元素的属性。这样,很多工作都变得方便多了,比如编写一个小工具来自动检查每个类或接口是否被正确定义为某个抽象商业对象的一部分,或者只是创建一份基于对象的领域特有属性的报表。定制的元数据和程序代码之间的紧密对应有助于加强程序的预期行为和实际实现的之间的对应关系。
扩展交互性
作为一种自动管理的,类型安全的环境,C#适合于大多数企业应用程序。但实际的经验表明有些应用程序仍然需要一些底层的代码,要么是因为基于性能的考虑,要么是因为要与现有的应用程序接口兼容。这些情况可能会迫使开发者使用C++,即使他们本身宁愿使用更高效的开发环境。
C#采用以下对策来解决这一问题:
l内置对组建对象模型(COM)和基于Windows的API的支持;
l允许有限制地使用纯指针(Native Pointer)。
在C#中,每个对象都自动生成为一个COM对象。开发者不再需要显式的实现IUnknown和其他COM接口这些功能都是内置的类似的,C#可以调用现有的COM对象,无论它是由什么语言编写的
C#包含了一个特殊的功能,使程序可以调用任何纯API。在一段特别标记的代码中,开发者可以使用指针和传统C/C++特性,如手工的内存管理和指针运算。这是其相对于其它环境的极大优势。这意味着C#程序员可以在原有的C/C++代码的基础上编写程序,而不是彻底放弃那些代码。
无论是支持COM还是纯API的调用,都是为了使开发者在C#环境中直接拥有必要的强大功能。
结论
C#是一种现代的面向对象语言。它使程序员快速便捷地创建基于Microsoft NET平台的解决方案。这种框架使C#组件可以方便地转化为XML网络服务,从而使任何平台的应用程序都可以通过Internet调用它。
C#增强了开发者的效率,同时也致力于消除编程中可能导致严重结果的错误。C#使C/C++程序员可以快速进行网络开发,同时也保持了开发者所需要的强大性和灵活性。
开发一个C语言程序需要经过的四个步骤:编辑、编译、连接、运行。
C语言程序可以使用在任意架构的处理器上,只要那种架构的处理器具有对应的C语言编译器和库,然后将C源代码编译、连接成目标二进制文件之后即可运行。
1、预处理:输入源程序并保存(C文件)。
2、编译:将源程序翻译为目标文件(OBJ文件)。
3、链接:将目标文件生成可执行文件( EXE文件)。
4、运行:执行EXE文件,得到运行结果。
扩展资料:
C语言代码变为程序的几个阶段:
1、首先是源代码文件testc和相关的头文件,如stdioh等被预处理器cpp预处理成一个i文件。经过预编译后的i文件不包含任何宏定义,因为所有的宏已经被展开,并且包含的文件也已经被插入到i文件中。
2、编译过程就是把预处理完的文件进行一系列的词法分析、语法分析、语义分析以及优化后产生相应的汇编代码文件,这个过程往往是我们所说的整个程序的构建的核心部分,也是最复杂的部分之一。
3、汇编器不直接输出可执行文件而是输出一个目标文件,汇编器可以调用ld产生一个能够运行的可执行程序。即需要将一大堆文件链接起来才可以得到“aout”,即最终的可执行文件。
4、在链接过程中,对其他定义在目标文件中的函数调用的指令需要被重新调整,对实用其他定义在其他目标文件的变量来说,也存在同样问题。
参考资料来源:百度百科-c语言
C语言是一种成功的系统描述语言,用C语言开发的UNIX *** 作系统就是一个成功的范例;同时C语言又是一种通用的程序设计语言,在国际上广泛流行。世界上很多著名的计算公司都成功的开发了不同版本的C语言,很多优秀的应用程序也都使用C语言开发的,它是一种很有发展前途的高级程序设计语言。
1 C是中级语言。它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行 *** 作, 而这三者是计算机最基本的工作单元。
2C是结构式语言。结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。
3C语言功能齐全。具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。另外C语言也具有强大的图形功能,支持多种显示器和驱动器。而且计算功能、逻辑判断功能也比较强大,可以实现决策目的的游戏。
4 C语言适用范围大。适合于多种 *** 作系统,如Windows、DOS、UNIX等等;也适用于多种机型。 C语言对编写需要硬件进行 *** 作的场合,明显优于其它解释型高级语言,有一些大型应用软件也是用C语言编写的。 C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画。它是数值计算的高级语言。
5C语言文件由数据序列组成,可以构成二进制文件或文本文件 常用的C语言IDE(集成开发环境)有Microsoft Visual C++,Dev-C++,Code::Blocks,Borland C++,Watcom C++ ,Borland C++ Builder,GNU DJGPP C++ ,Lccwin32 C Compiler 31,High C,Turbo C,C-Free,win-tc 等等…… 对于一个初学者,Microsoft Visual C++是一个比较好的软件。界面友好,功能强大,调试也很方便。
软件开发语言之Java
根据调研机构EvansData的统计,Java是目前全球第一的开发语言,全世界拥有超过900万名Java开发者。基于Java语言的应用程序需 要支持、更新、扩展,其数量多到无法统计,而且Java还是Android移动平台的编写语言,Android为开发人员提供成套的开发工具和API接 口。Java无愧在权威评测网站TIOBE排行榜中长期占据第一。
软件开发语言之C#
C#是由C和C++衍生出来的面向对象的编程语言。同时,它也是微软Windows Phone 7平台的主要编程语言,被广泛应用于企业中。尽管使用C#的人数要比Java略微少一些,但在微软的战略体系中的地位极为重要。
软件开发语言之C/C++
C语言是一门相对比较古老的语言,于上世纪70年代初问世;C++是在C语言基础之上构建而来的。C++在很多重要领域,比如系统如软件、应用软件、 高端服务器/客户端应用、娱乐软件中均有广泛使用,且对Java等其他语言产生了重要影响。最新TIOBE排行中,分别排在第二、第三位。
软件开发语言之Javascript
Javascript被应用于开发与Web相关的产品和服务中。它最初受到Java启发,但本质上是不同的。JavaScript是一门具有非常丰富特性的语言,它有着和其他编程语言一样的复杂性,具有比较广阔的发展前景。最新TIOBE排行中,排在第十一位。
软件开发语言之Visual Basic
与Basic语言类似的是,VisualBasic非常适合入门者学习和使用。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可 以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。程序员可以轻松的使用VB提供的组件快速建立一个应用程序。最新 TIOBE排行中,排在第十一位。
软件开发语言之PHP
PHP在企业应用和Web设计中非常流行。PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法,且执行效率比完全生成HTML标记的CGI要高许多,代码运行更快。PHP具有非常强大的功能,所有的CGI的功能PHP都能实现,而且支 持几乎所有流行的数据库以及 *** 作系统。最新TIOBE排行中,排在第四位。
软件开发语言之Objective-C
如果你想在短期内赚取最多的酬劳,不妨选择专攻Objective-C。一年不到时间内,Objective-C的使用率继续上升。 Objective-C获得成功的最大(或许也是唯一)因素在于,它是为iPhone、iPad开发应用程序的必备工具。随着创新平板电脑iPad的发 布,以及第四代iPhone手机的诞生,Objective-C将迎来其历史新的高峰。
软件开发语言之Perl
很多人认为Perl是改头换面后的COBOL语言。Perl通常被称为“实用报表提取语言”,具有高级语言(如C)的强大能力和灵活性。与脚本语言一 样,Perl不需要编译器和链接器来运行代码。简而言之,Perl象C一样强大,象awk、sed等脚本描述语言一样方便。最新TIOBE排行中,排在第 八位。
软件开发语言之Python
这种语言具有非常简捷而清晰的语法特点,适合完成各种高层任务,几乎可以在所有的 *** 作系统中运行。微软已经表示今后90%的应用程序都将在Cloud 云中运行,紧跟其步伐的最好方法就是学好Python语言。可以预见,Python相关技术的发展是十分迅速的。最新TIOBE排行中,排在第七位。
软件开发语言之Ruby
Ruby是一种为简单快捷面向对象编程而创的脚本语言,由日本人松本行弘开发,遵守GPL协议和Ruby License,结合了Perl、Smalltalk、Ada、Lisp等诸多特点于一身。从1995年发展至今,Ruby的身影出现在各种平台、Web 应用、网络系统。EngineYard公司高级工程师耶胡·卡茨称,他还没有发现找不到工作的Ruby开发者。
以上就是关于C语言程序开发的四个步骤是什么全部的内容,包括:C语言程序开发的四个步骤是什么、c语言的开发环境和开发工具都是什么、开发一个c语言程序要经过哪四个步骤等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)