5 輸出 輸入的使用 強制型別轉換

2021-08-30 06:32:22 字數 1472 閱讀 5704

輸出、輸入的使用 強制型別轉換

輸出使用

字串常量與字元常量的不同

'a』為字元常量,「a」為字串常量

『a』 『a』 『\0』

printf();

//%5d,以5個字元輸出,沒有的字元以空字元填充,預設是右對齊

//%05d,以5個字元輸出,沒有的字元0填充,預設是右對齊

//%-5d,以5個字元輸出,沒有的字元以空字元填充,-代表指定為左對齊

//0和-不能同時使用

//%ld,預設小數點後面有6位,不夠補0

//%8.3lf,代表總有8個字元,3代表小數點後有3位

putchar()

putchar()會返回輸出成功的字元,即引數c。若返回eof則代表輸出失敗。

char ch =

'a';

putchar

(ch)

;//把ch的內容輸出到螢幕

//printf("\n");

putchar

('\n'

);

輸入的使用scanf();

getchar();//只讀取乙個字元

強制型別轉換

(型別)變數名

int a =10;

//a只有在此語句執行是,才強制轉換成double型別,其它的位址還是int型別

printf

("%lf\n",(

double

)a);

轉換的原則:

占用記憶體位元組數少(值域小)的型別,向占用記憶體位元組數多(值域大)的型別轉換,以保證精度不降低。

//強制型別轉換的應用

//a)不要直接通過%d,列印乙個浮點型變數,得不到想要的結果,要想得到結果,強制型別轉換

double a =

11.11

;printf

("%d\n",(

int)a)

;//b)不要通過%f或%lf,列印乙個整形變數,得不到想要的結果,要想得到結果,強制型別轉換

int a =10;

printf

("%lf\n",(

double

)a);

//c)相除得到小數問題

//1)兩個整數相除,只是取整數,不會帶小數

int a =1/

2;//a = 0;

//2)要想得到小數的結果,分子分母至少有乙個是小數

double a;

a =1.0/2

;//a = 0.5

a =1/(

double)2

;

C 輸出 輸入 型別強制轉換

輸入字串 string s s console.readline 輸出字串 console.writrline s 輸出分兩種 佔位符輸出 console.writeline s,888 連線符輸出 console.writrline s 888 列如 s number 時 則以上兩句輸出都是 nu...

型別強制轉換的問題

存在bug的 include int array define total elements sizeof array sizeof array 0 int main 結果是 原因 經過sizeof 的計算,total elements值的型別為unsigned int 型別。在if語句中,d為in...

C 的強制型別轉換

c c 強制型別轉換 q 什麼是c風格轉換?什麼是static cast,dynamic cast 以及 reinterpret cast?區別是什麼?為什麼要注意?a 轉換的含義是通過改變乙個變數的型別為別的型別從而改變該變數的表示方式。為了型別轉換乙個簡單物件為另乙個物件你會使用傳統的型別轉換操...