C語言真的很難嗎?那是你沒看這張圖,化整為零輕鬆學習C語言。

1_bit發表於2020-11-19

真不難

C語言難不難?這個問題是相對的,對於找到合適方法學習C語言的同學想必是覺得很簡單;但對於一部分同學來說,沒有眾觀全域性就會誤以為剛入門就需要學習龐大的知識,學著學著開始看不懂,由於心理作怪,感覺內容巨多,之後就真的一直看不懂了。

但C語言的基礎內容真的多嗎?回答是:不多。請看下圖,C語言可以分為9個塊,或者說9個主要知識點;才9個?對的,就是9個。主要是printf輸出、變數、scanf輸入、陣列、邏輯判斷、迴圈、自定義函式、指標以及結構體。

接下來我將講解各個知識點的簡要概括,助各位學習者一同進步。

在這裡插入圖片描述以下將會在講解知識點的時候有對應知識點的教程連結,點進去就可以看到文章教程,全部免費,無套路~

先來個教程完整目錄

目錄

第一篇:(一)脫離學習誤區
第二篇:(二)C語言沒那麼難簡單開發帶你瞭解流程
第三篇:(三)輕輕鬆鬆理解第一個C語言程式
第四篇:(四)語言的基本資料型別及變數
第五篇:(五)C語言的變數、常量及運算
第六篇:(六)輕輕鬆鬆瞭解C語言的邏輯運算
第七篇:(七)C語言的迴圈分分鐘上手
第八篇:(八)瞭解基本陣列還不是那麼簡單
第九篇:(九)C語言二維陣列與迴圈巢狀
第十篇:(十)C語言的指標原來是這樣
第十一篇:(十一)C語言自定義函式真的很簡單
第十二篇:(十二)原來結構體是這麼回事
第十三篇:(十三)socket服務端編寫

C語言新手的100個報錯解法

學習目標

1.知道C語言真不難

一、printf

在學習C語言時,第一個程式一般是HelloWorld;HelloWorld主要是編寫一個程式,在程式執行時顯示HelloWorld文字;使用的程式碼就是printf。這是程式的第一步,並沒有過多的內容,主要是瞭解軟體的使用,以及嘗試第一個程式的編寫。

printf教程參考:(三)輕輕鬆鬆理解第一個C語言程式

二、變數

在這裡插入圖片描述

變數這一塊的知識點主要是介紹如何使用變數,並且告訴你變數有很多型別,其實變數就是指可以儲存值的容器。這個非常好理解,例如你在生活中使用的杯子,杯子用來裝水,或者是一些液體;裝水可以當做容器的值是水,容器是杯子。那我也可以用抽屜裝書本,書本就是值,抽屜就是容器。

在程式設計中也一樣,不同的容器對應的是不同掉值;在C語言中,存在幾個型別,這些型別規定使用指定的容器去儲存;當然也可以不按照常規儲存,就像你用一個紙杯裝了一個紅彤彤的碳一樣,高溫會把紙杯給融化;除非你是故意要這個效果。

所以變數就是很簡單的一個內容。在變數這一節的內容中,還將會學習變數的輸出。這個輸出值的是,我們在程式執行時將該容器內裝的東西顯示出來;就像你用一個桶裝了你釣魚釣到的貨,你把這個貨給大家一起看了。

變數還有一個關鍵的概念,就是可變。什麼是可變?可變就是值你容器內的東西倒出來後還可以裝新的東西進去;我裝水的杯子我喝完了還可以裝別的水進去。但是常量就不一樣,常量儲存了值後,就不可以改變了,就已經外包裝封死了;你只能看見裡面裝什麼,給大家看,但是你還想把裡面的東西拿出來裝別的東西進去是不可能的。

變數教程參考:
(四)語言的基本資料型別及變數
(五)C語言的變數、常量及運算

三、scanf

在這裡插入圖片描述

scanf的作用主要是接收使用者的輸入。什麼是接收使用者的輸入呢?接收使用者的輸入就是值我們執行程式後,例如需要輸入一個密碼才可以啟動程式;這時就需要我輸入一個值,程式將等待我進行值的輸入;輸入完畢後程式接收到這個值,判斷是否正確。要完成這個操作,在C語言程式中就需要使用scanf。

scanf主要有幾個知識點,最為主要的知識點則是知道變數的地址。一般情況下,我們輸入一個值將需要一個變數進行接收;這句話我們可以理解成,輸入一個值,我們需要一個變數對這個值進行儲存。但是要完成這個操作需要知道這個變數的地址,得到地址後我們就會將這個值存到這個變數中。每個變數在記憶體中會有一個地址對應,就像你住的地方一樣,有一個標記,給予這個標記給scanf後就可以將值儲存到那個變數中。

由於融入到了其它知識點這一個知識點不在這列出:(一)脫離學習誤區

四、陣列

在這裡插入圖片描述

陣列主要是理解陣列結構是如何儲存的。陣列是用來儲存一堆數值的容器,跟單個的變數所儲存的內容不一樣,陣列可以儲存多個。例如我們需要儲存同一類資料的多個值就可以使用陣列。陣列的儲存結構跟一個抽屜一樣,每個抽屜都裝了一個值,例如第1排第1個,第1排第二個,理解了就及其簡單。

