C 控制臺輸入函數(shù)

2018-05-19 15:42 更新

學(xué)習(xí)C - C控制臺輸入

我們可以通過多種方式從鍵盤讀取輸入。

以下是從鍵盤讀取輸入的函數(shù)列表:

getchar() 
gets() 
scanf() 

getchar()和putchar()函數(shù)

getchar()函數(shù)用于從鍵盤獲取一個字符,putchar()函數(shù)用于向Terminal打印一個字符。


  #include <stdio.h> 

  void getchar_putchar(); 

  int main() { 

      getchar_putchar(); 

      return 0; 
  } 

  void getchar_putchar(){ 
      int c; 

      printf ("Type a character: "); 
      c = getchar(); 
      printf ("char: %c\n",c); 
      putchar(c); 
      printf("\n"); 
  } 

上面的代碼生成以下結(jié)果。


gets()和puts()函數(shù)

gets()用于讀取文本。如果您輸入換行符(ENTER鍵),將停止閱讀。

我們可以使用fgets()來讀取長度限制的文本。


  #include <stdio.h> 

  void gets_puts(); 

  int main() { 
      gets_puts(); 
      return 0; 
  } 

  void gets_puts(){ 
      char name[256]; 

      printf ("Your name: "); 
      gets (name); 
      printf ("name: %s\n",name); 
      puts(name); 

      name[0] =  "\0"; // clear 
      printf ("Your name: "); 
      fgets(name,256,stdin); 
      printf ("name: %s\n",name); 
      puts(name); 
  } 

上面的代碼生成以下結(jié)果。


scanf()函數(shù)

另一種方法,我們可以使用scanf()函數(shù)來讀取文本。


  #include <stdio.h> 

  void scanf_demo(); 
  int main() { 
      scanf_demo(); 
      return 0; 
  } 

  void scanf_demo(){ 
      int num; 
      char c; 
      char city[15]; 

      float dec; 

      printf("Please enter an integer value: "); 
      scanf("%d", &num ); 

      // %c ignores space characters 
      printf("Please enter a character: "); 
      scanf(" %c", &c ); 

      printf("Please enter a city name (no space): "); 
      scanf("%s", city ); 

      printf("Please enter a decimal value:  "); 
      scanf("%f", &dec ); 

      printf("\n-----result-------\n"); 
      printf("number = %d\n", num ); 
      printf("character = %c\n", c ); 
      printf("city name = %s\n", city ); 
      printf("decimal number = %f\n", dec ); 
   } 

上面的代碼生成以下結(jié)果。

讀取程序參數(shù)

我們可以從我們的程序中讀取參數(shù)及其長度。此信息已傳遞給main()函數(shù)。


  #include <stdio.h> 

  int main(int argc, const char* argv[]) { 

      int i; 

      printf("total argument: %d\n",argc-1); 
      if(argc>1){ 
          for(i=1;i<argc;i++){ 
              printf("%s\n",argv[i]); 
          } 
      } 
      return 0; 
  } 

上面的代碼生成以下結(jié)果。

scanf()

下表列出了使用scanf()讀取數(shù)據(jù)的格式說明符

Action所需的控制字符串
讀取short類型的值%hd
讀取int類型的值%d
讀取long類型的值%ld
讀取float類型的值%f 或 %e
讀取double類型的值%lf 或 %le

在%ld和%lf格式說明符中,l是小寫的。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號