C語言-逃逸字符、類型轉換和布爾類型


C語言-逃逸字符

逃逸字符是用來表達無法印出來的控制字符或者特殊字符,它由一個反斜杠“\”開頭,后面跟上另一個字符,這兩個字符合起來,組成一個字符。

\b是backspace,在sublime中顯示為BS,如果后面不輸入的,它就什么結果都沒有,如果輸入的話會覆蓋回退前的那個字符。所以\b是回去但不刪除,它由的終端可能是刪除。

#include <stdio.h>
int main()
{
    printf("123\b\n456");
    return 0;
}
//結果:123
//456
//換成printf("123\bA\n456");
//結果:12A
//456

\t:使得輸出從下一個制表符開始,這樣使得上下兩行對齊。

回車和換行來源於古老的打印機,打字從一側打到另一側用手推回原位叫回車,然后再換行。注意:平時我們只打/n就換行了,是因為shell一般會將其翻譯為回車換行

C語言-類型轉換

自動類型轉換

當運算符的兩側出現不一致的類型時,會自動轉換成較大(或較寬)的類型,大的意思是說能表達的數的范圍更大。

  • char->short->int->long->long long

  • int->float->double

  • 對於printf,任何小於int的類型都會被轉換成int;float會被轉換成double,這也是為什么在printf時直接使用%f就足以輸出double,不用%lf的原因,但是scanf不會,要輸入short,它要明確知道后面變量的大小,需要%hd。

強制類型轉換

  • 要把一個量強制轉換成另一個類型(通常是較小的類型),需要,(類型)值。比如:(int)10.2;(short)32。但注意這時候的安全性,小的變量不總能表達大的變量。例如short(32768),short最多只能表達32767,所以此時的結果就是-32768,char(32768)的結果是0,因為32768是15個bit的0,第16是1,對於char來說取最低的那8個bit就只能看到0。
  • 強制轉換只是從那個變量計算出了一個新的變量類型的值,它並不改變那個變量,無論是值還是類型都不改變。
  • 強制類型轉換的優先級高於四則運算。

C語言-布爾類型

  • include <stdbool.h> ,之后就可以使用bool和true、false

  • 實際上沒有真正的布爾類型,它還是整數,因此在輸入輸出的時候,並沒有特殊的形式輸入輸出布爾量,只能把它輸出一個整數。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM