C 語言時隔 5 年重回巔峯,這 20 個熱門項目拿去練手! - 知乎

在上個月的 TIOBE 編程語言排名中,C 語言和 Java 的差距只有 0.01%。在近日 TIOBE 公佈的 2020 年 5 月編程語言排行榜中,C 語言成功超越了 Java,重返第一的王者寶座!linux

編程語言 5 月排名(TIOBE )


距離上一次 C 語言佔據第一仍是 2015 年……是什麼緣由讓這門 「年近 50」 的老大哥,時隔 5 年重回王者呢?
算法

你可能也猜到了:由於新冠病毒。編程

TIOBE 的 CEO —— Paul Jansen 猜想,每一個人都試圖攻破新冠病毒,這形成了嵌入式開發語言(例如 C 和 C++)又流行了起來,由於它們被普遍地應用在醫療設備和軟件中。在 C 與 JAVA 以外,Python 和 R 語言的表現也至關的亮眼。api

在 5 月份,Python 超越了 C++ 成功奪得了第三的寶座,擁有 9.12% 份額的 Python 達到了 TIOBE 指數的歷史新高。數組

對此,TIOBE 官方作了一個大膽的預測,即若是 Python 能夠依舊保持着這樣的增加速度,那麼可在將來 3 到 4 年內成功取代 C、Java,從而成爲世界上最流行的編程語言。服務器

2002-2020 編程語言排名變化



值得一提的是,Rust 在一個月內,從 27 名日新月異到了 21 名的位置,這可能和央行數字貨幣和 Libra 的新聞有關。

網絡

TIOBE 原文:https://www.tiobe.com/tiobe-index/數據結構

20 個 C 語言項目推薦:

若是你尚未 C 語言基礎,能夠從這門課程學起:

C 語言簡明課程

併發

課程從 C 語言的歷史和基礎開始講解,引入大量的 C 語言程序案例,經過引導你們由淺入深地編寫 C 程序。app

若是你已經有了 C 語言基礎,能夠用下面的 20 個項目鞏固基礎,增長項目經驗:

1. C 語言實現簡單計算器

本課程用 C 語言作一個簡單的計算器,進行加、減、乘、除操做。本程序涉及的全部數學知識都很簡單,但輸入過程會增長複雜性。都是 C 語言很基礎的東西(輸入輸出),學了以後能寫出一個完整的 C 語言程序。適合涉及 C 語言的基本語法,與輸入與輸出。適合初學者學習。

https://www.shiyanlou.com/courses/75


2. C 語言實現 2048 遊戲

2048 是以前十分火爆的一款益智遊戲。本次課程將使用 C 語言完成一個 2048 遊戲。適合對 C 語言有必定基礎,想作項目練手的同窗,本課程學習後將會了解 C 語言,以及繪圖庫 ncurses 的實用。本課程適合有 C 語言基礎,但願在動手能力上獲得提高的同窗,熟悉模塊與主流程的運行流程。

https://www.shiyanlou.com/courses/155


3. C 語言快速實現五子棋

本課程用最簡單的代碼來實現五子棋遊戲,幫助你們複習基礎知識,學習瞭如何設計並實現一個五子棋遊戲,鞏固你們的基礎知識。涉及到 C 語言的基礎邏輯判斷,程序設計與編寫。本課程比較簡單,沒有複雜的語法和邏輯,適合具備 C 基礎的用戶,一塊兒探索和發現 C 語言能夠作一些有趣的事情。

https://www.shiyanlou.com/courses/313


4. C 語言實現 Flappy Bird 遊戲

Flappy Bird 是以前十分熱門的小遊戲,後來出現多個衍生版本。本節課程將使用 C 語言來實現一個字符版 Flappy Bird,感覺不同的風采。本課程學習後將會熟悉 C 語言,以及繪圖庫 ncurses 的使用。本課程適合有 C 語言基礎,想作練手項目的同窗,能夠有效的學習 ncurses 繪圖庫的使用,作一些有趣的事情。

https://www.shiyanlou.com/courses/146


5. C 語言實現本身的編程語言

本實驗中你將在學習 C 語言的同時學會編寫你本身的編程語言,一個 1000 行左右代碼的簡單 Lisp ,經過本實驗的學習,提升本身的編程能力。本課程翻譯製做自著名的 BuildYourOwnLisp 教程。

https://www.shiyanlou.com/courses/670


6. C 語言實現打字練習軟件

在本課程中,咱們將會製做各類各樣的鍵盤打字練習軟件,本實驗所編寫的程序都比較簡單,但它們能加深你對計算機應用程序的理解。

https://www.shiyanlou.com/courses/1105


7. C 語言實現高併發聊天室

本課程實現客戶端和服務端編程,服務端使用 epoll 機制,高併發實現,支持多客戶聊天室聊天;客戶端使用 epoll 和 fork,父進程與子進程經過 pipe 通訊。學習本課程能夠很好的入門 linux 服務端編程,學習本課程也可用於在局域網搭建聊天室。本課程 linux 服務端編程入門課程,適合有 C 語言基礎和 linux 基礎,對於服務端編程有興趣的同窗。

