C語言中,還是有一些東西需要死記硬背的

現(xiàn)在課本和教程中,已經(jīng)很詳細(xì)的將C語言的學(xué)習(xí)課程分成了幾大類:數(shù)據(jù)類型,邏輯語句,指針、內(nèi)存管理等部分,我們的學(xué)習(xí)計劃大致和這些一樣,不過有的部分可能會簡單的講一下。

初入:

#include <stdio.h>

int main()

{

????????/* code */

????????printf ("%s", "helloword");

????????puts("helloword");

????????return 0;

}

先簡單了解下我們上期的那串代碼的結(jié)構(gòu):

1、第一行的#include<stdio.h>是官方解釋叫做預(yù)編譯/預(yù)處理,也就是說在程序執(zhí)行前,編譯器會提前將上面的這個文件寫進(jìn)我們的程序中,具體作用我用比喻來說將會更加明了:假如我是一個廚師,我們的做飯經(jīng)驗就是我們掌握的代碼知識,但是我們要做一道菜的話只會想是不行的,我們要動手做菜,那么我們自己寫的代碼就是這些菜,但是如果沒有調(diào)味品,是不是這些菜就會不好吃,甚至不能吃,所以我們要添加佐料,同樣,#include就是我們代碼中的佐料,當(dāng)我們做菜之前,我們就要將這些佐料添加進(jìn)來,然后才能做出一道美味的菜品。

2、int main(){} 這是我們后面要說到的函數(shù),而且這個函數(shù)比較特殊,我們一般喊得入口函數(shù),具體的意思就這是一個程序的大門,當(dāng)你從這個門里走進(jìn)來,程序才能運行下去,從其他門里進(jìn),我們就會將你踢掉(error)。

3、然后就是/* xxx */,這個特殊結(jié)構(gòu)就是我們常說的注釋了,我們在寫代碼的時候,可能會遇到一些邏輯比較復(fù)雜的情況,寫完之后,如果不加注釋,過一段時間再來看這些,似乎就看不懂了。所以編程中,養(yǎng)一個好的編程習(xí)慣是很重要的。

4、printf()和puts(),這就是前面說的佐料了(實際上是已經(jīng)寫好的函數(shù)),這些佐料都放在stdio.h的文件,當(dāng)經(jīng)過預(yù)處理后,我們就是一盤菜里了,所以我們就可以調(diào)用這些函數(shù)了。

5、這就是返回值了,我們?nèi)牒蠛瘮?shù)使用int來定義返回值,所以return一個0。實際上這個這是在告訴電腦,我不和你玩了,我要停下來。

上面就是一段小代碼的解釋。我們在沒有接觸到函數(shù)之前,知道這些就可以了。

基本數(shù)據(jù)類型:

什么是數(shù)據(jù)類型,在上學(xué)的時候,我們只是單純的數(shù)字進(jìn)行分類,比如整數(shù),小數(shù)等,但是當(dāng)你進(jìn)入編碼的世界里,就是會發(fā)現(xiàn),不只有數(shù)字才有類型,英文字母等都有數(shù)據(jù)類型 。它的具體作用是什么呢“當(dāng)我們?nèi)ネ鈬臅r候,大多數(shù)人可能會認(rèn)為我們其他國家的人。怎么辦呢,我就需要在手里拿點標(biāo)志性的物品。數(shù)據(jù)類型也是這樣,當(dāng)時聲明一個變量的時候,如果不聲明數(shù)據(jù)類型,那么計算機就不會認(rèn)識這是什么,沒法進(jìn)行后面的計算。所以數(shù)據(jù)類型很重要,更重要的一點告訴初學(xué)的小伙伴們,這些簡單數(shù)據(jù)類型最好死記硬背下來,因為在后面的編程里,大多數(shù)語言的基本數(shù)據(jù)類型都是這些。

網(wǎng)上的教程有很多,所以我們不需要詳細(xì)的去說明這些類型都有哪些,我們只說說這些類型需要注意的一些點即可。

1、如何理解數(shù)據(jù)類型的儲存大小和取值范圍:

我們以int類型為例,假設(shè)一個int類型的量占據(jù)四個字節(jié)大小的內(nèi)存,就是說我們用int聲明的量它可以儲存四個字節(jié)的數(shù)據(jù),但是具體值最大最小是多少呢,這就是我們常說的取值范圍,也就是-2147483648 到 2147483647,

2、如何獲取我們這些基本類型占用字節(jié)的大小和取值范圍:

C語言很貼心的為我們準(zhǔn)備sizeof()函數(shù),當(dāng)我們在不同電腦上編碼的時候,擔(dān)心內(nèi)存出現(xiàn)問題時,我們可以用sizeof()來獲取其字節(jié)大小和取值大小。

#include <stdio.h>

int main()

{

????????printf("int size = : %d ", sizeof(int));

????????printf("int min: %E", FLT_MIN );

????????printf("int max: %E", FLT_MAX );

????????return 0;

}

FLT_MIN等,這是float.h中內(nèi)置宏,宏簡單的理解就就是處理數(shù)據(jù)時,雖然數(shù)值不一樣,但是其處理過程一樣,所以將這些過程進(jìn)行封裝后可以直接批量使用,不用多次重復(fù)去定義。

3、float類型和double類型所謂的單精度和雙精度是什么意思:

float類型的小數(shù)點后有效數(shù)字是6位,而double類型的小數(shù)點后有效數(shù)字是15位,所以這就是單精度和雙精度的意思。

4、上面提到的數(shù)值并不是一成不變的,隨著電腦系統(tǒng)的不同,處理器的不同,編譯器的不同,這些基本數(shù)據(jù)類型的儲存大小可能隨時會發(fā)生變化,如果遇到在一個電腦上跑的好好的,然后到了另一個系統(tǒng)出現(xiàn)內(nèi)存溢出的現(xiàn)象,就需要注意研究了。

當(dāng)然,并不是說數(shù)據(jù)類型只有基本數(shù)據(jù)類型,還有很多類型我們在后面遇到的時候可以再說。

命名規(guī)則及";":

知道了基本數(shù)據(jù)類型,那么我們就想著要去親自聲明一個常量或變量了,但是寫程序這事著急不來,我們只講了類型,還沒有說命名規(guī)則:

因為不論文件和還是數(shù)據(jù),總是需要一個名字,所以我們在取名字的時候就有要求,首先不能用中文命名,我們識別,電腦不識別。然后不能名字中不能出現(xiàn)標(biāo)點符號。最后,名字是區(qū)分大小寫的,所以當(dāng)你用大寫字母聲明的,然后用小謝字母去取,這就不要奇怪自己取不出來。C語言中,有保留字和關(guān)鍵字,所以它們不用做常量名和變量名,及部分標(biāo)識符。

“;”在C語言中有著非常重要的地位,那就是告訴編譯器,這段代碼我寫完了,否則,編譯器無法識別代碼的頭和尾巴,就會出現(xiàn)錯誤了。

結(jié)語:今天,我們說了些C語言中的基本數(shù)據(jù)類型和一些規(guī)則,為我們后面打基礎(chǔ),雖然代碼沒多少,但是都是比較重要的基礎(chǔ)知識,尤其是一些基本類型的名稱和作用,雖然我們沒有一個一個拿出來說,但是這些東西還是能夠死記硬背一下比較好。我不是大神,只是一個在碼路上匍匐前進(jìn)的碼農(nóng),所以 其他相關(guān)重點可能有很多沒有說到,或者說的有些問題,希望能夠提出來。最后,感謝閱讀,我們明天說常變量,可能需要說到內(nèi)存的分配。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容