c語言 printf函式和scanf函式簡單使用

2022-06-09 06:54:10 字數 4014 閱讀 8386

目錄

簡單用法:

//

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

指定位寬

//

指定位寬

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的效果

//

如果我們想列印出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...