C 语言:我不是针对谁,我是说在座的都是乐色

640?wx_fmt=gif

640?wx_fmt=jpeg

从上世纪七十年代开始,许多编程语言都曾受到程序员的青睐。尽管这些语言很好、很有用,但从高级语言开始学习的人在编程知识方面都有许多遗漏。比如,如果你先学了 Javascript,那么当别人告诉你某个语言可以实现类型强制转换,你会觉得不知所云。

这个例子当然无关紧要,但如果由于知识的缺口而花费大量时间去实现一些 C 语言很容易做到的事情,那这些缺口的影响就会放大十倍甚至更多。所以,虽然二十一世纪人们不愿意再学习 C 语言,但由于以下原因,学习 C 语言能让你的编程之路事半功倍。


640?wx_fmt=png

C 语言不会束缚你


C 语言本身自带的功能很少。Python 程序员可以使用哈希函数,而 C 程序员必须自己实现哈希函数,一切都得自己写,而没办法使用函数库。所以与 Python 等耗费上千行代码实现一个简单的哈希函数的语言相比,C 语言更快,且不会占用太多 CPU。C 语言不会束缚你,因此它会让你成为优秀的程序员,因为你必须完全理解你写的函数的意义,才能让它正确工作。


640?wx_fmt=png

在学习 C 语言时几乎可以学到所有的语言


C 语言非常优秀,今天许多流行的语言都是在 C 语言的基础上发展起来的。例如,Objective-C 是 iOS 开发的首选语言,它就是 C 语言的扩展。Web 后台开发者中最流行的 PHP 是用 C 语言写的。其他用 C 语言写的语言有Javascript、Go 和 Python。所以,学习怎样写 C,能让你学习其他语言易如反掌。


640?wx_fmt=png

所有现代操作系统都是用 C 语言构建的


Mac、Windows 和 Linux 都使用 C 语言开发主要的功能。这是因为 C 轻量且强大,可以用来完成各种复杂操作,如在屏幕上生成图形、加密大文件等。所以,如果你是个 Linux 爱好者并且想开发自己的发行版,那么了解 C 是必须的。


640?wx_fmt=png

C语言强迫你理解,没有“黑匣子”


如果想想正确地使用 C 语言,就必须精确地理解你想让计算机做什么。对于 C 语言程序员来说,寄存器编程是家常便饭,而其他语言使用的函数就像个黑匣子……“放点东西进去,拿点东西出来”。

C 程序员必须理解计算机硬件的体系结构,才能有效地使用 C 语言,而高级语言为你做好了一切……使得新手程序员习惯了无视一切,并把一切都想得很简单。

除了上述这些理由外,学习 C 语言的理由还有很多。绝大多数 C 程序员都能碾压那些只学过高级语言的程序员。

原文:http://1000daysofcode.com/importance-c-programming-language-2018/

作者:Christopher Sparksv

译者:弯月,责编:屠敏

推荐阅读:

640?wx_fmt=gif

640?wx_fmt=gif

展开阅读全文

说我的输出不是数字...这是为什么?

06-02

我要解四元一次方程:rnA+B+C-100/D=-1rn-10A+100B+110000C-96.0249/D=-1rn-50A+2500B+18750000C-79.9998/D=-1rn-100A+10000B+200000000C-59.6384/D=-1rn代码如下:rn Dim n As Integerrn Dim tArray(n, n + 1) As Doublern Dim m_tArray(n, n + 1) As Doublern Dim x(n) As Doublern Private Sub btnGet_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGet.Clickrn n = InputBox("输入矩阵的阶数")rn ReDim tArray(n, n + 1)rn ReDim x(n)rn tArray(1, 1) = 0rn tArray(1, 2) = 0rn tArray(1, 3) = 0rn tArray(1, 4) = -100rn tArray(1, 5) = -1rn tArray(2, 1) = -10rn tArray(2, 2) = 100rn tArray(2, 3) = 110000rn tArray(2, 4) = -96.2049rn tArray(2, 5) = -1rn tArray(3, 1) = -50rn tArray(3, 2) = 2500rn tArray(3, 3) = 18750000rn tArray(3, 4) = -79.9998rn tArray(3, 5) = -1rn tArray(4, 1) = -100rn tArray(4, 2) = 10000rn tArray(4, 3) = 200000000rn tArray(4, 4) = -59.6384rn tArray(4, 5) = -1rn calu_gsxy()rn End Subrnrn Sub calu_gsxy()rn Dim i As Integerrn Dim j As Integerrn Dim k As Integerrn Dim mid_num As Singlern ReDim m_tArray(n, n + 1)rn For i = 1 To nrn For j = 1 To n + 1rn m_tArray(i, j) = tArray(i, j)rn Next jrn Next irn For k = 1 To n - 1rn For i = k + 1 To nrn tArray(i, n + 1) = tArray(i, n + 1) - tArray(k, n + 1) * (tArray(i, k) / tArray(k, k))rn For j = k To nrn tArray(i, j) = tArray(i, j) - tArray(k, j) * (m_tArray(i, k) / tArray(k, k))rn Next jrn For j = 1 To nrn m_tArray(i, j) = tArray(i, j)rn Next jrn Next irn Next krn For i = n To 1 Step -1rn x(n) = tArray(n, n + 1) / tArray(n, n)rn For j = i + 1 To nrn mid_num = tArray(i, j) * x(j)rn Next jrn x(i) = (tArray(i, n + 1) - mid_num) / tArray(i, i)rn mid_num = 0rn Next irn For i = n To 1 Step -1rn x(n) = tArray(n, n + 1) / tArray(n, n)rn For j = i + 1 To nrn mid_num = tArray(i, j) * x(j)rn Next jrn x(i) = (tArray(i, n + 1) - mid_num) / tArray(i, i)rn mid_num = 0rn Next irn For i = 1 To nrn MessageBox.Show("x" & i & "=" & x(i))rn Next irn End Subrnrn请问我应该如何改正呢?谢谢 论坛

没有更多推荐了,返回首页