C语言的特点与创建的基本步骤是什么

C语言的特点与创建的基本步骤是:

C 语言特点:

1.C语言是一种成功的系统描述语言,用C语言开发的UNIX操作系统就是一个成功的范例;

2.同时C语言又是一种通用的程序设计语言,在国际上广泛流行。世界上很多著名的计算公司都成功的开发了不同版本的C语言,很多优秀的应用程序也都使用C语言开发的,它是一种很有发展前途的高级程序设计语言。

3.C是中级语言。它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工作单元。  4.C是结构式语言。结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。

5.C语言功能齐全。具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。而且计算功能、逻辑判断功能也比较强大,可以实现决策目的的游戏。

6. C语言适用范围大。适合于多种操作系统,如Windows、DOS、UNIX等等;也适用于多种机型。C语言对编写需要硬件进行操作的场合,明显优于其它解释型高级语言,有一些大型应用软件也是用C语言编写的。

7.C语言具有较好的可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画。它是数值计算的高级语言。常用的C语言IDE(集成开发环境)有Microsoft Visual C ,Dev-C ,Code::Blocks,Borland C ,Watcom C ,Borland C Builder,GNU DJGPP C ,Lccwin32 C Compiler 3.1,High C,Turbo C,C-Free,win-tc 等等……   c语言的学习   对于一个初学者,Microsoft Visual C 是一个比较好的软件。界面友好,功能强大,调试也很方便。这是微软出的一个C语言集成开发环境(IDE),主要有:VC 6.0、VS2005、VS2008、VS2010等,分为企业版和学生版等。对于初学者VC 6.0是比较容易上手的,但由于其对标准支持的不好可能使人养成不良编程习惯,因此论坛上也有人主张舍弃VC 6.0。   在unix/linux操作系统上,学习c语言一般使用vim/emacx来编辑源文件,使用gcc/cc来编译源文件,使用make程序来管理编译过程。

C语言程序的创建有4个基本步骤:

编辑 编译 链接 执行

1、编辑

编辑过程就是创建和修改C语言程序源代码(编写的程序指令)

有些C编译器带有一个编辑器,可帮助管理程序。通常提供了编写、管理、开发与测试程序的环境

有时也称为集成开发环境(Integrated Development Environment,IDE)。

也可以用一般的文本编辑器来创建源文件,但它们必须将代码保存为纯文本,而没有嵌入附加的格式化数据。不要使用字处理器(例如微软的Word),字处理器不适合编写程序代码,因为它们在保存文本时,会附加一些格式化信息。一般来说,如果编译器系统带有编辑器,就会提供很多更便于编写及组织程序的功能。它们通常会自动编排程序文本的格式,并将重要的语言元素以高亮颜色显示,这样不仅让程序容易阅读,还容易找到单词输入错误。

2、编译

编译器可以将源代码转换成机器语言,在编译的过程中,会找出并报告错误。这个阶段的输入是在编辑期间产生的文件,常称为源文件。

编译器能找出程序中很多无效或无法识别的错误,以及结构错误,例如程序的某部分永远不会执行。编译器的输出结果称为对象代码(object code),存放它们的文件称为对象文件(object file),这些文件的扩展名在Microsoft Windows 环境中通常是.obj,在Linux/UNIX 环境中通常是.o。编译器可以在转换过程中找出几种不同类型的错误,它们大都会阻止对象文件的创建。

如果编译成功,就会生成一个文件,它与源文件同名,但扩展名是.o 或者.obj。如果在UNIX 系统下工作,在命令行上编译C 程序的标准命令是cc(若编译器是GNU’s Not UNIX(GNU),则命令为.gcc)。

编译过程包括两个阶段。第一个阶段称为预处理阶段,在此期间会修改或添加代码,第二个阶段是生成对象代码的实际编译过程。源文件可以包含预处理宏,它们用于添加或修改C 程序语句。

3、链接

链接器(linker)将源代码文件中由编译器产生的各种对象模块组合起来,再从C 语言提供的程序库中添加必要的代码模块,将它们组合成一个可执行的文件。链接器也可以检测和报告错误,例如,遗漏了程序的某个部分,或者引用了一个根本不存在的库组件。

