0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

C语言的优点和的缺点

C语言编程学习基地 来源:未知 作者:李倩 2018-10-22 14:28 次阅读

C语言现在已经很成熟,它的各种语法规则、思想都已经确立起来了,并对现在的很多语言产生很大的影响。但是任何事物都有其优点和缺点,C语言也不例外。下面我们分别来看一下。

C语言的优点

C语言的优点有三个:

代码量小。

运行速度快。

功能强大。

我们先看第一个优点,C语言的代码量很小,这是什么意思呢?也就是说如果你要完成同样一个功能,用C语言编写出来的程序的容量是很小的,而用其他语言编写容量就会比较大。比如 Microsoft Word 和 WPS,它们同样都是办公软件,功能也差不多,但 WPS 的安装文件只有 50MB 左右,而 Microsoft Word 的安装文件超过 500MB,有的甚至接近 1GB。原因就是 WPS 的内核是用C语言编写的。

C语言的第二和第三个优点是它的运行速度比较快和功能强大,我们可以通过一个例子来解释。世界上总共有三大操作系统:UNIX 操作系统是用纯C语言编写的;Windows 操作系统的内核也是用C语言编写的;Linux 操作系统仍是用纯C语言编写的。这三大操作系统的内核全部都是用C语言编写的。为什么用C编写,因为C语言的速度最快。计算机中所有的软件都是在操作系统上运行的,如果操作系统的速度很慢,那么在它基础上运行的软件的速度就更慢了。而且计算机中的所有硬件都是由操作系统控制的。

举个简单的例子,你可以新建一个 Word 文档,这就意味着在硬盘上产生了这个文件。但是你并没有直接控制硬盘,我们是通过操作系统提供的“右键单击”等功能来新建文件的。也就是说,操作系统给我们提供了一个界面,或者说是给我们提供了一种可操作的手段,通过这个手段我们可以删除文件、新建文件、打开文件或者修改文件。

所以操作系统很重要,所有的硬件全部都是由操作系统控制的。而这么重要的东西只能用C语言来写,所以C语言很重要。为什么只能用C语言写?第一,C语言速度够快;第二,C语言可以访问硬件,所以它够强大。为什么不能用 Java 写?首先,Java 太慢了;其次,Java 语言没有指针。没有指针就不能访问硬件,所以它的功能是不够的。指针是什么稍后会讲,它是C语言中非常重要的内容。

C语言的缺点

任何语言有优点就有缺点。C语言的缺点可以用下面

三点来概括:

危险性高。

开发周期长。

可移植性不强。

我们先看第一点。假如你写同样一个程序,在 Java 里面会报错,而在C语言里面是不会报错的。为什么?因为C语言设计的思想是:你想怎么写程序就怎么写,只要你的这种写法错得不是很离谱,就认为你这么写有特殊的含义,可以通过。但 Java 不行:只要你这么写有歧义,或者说这样写不太好,那么它都会报错。比如C语言中你可以将一个浮点型数据赋给一个整型变量,编译时只会警告,因为会丢失精度,但是在 Java 中这样写就会报错,它在语法上就禁止你这样写。所以不同的语言对同样一个问题有不同的处理方式。

大家想想这样导致的结果是什么?因为有歧义的程序也可以通过,这样就会有很多漏洞,黑客往往会抓住这些漏洞进行攻击。所以说C语言比较危险。这也是为什么C语言比较难学的原因,因为你学完之后编写一个程序很可能就是错的,但又很难发现。所以前面说 C++ 从安全性上对C语言进行了升级。

第二个是它的开发周期比较长。因为C语言是面向过程的语言,面向过程语言的一个特点就是写大项目的时候很容易“崩溃”。当代码上到 10 万行的时候很容易崩溃,会出现各种各样莫名其妙的错误。这时候就需要用另外一种思想将整个程序的框架重新设计一下,即用面向对象的思想设计。这也是C语言现在没有 Java 流行的原因。

C语言的第三个缺点是可移植性不强。这个主要是针对 Java 的。Java 的可移植性太强了,所以就显得C语言的可移植性不强。什么叫可移植性?就是说 Java 程序在哪个机器上都可以运行,而且结果一模一样。而C语言就不行,C程序在其他机器上不一定能运行。而且就算能运行,结果可能也不一样。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 操作系统
    +关注

    关注

    37

    文章

    6274

    浏览量

    121861
  • C语言
    +关注

    关注

    180

    文章

    7527

    浏览量

    128176

原文标题:5分钟看透C语言的优点和缺点

文章出处:【微信号:cyuyanxuexi,微信公众号:C语言编程学习基地】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    请问C语言和汇编语言在单片机应用上各有什么优点

    C语言和汇编语言在单片机应用上各有什么优点
    发表于 03-29 00:42

    什么是C语言

    可以编写系统软件。C语言的特点:优点1.C语言是一种结构化语言,它有着清晰的层次,可按照模块的方
    发表于 01-07 16:24

    51单片机的优点缺点是什么?有哪些应用范围?

    51单片机的优点缺点是什么?有哪些应用范围?MSP430单片机的优点缺点是什么?有哪些应用范围?STM32单片机的优点
    发表于 07-08 07:33

    介绍一下C语言优点

    最早的时候c语言广泛应用于UNIX系统。由于C语言的强大功能和各方面的优点逐渐为人们认识,到了八十年代,
    发表于 07-14 06:34

    C语言和汇编语言在开发单片机时各有哪些优缺点

    01、C语言和汇编语言在开发单片机时各有哪些优缺点?汇编语言是一种用文字助记符来表示机器指令的符号语言
    发表于 07-14 06:49

    C语言和汇编语言在开发单片机时各有哪些优缺点

    语言。其优点是可读性好,移植容易,是普遍使用的一种计算机语言缺点是占用资源较多,执行效率没有汇编高。 对嵌入式,C
    发表于 09-09 09:22

    C语言和汇编语言在开发单片机时各有哪些优缺点?

    汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言
    发表于 09-19 15:45

    C语言和汇编语言的优缺点是什么?

    什么是c语言?什么是汇编语言C语言和汇编语言的优缺点
    发表于 10-14 08:48

    C语言有哪些优点

    C语言有哪些优点
    发表于 10-18 09:38

    C语言和汇编语言在开发单片机时各有哪些优缺点?

    C语言和汇编语言在开发单片机时各有哪些优缺点?C或汇编语言可以用于单片机,
    发表于 10-19 07:51

    汇编语言是什么?有何优缺点

    语言。其优点是可读性好,移植容易,是普遍使用的一种计算机语言缺点是占用资源较多,执行效率没有汇编高。对嵌入式,C
    发表于 01-07 07:49

    C语言和汇编语言在开发单片机时各有哪些优缺点

    01、C语言和汇编语言在开发单片机时各有哪些优缺点?C语言是一种结构化的高级
    发表于 02-11 06:54

    请问C语言和汇编语言在开发单片机时各有哪些优缺点

    C语言和汇编语言在开发单片机时各有哪些优缺点
    发表于 10-26 07:47

    请问C语言和汇编语言在开发单片机时各有哪些优缺点

    C语言和汇编语言在开发单片机时各有哪些优缺点
    发表于 10-30 06:32

    JAVA语言缺点

    本视频主要详细介绍了JAVA语言缺点,首先介绍了JAVA语言优点,分别有简单、面向对象、分布式、健壮的、安全的等,其次介绍了JAVA语言
    的头像 发表于 12-26 16:10 1.5w次阅读