C语言的长处和缺点

C语言的长处:

1.面向过程的语言
C语言是面向过程的语言,在这里用户创建过程或函数来运行他们的任务。

面向过程的语言是非常easy学。因为它遵循的算法来运行你的语句。要使用面向过程的语言开发程序,你须要画/编写算法,然后開始转换成程序或功能。

2.拥有很多库
C语言中提供了大量的函数当中包含系统生成的函数和用户定义的函数。

C编译器自带的头文件,当中包含可用于开发程序的很多基本功能列表。

同一时候。程序猿还能够创建功能。按他们的要求被称为用户生成/定义的函数。
3.编译速度
C编译器产生的机器代码非常快相比其它语言的编译器。 C编译器能够在两秒编译约1000行代码。 C编译器的还有一个长处是,它还优化了代码更快的运行速度
4.易学(语法是接近英语)
C语言的语法是非常easy理解的。它使用keyword就像if, else, goto, switch, goto, main等。

这类关键词,我们都在我们的日常生活使用的是传达意义或得到一些决定。
5.可移植
C语言的设置是大约3-5 MB。

所以,你能够随身携带在你的软盘驱动器或随身碟这样的语言。它非常易于安装和操作。又其输出是能够在不论什么一台电脑,没有不论什么其它的框架/软件运行的exe文件。
C是高度可移植的语言。这意味着。对于一台计算机编写的C程序能够在还有一台计算机上轻松地运行而没有不论什么变化或做一个小的变化。

6.C语言为更多眼下已知的语言构建模块。

C语言具有各种各样的数据类型和强大的操作符。

因为这个原因,用C语言编敲代码是高效。高速和易于理解。
7.仅仅有32 ANSI Ckeyword和它的长度依赖于它的的内置函数。
有几个标准的函数可用于开发程序。

8.C的还有一个重要优势是它能够扩展自己。
一个C程序基本上是那些由C库支持的功能集合。这让我们更easy对我们自己函数加入到C库中。
因为大量功能的可用性,编程任务变得简单。
9.C语言是一种结构化程序设计语言。
这使得用户能够想到一个问题中的功能模块或块的条款。

这些模块的集合能够编写一个完整的程序。这样的模块化结构。使程序调试。測试和维护变得更加easy。

C语言的缺点:

1.面向对象编程功能(OOPs)
面向对象编程的特点是C语言缺少的,你仅仅能使用面向过程的语言来开发程序。C没有的OOPs概念。这就是为什么C ++被开发。
2.运行时类型检查是不可用
在C语言没有规定运行时类型检查。比方我传递浮点值。而接收參数为整数类型那么值将会被改变。它不会给不论什么类型的错误信息。

3.命名空间功能
C不提供的命名空间功能。让你是不能够在一个范围内再次使用同样的变量名。假设命名空间功能可用的话。那么你能够能够反复使用同样的变量名。
4.构造函数和析构函数不可用:
C不提供面向对象的特性,因此它不具有构造和析构功能。构造函数和析构函数用于构造对象和销毁对象。

因此,在C语言中,你必须通过方法或者以其它方式来手动实现变量的析构和构造。

參考文档:

1. http://latest-technology-guide.blogspot.jp/2012/12/c-language-advantages-and-disadvantages.html

2. http://www.thecrazyprogrammer.com/2013/07/what-are-advantages-and-disadvantages.html