实际上,如果程序太大,可将其拆成几个源代码文件,再用链接器连接起来。因为很难一次编写一个很大的程序,也不可能只使用一个文件。如果将它拆成多个小源文件,每个源文件提供程序的一部分功能,程序的开发就容易多了。这些源文件可以分别编译,更容易避免简单输入错误的发生。再者,整个程序可以一点一点地开发,组成程序的源文件通常会用同一个项目名称集成,这个项目名称用于引用整个程序。

程序库提供的例程可以执行非C 语言的操作,从而支持和扩展了C 语言。例如,库中包含的例程支持输入、输出、计算平方根、比较两个字符串,或读取日期和时间信息等操作。

链接阶段出现错误,意味着必须重新编辑源代码;反过来,如果链接成功,就会产生一个可执行文件,但这并不一定表示程序能正常工作。在Microsoft Windows 环境下,这个可执行文件的扩展名为.exe;在UNIX 环境下,没有扩展名,但它是一个可执行的文件类型。多数IDE 也有Build(建立)选项,它可一次完成程序的编译和链接。

4、执行

执行阶段就是当成功完成了前述3 个过程后,运行程序。但是,这个阶段可能会出现各种错误,包括输出错误及什么也不做,甚至使计算机崩溃。不管出现哪种情况,都必须返回编辑阶段,检查并修改源代码。

在这个阶段,计算机最终会精确地执行指令。在UNIX 和Linux 下,只要键入编译和链接后的文件名,即可执行程序。在大多数IDE 中,都有一个相应的菜单命令来运行或者执行已编译的程序。这个Run命令或者Execute 命令可能有自己的菜单,也可能位于Compile 菜单项下。在Windows环境中,运行程序的.exe 文件即可,这与运行其他可执行程序一样。

在任何环境及任何语言中,开发程序的编辑、编译、链接与执行这4 个步骤都是一样的。

声明:

本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。

23508fff57fea07ff277f502feed6620.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/338156.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

谷歌guava_Google Guava:您永远不会知道的5件事

谷歌guava每个开发人员可以使用哪些鲜为人知的Google Guava功能? 它是那里最受欢迎的库之一,它是开源的,您可能已经知道了,它来自人们玩Quidditch作为一项真正的运动的地方(至少在The Internship上 )。 它…

C语言strcmp函数用法

C语言strcmp函数用法strcmp函数语法为“int strcmp(char *str1,char *str2)”,其作用是比较字符串str1和str2是否相同,如果相同则返回0,如果不同,前者大于后者则返回1,否则返回-1。简单示例:char a[]"…

Linux C 服务器端这条线怎么走?

在校学生的编程语言和数据结构的基础还不错,我认为应该在《操作系统》和《计算机体系结构》这两门课上下功夫,然后才去读编程方面的 APUE、UNP 等书。下面简单谈谈我对学习这两门课的看法和建议,都是站在服务端程序员的角度,从实用…

tp3 默认模块 默认方法_您需要了解的有关默认方法的所有信息

tp3 默认模块 默认方法因此,默认方法是……昨天的新闻,对不对? 是的,但是使用了一年之后,积累了很多事实,我想将这些事实收集在一个地方,供刚开始使用它们的开发人员使用。 甚至有经验的人都可以…

存储过程 锁定并发_Java并发教程–锁定:显式锁定

存储过程 锁定并发1.简介 在许多情况下,使用隐式锁定就足够了。 有时,我们将需要更复杂的功能。 在这种情况下, java.util.concurrent.locks包为我们提供了锁定对象。 当涉及到内存同步时,这些锁的内部机制与隐式锁相同。 区别在于…

C语言 PK 各大编程语言

今天分享一篇关于C语言为何如此有魅力的文章,如果你还在学习哪门语言的路口抉择,建议可以认真看看~以下为CSDN译文:没有什么技术可以应用长达50年之久,除非它真的比大多数其他东西都要好用——对于一种计算机行业的技术来说尤其如…

在switch语句中,case后的标号只能是什么?

switch语句用于基于不同条件执行不同动作。语法格式:switch (变量表达式){case 常量1: 语句;break;case 常量2: 语句;break;case 常量3: 语句;break;...case 常量n: 语句;break;default: 语句;break;}switch语句是一个条件选择语句,找到相同的…

C语言——结构体链表,附完整示例