https://www.shiyanlou.com/courses/315


8. C 語言實現 Ping 命令

本課程帶領你學習用 C 語言實現 ping 命令。經過本項目中你能夠更深刻地理解 TCP/IP 協議,套接字編程,掌握 C 語言進行網絡編程的技巧方法。本課程涉及 C 基礎,Linux 網絡編程底層比較多,適合有必定基礎,想了解網絡編程,以及套接字原理的同窗學習。

https://www.shiyanlou.com/courses/305


9. C 語言實現貪吃蛇遊戲

本課程咱們將在 Linux 平臺使用 C 語言編程,在終端界面上玩貪吃蛇。本課程分爲三個實驗,實驗一介紹了圖像庫,實驗二繪製遊戲圖像界面,實驗三實現貪吃蛇。逐步爲同窗們講解一個遊戲的製做過程。

https://www.shiyanlou.com/courses/46


10. C 語言實現 FTP 服務器

經過 《C 語言實現 FTP 服務器》 項目學習,能夠更加深刻的理解套接字編程模型,而且瞭解應用層協議(FTP)如何在套接字基礎上定義。本項目實現了支持 list,get <filename>,quit 等命令的 FTP 服務器。

https://www.shiyanlou.com/courses/628


11. C 語言實現通信錄

本次課程將使用 C 語言完成一個簡單的通信錄。會涉及到結構體、數組、鏈表等重要概念。所以,您須要對 C 語言有必定的瞭解。

https://www.shiyanlou.com/courses/125


12. C 語言實現簡單聊天室

本項目在 Linux 環境下使用 C 語言實現聊天室軟件,學習並實踐基本的 Linux socket 通訊的相關技術,加深對 TCP/IP 協議棧的理解。

https://www.shiyanlou.com/courses/602


13. ffmpeg 結合 SDL 編寫播放器

本課程將學習 C++ 利用 ffmpeg 解碼視頻數據,將解碼後的視頻數據播放出來。經過本實驗學習 ffmpeg 和 SDL 基本的用法。

https://www.shiyanlou.com/courses/682


14. C 語言實現 Linux 網絡嗅探器

本課程經過原生套接字的方式,監聽全部本地主機收發的數據鏈路層幀結構,而後解析數據包的類型,並記錄到日誌文件。實現一個輕量級的網絡嗅探器。

https://www.shiyanlou.com/courses/613


15.C 語言利用 OpenGL 實現旋轉地球模型

只要你懂 c 語言,就能夠本身利用 OpenGL 庫和 freeimage,用紋理在 Linux 系統顯示的一個動態地球模型,本身一直在轉動中,且可經過 w,s,a,d 按鍵控制移動,鼠標滾輪控制放大和縮小。學習後加深對 C 語言的理解和學會使用 OpenGL 庫。本課程適合有 C 語言基礎,對於 OpenGL 繪製有興趣的同窗,學習後能夠加深理解。

https://www.shiyanlou.com/courses/143


16. C 語言實現大數計算器

本課程將經過 C 語言實現一個簡易計算器,用於解決任意長度的有符號整數的加、減、乘、除運算。主要將涉及到利用全新的數據結構來表示大數,並將新數據結構存儲的大數轉化爲字符用於顯示。以及基於大數新的數據結構完成加、減、乘、除的計算算法設計。

https://www.shiyanlou.com/courses/750


17. C 語言實現文件類型統計

經過實現一個文件類型統計程序,對 Linux 的文件系統有一個更加深刻的瞭解,尤爲在文件類型的判斷,目錄的操做上的理解會加深。

https://www.shiyanlou.com/courses/582


18. C 語言 GTK 實現視頻播放器

本課程將使用 C 語言親手製做基於 GTK + Libvlc 實現的簡易視頻播放器,支持點擊按鈕暫定和中止播放視頻,同步步顯示視頻播放進度,全屏播放等功能。本課程適合具備 C 語言基礎,對於 GTK 圖形編程方面感興趣的同窗,能夠參照本課程入門,看 api 文檔繼續提升。

https://www.shiyanlou.com/courses/69


19.C 語言實現圖像信息隱藏

經過 C 語言實現 LSB 信息隱藏算法來演示並講解圖像信息隱藏技術的基礎與原理,帶領初學者瞭解信息隱藏技術領域。

https://www.shiyanlou.com/courses/451


20. C 語言實現 Linux 經常使用命令

本課程經過實現 Linux 經常使用命令,瞭解 Linux 經常使用命令的運行原理,從中學習 Linux 文件系統、文件 I/O 和權限管理等知識,並熟悉 Linux 系統相關的系統調用接口;同時學習部分 C 語言庫的使用,提升 Linux 環境下 C 語言編程能力。

https://www.shiyanlou.com/courses/1616

相關文章
相關標籤/搜索