二維陣列呢其實跟一般的陣列一致,就是有了第2排,有了第3排等。所以你既然能夠理解抽屜,那麼陣列一定可以理解。

其中索引指的就是第幾個,第幾排的這個幾,這個數字指的是一個量詞對位置的標記;陣列的存取就是指對這些抽屜進行檢視,和重新放一些東西進去,就那麼簡單。

陣列教程參考:
(八)瞭解基本陣列還不是那麼簡單
(九)C語言二維陣列與迴圈巢狀

五、邏輯判斷

在這裡插入圖片描述

邏輯判斷其實就是對一些數值進行判斷,例如剛剛說的,這個程式每次開啟需要輸入一個值,判斷這個值是否是開啟的密碼,如果輸入錯誤就退出程式。

那麼進行判斷就需要使用if或者switch。if和switch都是同樣的作用,懂其一則都懂,只是使用格式的不同而已。例如我們開啟程式,輸入了1234,密碼是123456;輸入的值存到了一個容器中,這個容器我們給它一個名字,或者說給了標記,叫做A;那我們只需要判斷A是否等於123456就可以了。這就是邏輯判斷的作用。

邏輯判斷也可以進行“套娃”,也就是判斷是否正確後再進行判斷,也可以同時判斷多個條件。例如當前的密碼知道能夠被2除斷,沒有餘數就正確,但是不能等於2;這個時候就需要使用邏輯判斷運算子,只要把想判斷的內容放到邏輯判斷符的左右兩邊,就可以完成了。

邏輯判斷教程參考:
(六)輕輕鬆鬆瞭解C語言的邏輯運算

六、迴圈

在這裡插入圖片描述

迴圈是為了重複執行一些程式碼而設計的。主要使用的邏輯為,給予迴圈你要迴圈的次數,給予迴圈的程式碼,最後給予一個迴圈的控制變數;迴圈的控制變數作用顧名思義,用來控制迴圈次數;我們設定一個容器,裡面裝了一個數字0,每次迴圈就加1;例如最開始這個容器的數字是0,迴圈1次後我們加個1,這是容器裝的值就是1了,每次加1則每次遞增;那麼這個時候我們給予的次數是10,每次迴圈只要判斷這個迴圈控制變數是否大於10,就可以控制迴圈的次數了。

for迴圈、while迴圈以及do…while迴圈都是一樣的用法,通過迴圈變數控制迴圈次數。迴圈是可以巢狀的,例如迴圈巢狀指的就是一個迴圈裡面有另外一個迴圈,每次外面的迴圈迴圈1次,裡面則迴圈指定的次數。

當我們需要重複設定我們的陣列儲存的值,使用迴圈特別方便。例如你需要在一個大規則的每個抽屜都需要放一個值,使用迴圈分分鐘解決。

迴圈教程參考:(七)C語言的迴圈分分鐘上手

七、自定義函式

在這裡插入圖片描述

自定義函式指的是你可以自己建立一個工具包。例如洗衣機是一個有功能的工具,它是用來洗衣服的,每次使用洗衣機把衣服扔進去就可以自動幫你完成任務。自定義函式也一樣,實現一個功能後直接拿過來使用就可以了。

洗衣機功能是洗衣服,但是必須要有衣服才可以洗,衣服就是引數;洗衣機洗完衣服後給你的是乾淨的衣服,那麼幹淨的衣服就是返回值;就是整個功能的結果。

自定義函式參考:(十一)C語言自定義函式真的很簡單

八、指標

在這裡插入圖片描述

指標其實就是一個代理人,你可以通過這個代理人訪問一些變數,或者對這些變數進行直接的操作,你就是他們的主人;但是在使用指標的時候你必須知道你要操作的東西的地址,不然從何操作;多重指標呢就是你的全權代理人跟另外一個人搭夥,你可以操作另外一個人的代理。

那為什麼說指標危險呢?那是因為你的代理人保留著上一任主人的資料,你直接讓他去操作一些東西,他會把上一任主人保留的資料拿去操作,這樣你操作了不屬於你的東西,這就被警告了。所以要使用指標時記得把上一任主人的資料給丟掉,並且用完這個指標工具人後讓它把所有資料都扔掉。

指標教程參考:
(十)C語言的指標原來是這樣

九、結構體

在這裡插入圖片描述

結構體我們可以當做是一種型別的組合。例如你使用變數去儲存一個人的名字、年齡,需要新建2個變數;例如你又要儲存一個人的名字、年齡就需要再新建2個變數;真太麻煩。這時使用結構體,結構體就像一個大容器,跟陣列不一樣,結構體可以給自己存的值給個變數儲存,陣列直接就是個變數,結構體包含著其它的變數。我們新建一個結構體叫做“人”,這個人結構體我們在內部新建2個變數,一個是名字、一個是年齡,這時只需要建立這個結構體,那我們就可以直接擁有2個變數,簡單方便。

結構體教程參考:
(十二)原來結構體是這麼回事

總結

瞭解概念後,學習將不會有太大難度,主要是認識使用的語法規則即可。

相關文章