前段時間,我分享了關于C語言的一些必備知識點,感興趣的朋友可以查看我的往期文章,或是關注公眾號c語言進階之路,查看次條文章,或搜索關鍵字“編程小白基礎必備”,就能查看相關文章了,
C語言的知識點講完了,這里還做一下整理與總結,大家可以查看一下目錄回憶一下知識點,如果都沒有問題,你就可以進入下一個階段了,

分享順序如下:
C語言發展史
基本資料型別
常量與變數
運算式
運算子
順序結構
回圈結構
陣列
函式
指標
結構體
檔案
如果大家看到以上知識點概括,對之前所學的知識還有一點模糊,可以查看我的往期文章哦~
題外話
這里很多新手學習會遇到的一些問題,希望可以解決你的疑惑,
有什么好的C語言書籍推薦嗎?
這個也可以看看往期文章,其實書籍這一塊已經發過很多推薦了,固定不變的還是那幾本書,這里就不重復說了,
學知識是在看到不懂語法怎么辦,
你要明白一件事情,你學的新知識,如果實在弄不明白為什么,那就記住他,不要浪費過多的時間在這個上邊,因為這些知識經歷了數十載的洗禮都沒有被推翻,說明他有存在的價值,只不過現在你的知識儲備還不夠你理解他而已,比如我遇到過有人不明白賦值和全等的區別,有自己的想法,其實這就和英語的固定搭配是一樣的,你不用去想它為什么這樣,定義就是這樣,記住它就好了,
不管是現實世界還是計算機世界,現有的所有知識都是人為定義出來的,然后經過大家的推敲覺得這個事情是正確的,然后就會被廣泛使用,如果有一天你發現了現實世界某個知識定義的有問題,那么你也可以提出來,在學術界的審判之后,如果覺得你是正確的,那么,你就會被載入史冊,并且你提出的事情也會被大家廣泛使用,
然后這里針對上面概括的知識點說一下:
1. 基礎知識
所謂的基礎知識,就是我們之后學習C語言、甚至進入編程行業所必須具備的一些前提知識,
你不了解一些計算機的知識、你電腦上不裝編譯器(編譯器就是敲代碼的地方),那你還是不要學了,浪費時間,因為編程是在實際撰寫代碼中成長的,而不是看書成長的,
所以,需要多少基礎知識呢?
其實剛開始不是很多,都是一些常識的內容,十八九歲接觸過電腦的同學都應該有所了解的知識而已,
首先,為什么學習C語言,
C語言是IT行業人必會的一門語言,C語言可以不用,但是不能不會,當然它的優勢可以在文章中找到,

