Meet success like a gentleman and disaster like a man. 接著上篇文章繼續(xù)介紹 C++ 基礎,本文主要介紹 標準數(shù)據(jù)類型、數(shù)據(jù)類型轉換、數(shù)據(jù)輸入與輸出 標準數(shù)據(jù)類型即
整型數(shù)據(jù)從字面即可理解,為整數(shù)數(shù)據(jù)。整型值可以用十進制,十六進制或八進制符號指定,前面可以加上可選的符號( 短整型 short [int],占2字節(jié)(16位),-2^15 ~ 2^15-1 無符號短整型 unsigned short [int],占2字節(jié)(16位),0 ~ 2^16-1 整型 [long] int,占4字節(jié)(32位),-2^31 ~ 2^31-1 無符號整型 unsigned [int],占2字節(jié)(16位),0 ~ 2^16-1 長整型 long [int],占4字節(jié)(32位),-2^31 ~ 2^31-1 無符號長整型 unsigned long [int],占4字節(jié)(32位),0 ~ 2^32-1 超長整型 long long [int],占8字節(jié)(64位),-2^63 ~ 2^63-1 無符號超長整型 unsigned long long,占8字節(jié)(64位),0 ~ 2^64-1 注: 通常將8位的塊作為一個字節(jié),32位或4個字節(jié)作為一個字(word)
實型又稱實數(shù)或浮點數(shù),可分為 單精度實型 float,占4字節(jié)(32位),有效位6~7位,-3.4E-38 ~ 3.4E+38 雙精度實型 double,占8字節(jié)(64位),有效位15~16位,-1.7E+308 ~ 1.7E+308 長雙精度實型 long double,占16字節(jié)(128位),有效位18~19位,-3.4E+4932 ~ 1.1E+4932
字符型即單個字符,用單引號括起來表示,如 'a'(數(shù)字也可以,如 '1'),字符型使用標識符 注: 字符只能是一個而且區(qū)分大小('A' 與 'a' 是不同的),只能用單引號括起來,不能用雙引號(用雙引號括起來的是字符串,字符串可以單個,也可多個) 字符在運算的時候采用 ASCII 編碼(字符其實可以看成是單字節(jié)整型,取值范圍 0~255) 轉義字符 轉義字符是一種特殊的字符常量,以反斜線 常用的轉義字符 '\n' 換行 '\t' 水平制表 '\b' 退格 '\r' 回車(不換行) '\0' 空字符 '\'' 單引號 '\'' 雙引號 '\\' 一個反斜杠字符 '\ddd' 1~3位八進制數(shù)所代表的字符 '\xhh' 1~2位十六進制數(shù)所代表的字符
布爾型也稱為邏輯型,用標識符 注: C++中的布爾變量存儲的就是 0 和 非0,0 為 false,非0 為 true,在輸出的時候,只會輸出 0 和 1,如果要輸出 true 或 false 只能自己判斷布爾變量的真假,真則輸出 true,假則輸出 false,需要寫判斷語句,最簡單的方法就是利用自帶的 boolalpha 來輸出 true 或 false cout < boolalpha="">< 布爾變量=""><>
整型、實型、字符型 數(shù)據(jù)間可以進行混合運算,這種情況下,需要將 // 以下表示當運算對象為不同類型數(shù)據(jù)時,需轉換為同一數(shù)據(jù)類型然后進行運算 int -> unsigned int -> long int -> double // 以下兩種在運算時,必定會先轉換為 int / double 然后與其他數(shù)據(jù)進行運算 char、short int -> intfloat -> double
當進行賦值運算時,如果兩側的數(shù)據(jù)類型不同,需進行類型轉換,這種轉換是系統(tǒng) float、double 型賦值給 int 型 直接截斷小數(shù)(不四舍五入,直接舍去) int、char 型賦值給 float、double 型 補足有效位(后面添 0) char 型(單字節(jié))賦值給 int 型(4字節(jié)) 數(shù)值賦給 int 型的低 8 位(存入的是字符的 ASCII 碼),其他位補 0 long int 型賦值給 int 型 long int 型截斷低字節(jié)給 int 型 int 型賦值給 long int 型 賦給 long int 型的低 16 位,如果 int 型的最高位是 0,則 long int 的高 16 位全為 0;如果 int 型的最高位為 1,則 long int 型的高 16 位全為 1(稱為 符號擴展) unsigned int 型賦值給 int 型 直接傳送數(shù)值 非 unsigned int 型賦值給位數(shù)相同的 unsigned int 型 直接傳送數(shù)值
強制類型轉換只是 類型名(表達式) a + int( b/3 ); 注: 不管被轉換的是表達式或者單個變量都需要用括號括起來
#include 字符輸入 --
char a; a = getchar(); 注:
如果在程序中有連續(xù)兩個以上的 字符輸出 --
putchar(a); 標準輸入 --
scanf(格式空字符, 地址列表); // 地址列表中給出個變量的地址,可以為變量的地址,也可以為字符串的首地址 // 格式控制符由 % 和格式符組成,作用是將要輸入的字符按指定的格式輸入,如 %d, %c 等 // d、i:用于輸入十進制整數(shù) // u:用于無符號十進制形式輸入十進制整數(shù) 如果 // 注意 %d 之間的 逗號(作為了指定的分隔符) scanf('%d, %d', &a, &b); // 輸入 5,6,輸出 a=5,b=6 注: 上面說過了地址列表中可以是變量的地址,也可以是字符串的首地址, char a[20]; scanf('%s', a); 標準輸出 --
print(格式控制符, 輸出列表); // 格式控制符由輸入格式說明和普通字符組成,必須用雙引號包裹起來 // 格式說明由 % 和格式字符組成,比如 %d,%c 等,普通字符即在輸出時原樣輸出的字符,一般在顯示時起提示作用 // 輸出列表則是需要輸出的數(shù)據(jù),各參數(shù)間用逗號分開,格式說明和輸出項需一一對應 // d、i:以帶符號的十進制形式輸出整數(shù),正數(shù)的(+)號省略不輸出 // u:以無符號十進制形式輸出整數(shù) // x、X:以十六進制無符號形式輸出整數(shù)(不輸出前導符 0x) // o:以八進制無符號形式輸出整數(shù)(不輸出前導符 0) // c:輸出一個字符 // s:輸出字符串 // f:以小數(shù)形式輸出單、雙精度,隱含輸出 6 位小數(shù) // e、E:以指數(shù)形式輸出單、雙精度,隱含輸出 6 位小數(shù) // g、G:自動選用 %f、%e、%E 格式中輸出寬度最小的一種使用 // %d:輸出數(shù)字長度為變量數(shù)值的實際長度 // %md:輸出 m 位(不足補空位,大于 m 位時按實際長度輸出) // %-md:輸出 m 位,左對齊輸出 // %ld:表示輸出長整型數(shù)據(jù) // %mld:指定長整型輸出寬度 m 位,左邊補空格,否則按實際位數(shù)輸出 // %0md,%0mld:數(shù)字 0 表示位數(shù)不足 m 時補 0 // %f:按實際格式輸出,整數(shù)部分按實際位數(shù)輸出,小數(shù)部分輸出 6 位 // %m.nf:總位數(shù) m(含小數(shù)點),其中 n 位小數(shù) // %-m.nf:總位數(shù) m(含小數(shù)點),其中 n 位小數(shù),左對齊 // %s:按實際寬度輸出一個字符串 // %ms:輸出 m 位(不足補空位,大于 m 位時按實際長度輸出) // %-ms:左對齊,不足右補空格 // %m.ns:總位數(shù) m,其中字符數(shù)最多 n 個,左補空格 // %-m.ns:同上,右補空格 流輸入 --
cin >> a >> b; // 鍵盤輸入 2 3 流輸出 --
cout < a=""><> 注: 輸出字符串常量時,需用雙引號將字符串常量包裹起來,以區(qū)別變量名 cout < 'aa';="" ="" cout=""><>
cout < 'aa\n';="" ="" cout="">< aa=""><> 數(shù)據(jù)輸入輸出方式比較
結合上一篇文章一共學習了 http://noi./ 注: 運算中常用的庫函數(shù)(習題中可能出現(xiàn)) 絕對值函數(shù) abs(x):求一個數(shù) x 的絕對值 自然數(shù)指數(shù)函數(shù) exp(x):求實數(shù) x 的自然指數(shù) e^x 向下取整 floor(x):求不大于實數(shù) x 的最大整數(shù) 向上取整 ceil(x):求不小于實數(shù) x 的最小整數(shù) 自然對數(shù)函數(shù) log(x):求實數(shù) x 的自然數(shù)對數(shù) 指數(shù)函數(shù) pow(x, y):計算 x^y,結果為雙精度實數(shù) 隨機函數(shù) rand():產(chǎn)生 0 到 RAND-MAX 之間的隨機整數(shù) 平方根函數(shù) sqrt(x):求實數(shù) x 的平方根 |
|