日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

学会了 C 语言真的可以开发出很多东西吗?

發布時間:2023/12/14 编程问答 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 学会了 C 语言真的可以开发出很多东西吗? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

學習了一學期的C語言,最后發現還是在黑框框終端寫東西,只是簡單的寫一些輸入,輸出,感覺索然無味。

C語言怎么系統化的高效學習?

那么為什么大家會困在這里,這里說個主要的原因,就是,你沒有使用界面庫。

沒有界面庫,就沒有更豐富的操作性,以及顯示。而C語言的界面庫有嗎?有的。

VS 下面的 MFC 開發,以及 Linux 下面的 GTK+ ,還有 CodeBlocks 下面的 EGE庫,DOS下也是可以圖形化開發,比如 eCGUI ,這些都是我們在學習C語言的時候,會忽略的一個環節。

這個環節是邁向真正有商業價值,方便操作的一步,也是你最終認可C,能夠做出華麗的界面的關鍵。

那么,在畫面之下,我想說說更為重要的一個東西,就是抽象能力,很多人開發,想不明白這點,所以一直迷迷糊糊。

不管哪種語言,其實都分為兩個部分,一個是業務邏輯,一個是顯示。當然有些是沒有顯示,也就是我們看到的一個運算器這類。

有些是有顯示,但是很粗糙,就像我們的終端界面。

一個桌面應用,一般由業務邏輯,以及對應的界面展示組成。這個典型的框架就是MVC。

M = Model

V?= View

C =?Control

簡單理解就是,我們使用 C ,作用在 M 上,最終在 V 上讓用戶直觀的看到變化。

那么,去掉界面顯示這個環節,就是核心的兩點,M 和 C,那么 M 代表什么:數據模型,其實就是數據結構。C 代表控制,也就是操作,其實就可以算是算法了。

比如這個游戲:該由哪幾部分組成呢?

我們這里簡單拆解下:

元素分幾類:

1 磚頭,磚頭也分能否頂,是否有蘑菇,道具產生

2 主角瑪麗,大小,是否能發子彈,這個是主要控制的,由遙控器指定方向和跳躍

3?背景,山,草,都是不做障礙,只是顯示而已,云朵也是

4?下水管道,障礙,是否可以向下穿

5 地面,判斷瑪麗是否能夠掉下去的關鍵因素,實際中只需要判斷瑪麗的豎向坐標(Y),比如小于0,就代表跑出畫面,意味著從空隙掉下去了。

簡單把元素歸類,剩下的就是地圖的生成,展開,以及里面的怪物的移動,獎勵機制,時間的倒計時,這些不斷地填充進來,完成所謂的游戲開發。

所有的游戲,都是這個框架,一個主要的推動器,要么是主動的,超級瑪麗就是,要么是被動的,像雷電,兩種的區別就是,是否需要自己主動的向前進。

一般而言,大家停留在的只是課本上的東西,那個太過簡單,也沒有太復雜的業務,沒有熟悉界面開發,所以顯得C語言沒啥用。

但是,C語言真正的靈魂是,讓你打牢基礎,將底層的硬件理解得更加透徹,顯存位置,中斷位置,直接繪制,都是在底層操作的。

做過嵌入式開發的,都應該用過GUI,雖然比較丑,用的點陣,但也是經常使用的,比如這種:

我們現在使用的GUI,有非常炫酷的效果,特效,使用OpenGL ,或者Vulcan ,渲染引擎,快速的做出高質量的畫面。

但萬變不離其宗。C語言是靈魂,當你把C語言吃透,至少打通了一個關鍵環節,就是?與硬件的連接,上層的界面庫,以及應用,都會信手拈來,對于所謂的Java python 都是輕松搞定,學習效率大增。

計算機的世界,是現實的映射,如果你不會描述,不會抽象,那么會陷入在不能創造的這個困境,遇見新的事物,不會表征它,描述它,這是計入計算機時間的最大障礙。

描述一只鳥,描述一個汽車,描述一個人,一個保齡球,用結構來描述它,完成了這個步驟,剩下的就是如何變化,靜態的數據,需要動態的算法驅動,才能形成程序。

這里給一些代碼:

C語言寫的 超級瑪麗

https://github.wuyanzheshui.workers.dev/jubalh/raymario

下來最后我們再來說下,為什么用C現在開發界面不怎么流行?主要是大眾的接受度,以及技術的成熟度。

之前在匯編,機器語言開發的時候,C叫做高級語言,現在Java Python 這類語言的出現,同時加上當前很多場合不需要太高性能。C語言現在在嵌入式還是主力,因為實時性非常關鍵。

所以,一般而言,市場大量的開發,是C#,Java ,Python的這類上層開發,但是真正要交互,用到底層硬件的,還是C,這個勢必可避免的,比如路由器,比如驅動開發,只是這類的需求,就如同創造出五顏六色一樣,剩下的就是交給大家去創造,搭建不同的工具,界面。

C語言完成非常關鍵的一個環節,底層抽象,上層可以高效開發。

說透了就非常簡單,每個語言都是能夠快速上手,適應項目的。因為主要就掌握幾點,如何用,有哪些用法,剩下的就是如何描述需求,實現,有哪些封裝庫,高效開發。

比如你現在去寫Java語言,字符串拼接,過濾,替換,以及正則表達,網絡請求都是用的封裝庫。

而C的因為它依賴平臺,硬件,所以它不通用,是一套零散的接口,但是功能大同小異,所以沒有所謂的標準API,不過Linux 下是有C的標準庫,可以去使用,實際開發,各個平臺的叫法不一,寫法不一,這或許就是C最靈活的地方,也是你一直摸不透的原因。

最后匯總一下,C語言可以開發出很多東西,只是你沒有注意,大多時候它沒有界面,變成了其他語言的支撐。地基。

如果說哪門語言學會,計算機就算是進階了,那么只會是C,只能是C。

--end--

今天分享一些整理的書單,關于C語言的,看這些書就足夠學懂C語言了。關于操作系統相關內容,我們后續再來分享。

獲取方式, 后臺回復 我要學C語言? ,領取鏈接。

C語言練習項目源碼:

獲取方式, 后臺回復 我要學C語言? ,領取鏈接。

抖音項目,全集100T內容,各類玩法,拍攝技巧,網絡整理搜集!

計算機書籍一網打盡

熱門文章

零基礎新手自學Python編程教程入門精通學習資料網站大全

自學編程C語言不迷路,我私藏的書單分享給你!

零基礎新手學習算法Leetcode刷題指南

程序員碼農IT工程師自學編程計算機入門進階學習網站大全

程序員面試題寶典以及相關書籍下載!

計算機類常用電子書整理大全

職場老鳥,互聯網十年從業生涯,分享 [Java,Python,安卓,AI,爬蟲] 技術文章,學習資料, 熱點趣聞等。關注回復?1024?Python?電子書大全?面試資料,給你一份私藏的程序員好禮,永遠更新中!趕緊來關注哦!

我的微信 code_gg_boy 。

總結

以上是生活随笔為你收集整理的学会了 C 语言真的可以开发出很多东西吗?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。