程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C語言輸出函數(printf)和輸入函數(scanf)

C語言輸出函數(printf)和輸入函數(scanf)

編輯:關於C語言
 

上節中的兩個例子都用到了輸入和輸出函數scanf和 printf,這裡我們先簡單介紹一下它們的格式,以便後面使用。

scanf和 printf這兩個函數分別稱為格式輸入函數和格式輸出函數。其意義是按指定的格式輸入輸出值。因此,這兩個函數在括號中的參數都由以下兩部分組成:

  • 格式控制串:格式控制串是一個字符串,必須用雙引號括起來,它表示了輸入輸出量的數據類型。在printf函數中還可以在格式控制串內出現非格式控制字符,這時在顯示屏幕上會顯示源字符串。各種類型的格式表示法請參考:C語言格式輸出函數printf()詳解。
  • 參數表:參數表中給出了輸入或輸出的變量。當有多個變量時,用英文逗號(,)分開。例如:  
    1. printf("sine of %lf is %lf\n",x,s);
    printf("sine of %lf is %lf\n",x,s);
    其中%lf為格式字符,表示按雙精度浮點數處理。它在格式串中兩次現,對應了x和s兩個變量。其余字符為非格式字符則照原樣輸出在屏幕上。


【例1-3】輸入輸出函數舉例

 
  1. int max(int a,int b); /* 自定義函數說明 */
  2. main(){ /* 主函數 */
  3. int x,y,z; /* 變量說明 */
  4. int max(int a,int b); /* 函數說明 */
  5. printf("input two numbers:\n");
  6. scanf("%d%d",&x,&y); /* 輸入x,y值 */
  7. z=max(x,y); /* 調用max函數 */
  8. printf("maxmum=%d",z); /* 輸出 */
  9. }
  10. int max(int a,int b){ /* 定義max函數 */
  11. if(a>b){
  12. return a;
  13. }else{
  14. return b; /* 把結果返回主調函數 */
  15. }
  16. }
int max(int a,int b);  /* 自定義函數說明 */
main(){  /* 主函數 */
    int x,y,z;  /* 變量說明 */
    int max(int a,int b);  /* 函數說明 */
    printf("input two numbers:\n");
    scanf("%d%d",&x,&y);  /* 輸入x,y值 */
    z=max(x,y);  /* 調用max函數 */
    printf("maxmum=%d",z);  /* 輸出 */
}

int max(int a,int b){  /* 定義max函數 */
    if(a>b){
        return a;
    }else{
        return b;  /* 把結果返回主調函數 */
    }
}


上面例中程序的功能是由用戶輸入兩個整數,程序執行後輸出其中較大的數。本程序由兩個函數組成,主函數和max 函數。函數之間是並列關系。可從主函數中調用其它函數。max 函數的功能是比較兩個數,然後把較大的數返回給主函數。max 函數是一個用戶自定義函數。因此在主函數中要給出說明(程序第三行)。可見,在程序的說明部分中,不僅可以有變量說明,還可以有函數說明。關於函數的詳細內容將在後續章節介紹。在程序的每行後用/*和*/括起來的內容為注釋部分,程序不執行注釋部分。

上例中程序的執行過程是,首先在屏幕上顯示提示串,請用戶輸入兩個數,回車後由scanf函數語句接收這兩個數送入變量x、y中,然後調用max函數,並把x、y的值傳送給max函數的參數a、b。在max函數中比較a、b的大小,把大者返回給主函數的變量z,最後在屏幕上輸出z的值。
 

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved