你好, 欢迎回来｡
在这堂课中, 我想讨论
其中一些特定特征与c编程语言有关｡
所以我们知道c的所有优点｡
我谈到了那种令人作呕的东西｡
我们知道c产生紧致和非紧致｡ 高效的程序｡ 这是语言的一个特点, 这很重要｡
这是我一生中 并且将继续如此｡
我们知道这一切｡
所以我才再次强调, 想重申一下｡
但主要特点
c语言的优点在于它们高效､ 可移植､ 功能强大 灵活且面向程序员｡
我们将讨论这些 更详细地了解这意味着什么｡
但这些都很重要 C.
我们需要重新理解它们, 以便理解如何用这种语言编写代码｡
那么效率 和便携性意味着什么？
c语言是一种高效的语言｡
它充分利用了 当前计算机的功能｡
它非常紧凑 用C语言编写的程序｡
它们速度快, 结构紧凑｡
我之前讲过映射 将c语句转换为某种语言的指令是非常有效的｡
这是一个 为什么会这么快｡
其中一个抱怨 过去的java曾经是, 哎,
java真的很慢｡
好吧, 你对c没有这个问题｡
当您在 C, 它运行速度快, 非常紧凑｡
这是一种语言特征｡
这就是效率｡
程序员可以微调
让他们更有效率 它是如此低水平｡
他们可以使用更多 有效地使用存储器｡
你不能在java中做这样的事情｡
Java有自己的垃圾收集器 你也不能操纵内存来提高效率｡
所以c是一种高效的语言｡ 而且它是一种可移植的语言｡
所以我简单地谈了一下 但这一点很重要,
因为
如果你在一个操作系统上写一个c程序, 可以在另一个操作系统上运行它, 而无需对其进行修改｡
写作时的问题之一 在当今世界中,
代码有时候是无法工作的, 除非 您可以用多种语言编写或对它进行大量修改｡
例如, 如果你写 安卓手机的安卓应用程序
在iOS手机上工作｡
你没有那些 c.问题类型
你写c, 它会在 各种不同的硬件,
各种不同的操作系统｡
事实上, c是 可移植性､
这种能力和编译器都很容易获得｡
您可以在 Windows, Linux, 没问题｡
Linux/Unix系统通常 所以你甚至不需要下载它
Linux/Unix与Macintosh相同｡
这样您就可以开始编写c++程序了｡ 立即, 没有外部下载｡
他们也可以 显然是Windows的｡
但通常对于Windows, 必须下载一个编译器｡
我们要做的就是 我们下载所需的软件｡
所以很有可能 你可以得到一个适用于你所使用的任何设备的c编译器｡
您还可以获得一个c编译器｡
对于安卓设备或iOS设备, ､ 或小型计算机以及处理器和汽车｡
它也非常灵活, 非常重要, 而且非常强大｡
所以Unix Linux内核是用c编写的｡
什么是内核？
我们知道Unix和Linux 是一个操作系统｡
我们知道一个操作系统 将帮助您更高效地—用户更高效地—使用
计算机, 它控制了很多方面的互动
用硬件等等｡
内核是大脑 操作系统的一部分｡
所以就像CPU是一个
计算机, 内核是真正所有的大脑和知识 操作系统go,
因此它通常包含硬件接口 和管理内存的内核, 它做各种不同的事情｡
这些都是用C语言编写的｡
这样就能告诉你 语言强大的一面｡
如果操作系统的内核 系统是用这种语言编写, 这种语言是强大
这么多编译器和解释器 因为其他语言是在c上构建的或者已经用C编写｡
所以如果这还不能告诉你 语言的强大本质, 我不知道什么会｡
但是Fortran､ Perl､ Python, 任何
用那些类型的语言编写的编译器是用C编写的｡
所以c程序已经被用于
解决物理学和工程学问题甚至是动画 电影特效, 广泛用于许多不同的事情｡
灵活性也很重要, 特别是当您是一名开发人员并编写这些代码时｡
你希望能够 不同的方式｡
您希望能够解决 在很多方面都是一个问题｡
灵活性通常越高越好｡
然而, 这是一个权衡 灵活性和性能之间的平衡｡
所以有时候很容易记住 但c语言的设计初衷是
柔韧且非常柔韧｡
所以你可以 你在c程序中想要的一切｡
你可以写出所有不同的 应用程序类型｡
你也可以管理内存 并做许多其他语言限制您做的不同事情｡
这是一种权衡,
因为 有时候这种灵活性会导致更多的bug, 因为某些概念可能更复杂｡
但最终, 灵活性是
这是一件好事, 尤其是如果您是一个了解 这门语言很好｡
这也是更多 诸如C++的高级语言在前面提到过｡
用于开发移动的 以目标-C的形式的应用程序｡
Objective-c是一个专有的 语言｡
基本上, 它是带有对象的c 就像c++一样, 但他们决定写自己的语言｡
但它在iOS中使用较少, 因为Swift更受欢迎, 但也很容易
学习是因为它紧凑｡
这是理想的第一语言 如果你想成为一名程序员, 就必须学习｡
我想我已经给了 理由很充分｡
你将获得
对实际应用开发有足够的了解 非常快速和容易｡
所以这就是为什么 好的第一个学习｡
这就是你要做的 我在这门课上注意到,
哇, 现在我学会了, 哇,
这就容易多了 学java, 学php容易多了, 学起来容易多了
因为它拥有那些语言 我有, 而且很容易学｡
它是面向程序员的｡
那是语言功能｡
它满足了 程序员｡
我告诉过你丹尼斯里奇
当他创造语言的时候, 他想让它更适合开发人员 他做到了｡
他实现了这个目标｡
它让您可以直接访问 硬件, 使您能够直接访问内存并管理您自己的内存｡
所以灵活性 当它是面向程序员的时候｡
在java中, 你不能做很多这样的事情 比如管理自己的记忆｡
C还具有许多其他功能 这允许灵活性｡
我认为这种灵活性 更多地面向程序员, 因为程序员喜欢这样｡
他们喜欢这种灵活性, 我不想听别人指挥.
它包含大量选择 运算子的,
让您可以简洁地表达自己｡
这意味着我们不知道 操作员是什么｡
但是一个操作员可以将事物
如加减数学运算符或赋值 运算符将数据分配到存储器｡
你的操作员越多 允许您在代码中更好地表达自己｡
所以一个语言特征 更面向程序员的是下面的操作符列表, 我们将
更详细地讨论｡
它没有大多数语言那么严格 限制你能做的事情已经讨论过了｡
我提到了 灵活性与严格性｡
这是一个优势, 因为您可以 用很多不同的方式做事｡
但是, 这可能是一个危险
因为它更容易让程序员出错, 尤其是 用指针之类的东西｡
因此, 您可以管理您的 c中的内存非常灵活,
但有时也非常复杂｡
因此, 许多程序员 在程序中引入错误｡
现在java不允许 你管理你的记忆｡
但它也不太灵活 而且还减少了程序中的错误｡
所以这是一个权衡｡
基本上, 您需要 灵活性,
同时降低复杂性｡
C给你更多的自由, 但是 也让开发人员承担了更多的责任,
为什么它是面向编程的｡
C实现具有很大的 有用的c函数库｡
这样你就不用写所有的东西 如果你想做什么｡
编程语言通常 包含该语言附带的其他程序功能｡
比如说你想读 用户的输入,
你不想写低级的c代码来做这件事｡
c语言中的代码 已经为你做了,
你只是重复使用代码｡
通常是封装在 在一个叫图书馆的地方
所以c有各种库
用于从键盘读取数据､ 将数据写入文件 用不同的过程和威胁来创造各种各样的美好事物｡
我是说各种各样的好东西｡
所以事实上
实现随语言一起提供, 您不必
实际上您自己实现它, 您只需学习如何使用 该库是非常有利的并且非常面向程序员｡
c的其他一些特性是 提供通常由较低级别提供的低级别特征 语言,
我们讨论过这个
但是, 最好例子是内存 管理､ 直接访问内存｡
程序可以 使用比特进行操作｡
如果这还不算低的话 我不知道是什么｡
它是管理内存的能力 在比特级表示｡
位和字节是我们 实际上是在计算机上存储数据, 提供了各种
位操作运算符｡
再说一遍, 语言中的某些东西 我们会更详细地讨论｡
指针在c中起着很大的作用｡
这是一个概念, 你可以
你可能没听说过, 但是 涉及存储器管理｡
我们会有很多 关于指针的讲座｡
但它是一个非常非常重要的特征 你应该在很高的层次上熟悉它｡
C管理内存, c指针｡ 通常,
当您想到c编程语言时, 首先 您所想到是指针
而这一切都是直接的 访问存储器｡
c､ 我们谈过的缺点 关于灵活性权衡, 灵活性与自由｡
它还要求承担更多的责任｡
有些人认为这是一种缺点, 一些人认为指针被滥用了｡
因此, 许多 人们编写了糟糕的c程序｡
是啊如果你给予别人 一个工具, 你做了一些事情,
他们做错了, 谁的错？
这是一种, 再次, 你想
限制该工具, 因为它被滥用了, 还是您希望允许 该工具允许灵活性｡
所以你可以更灵活一些
它就有可能犯更多的错误, 而且很多时候这些错误 很难找到和追踪尤其是当它们是记忆材料的时候｡
所以这可能是个问题｡
其他事物因其财富 运算符的复杂性及其简洁性, 这使得语言很难
有时候阅读和跟随｡
在大多数情况下, c是 非常容易阅读｡
但如果你用了很多 不同的运算符, 这会使它变得更加复杂｡
所以有机会写 但任何语言都可能写得很糟糕｡
所以你可以用英语 你说话的时候会有不好的语法｡
当你写的时候也一样- 使用编程语言｡
但也有人说用c它的缺点 因为所有这些操作符｡
如果使用不当, 可能更难遵循代码｡
总结一下｡
这是一个很好的例子 我在网上找到了一些我想提供给你们的信息｡
c语言的核心特性： 快速高效, 可移植, 有很多不错的库,
我可以重用代码,
而不必自己动手, 模块化, 我们已经讨论过了
但是这是围绕函数组织代码的思想, 易于扩展, 然后所有 这些强大的运算符可以让你做一些事情｡
所以有很多不错的功能｡
大多数功能 我们刚刚谈到的在许多现代语言中是因为
它们是由C构成的｡