引用自身的结构体,一个结构体中有一个或多个成员的基类型就是本结构体类型时,说明这个结构体可以引用自己,所以称作引用自身的结构体。例如下面的结构体:struct link{ char ch; struct link *p} a;p是一个可以指向struct link类型…

jax-rs jax-ws_快速浏览JAX-RS请求与方法匹配

jax-rs jax-ws在本文中,我们来看一下JAX-RS中与资源方法匹配的HTTP请求 。 它是JAX-RS的最基本功能之一。 通常,使用JAX-RS API的开发人员不会接触(或真正不需要知道) 匹配过程的细节,请放心,由于我们的RES…

C语言知识总结——宏,枚举

1、define宏定义以#号开头的都是编译预处理指令,它们不是C语言的成分,但是C程序离不开它们,#define用来定义一个宏,程序在预处理阶段将用define定义的来内容进行了替换。因此在程序运行时,常量表中并没有用define定义的…

C语言知识总结——共用体

union 共用体(联合体)在进行某些算法的C语言编程的时候,需要使几种不同类型的变量存放到同一段内存单元中。也就是使用覆盖技术,几个变量互相覆盖。这种几个不同的变量共同占用一段内存的结构,在C语言中 以关键字union…

jboss入门_JBoss Forge NetBeans集成–入门

jboss入门JBoss Forge是构建基于Maven的Java EE项目的最快方法。 因此,它已经具有了令人敬畏的功能,使您作为开发人员的生活更加轻松。 在大多数情况下,使用Forge的人们可能会对创建Web应用程序感兴趣。 有很多方法可以开始使用Forge基础知识…

这几道 C/C 题涉及你的知识盲区?

8个C语言面试题,涉及指针、运算、函数、内存,看看你能做出几个!1.gets()函数问:请找出下面代码里的问题:#include int main(void) {char buff[10];memset(buff, 0, sizeof(buff));gets(buff); //gets不检查输入的字符…

logback redis_使用Spring Boot和Logback登录到Redis

logback redis在进行集中式日志记录时,例如使用Elasticsearch,Logstash和Kibana或Graylog2,您可以为Java应用程序提供多个选项。 您既可以编写标准的应用程序日志,也可以使用Logstash解析这些日志,这些日志既可以直接使…

C 与 C 的真正区别在哪里?

C 与 C 的真正区别在哪里?C是中餐厨师的菜刀,做啥菜就那一把刀,切菜切肉切鱼,都是这一把刀,刀工好的师傅,豆腐都能切成一朵花。无论你提什么概念,都能用指针给你做出来,如果不行&…

html 怎么置顶表格,表格(Table)表头固定,内容上滚【5个实例】

当表格往上滚动的时候,表头固定不动,这样可以让用户时刻看清每一列的数据含义,这是人性化的设计,充分考虑了用户使用体验。本文将通过5个实例,来介绍这种表格设计。用户可通过下载源码,直接应用于自己的项目…

C语言变量的定义包括变量存储类型和变量的什么?

C语言变量的定义包括变量存储类型和变量的名称。C语言定义变量的格式:“数据类型 变量名;”,“数据类型”表示想要存储什么类型的数据,“变量名”就是你想给这个变量起个什么名字,通常都是用字母。变量的定义定义变量的格式非常简…

C语言代码注释必须用/**/ , 你没看错~

事情是这样的,有人离职,公司调我补缺。那个系统一直有个工程师在维护,参与该系统的新人来了又走,他始终泰然自若。刚过去一个礼拜,我就心下窃吼:“坑爹啊!”,也彻底体会到什么叫---绝对的权威、…

html文档的基本类型,HTML(网页的文档类型介绍)

一个html文件的第一行代码通常就是用于声明网页文档类型,其格式是:这一行不是属于标签文档类型:可以理解为不同的html版本!html4.0 或4.01版本基本固定,但又有分化:严格性:了用的标签和属性相对较少,但能兼容更多的浏览器。宽松型…

C语言源代码展示:常用转换函数实现原理

编程时经常用到进制转换、字符转换。比如软件界面输入的数字字符串,如何将字符串处理成数字呢?和大家分享一下。01字符串转十六进制代码实现:void StrToHex(char *pbDest, char *pbSrc, int nLen) {char h1,h2;char s1,s2;int i;for (i0; i …