標籤:
一:格式輸出函數printf()
1、調用形式一般為:printf("格式化控制字元串",輸出表列);
2、格式化控制字元串用於指定輸出格式,它有三種形式:
- 1、格式說明符:規定了相應輸出表列內容的輸出格式,以%打頭,如%d、%o等
- 2、逸出字元:用來輸出逸出字元所代表的控制碼或者特殊字元,比如常用的‘\n‘、‘\t’
- 3、一般字元:需要原樣輸出的字元。
3、輸出表列為若干需要輸出的資料項目,它與格式說明符在數量和類型上一一對應;
4、格式字元m指定輸出資料所佔寬度,n對實數表示輸出n位小數,對字串表示截取的字元個數,+表示靠右對齊,通常省略。
—表示靠左對齊,l用於長整型資料,可加在d、o、x、u前,更多格式說明符及其組合形式如下所示:
| 格式字元 |
資料對象 |
輸出形式 |
資料輸出方法 |
%(+)-md |
int unsigned int short unsigned short char |
十進位整數 |
1、無m按實際位元輸出 2、有m輸出m位;超過m位,按實際位元輸出,不足補空格 3、有+(預設為+)靠右對齊(左補空格) 4、有-靠左對齊(右補空格) |
| %(+)-mo |
八進位整數 |
| %(+)-mx |
十六進位整數 |
| %(+)-mu |
不帶正負號的整數 |
| %(+)-mld |
long unsigned long |
十進位整數 |
| %(+)-mlo |
八進位整數 |
| %(+)-mlx |
十六進位整數 |
| %(+)-mlu |
不帶正負號的整數 |
| %(+)-m.nf |
float double |
十進位小數 |
| %(+)-m.ne |
十進位指數 |
| %(+)-g |
自動選用%f和%e中較短的輸出寬度輸出單、雙精確度浮點數 |
| %(+)-mc |
char int short |
單個字元 |
1、無m輸出單個字元 2、有m輸出m位,補空格 3、有+(預設為+)靠右對齊(左補空格) 4、有-靠左對齊(右補空格) |
| %(+)-m.ns |
字串 |
一串字元 |
1.無m、n按實際字串輸出全部字元 2、有m、n僅輸出前n個字元,補空格 3.有+(預設為+)靠右對齊(左補空格) 4、有-靠左對齊(右補空格) |
二:格式輸入函數scanf()
1、 調用格式一般為:scanf("格式化控制字元串",地址表列);
2、格式化控制字元串和printf()函數含義相似,所不同的是它是對輸入格式進行控制;
3、地址表列是有若干等待輸入的資料所對應的記憶體單元地址組成,由逗號隔開,一般形式為&a,a為變數;
4、地址表列在數量和類型上和格式化控制字元串中的格式說明符一一對應;
5、格式字元h表示輸入短型資料,可用在d、o、x前面,m指定輸入資料所佔寬度,
*表示對應的資料項目讀入後不賦給相應的變數,更多格式說明符及其組合如下
| 格式字元 |
資料對象 |
輸入形式 |
資料輸入方法 |
| %md |
int short unsigned int unsigned short |
十進位整數 |
1、無m按實際位元輸入 2、有m輸入m位,不足m則跟斷行符號鍵 |
| %mo |
八進位整數 |
| %mx |
十六進位整數 |
| %mld |
long unsigned long |
十進位整數 |
| %mlo |
八進位整數 |
| %mlx |
十六進位整數 |
| %mlf |
float double |
十進位整數 |
| %mle |
| %mc |
char |
單個字元 |
1、無m取單個字元 2、有m輸入m位,僅取第一個字元 |
| %ms |
字串 |
一串字元 |
1、無m取斷行符號或空格前若干字元 2、有m僅取前m字元 |
C語言格式化輸入輸出函數