C语言的长处和缺点
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语言的长处和缺点的更多相关文章
- xmpp即时通讯协议的特性---长处和缺点!
xmpp协议的定义? XMPP是一种基于标准通用标记语言的子集XML的协议,它继承了在XML环境中灵活的发展性. 因此.基于XMPP的应用具有超强的可扩展性.经过扩展以后的XMPP能够通过发送扩展的信 ...
- 怎样学好C语言,一个成功人士的心得!
今天,我能够自称是一个混IT的人,并能以此谋生,将来大家能一次谋生,都要感谢两个人:克劳德.香农和约翰.冯.诺依曼,是他们发现了全部的数字化信息,不论是一段程序,一封email,一部电影都是用一连串的 ...
- 浅析怎样学好C语言
今天,我能够自称是一个混IT的人,并能以此谋生,将来大家能一次谋生.都要感谢两个人:克劳德.香农和约翰.冯.诺依曼,是他们发现了全部的数字化信息,不论是一段程序,一封email.一部电影都是用一连串的 ...
- windows官方多语言方案
编写 Win32 多语言用户界面应用程序 Windows 2000 针对全球市场制定了新的增强支持标准,提供了许多国际化功能,例如完全支持 Unicode.预设支持数百种语言以及用于从右向左语言的镜像 ...
- 再见,Python!你好,Go语言
Go 语言诞生于谷歌,由计算机领域的三位宗师级大牛 Rob Pike.Ken Thompson 和 Robert Griesemer 写成.由于出身名门,Go 在诞生之初就吸引了大批开发者的关注.诞生 ...
- 一步步分析:C语言如何面向对象编程
这是道哥的第009篇原创 一.前言 在嵌入式开发中,C/C++语言是使用最普及的,在C++11版本之前,它们的语法是比较相似的,只不过C++提供了面向对象的编程方式. 虽然C++语言是从C语言发展而来 ...
- 当红开发语言Go,真的是未来的技术主流吗?
摘要:文将详细介绍 Golang 的语言特点以及它的优缺点和适用场景,带着上述几个疑问,为读者分析 Go 语言的各个方面,以帮助初入 IT 行业的程序员以及对 Go 感兴趣的开发者进一步了解这个热门语 ...
- 零基础学习C语言入门必备知识
今天跟大家一起从零学C语言: 1. C语言简介 1.1 C语言发展史 C语言是一种广泛使用的面向过程的计算机程序设计语言,既适合于系统程序设计,又适合于应用程序设计.C语言的发展历程大致如图1-1所示 ...
- 开源点评:Protocol Buffers介绍
今天来介绍一下“Protocol Buffers”(下面简称protobuf)这个玩意儿.本来俺在构思“生产者/消费者模式 ”系列的下一个帖子:关于生产者和消费者之间的传输数据格式.因为里面扯到了pr ...
随机推荐
- LeetCode Weekly Contest 27
1. 557. Reverse Words in a String III 分割字符串,翻转. class Solution { public: string reverseWords(string ...
- 大数字运算——2、BigDecimal
package com.wh.BigInteger; import java.math.BigDecimal; import java.util.Arrays; /** * @author 王恒 * ...
- 试图ddms 如果丢失adv链接解决办法!
点击如下图菜单 重启链接adv即可显示.
- Svn install and use
1.安装服务 使用yum安装subversion,简单.不繁琐. 1 yum install -y subversion 2.创建版本库 1 2 mkidr /svn/obj ...
- vue-router 原理解析
“更新视图但不重新请求页面”是前端路由原理的核心之一,
- let,const,var三者之间的区别
在ES6中新增了两种定义变量的命令let和const,在这之前相信大家都对var定义变量很熟悉,那么在了解ES6方法前, 1.我们先来回顾一下var定义变量的方法. 下面来看这段代码: for (va ...
- c# 异步任务队列(可选是否使用单线程执行任务,以及自动取消任务)
使用demo,(.net framework 4.0 自行添加async wait 扩展库) class Program { static void Main(string[] args) { Con ...
- Angular CLI 启动 版本ng 4
npm install -g angular-cli ng -v ng new project_name cd project_name ng serve 浏览器打开输入 localhost:4200
- FAQ: SBS 2011. The Windows SBS Manager service terminated unexpectedly
Symptoms The Windows SBS Manager service is stopped with EventID 7034 every half an hour on SBS 2011 ...
- CV与IP:基础,经典以及最近发展
原文链接:http://blog.csdn.net/dcraw/article/details/7617891 原文编写层层递进,逻辑清晰: 不过看这篇转载可以少点击鼠标:http://blog.cs ...