C 零碎筆記2 常量

2021-08-31 18:24:27 字數 2924 閱讀 3236

常量是固定值,在程式執行期間不會改變。這些固定的值,又叫做字面量。常量可以是任何的基本資料型別,可分為整型數字、浮點數字、字元、字串和布林值。常量就像是常規的變數,只不過常量的值在定義後不能進行修改。

​ 整數常量可以是十進位制、八進位制或十六進製制的常量。字首指定基數:0x 或 0x 表示十六進製制,0 表示八進位制,不帶字首則預設表示十進位制。

​ 整數常量也可以帶乙個字尾,字尾是 u 和 l 的組合,u 表示無符號整數(unsigned),l 表示長整數(long)。字尾可以是大寫,也可以是小寫,u 和 l 的順序任意。

212 // 合法的 

215u // 合法的

0xfeel // 合法的

078 // 非法的,八進位制沒有8

:8 //不是八進位制的數字

032uu // 非法的:不能重複字尾

以下是各種型別的整數常量的例項:

85 // 十進位制 

0213 // 八進位制

0x4b // 十六進製制

30 // 整數

30u // 無符號整數

30l // 長整數

30ul // 無符號長整數

浮點常量由整數部分、小數點、小數部分和指數部分組成。您可以使用小數形式或者指數形式來表示浮點常量。

當使用小數形式表示時,必須包含整數部分、小數部分,或同時包含兩者。當使用指數形式表示時, 必須包含小數點、指數,或同時包含兩者。帶符號的指數是用 e 或 e 引入的。

下面列舉幾個浮點常量的例項:

3.14159 // 合法的 

314159e-5l // 合法的

510e // 非法的:不完整的指數

210f // 非法的:沒有小數或指數

.e55 // 非法的:缺少整數或分數

布林常量共有兩個,它們都是標準的 c++ 關鍵字:

·true值代表真。

·false值代表假。

我們不應把 true 的值看成 1,把 false 的值看成 0。

字元常量是括在單引號中。如果常量以 l(僅當大寫時)開頭,則表示它是乙個寬字元常量(例如 l』x』),此時它必須儲存在wchar_t型別的變數中。否則,它就是乙個窄字元常量(例如 『x』),此時它可以儲存在char型別的簡單變數中。

字元常量可以是乙個普通的字元(例如 『x』)、乙個轉義序列(例如 『\t』),或乙個通用的字元(例如 『\u02c0』)。

在 c++ 中,有一些特定的字元,當它們前面有反斜槓時,它們就具有特殊的含義,被用來表示如換行符(\n)或製表符(\t)等。下表列出了一些這樣的轉義序列碼:

轉義序列含義

\\ 字元

』』 字元

"" 字元

?? 字元

\a警報鈴聲

\b退格鍵

\f換頁符

\n換行符

\r回車

\t水平製表符

\v垂直製表符

\ooo

一到三位的八進位制數(o替換為0-7)

\xhh . . .

乙個或多個數字的十六進製制數 (h替換為0-f)

#include using namespace std; 

int main()

當上面的**被編譯和執行時,它會產生下列結果:

hello   world
字串字面值或常量是括在雙引號 「」 中的。乙個字串包含類似於字元常量的字元:普通的字元、轉義序列和通用的字元。

您可以使用空格做分隔符,把乙個很長的字串常量進行分行。

下面的例顯示了一些字串常量。下面這三種形式所顯示的字串是相同的。

"hello, dear"
"hello, \ 

dear"

"hello, " "d" "ear"
在 c++ 中,有兩種簡單的定義常量的方式:

· 使用#define預處理器。

· 使用const關鍵字。

下面是使用 #define 預處理器定義常量的形式:

#define identifier name

#include using namespace std; 

#define length 10

#define width 5

#define newline '\n'

int main()

當上面的**被編譯和執行時,它會產生下列結果:

50
您可以使用const字首宣告指定型別的常量,如下所示:

const type change_name = name;

#include using namespace std; 

int main()

當上面的**被編譯和執行時,它會產生下列結果:

50
請注意,把常量定義為大寫字母形式,是乙個很好的程式設計實踐。

C 零碎筆記

1 編寫c 儲存為.cs檔案。2 通過csc.exe程式來將.cs檔案編譯為.net程式集 exe或.dll 是 偽exe 包含很多內容其中有微軟中間語言il可以被翻譯成類似彙編的中間碼 此時的exe或dll並不是機器碼 cpu不可理解 csc out c a.exe c program.cs 3 ...

Golang零碎筆記 2

1.主協程 main協程 退出後,子協程會相繼退出,這個是如果主協程不阻塞看不到子協程列印結果的原因。2.runtime.goexit 函式用於終止當前 goroutine,但 defer 函式將會被繼續呼叫。3.gomaxprocs n int int 用來設定可同時執行的執行緒數,並返回當前設定...

Python零碎筆記

魔法方法 在python中,有一些內建好的特定的方法,這些方法在進行特定的操作時會自動被呼叫,稱之為魔法方法。常見的魔法方法有 init 初始化函式,在建立例項物件為其賦值時使用,必須至少有乙個引數self。new 建構函式,建立並返回乙個例項物件。必須要有返回值,返回例項化出來的例項。class ...