1. printf函數的格式:有兩部分組成,一部分是格式串,是告訴計算機如何來顯示一些數據的。它又分為兩部分,(1)是普通字符,顯示的時候原樣顯示;(2)是轉換說明,是用于控制數據顯示的形式的。另一大部分是表達式列表,就是我們想要讓計算機顯示的數據的列表。
如:printf("a =m,b=M",86,1040)
"a =m,b=-" 是格式串, 其中 a= , b=就是普通字符,會原樣顯示,而m M 是轉換說明符,是來控制後面兩個數的顯示形式的。對于例子,結果應該是:
86,1040 注意86前面有4個空格。
2. 轉換說明格式是%m.pX
m表示顯示的最小字符數量,如果要顯示的數少于m,則靠右對齊,前面補空格,如果顯示的數多于m,則字段寬度會自動擴展。如第1中,86一共是2個數 小于4,所以右對齊,前面補空格,而1040一共是4個數,大于2,所以自動擴展成4,即還是打印1040,不能打印成10.
轉換說明有這樣幾種:
(1)d 用來表示10進制形式的整數。
(2)e用來表示指數形式的。
(3)f表示定點十進制形式的浮點數,沒有指數
(4)g表示指數形式或者定點十進制形式的浮點數
對于這部分内容的理解,大家可以在上機的時候來不斷的測試,看一下輸出結果,做到真正的理解。
3. scanf函數是大家容易糊塗的内容。經常會和printf函數混淆,其實這兩個函數完全是反着的,一個是從鍵盤接收數據,一個是通過顯示器打印數據給用戶看。
scanf函數的格式:也是由兩部分組成,一部分是格式串,另一部分是地址列表(一定要注意是地址列表,不要忘了&)。格式串又有兩個部分組成,一部分是普通字符,一部分是轉換說明。和printf不同的是,這裡的普通字符不再是原樣輸出到屏幕上了,是用戶要原樣輸入到計算機上。
舉個例子:scanf("a=%d",&a); a=%d就是格式串,其中 a= 是普通字符 %d是轉換說明。那麼如果執行的時候應該這樣做,用戶輸入:a=12才行,一定要加上a= 要保持和scanf格式串中的a=表示一緻。否則接收不到數據12.
4. scanf中的格式說明,有:
(1)%d 接收整數
(2)%f %g %e用于接收浮點數
注意 如果前面加上數字,如- ? 等,那麼是分别從鍵盤上取輸入數據的2個數,3個數。
5. scanf函數的接收數據的原理,如:scanf("%d%f%d",&i, &x, &j); 執行後,用戶輸入的數據: 10.3 6 8
針對上面的數據,scanf是這樣工作的。
首先,根據第一個轉換說明%d 計算機需要從鍵盤緩沖區中取整數,第一個是1,1可以是整數的一部分,接收1,然後看後面的0,0可以是整數的一部分,所以把接收0,再向後看,是個點,不是整數的一部分,則結束%d的數據接收,把10給i,檢查後面的%f 先看這個點,點屬于浮點型,所以接收這個點,然後看後面的字符是3,3可以是浮點型的一部分,接收3,然後看後面的空格,空格不是浮點型的一部分,于是把點和3給了x。接下來根據%d來接收整數,忽略空格後看後面的6,6是整數的一部分,于是接收6,後面又是空格,結束整數的接收,把6給j,結束數據的接收。後面的8會給接下來的scanf函數。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!