好的学校类型的项目或作业(再学习C)?

好的学校类型的项目或作业(再学习C)?,c,project,variable-assignment,C,Project,Variable Assignment,为了学习(或重新学习)C,有哪些好的项目可以做?理想情况下,类似于大学课堂作业的作业。在线提供的实际任务/项目规范的链接是理想的 注意:它们不一定是专门来自C类或类似类的作业。这是一种可以很好地在低水平上实现的东西。同时学习其他有趣的东西是额外的收获 如果这个问题已经有人问过了,请给我指出。我尝试过的搜索词(课堂、作业…!)对我的搜索没有帮助,你可以想象。你知道如何编写哪种类型的应用程序?一个选择可能是抓取一本像Charles Petzold的编程窗口这样的书,通读并使用示例代码 (更新)Mir

为了学习(或重新学习)C,有哪些好的项目可以做?理想情况下,类似于大学课堂作业的作业。在线提供的实际任务/项目规范的链接是理想的

注意:它们不一定是专门来自C类或类似类的作业。这是一种可以很好地在低水平上实现的东西。同时学习其他有趣的东西是额外的收获


如果这个问题已经有人问过了,请给我指出。我尝试过的搜索词(课堂、作业…!)对我的搜索没有帮助,你可以想象。

你知道如何编写哪种类型的应用程序?一个选择可能是抓取一本像Charles Petzold的编程窗口这样的书,通读并使用示例代码


(更新)Miro Samek写了一本面向嵌入式开发的书,“C/C++中的实用UML状态图”。我真的很喜欢这本书的早期版本,你可能想看看。

我建议实现最常用的数据结构和算法,如链表、树、排序、搜索等。它们同时又短又有见地。如果您了解基础知识,请学习先进的数据结构和算法。

一些大型程序的想法。你说的类似于课堂作业,所以它们很有教育意义,但不是很有用:-)

  • 创建一个简单的shell,可用于启动其他程序。实现管道(“|”)、后台执行(“&”)、顺序执行(“&”)、条件执行(&&”和“||”)。您将了解操作系统环境、进程创建以及进程之间的通信

  • 实现一些RFC定义的协议,如。这将向您学习网络编程,并学习如何阅读和理解RFC

  • 实现多线程web服务器或ftp服务器。这将学习你的网络编程,处理文件和多线程

在所有情况下,从速度和内存使用的角度考虑性能。选择最佳的数据结构和算法。这就是运行C的要点。完成后,将您的解决方案与相同的开源变体进行比较。你会学到很多。
另外,在valgrind中运行程序以检查内存错误。

如果您对数学感兴趣,请查看以下问题: 这是答案。这门课程被称为“计算机架构”,但实际上是一门机器级编程课程。我们为将来更改了标题。这门课是必修课中的第三门,学生们发现它很有挑战性。

这是我去年春天上的一门课的一些内容。他们非常有帮助,是对c的一个很好的介绍。如果您转到该页面顶部的schedule链接,它将包含所有的课堂笔记,其中包括许多代码示例

分配包括字符串数据类型、符号表、堆管理器和Unix Shell

  • 访问你母校的CS网站(或者选择一个像样的技术学校网站)
  • 查找使用C的类的课程页
  • 做作业

  • 我的大部分经验都是在Java/Python中枯燥的CRUD类型web应用程序中。但我目前在一家嵌入式软件公司工作,希望有一天能横向调动一下。这可能对你没有吸引力,但我想我还是会放弃它。我用数独解算器学习新的语言。还有我的“捉迷藏”游戏。这个游戏可以对抗它自己(另一个过程)。嗯,Win32开发对于嵌入式开发来说是非常不同的,所以我的建议就不那么好了。处理固定内存限制之类的问题与Win32世界不同。也就是说,你可以练习C。既然你在评论中提到你在一家嵌入式软件公司工作,那么看看他们的头文件或(更好的)内部文档,看看他们有什么“助手”/“库式”代码。任何C开发人员都应该能够为您指明正确的方向。找一个自制的字符串库,或者网络堆栈,或者任何看起来有趣的东西。看看API,试着实现一些或所有函数。然后与实际实现进行比较。这可能是完全不同的,因为它解决了特定的硬件,但这毕竟只是一个练习。。。