目錄
- printf函式介紹
- scanf函式
- scanf函式的原理簡單介紹
printf函式介紹
-
printf函式是輸出到控制臺
-
printf函式是c語言標準庫函式,能夠準確的格式輸出程式運算結果
-
printf函式的呼叫格式為:
- printf("格式控制字串",輸出項串列);
- 例如:printf("%i",a);
- 輸出項串列可以省略,printf("hello word")
-
簡單用法:
-
// 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 = https://www.cnblogs.com/zcyd/archive/2020/11/18/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 = https://www.cnblogs.com/zcyd/archive/2020/11/18/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 = https://www.cnblogs.com/zcyd/archive/2020/11/18/3.1415926666; printf("%.10lf\n",doubleValue); // double型別的有效位數是15位,那如果超過15位的話也沒有辦法了哈
-
scanf函式
-
scanf函式是一個阻塞式函式,程式如果遇到就會停下來等待用戶輸入內容
-
格式:scanf("格式化字串",串列項)
// 要求存盤用戶輸入的整數 // 1,用戶輸入的整數是確定的么?不確定,定義一個變數 int number = 0; // 2,如何接受用戶輸入的整數scanf() printf("請輸入一個整數,以回車結束\n"); scanf("%i",&number); // 使用&符號,注意必須告訴scanf函式詳細地址,才能存盤用戶輸入的資料 // 3,格式:scanf("格式化字串",串列項) printf("%i\n",number);
-
練習:從控制臺輸入兩個整數,計算兩個整數的和
// 練習:從控制臺輸入兩個整數,計算兩個整數的和 // 定義兩個變數 int value1 = 0; int value2 = 0; // 使用scanf函式,讓用戶從控制臺輸入整數 printf("請您輸入第一個整數,以回車結束\n"); scanf("%i",&value1); printf("請您輸入第二個整數,以回車結束\n"); scanf("%i",&value2); // 定義s第三個變數,接收兩個變數相加的值 int sum = 0; // 求和 sum = value1+value2; printf("%i+%i=%i\n",value1,value2,sum);
- 用一個scanf接收兩個從控制臺輸入的內容
// 練習:從控制臺輸入兩個整數,計算兩個整數的和 // 定義兩個變數 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函式如果格式化字符時沒有寫格式的話,輸入的多個資料是以,空格,回車來區分的
scanf("%i%i",&value1,&value2); // 此時在控制臺輸入回車或者空格,才能區分這兩個資料
- scanf函式中使用%c的注意點

- 避免scanf函式中%c的問題,只要是一次性接收多個值的時候就使用固定的符號進行分隔(如:逗號,句號,等等)
scanf("%i,%c,%i",&value1,&value3,&value2); printf("%i,%c,%i\n",value1,value3,value2);
- 注意scanf函式中避免寫\n,因為\n是scanf函式的結束符
scanf("%i\n",&value1); // 此時在控制臺輸入按回車是沒有用的,結束不了,怎么結束呢輸入一個不匹配的字符即可
- 注意scanf函式中如果輸入緩沖區還有值時,不會要求用戶輸入,直接取輸入緩沖區內的值即可
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 value1=123,value3= ,value2=0 value4=n,value5=0 1Program ended with exit code: 0
scanf函式的原理簡單介紹

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/224442.html
標籤:其他
上一篇:資料庫快取一致性的四種方案!
