常量
有小數點的數是浮點型常量,反之為整型常量。
【整型常量】
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 方法來定義乙個索引器。不同的是,屬性值的定義要求返回或設定乙個特定的資料成員,而索引器的定義要求返回或設定的是某個物件例項的乙個值,即索引器將例項資料切分...