C语言有什么优点什么缺点?有什么特别之处

 我来答
互联网前世今生

2022-06-30 · 科技领域创作者
个人认证用户
互联网前世今生
采纳数:314 获赞数:348

向TA提问 私信TA
展开全部

c语言的优点就是它的性能极佳,其它编程语言几乎没有它的性能,因此它被用为linux操作系统设计语言。

c语言的缺点是太灵活,没有垃圾回收,代码不好编写。

c语言特别之处就是它的指针和结构体,这两个东西的存在让c语言变得异常强大,很多复杂的业务设计,都可以通过它们两个来实现,也可以说,只有掌握了指针和结构体,你才算入门c语言。

大沈他次苹0B
2015-12-21 · TA获得超过7327个赞
知道大有可为答主
回答量:3059
采纳率:100%
帮助的人:178万
展开全部
  • 优点

  1、简洁紧凑、灵活方便

  C语言一共只有40个关键字,9种控制语句,程序书写形式自由,区分大小写。把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。

  2、运算符丰富

  C语言的运算符包含的范围很广泛,共有34种运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C语言的运算类型极其丰富,表达式类型多样化。灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。

  3、数据类型丰富

  C语言的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据结构的运算。并引入了指针概念,使程序效率更高。

  4、表达方式灵活实用

  C语言提供多种运算符和表达式值的方法,对问题的表达可通过多种途径获得,其程序设计更主动、灵活。它语法限制不太严格,程序设计自由度大,如对整型量与字符型数据及逻辑型数据可以通用等。

  5、允许直接访问物理地址,对硬件进行操作

  由于C语言允许直接访问物理地址,可以直接对硬件进行操作,因此它既具有高级语言的功能,又具有低级语言的许多功能,能够像汇编语言一样对位(bit)、字节和地址进行操作,而这三者是计算机最基本的工作单元,可用来写系统软件。

  6、生成目标代码质量高,程序执行效率高

  C语言描述问题比汇编语言迅速,工作量小、可读性好,易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编程序生成的目标代码效率低10%~20%。

  7、可移植性好

  C语言在不同机器上的C编译程序,86%的代码是公共的,所以C语言的编译程序便于移植。在一个环境上用C语言编写的程序,不改动或稍加改动,就可移植到另一个完全不同的环境中运行。

  8、表达力强

  C语言有丰富的数据结构和运算符。包含了各种数据结构,如整型、数组类型、指针类型和联合类型等,用来实现各种数据结构的运算。C语言的运算符有34种,范围很宽,灵活使用各种运算符可以实现难度极大的运算。

  C语言能直接访问硬件的物理地址,能进行位(bit)操作。兼有高级语言和低级语言的许多优点。

  它既可用来编写系统软件,又可用来开发应用软件,已成为一种通用程序设计语言。

  另外C语言具有强大的图形功能,支持多种显示器和驱动器。且计算功能、逻辑判断功能强大。

  •  缺点

  1. C语言的缺点主要表现在数据的封装性上,这一点使得C在数据的安全性上有很大缺陷,这也是C和C++的一大区别。

  2. C语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组下标越界不作检查等。从应用的角度,C语言比其他高级语言较难掌握。也就是说,对用C语言的人,要求对程序设计更熟练一些。

  3.   C语言的简洁性与其丰富的运算符相结合,使其可能会编写出极难理解的代码。

  4.  C语言表达方面的自由会增加风险。尤其是C语言对指针的使用。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
梓偃诼49
2013-08-27 · TA获得超过195个赞
知道答主
回答量:151
采纳率:97%
帮助的人:56.3万
展开全部
优点  1. 简洁紧凑、灵活方便  C语言一共只有32个关键字,9种控制语句,程序书写形式自由,主要用小写字母表示。它把高级语言的基本结构和语句与低级语言的实用性结合起来。 C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。  2. 运算符丰富  C语言的运算符包含的范围很广泛,共有34种运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C语言的运算类型极其丰富,表达式类型多样化。灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。  3. 数据结构丰富  C语言的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据结构的运算。并引入了指针概念,使程序效率更高。另外C语言具有强大的图形功能,支持多种显示器和驱动器。且计算功能、逻辑判断功能强大。  4. C是结构式语言  结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。  5. C语法限制不太严格,程序设计自由度大  虽然C语言也是强类型语言,但它的语法比较灵活,允许程序编写者有较大的自由度。  6. C语言允许直接访问物理地址,可以直接对硬件进行操作  由于C语言允许直接访问物理地址,可以直接对硬件进行操作,因此它既具有高级语言的功能,又具有低级语言的许多功能,能够像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元,可用来写系统软件。  7. 生成目标代码质量高,程序执行效率高  一般只比汇编程序生成的目标代码效率低10へ20%。  8. C语言适用范围大,可移植性好  C语言有一个突出的优点就是适合于多种操作系统,如DOS、UNIX;也适用于多种机型。C语言具有强大的绘图能力,可移植性好,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画,它也是数值计算的高级语言。
缺点  1. C语言的缺点主要表现在数据的封装性上,这一点使得C在数据的安全性上有很大缺陷,这也是C和C++的一大区别。  2. C语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组下标越界不作检查等。从应用的角度,C语言比其他高级语言较难掌握。  [C语言指针]  指针是C语言的一大特色,可以说是C语言优于其它高级语言的一个重要原因。就是因为它有指针,可以直接进行靠近硬件的操作,但是C的指针操作也给它带来了很多不安全的因素。C++在这方面做了很好的改进,在保留了指针操作的同时又增强了安全性。Java取消了指针操作,提高了安全性,适合初学者使用。
特别的地方:C是贴近硬件的语言,所以很高效,所以是操作系统编写的不二选择,很多语言的核心都是C写的,所以,你可以不学C语言,但是C语言无处不在。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式