C语言可以开发哪些项目?

2018-07-20    来源:编程学习网

容器云强势上线!快速搭建集群,上万Linux镜像随意使用

C语言是我们大多数人的编程入门语言,对其也再熟悉不过了,不过很多初学者在学习的过程中难免会出现迷茫,比如:不知道C语言可以开发哪些项目,可以应用在哪些实际的开发中……,这些迷茫也导致了我们在学习的过程中不知道如何学、学什么,所以,总结这个列表,希望对C语言初学者可以有所帮助~

C语言可以做什么?

从最简单的、最熟悉的说起吧,毕竟我们在学校学习的时候,老师几乎都会让我们去开发:

一、C语言可以实现一些常见的应用

以下几个几乎是我们学习C语言到一定阶段之后必开发的一个小项目了,简单。

1、C语言制作简单计算器

项目用C语言做一个简单的计算器,进行加、减、乘、除操作。


C语言开发计算器.jpg

2、C语言实现通讯录

项目使用 C 语言完成一个简单的通讯录。会涉及到结构体、数组、链表等重要概念。

3、C语言利用epoll实现高并发聊天室

项目实现客户端和服务端编程,服务端使用epoll机制,高并发必备,支持多客户聊天室聊天;客户端使用epoll和fork,父进程与子进程通过pipe通信。


C语言实现高并发聊天室.png

4、C语言编写万年历

使用 C 语言完成一个简单的日历功能。输入相应的年/月即可看到当月的日历。

二、C语言可以开发游戏

当然C语言也可以开发一些小游戏,有趣的同时也掌握了相应的知识点。

5、C语言制作2048

使用 C 语言完成一个2048游戏。


C语言2048.png

6、C语言版flappy_bird

使用 C 语言来实现一个字符版 Flappy Bird


效果图

7、C语言版扫雷游戏

使用 C 语言完成一个简单的扫雷游戏。

8、C语言快速实现五子棋

使用C语言实现五子棋游戏。

三、 C语言可以开发的其他应用

如果你以为C语言只能开发上面介绍的小游戏以及一些耳熟能详的应用呢,那么就大错特错了,因为C语言还可以开发很多东西,如下:

9、C语言实现一个支持PHP的简易WEB服务器

用C语言实现一个简易的WEB服务器,并能支持动态解析PHP程序。主要涉及到的技术有:Linux Socket编程,HTTP协议(只实现GET请求),Fast-CGI协议。

10、C语言实现ping程序

项目用C语言实现ping命令。通过项目可以更深入地理解TCP/IP协议,掌握C语言进行网络编程的技巧方法。

11、C语言实现 Linux 网络嗅探器

项目通过原生套接字的方式,监听所有本地主机收发的数据链路层帧结构,然后解析数据包的类型,并记录到日志文件。实现一个轻量级的网络嗅探器。

12、C语言实现文件类型统计程序

通过实现一个文件类型统计程序,对Linux的文件系统有一个更加深入的了解,尤其在文件类型的判断,目录的操作上的理解会加深。

13、C 语言实现多线程排序

项目在 Linux 环境下使用 C 语言多线程模型实现了排序算法,通过该项目的学习,可以理解并实践 Linux 环境的编程基础及多线程模型。

四、用C语言实现Linux命令

最后,再介绍如何用C语言实现Linux命令,通过学习可以了解Linux操作系统。

14、C语言实现Linux touch命令

C语言实现Linux touch命令项目,学习基于LINUX环境的系统编程技术,尤其 Linux 文件 IO 操作相关技术。

15、C 语言实现Linux cp 命令

C 语言实现Linux cp 命令项目的学习,可以掌握Linux操作系统中的文件IO相关的系统函数和目录相关操作的系统函数,比如open, write, opendir, readir。深入了解Linux环境系统编程。

16、C语言实现Linux ls命令

使用C语言实现Linux ls命令,学习linux目录与文件属性。

17、C 语言实现Linux who命令

通过 C 语言实现Linux who命令 项目的学习,可以掌握 Linux 操作系统为上层提供的访问系统数据文件的接口。更好的理解 Linux 操作系统工作的原理。

最后的话:

以上17的大大小小的项目包含各个方面,可以当做是C语言新手的项目练手列表,也可以当做是看看C语言可以做什么的列表。

当然C语言可做的事情不止以上介绍的,还可以做更多你想不到的事情,这就需要熟练的掌握C语言了,需要不断的动手实践操作学习了。


文/实验楼(简书作者)
原文链接:http://www.jianshu.com/p/91d671836b1d
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

标签: linux web服务器 服务器 通信 网络

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:Java 并发学习笔记总结

下一篇:30分钟Git命令入门到放弃