C 學習筆記 05 常量

2021-06-22 13:04:01 字數 2604 閱讀 6036

常量

有小數點的數是浮點型常量,反之為整型常量。

【整型常量】

c++允許使用十進位制、八進位制、十六進製制來書寫整型常量:

10進製數字:0、1、2、3、4、5、6、7、8、9;

8進製數字:0、1、2、3、4、5、6、7。

16進製制數字:0、1、2、3、4、5、6、7、8、9,a、b、c、d、e、f(字母亦可大寫)

表示方法:(都表示十進位制的100)

十進位制:無字首,int i= 100;

八進位制:0作為字首,int i =0124;

十六進製制:0x或0x作為字首,int i =0x64;

【浮點常量】

浮點型常量有兩種表示方式:常規表示法和科學計數法。

常規表示法由整數部分、小數點和小數部分組成,其中整數部分和小數部分可以省略,如1.2,.2,3等。

科學表示法由整數部分、小數點、小數部分,指數部分(e或e及乙個帶符號的整型指數),整數部分和小數部分也可省略,如1.2e8代表1.2x108、.3e-7代表0.3x10-7、4e23代表4x1023

【字元型常量】

用一對單引號括起來的乙個或多個字元成為字元型常量,如:

『a』稱為單字元常量

『aa』稱為雙字元常量

『\n』稱為轉義字元序列

『5』稱為單字元常量

由可以看出,對雙字元常量來說,系統將其解釋為乙個int型別的資料,前面的字元作低位位元組,後面的字元作為高位位元組,這種方式僅僅適用於可顯示字元。

**示例:

執行結果:

從執行結果上看,系統會把雙字元常量解釋成乙個int型別的資料,前面的字元作為低位位元組,後面的字元作為高位位元組。

字元型常量在c++裡可以作為單位元組的整型常量來使用,因此,字元型常量有對應的八進位制、十進位制、十六進製制形式,**如下:

執行結果:

【問題】**中的65、0101、0x41到底是數字還是字元呢?

其實這些都是數,但在對字元型變數賦值的時候,會代表對應的ascii字元。如果是對字元型進行算術運算的話,實際上是對字元代表的數值進行運算的。

執行結果:

【字串常量】

字串常量是用一對雙引號括起來的零個或多個ascii字元的序列,並以null(ascii碼值為0)結束。

關於字串常量有以下問題需要注意:

字串與字元不同,例如:"a"與'a'不等價,前者由兩個位元組組成(字元'a'與字元'\0'),而後者只有乙個位元組。

最短的字串是空字串(""),它僅由乙個結尾符'\0'組成。

在前面的示例中已經使用了字串常量以輸出提示資訊,乙個長字串可以佔兩行或多行,但最後一行之前的各行要以反斜槓結尾。

【符號常量】

在宣告語句中,用const修飾的識別符號指向乙個「唯讀」的程式實體,稱為符號常量,如「const int people=5;」,在程式中便可以用people來代表5。符號常量與普通常量的不同之處在於它像變數一樣有識別符號(名字),有效提高了系統的可修改型和可讀性。

**示例:

執行結果:

**中使用side代替了輸入的常量5,用circle代表周長常量20,用area代表面積常量25。

【列舉】

列舉(enum)是一種使用者自定義的型別,定義的基本格式為:

enum

列舉型別名

[變數名列表]

花括號中的內容稱作列舉表,其中的每一項稱為列舉常量,換言之,列舉表是列舉常量的集合。列舉表中每項後的「=整型常數」是給列舉常量賦初值,用方括號代表這步可以省略,如果不給列舉常量賦初值,編譯器會為每乙個列舉常量賦乙個不同的整型值,第乙個為0,第二個為1,等等。當列舉表中某個常量賦值後,其後的成員則按依次加1的規則確定其值。在定義列舉型別時,可同時定義一些變數屬於這種型別:

enum day currentday;

**例子:

執行結果:

C 學習筆記05

這下面的程式段是字元反輸出的例子,自己寫的,不過又出錯了,找了nnnn久,終於找到了錯誤,可惡啊,字串第乙個字元是0,時刻提醒著自己,卻在關鍵時刻忘記了.static void main string args static void main string args 用yes替換字串中的no,不過...

C 學習筆記 常量定義

include iostream using namespace std define pi 3.14159 const double pi 3.14159 intmain intargc,char argv include iostream using namespace std define p...

C 索引器(C 學習筆記05)

索引器能夠使物件像陣列一樣被索引,使用陣列的訪問方式 object x 索引器的宣告在某種程度上類似於屬性的宣告,例如,使用 get 和 set 方法來定義乙個索引器。不同的是,屬性值的定義要求返回或設定乙個特定的資料成員,而索引器的定義要求返回或設定的是某個物件例項的乙個值,即索引器將例項資料切分...