其次,計算機的組成器件,
都要學編程了,不能連最基本的計算機組成都不知道吧,
最后,編譯器的安裝,
不僅僅是C語言要裝編譯器,只要你接觸編程,不管學什么語言,第一步就是裝編譯器輸出 “Hello World!”,
2. 順序程式設計
順序程式設計,說白了就是寫代碼的程序,與人做一件事情的流程很像,人處理一件事情基本都是從前往后做的,代碼也是一樣,寫在前邊的代碼會被先執行到,后邊的代碼就會被晚一點執行到,
人做事情順序有誤就會鬧笑話;程式執行的順序有問題,就會出現我們常說的一個詞——Bug,
了解程式應該在哪里撰寫,
絕大部分編程語言撰寫的時候,都會有一個指定的程式開始的位置 “main”,也就是編譯器執行代碼的時候會到 main 中尋找代碼來執行,所以我們要把我們的代碼寫在這個里邊,
C程式運行需要的一些前提,
前一問說了,代碼要寫在 main 里邊,那么main要放在哪里呢?
了解撰寫程式的思路,
也就是說撰寫代碼其實跟人做一件事情是一樣的,只不過我們寫代碼的目的是讓程式幫我們回圈往復的做同一件事情而已,
3. 資料型別
現實世界中有整數、小數、分數、復數等等資料型別;這些資料型別之所以會存在,不是憑空產生的,是一些很偉大的數學家定義出來的,之所以可以被全世界用這么久并且將會一直用下去,是因為他符合人的認知并且切合實際,
編程界也可以看作是一個小世界,那么這個小世界也應該存在著一些資料型別,只不程序式中的資料型別的主體不是人,而是計算機了,由于計算機的存盤方式以及存盤長度的限制,C語言就會定義一些盡可能切合實際的、大家認可的資料型別來供C語言撰寫程式程序中使用,這就是資料型別產生的原因,
4. 標準輸入輸出
經過上邊的學習你應該會知道任何資料在計算機中的存放形式都是二進制的0/1串,那么當我們想要輸出一個文字的時候,總不能把這些0/1串直接輸出吧,這個時候就是格式化的作用了,它可以根據用戶選擇的格式化方式將0/1串轉化為用戶想要的資料形式,
5. 進制轉換
現實世界中使用的是十進制,計算機使用是二進制,于是就要學習十進制與二進制之間的轉換,
在現實世界中,如果想要描述一個很大的數,我們知道用大一點的單位來描述,計算機也是一樣,如果直接用二進制描述一個資料有點繁瑣,所以就會產生一些較大的單位,比如:八進制,十六進制,
舉一個栗子:現實世界中10000用萬做單位可以描述為10萬,計算機中二進制的資料 00110001 使用十六進制表示就是 31,確實簡潔許多,
6. 選擇結構
選擇結構就是從眾多資料中選擇出符合需求的資料來進行下一步操作,
舉一個栗子:從整個班級的成績單中選擇出 數學成績>60分的同學,這個程序就是選擇結構需要做的事情,
7. 回圈結構
日常生活中有很多事情都是重復,再重復,在程式撰寫中也是這個樣子,有一些代碼或許會被重復執行成千上萬遍,這個時候就可以用回圈結構去代替一些重復執行的代碼,只需要保留一份代碼,然后令這份代碼回圈執行多次即可,
嵌套回圈:就是在回圈結構里邊再放回圈,
三個回圈的差異以及特性:要知道for回圈可以指定回圈的次數;while回圈次數不確定;do...while會先回圈一次在進入判斷條件,
回圈的中斷:回圈有兩種結束方式,第一種是 回圈次數或者回圈條件 不滿足了,就停止回圈了;還有一種就是強制回圈的停止,
強制停止有兩種方式:break與continue,
8.陣列
隨著深入的學習你會發現資料越來越多,有的資料格式相同、并且表達的含義相同,如果可以將這些資料存放在一起統一命名,就會很方便,于是陣列的概念就產生了,
陣列就是一組資料的集合,并且這個資料集合是有順序的,集合中的所有資料的資料型別都是相同的,
9. 函式
隨著學習的深入,發現main中放的代碼越來越多,并且有很多代碼重復寫了多次,導致main越來越臃腫;于是我們就打算把main中具有相同功能的代碼抽取出來,這就叫做函式,給這段函式起一個名字,然后使用的時候只用呼叫這個函式名字就可以了,
10. 指標
指標是C語言的精華所在,指標提供給用戶可以直接操作記憶體地址的功能,其他語言都是屏蔽了這個功能,正是由于指標的存在C語言才變得強大,同時也是因為指標的存在C語言才變得不安全,
舉一個栗子:有一個變數 int a = 3; 平常修改資料的方式是使用變數a來操作的,當使用指標的時候,可以直接找到電腦記憶體中的這個3所在的地址,直接修改,而不用通過變數a,
指標的作業原理,以及記憶體原理:指標就是地址,地址就是記憶體中存放實際資料的空間,
指標,指標變數的關系:指標是地址,指標變數是指向指標的一個變數而已,
這一部分知識點我分為了上下兩篇
11. 結構體
接觸越來越多的需求之后,你會發現簡單的資料型別int,float,char等等根本不夠用了,于是就需要使用結構體自定義一些資料型別來使用,
舉一個栗子:我們要自定義一個 student 資料型別,但是C語言中并沒有這個資料型別,怎么辦呢?我們可以通過結構體將基礎的資料型別int,char,陣列等等組織起來,形成一個我們自定義的資料型別,并且給他起一個名字叫做 student,這就是自定義的一個資料型別,
12. 檔案
最后,所有的編程語言都是可以操作檔案的,因為程式運行起來之后的所有資料都是臨時的,如果不存放在檔案或者資料庫中,那么當程式運行結束之后,資料就會消失,目前沒有學習資料庫,那么就把資料存放在檔案中吧,這里的話,知識點是以視頻的方式再公眾號發布,看了應該會對你有所幫助,
好了,以上就是往期C語言知識的一個整理與總結,詳細資訊可以在公眾號查看哦~
最后,如果大家如果在自學遇到困難,想找一個C/C++的學習環境,可以加入我們的C++學習圈,點擊我加入吧,會節約很多時間,減少很多在學習中遇到的難題,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/199991.html
標籤:C