C语言的长处和缺点的更多相关文章

  1. xmpp即时通讯协议的特性---长处和缺点!

    xmpp协议的定义? XMPP是一种基于标准通用标记语言的子集XML的协议,它继承了在XML环境中灵活的发展性. 因此.基于XMPP的应用具有超强的可扩展性.经过扩展以后的XMPP能够通过发送扩展的信 ...

  2. 怎样学好C语言,一个成功人士的心得!

    今天,我能够自称是一个混IT的人,并能以此谋生,将来大家能一次谋生,都要感谢两个人:克劳德.香农和约翰.冯.诺依曼,是他们发现了全部的数字化信息,不论是一段程序,一封email,一部电影都是用一连串的 ...

  3. 浅析怎样学好C语言

    今天,我能够自称是一个混IT的人,并能以此谋生,将来大家能一次谋生.都要感谢两个人:克劳德.香农和约翰.冯.诺依曼,是他们发现了全部的数字化信息,不论是一段程序,一封email.一部电影都是用一连串的 ...

  4. windows官方多语言方案

    编写 Win32 多语言用户界面应用程序 Windows 2000 针对全球市场制定了新的增强支持标准,提供了许多国际化功能,例如完全支持 Unicode.预设支持数百种语言以及用于从右向左语言的镜像 ...

  5. 再见,Python!你好,Go语言

    Go 语言诞生于谷歌,由计算机领域的三位宗师级大牛 Rob Pike.Ken Thompson 和 Robert Griesemer 写成.由于出身名门,Go 在诞生之初就吸引了大批开发者的关注.诞生 ...

  6. 一步步分析:C语言如何面向对象编程

    这是道哥的第009篇原创 一.前言 在嵌入式开发中,C/C++语言是使用最普及的,在C++11版本之前,它们的语法是比较相似的,只不过C++提供了面向对象的编程方式. 虽然C++语言是从C语言发展而来 ...

  7. 当红开发语言Go,真的是未来的技术主流吗?

    摘要:文将详细介绍 Golang 的语言特点以及它的优缺点和适用场景,带着上述几个疑问,为读者分析 Go 语言的各个方面,以帮助初入 IT 行业的程序员以及对 Go 感兴趣的开发者进一步了解这个热门语 ...

  8. 零基础学习C语言入门必备知识

    今天跟大家一起从零学C语言: 1. C语言简介 1.1 C语言发展史 C语言是一种广泛使用的面向过程的计算机程序设计语言,既适合于系统程序设计,又适合于应用程序设计.C语言的发展历程大致如图1-1所示 ...

  9. 开源点评:Protocol Buffers介绍

    今天来介绍一下“Protocol Buffers”(下面简称protobuf)这个玩意儿.本来俺在构思“生产者/消费者模式 ”系列的下一个帖子:关于生产者和消费者之间的传输数据格式.因为里面扯到了pr ...

随机推荐

  1. 给统计人讲Python(1)_科学计算库-Numpy

    本地代码是.ipynb格式的转换到博客上很麻烦,这里展示部分代码,了解更多可以查看我的git-hub:https://github.com/Yangami/Python-for-Statisticia ...

  2. 27. Remove Element[E]移除元素

    题目 Given an array nums and a value val, remove all instances of that value in-place and return the n ...

  3. 大数据学习之路------借助HDP SANDBOX开始学习

    一开始... 一开始知道大数据这个概念的时候,只是感觉很高大上,引起了我的兴趣.当时也不知道,这个东西是做什么的,有什么用,当然现在看来也是很模糊的样子,但是的确比一开始强了不少. 所以学习的过程可能 ...

  4. 初学struts2杂乱笔记

    1.在web.xml文件里定义struts2里的一个过滤类org.apache.struts2.dispatcher.FilterDispatcher 2.在src目录下创建struts.xml文件, ...

  5. lua迭代

    迭代 function enum(array) local index = 1 return function() --返回迭代函数 local ret = array[index] index = ...

  6. 数据结构——栈的实现(数组、Java)

    巩固数据结构 栈是一种有限制的线性表 只能对表尾进行操作 package com.shine.test.datastruct; import java.util.Arrays; public clas ...

  7. vim 常用操作笔记

    跳转最后一行 :$ 或 shift+g 跳转第一行 :1 或 gg 设置自动换行 :set wrap 设置不自动换行 :set nowrap

  8. ios高效开发二--ARC跟block那点事

    block是可以捕捉上下文的特殊代码块. block可以访问定义在block外的变量,当在block中使用时,它就会为其在作用域内的每个标量变量创建一个副本. 如果通过self拥有一个block,然后 ...

  9. WEBGL学习【一】初识WEBGL

    <html lang="zh-CN"> <head> <title>NeHe's WebGL</title> <meta ch ...

  10. vue router 配置默认页/404页面

    *号通配404默认页面