你了解C語言的常量嗎?這5種常量必須要搞懂

2019-07-24   C語言編程開發

你知道什麼是C語言的常量?

為什麼它們是編程世界的重要組成部分?

實際上C編程中的常量只是一些固定的值,在整個程序運行過程中都不能改變。這些固定值也稱為字面量。

本章將主要強常量和字面量之間的關鍵區別。

在我們開始之前,你必須了解C語言中的變量。

C語言

現在,讓我們通過考慮以下問題來認識常量和字面量在C程式語言中的重要性: 在某些情況下變量的值不會改變,比如說,近似等於3.14159的pi值是常量,它永遠不會改變,這是一個普遍的事實。我們可能會遇到一些情況,在這些情況下,我們需要pi來進行數學計算。類似地,我們可以根據方便程度為多個變量分配常量。

1. C編程中的變量和常量

值得注意的是,變量在編程和數學中有不同的含義。變量只是一個我們可以存儲在計算機內存中的值。我們可以在運行時輕鬆地更改它的值。與之相反,常量在整個程序運行過程中都不會改變它們的值。常量可以包含C語言中可用的任何數據類型。

2. 聲明或定義常量

我們可以通過兩種方式將C常量賦值給變量:

  1. 使用#define,一個預處理器指令:我們已經在預處理器中詳細討論了#define
  2. 使用關鍵字const:它類似於變量聲明,只是我們應該在它之前添加關鍵字「const」。一旦我們聲明了常量,就給它賦值是很重要的。

了解更多關於C語言的預處理程序,看看它是否有用?

下面是一個C語言的程序,它演示了當我們試圖修改一個常量的值時會發生什麼:

C語言

輸出:

C語言

3. C語言中的常量和字面量

正如前面所討論的,常量和字面量可以互換使用,但是這兩者之間有一些細微的區

讓我們考慮一個簡單的例子來更好地理解它。

在印度,法定投票年齡是18歲。

因此,我們定義

const voting_age = 18;

在這裡,18是一個字面量,一個表示自身字面意思的值,而常量可以被認為是一種數據類型,它可以代替字面量來增強代碼的功能。

現在,我們希望列印信息,「你可以投票!」給年齡大於或等於18歲的人士。

因此,我們首先將用戶的年齡作為輸入,給出條件:


if (age >= voting_age)
{
printf(「 You are allowed to vote! 」);
}

這裡,標識符voting_age是常量。

為了進一步閱讀,你應該了解C語言中的數據類型。

4. C語言中常量的類型

在C語言中,根據數據類型的不同,有5種不同類型的常量:

C語言

4.1 整型常量

顧名思義,整數常量是一個具有固定值的整數,也就是說,它不能具有像10、-8、2019這樣的小數值。

比如:

const long float pi = 3.14159;

const signed int limit = 20;

我們可以使用U和L後綴的不同組合來分別表示無符號修飾語和長修飾語,但要記住只能同時用它們其中一個。

我們可以進一步將其分為三類,即:

  • 十進位數制常數:以10為基數。(0到9).例如,55 ,-20 ,1。在十進位數字系統中,不使用前綴。
  • 八進位數系統常數:基數為8。(0到7).例如,034 ,087 ,011。在八進位數系統中,0用作前綴。
  • 十六進位數制常數:以16為基數。(0到9,A到F)在十六進位數制中,用0x作為前綴。C語言提供了使用大寫或小寫字母表示十六進位數字的條件。

4.2 浮點或實數

我們使用浮點常量來表示數軸上的所有實數,包括所有的小數。我們可以用兩種方式來表示:

  • 小數形式:包含小數點(.)是強制性的。比如2.0, 5.98 ,-7.23。
  • 指數形式:必須包含帶符號的指數(e或E)。例如,萬有引力常數G = 6.67 x 10-11表示為6.67e-11或6.67E-11。

C語言

4.3 字符常量

字符常量用於為字符分配固定值,包括字母和數字或用單引號(' ')括起來的特殊符號。

每個字符都與其特定的數值ASCII(美國信息交換標準代碼)值相關聯。

除了這些值之外,C語言中還有一個稱為轉義序列的集合。

例如,'+ ',' A ', ' d '。

4.4 字符串常量

字符串常量是由一對固定的雙引號("")包圍的一組字符。

例如,"DataFlair","Hello world!"

4.5 枚舉常量

枚舉常量是在C語言中用戶自定義的數據類型,每個成員賦予一個整型常量。

例如,

enum rainbow = {Violet, Indigo, Blue, Green, Yellow, Orange, Red}

枚舉常量rainbow的整數如下:

Violet:0

Indigo:1

Blue:2

Green:3

Yellow:4

Orange:5

Red:6

下面是一段C代碼,闡述了一些常量的用法:

C語言

螢幕上的代碼:

C語言

輸出:

C語言

5. 總結

在這篇教程中,我們討論了C語言中變量和常量的區別。然後我們進一步細緻的討論了如何定義C語言中常量或字符,以及其他可用的常量類型。

看完之後你是否已經充分掌握了C語言的常量和字符的知識了呢?

C語言

加C/C++學習交.流群獲取 C語言、C++、Windows高級編程,MFC框架編程、QT框架編程,Linux應用程式開發,Linux內核研究等系統學習路線,更有進階乾貨的直播免費學習權限 ,都是大牛帶飛 讓你少走很多的彎路的 群...號是 546912356

註:加..群要求

1、零基礎,目前遇到困難不知從何下手可以加。

2、在公司待久了,過得很安逸,但跳槽時面試碰壁。需要在短時間內進修、跳槽拿高薪的可以加。

3、基礎非常紮實,但對目前主流技術欠缺,需要突破技術瓶頸的可以加。

4、覺得自己很牛B,一般需求都能搞定。但是所學的知識點沒有系統化,很難在技術領域繼續突破的可以加。

5.企業一線C/C++高級大牛直播講解知識點,分享知識,多年工作經驗的梳理和總結,帶著大家全面、科學地建立自己的技術體系和技術認知!