Learning C language without project practice? Thank you for taking these 20 small projects


C language is the most people’s programming language, but many beginners in the process of learning will inevitably appear some confusion, for example: do not know what C language can develop, which projects can be applied in the actual development

Today, we collected 20 C language practice projects, provided detailed teaching documents and source code, hoping to help C language beginners ~

1. Implement simple calculator with C language

This course uses C language to make a simple calculator, to add, subtract, multiply and divide. All the mathematical knowledge involved in this program is very simple, but the input process will increase the complexity. C language is very basic things (input and output), after learning to write a complete C language program. It is suitable for basic syntax, input and output of C language. Suitable for beginners to learn.

Click to start learning

2. Realizing 2048 game with C language

2048 is a very popular puzzle game before. This course will use C language to complete a 2048 game. It is suitable for students who have a certain foundation of C language and want to do project practice. After learning this course, they will understand the C language and the practicality of ncurses. This course is suitable for students who have C language foundation and hope to improve their hands-on ability, and be familiar with the operation process of modules and mainstream processes.

Click to start learning

3. Fast implementation of Gobang in C language

This course uses the simplest code to realize the Gobang game. It helps you review the basic knowledge, learn how to design and implement a Gobang game, and consolidate your basic knowledge. It involves the basic logic judgment, program design and writing of C language. This course is relatively simple, without complex syntax and logic, suitable for users with C foundation. Exploring and discovering C language together can do some interesting things.

Click to start learning

4. Using C language to realize flappy bird game

Flappy bird is a very popular small game before, and there are many derivative versions later. This course will use C language to achieve a character version of the flappy bird, feel different style. After learning this course, you will be familiar with C language and the use of ncurses. This course is suitable for students who have C language foundation and want to do hands-on project. It can effectively learn the use of ncurses drawing library and do some interesting things.

Click to start learning

5. C language realizes its own programming language

In this experiment, you will learn to write your own programming language while learning C language, a simple LISP with about 1000 lines of code. Through the study of this experiment, you can improve your programming ability. This course is translated from the famous build your own LISP course.

Click to start learning

6. C language realizes typing practice software

In this course, we will make a variety of keyboard typing practice software. The programs written in this experiment are relatively simple, but they can deepen your understanding of computer applications.

Click to start learning

7. C language realizes high concurrency chat room

This course realizes the programming of client and server. The server uses epoll mechanism and high concurrency to support multi client chat. The client uses epoll and fork, and the parent process and child process communicate through pipe. Learning this course can be a good introduction to Linux server programming, learning this course can also be used to build chat rooms in LAN. This course Linux server programming introductory course is suitable for students who have C language foundation and Linux foundation and are interested in server-side programming.

Click to start learning

8. C language realizes ping command

This course takes you to learn how to use C language to implement ping command. Through this project, you can have a deeper understanding of TCP / IP protocol, socket programming, and master the skills and methods of network programming in C language. This course involves C foundation, Linux network programming bottom more, suitable for students who have a certain foundation, want to understand network programming, and socket principle.

Click to start learning

9. Implementation of Snake game with C language

In this course, we will use C language programming on Linux platform to play snake on the terminal interface. This course is divided into three experiments, experiment 1 introduces the image library, experiment 2 draws the game image interface, and Experiment 3 realizes snake eating. Gradually explain the process of making a game for the students.

Click to start learning

10. C language realizes FTP server

Through the “C language to achieve ftp server” project learning, we can more in-depth understanding of socket programming model, and understand how the application layer protocol (FTP) is defined on the basis of socket. This project supports list and getFTP server for commands such as quit.

Click to start learning

11. Address book realized by C language

This course will use C language to complete a simple address book. Will involve structure, array, linked list and other important concepts. Therefore, you need to have a certain understanding of C language.

Click to start learning

12. Simple chat room realized by C language

This project uses C language to realize chat room software in Linux environment, and learn and practice basic Linux socket communication technology, deepen the understanding of TCP / IP protocol stack.

Click to start learning

13. Ffmpeg combined with SDL to write player

This course will learn how to decode video data with ffmpeg in C + + and play the decoded video data. Through this experiment, we learn the basic usage of ffmpeg and SDL.

Click to start learning

14. Implementation of Linux network sniffer with C language

This course uses native socket to listen to the data link layer frame structure sent and received by all local hosts, and then analyzes the type of data packet and records it to the log file. Implement a lightweight network sniffer.

Click to start learning

15. C language using OpenGL to realize rotating earth model

As long as you know C language, you can use OpenGL library and FreeImage to display a dynamic earth model in Linux system with texture. You can control the movement through W, s, a, D buttons, and zoom in and out by mouse wheel. After learning, deepen the understanding of C language and learn to use OpenGL library. This course is suitable for students who have C language foundation and are interested in OpenGL drawing. After learning, they can deepen their understanding.

Click to start learning

16. Implementation of large number calculator with C language

This course will use C language to realize a simple calculator, which is used to solve the addition, subtraction, multiplication and division of any length signed integer. It mainly involves the use of a new data structure to represent large numbers, and the new data structure to store large numbers into characters for display. And based on the new data structure of large number, the calculation algorithm of addition, subtraction, multiplication and division is designed.

Click to start learning

17. C language realizes file type statistics

Through the implementation of a file type statistics program, the Linux file system has a more in-depth understanding, especially in the judgment of file type, the understanding of directory operation will be deepened.

Click to start learning

18. C language GTK to realize video player

This course will use C language to make a simple video player based on GTK + libvlc. It can temporarily and stop playing video by clicking the button, display the progress of video playback step by step, and play in full screen. This course is suitable for students who have C language foundation and are interested in GTK graphic programming. You can refer to the introduction of this course and see the API documents to continue to improve.

Click to start learning

19. C language for image information hiding

Through the implementation of LSB information hiding algorithm in C language, this paper demonstrates and explains the basis and principle of image information hiding technology, and leads beginners to understand the field of information hiding technology.

Click to start learning

20. Implementation of Linux common commands with C language

Through the implementation of Linux common commands, this course understands the operation principle of Linux common commands, and learns the knowledge of Linux file system, file I / O and permission management, and is familiar with the system call interface of Linux system; at the same time, it studies the use of some C language library to improve the C language programming ability in Linux environment.

Click to start learning

Recommended Today

Construction of Vue development environment and project creation under mac

start First of all, let’s take a look at the overall development environment of Vue. Homebrew: package manager under MAC system, similar to apt get under Linux, windows control panel – install and remove program Node.jsJavaScript runtime, which is similar to simultaneous interpretation in international conferences, can’t run various programming languages directly between different systems […]