【问题标题】:What are some practical projects to consider in trying to learn C?在尝试学习 C 时需要考虑哪些实际项目?
【发布时间】:2023-03-16 11:27:01
【问题描述】:

我在 SO 上看到了很多关于我为什么要学习 C 的问题和答案。我知道它的水平很低,它会让我了解在那个水平上事情是如何运作的,它会让我更好的程序员。我知道一些可以帮助我学习 C 的好书。

我觉得我不知道的是一些可以帮助我学习如何使用语言的实际项目。我正在阅读的书中有很多示例,它们对于增强有关语言本身的知识绝对有用。但我不觉得我对“现实生活”中的例子有任何洞察力,说明我可以用 C 做什么。

我的背景:我是一名刚毕业的大学毕业生,正在使用 C# 进行应用程序编程。我喜欢用 C 做编程练习——但我只是觉得它们是练习。我显然知道我不会马上成为专家并开始做令人惊奇的事情。我只是想要一些我可以做的事情的想法来帮助我变得更好,但这感觉不仅仅是锻炼。 (我想澄清一下,我不反对做这些类型的任务来帮助我学习语言。我只是觉得如果我在做一些看起来更实际的事情,我会对学习感到更加兴奋。)

如果这“不是一个真正的问题”,我真的很抱歉,而且我知道关于学习 C 的问题无处不在。我不想重复。我对我应该学习这门语言的想法很满意,我只是希望能够对如何开始应用这些知识有一些真正的想法。

另见

【问题讨论】:

    标签: c


    【解决方案1】:

    这里有一些想法供您尝试:

    1. 在您的音乐目录中存储一个包含每个文件的哈希值的文件,并报告更改。
    2. 在尽可能短的时间内解决数独问题。
    3. 使用 TCP 将文件发送到另一台计算机。 (同时编写服务器和客户端)。
    4. 通过 UDP 广播公共文件列表(在文本文件中配置),然后接受 TCP 连接以下载它们的程序。
    5. 命令行 POP3 客户端。
    6. 编写内存分配器,并挂接到malloc

    祝贺您决定学习 C。它是地球上最强大的语言,将为您打下编程基础。

    【讨论】:

      【解决方案2】:

      学习 C 的方法是尝试任何操作系统书籍中符合 POSIX 标准的示例。

      【讨论】:

        【解决方案3】:

        我的七步指南,以找到明智的代码:)

        1. 找到你喜欢或喜欢的东西(最好是 IT 相关的)
        2. 发现问题或改进方法,否则转到第 1 步
        3. 将问题分成逻辑部分,这些部分将代表功能和结构,如果可以帮助您将问题可视化,请使用一张纸(这是我有时会做的)
        4. 制定您的攻击计划,即:您将如何实施您在第 3 步中提出的方案
        5. 编码、学习、测试、学习、调试、学习、改进、学习以及编码和了解更多信息
        6. 完成,但不是真的,这是您回顾自己所做的事情,惊叹于它的所有荣耀,并从所有错误和问题中吸取教训的时候。看看你喜欢哪些部分,你讨厌哪些部分以及你仍然可以从中学到更多东西。
        7. 转到第 1 步,使用从第 6 步(以及沿途的所有其他步骤)获得的知识

        如果您无事可做,并且想从商业角度提高工作效率,请看看您是否可以与在日常工作中使用计算机/IT 系统/等的人交谈,看看他们会发生什么,以及尝试开发可以提高他们的生产力和/或他们可以轻松地执行任务的想法,谁知道呢,您最终可能会获得一些额外的知识和一些额外的现金

        【讨论】:

          【解决方案4】:

          看看你在现实生活中喜欢做什么,并尝试在应用程序中使用它们。例如,如果您喜欢游戏,请尝试制作游戏,或者如果您需要想法,请重新制作经典。如果您喜欢会计,请尝试制作具有适当界面的会计应用程序。如果您对这个想法不感兴趣,那么您可能会在一段时间后感到厌倦并将其丢弃。

          顺便说一句,我认为你的道路很好,我喜欢你迄今为止所做的决定。

          【讨论】:

          • 一边学习C,一边制作界面可能不是最简单的方法。除非你使用 SDL 之类的东西,否则即使是 gtk 也可能很难启动
          【解决方案5】:

          为 C 的子集编写编译器。

          【讨论】:

            【解决方案6】:

            有一些人工智能竞赛既实用又有趣。这些将帮助您学习语言,鼓励您理解任何示例代码、基本调试和常见算法的实现。

            最重要的是它很有趣,所以它会让你有动力继续学习。

            例如几个月前,我很喜欢 Google AI 挑战:http://csclub.uwaterloo.ca/contest/

            祝你好运,享受:)

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2011-06-21
              • 1970-01-01
              • 1970-01-01
              • 2012-12-31
              • 2016-05-13
              • 2010-09-27
              • 1970-01-01
              相关资源
              最近更新 更多