目錄
簡單用法:
//指定位寬int型別
int number = 10
;printf(
"number的值是%i
",number) //
使用%i
//float型別
float floatnumber = 20.0f; //
float型別要加上f標示,預設是double型別的
printf("
floatnumber的值是%f
",floatnumber) //
使用%f
//double型別
double doublenumber = 30.01234567890
;printf(
"doublenumber的值是%lf
",doublenumber) //
使用lf,longfloat
printf("
doublenumber的值是%.10lf
",doublenumber) //
printf函式預設強制輸出小數點後6位,想要輸出雙精度的需要指定你要輸出小數點後面幾位
//char型別
char charnumber = 'a'
;printf(
"charnumber的值是%c
",charnumber) //
使用%c
//列印出01,02,03的效果指定位寬
int number = 99
;
//如何指定位寬,%mi;其中m就是位寬,而i就是輸出對應的資料型別
printf("
%i\n
",number);
printf(
"%5i\n
",number); //
可以明顯的看到number的左邊多出來一段空格,其實是由三個空格的
//預設情況下位寬是右對齊,如果需要輸出的位寬不夠會在左邊補空格
//如果在位寬前面加負號-,就會改變對齊方式為左對齊,如果需要輸出的位寬不夠會在右邊補空格
printf(
"%-5i\n
",number);
//如果指定的位寬,但實際的內容超過了位寬的,會按照實際內容進行展示
int value = 999999; //
value是有6位的
printf("
%5i\n
",value); //
這裡的value列印出是6位的,並不是指定位寬的5位
//保留位數如果我們想列印出01,02,03,04,05的效果的話怎麼辦呢?
//只需要在指定位寬前面加0即可
int sum = 1
; printf(
"%2i\n
",sum); //
列印出 1;
printf("
%02i\n
",sum); //
列印出01 在指定位寬的前面加了0,注意新增的位置
//保留位數
float floatvalue = 3.1415926666
; printf(
"%f\n
",floatvalue); //
%f預設保留6位小數
//指定保留幾位小數
printf("
%.2f\n
",floatvalue); //
%.nf 在前面新增., n為保留幾位小數的數字即可
//%f各種坑
//1,我想把floatvalue全部列印出來,那保留位數填寫10看看應該全部都能顯示吧?
//如果輸出資料超出了有效位數,那後面就會出現一些垃圾資料。
printf("
%.10f\n
",floatvalue); //
3.1415927410 看有效位數y只有7位
//那如果想要完整輸出這個floatvalue就要用double型別
double doublevalue = 3.1415926666
; printf(
"%.10lf\n
",doublevalue); //
double型別的有效位數是15位,那如果超過15位的話也沒有辦法了哈
//練習:從控制台輸入兩個整數,計算兩個整數的和
//定義兩個變數
int value1 = 0
;
int value2 = 0
;
//使用scanf函式,讓使用者從控制台輸入整數
printf("
請您輸入兩個數字,以逗號分隔,以回車結束\n
");
scanf(
"%i,%i
",&value1,&value2); //
注意輸入的內容要求必須要與格式花字串一摸一樣
//如果輸入的資料與格式化字串不匹配,那麼scanf就會自動終止
//定義s第三個變數,接收兩個變數相加的值
int sum = 0
;
//求和
sum = value1+value2;
printf(
"%i+%i=%i\n
",value1,value2,sum);
scanf("%i%i
",&value1,&value2);
//此時在控制台輸入回車或者空格,才能區分這兩個資料
//此時在控制台輸入按回車是沒有用的,結束不了,怎麼結束呢輸入乙個不匹配的字元即可
int value1 = 0;
int value2 = 0
;
char
value3;
//value1-->123 value3-->a value2-->456
//scanf("%i%c%i",&value1,&value3,&value2);
printf("
請輸入資料,以回車結束\n");
scanf(
"%i%c%i
",&value1,&value3,&value2);
printf(
"value1=%i,value3=%c,value2=%i\n
",value1,value3,value2);
//如果輸入緩衝區有內容就不會讓使用者去輸入,直接取
char
value4;
int value5 = 0
; scanf(
"%c%i
",&value4,&value5);
printf(
"value4=%c,value5=%i\n1
",value4,value5);
控制台:
請輸入資料,以回車結束
123 你好啊 456
C語言基礎 函式getchar和函式scanf小結
最近在看c程式時候產生的疑問,現在總結如下 程式所用軟體是vc getchar 函式的用法 特點 可以從鍵盤輸入多個字元,並帶回顯 就是在回車前,所有的輸入字元都會逐個顯示在螢幕上 並且等到按回車的時候才結束。雖然可以輸入多個字元,但是getchar函式只能讀入乙個字元。其它多的字元會保留在鍵盤快取...
C語言之scanf和printf函式
c語言中,我們經常使用scanf和printf在控制台實現輸入 輸出功能。但相信也經常忽略乙個細節,那就是scanf和printf函式,兩者都有乙個int型別的返回值,如圖 printf返回值是輸出的字元數,例如,printf 1234 的返回值是4,而printf 1234 n 的返回值是5。注意...
C語言printf函式詳解和示例
c語言格式化輸出的函式有printf sprintf和snprintf等,功能略有不同,使用方法大同小異,本文以printf函式為例來介紹它們的用法。int printf const char format,大家看到printf函式的宣告就會有點懵,它引數的寫法與我們之前學到的函式知識不一樣,pri...