1. 程式人生 > >C語言第二節資料型別(-)

C語言第二節資料型別(-)

這個首發自我的微信公眾號(Mark學程式設計),不知為什麼不能複製裡面的圖片。如果看圖片請到公眾號。SORRY.

Firstly, data can be classified into two categories: namely constants and variables. C語言資料分為兩類,常量和變數。當然兩者都可以繼續分類。

Constant: As the name suggests, a constant does not change its value in a program. for example, we use #define PI 3.1415 to define PI represent the constant value 3.1416. other kind of contant skipped in order not to confuse with the below variables. 比如我們用#define PI 3.1416來定義常量PI. 以便在程式中使用。其他的略去,以免與下面要講的混淆。

Variable:A variable value can be changed in a program. That is why called variable. A variable is defined by giving it a data type and a name. At this point, we should know that there are three basic variable type: i.e: Int; Float; Char. Other types of variable types will be covered later. See below example:

The outcome show as follow:

Notice that before the variable name va, vb, vc, We put the type int, float,char. That is a must.without a type a variable cannot be defined. And also please notice the comma and others like “” , () etc. please copy the example. and if you dont know that it is. Just copy.

下面我們用中文討論一下變數的究竟是什麼?

一般的書中,都會將變數比喻成盒子或什麼的,我的體會是這個比喻容易誤導初學者。因為盒子容易讓人聯想起立體的東西,況且將變數名貼到上面去,就更成問題了。網上有大量的資料討論變數的問題,不妨去看看,當然,含金量的確不一樣,有的甚至是錯誤的。我在這裡試圖澄清一下,看看能不能達到澄清的目的。

還是從計算機原理說起,簡單說,計算機就是計算和儲存,也就是能計算,能儲存。所以對應的兩個重要計算機部件就是CPU和記憶體。我們撰寫的C語言程式,經過編譯後最後執行階段應該是到了記憶體,以二進位制的數字儲存在記憶體中。這是簡單化的理解。程式中的變數根據其屬性,後面會涉及到。被分配到記憶體的某個區塊中,用區塊較好。也比較符合計算機實際。這個區塊是儲存變數值的,注意是值,不是變數名,至於變數型別,應該是這個區域本身所規定的,後面我們會用程式碼說明。所以,要把變數名和變數值分開,概念上分開,因為程式碼中難以分開,因為我們用變數名,其實就是用裡面的值,在程式碼裡。那麼變數名在哪裡存著呢,具體的,還真沒學到這一步,應該是某種機制來操縱。知道這些對於C語言學習指標,首地址什麼的就容易理解了。當然,學習其他語言也就容易理解裡面的變量了,特別的引用變數這個在PHP,Java中的初學難點也容易解決。

這樣的話,再談談變數的型別在記憶體中的大小。讓我們回到英語世界中。

We already know that there are three basic types of char, int and float. Sure we have more types. You can check the book to find out.We just list some of them as below:

Short integer;

Long integer;

unsigned interger;

double-floating. etc.

我看到的基本書上分類有些不同,這個沒有什麼問題,應該只是角度問題。關於型別,會在程式碼中慢慢體會。

We will use the sizeof() operator to display the number of bytes of memory required by some of the common data types in C. What is byte? Goodness, you need to check it with the textbook to learn more of the basics of computers. We might touch the basic computer science later on if we have nothing to do at that time.

The following is a complete code file. Please read carefully and copy it to run on your computer. We will explain after the picture.

中文解釋:

/* /是註釋符號,中間的N行都是解釋說明,整個名稱叫註釋。不能裡面再一個/ */.

// 是單行註釋。

其他的都在程式碼裡面註釋了,學學英語吧。

執行結程式碼下:

就到這裡。

文章已於2018-12-24修改