1. 程式人生 > >C/C++筆記001(printf()與轉義字符)

C/C++筆記001(printf()與轉義字符)

中國 超過 中間 pan 斜杠 書寫 十六進制 出了 use

一 控制臺輸出函數:

printf(format,...)

-------format 書寫形式: "整數x=%d,整數y=%d,浮點數%f"

-------... 參數,中間用 ","分隔

int main()
{    
    printf("\a\n");                //響鈴
    printf("中國\b \n");            //光標退1格 由於"\b"在"國"的後面,因此只顯示了中字
    printf("\f\n");                //打印機分頁,不影響顯示
    printf("家園\r");            //光標退到行首,清除"家園"及分頁符
printf("愛我中華\t天天奮鬥\n"); //一個"\t"代表4個或8個空格輸出 printf("\v\n"); //打印機垂直制表,不影響屏幕輸出 printf("\‘\n"); //輸出單引號 "‘" printf("\"\n"); //輸出雙引號 " printf("\\\n"); //輸出反斜杠 "\" system("pause"); //阻塞程序return 暫停 return 0; }
int main()
{    
    printf(
"================VS2015=============\n"); int iNum1 = 4000; //定義整型變量 iNum1並把10賦值給它 int iNum2 = 0xFF00AABB; //整型變量iNum2 賦值為十六進制的10 int iNum3 = 04070; //整型變量iNum3 賦值為八進制的10 /*十進制顯示*/ printf("整數4000 輸出:%d \n",iNum1); //以十進制形式輸出 printf("整數0xFF00AABB 輸出:%d 錯誤原因:int是一個有符號的數,溢出了,所以顯示錯誤\n
", iNum2); //以十進制形式輸出 printf("整數04070 輸出:%d \n\n", iNum3); //以十進制形式輸出 printf("=================十進制對齊顯示,從左到右對齊 \"%%4d\":表示寬度為4,不足的用空格填充,寬度超過4格的,顯示實際寬度\n"); printf("整數4000 輸出:%4d \n", iNum1); //以十進制形式輸出 printf("整數0xFF00AABB 輸出:%4d 錯誤原因:同上\n", iNum2); //以十進制形式輸出 printf("整數04070 輸出:%4d \n\n", iNum3); //以十進制形式輸出 printf("=================十進制對齊顯示,從左到右對齊 \"%%4d\":表示對齊寬度為4,不足的用 0 填充,寬度超過4格的,顯示實際寬度\n"); printf("整數4000 輸出:%04d \n", iNum1); //以十進制形式輸出 printf("整數0xFF00AABB 輸出:%04d 錯誤原因:int是一個有符號的數,溢出了,所以顯示錯誤\n", iNum2); //以十進制形式輸出 printf("整數04070 輸出:%04d \n\n", iNum3); //以十進制形式輸出 printf("=================%%u以無符號十進制輸出\n"); printf("整數4000 輸出:%u \n", iNum1); //以十進制形式輸出 printf("整數0xFF00AABB 輸出:%u 顯示正確(4278233787)\n", iNum2); //以十進制形式輸出 printf("整數04070 輸出:%u \n\n", iNum3); //以十進制形式輸出 printf("======================\"%%hx\"十六進制顯示,有h但是變量本身是32bit的,h會截斷數據\n"); printf("整數4000 輸出:%hx \n", iNum1); printf("整數0xFF00AABB 輸出:%hx 錯誤原因:數據寬度超過16bit,超過的截斷\n", iNum2); //以十進制形式輸出 printf("整數04070 輸出:%hx \n\n", iNum3); printf("======================\"%%x\"十六進制顯示\n"); printf("整數4000 輸出:%x \n", iNum1); printf("整數0xFF00AABB 輸出:%x \n", iNum2); printf("整數04070 輸出:%x \n\n", iNum3); printf("======================\"%%ho\"八進制顯示,超寬截斷\n"); printf("整數4000 八進制輸出:%ho \n", iNum1); printf("整數0xFF00AABB 八進制輸出:%ho(AABB)\n", iNum2); printf("整數04070 八進制輸出:%ho \n\n", iNum3); printf("======================\"%%o\"八進制顯示\n"); printf("整數4000 八進制輸出:%o \n", iNum1); printf("整數0xFF00AABB 八進制輸出:%o 錯誤:超過寬度32bit溢出\n", iNum2); printf("整數04070 八進制輸出:%o \n\n", iNum3); printf("======================\"%%lo\"八進制顯示\n"); printf("整數4000 八進制輸出:%lo \n", iNum1); printf("整數0xFF00AABB 八進制輸出:%lo(AABB)\n", iNum2); printf("整數04070 八進制輸出:%lo \n\n", iNum3); printf("===============short短整型,h僅用於整型,作用是將short修正為四個字符寬顯示\n"); short sNum1 = 0xffff; printf("%x \n", sNum1); //錯誤 結果顯示: ffffffff printf("%hx \n\n", sNum1); //正確 結果顯示: ffff printf("===============浮點數(精度)==================\n"); double dNumber = 314159.123456789; float fNumber = 314159.123456789f; printf("314159.123456789 雙精度數據 單精度顯示%f \n", dNumber); //錯誤 結果顯示: ffffffff printf("314159.123456789f 單精度數據 單精度顯示%f \n", fNumber); //正確 結果顯示: ffff printf("314159.123456789 雙精度數據 雙精度顯示%lf \n", dNumber); //錯誤 結果顯示: ffffffff printf("314159.123456789f 單精度數據 雙精度顯示%lf \n\n", fNumber); //正確 結果顯示: ffff printf("===============浮點數(指數形式)==================\n"); printf("314159.123456789 雙精度數據 指數顯示(精度小數點後6位):%e \n", dNumber); printf("314159.123456789f 單精度數據 指數顯示(精度小數點後6位):%e \n", fNumber); printf("314159.123456789 雙精度數據 指數顯示(精度小數點後6位):%e \n", dNumber); printf("314159.123456789f 單精度數據 指數顯示(精度小數點後6位):%e \n\n", fNumber); printf("===============浮點數(%g小數點前後共6位有效數字,自動推斷是正常形式還是指數形式)==================\n"); printf("3.14159123456789 雙精度數據 %g \n", 3.14159123456789); printf("3.14159123456789f 單精度數據 %g \n", 3.14159123456789f); printf("3.14159123456789 雙精度數據 %g \n", 3.14); printf("3.14159123456789f 單精度數據 指數顯示%g \n\n", 31415912345678.9f); printf("================字符串%%s,字符%%c===========================\n"); printf("%s,%c++!\n","Hello",‘C‘); system("pause"); //阻塞程序return 暫停 return 0; }

C/C++筆記001(printf()與轉義字符)