基本輸入輸出

來源:互聯網
上載者:User

 這個,簡單說來: 
c語言本身沒有直接提供輸入輸出語句,輸入輸出是靠函數提供的: 
  
getchar()  //從鍵盤上輸入一個字元常量,此常量就是該函數返回的值; 
putchar() //把變數中的一個字元常量輸出; 
scanf()      //從鍵盤上輸入各類資料,並存放到程式變數中; 
printf()  //把鍵盤中的各類資料,加以格式控制輸出; 
gets()      //讀入一行字串常量並放到程式的數組中; 
puts()      //把陣列變數中的一個字串常量輸出,並且帶有斷行符號'\n'; 
sscanf()    //從一個字串中提取各類資料;  
sprintf()  //將各類資料寫入字串中; 
  
一、printf()函數 //fprintf,sprintf和printf用法基本一樣,實際上我個人認為: 
fprintf(stdout,"" ,&) == printf(" ", &); 
  
printf()函數是格式化輸出函數, 一般用於向標準輸出裝置按規定格式輸出 
資訊。在編寫程式時經常會用到此函數。printf()函數的調用格式為: 
printf(" <格式化字串>", <參量表>); 
其中格式化字串包括兩部分內容: 一部分是正常字元, 這些字元將按原 
樣輸出; 另一部分是格式化規定字元, 以"%"開始, 後跟一個或幾個規定字元, 
用來確定輸出內容格式。 
參量表是需要輸出的一系列參數, 其個數必須與格式化字串所說明的輸出 
參數個數一樣多, 各參數之間用","分開, 且順序一一對應, 否則將會出現意想 
不到的錯誤。 
  
二、scanf()函數//和printf類似,fscanf,sscanf和scanf用法格式基本一致 
  
scanf()函數是格式化輸入函數, 它從標準輸入裝置(鍵盤) 讀取輸入的資訊。 
其調用格式為: 
scanf(" <格式化字串>", <地址表>); 
格式化字串包括以下三類不同的字元; 
1. 格式化說明符: 格式化說明符與printf()函數中的格式說明符基本相同。 
2. 空白字元: 空白字元會使scanf()函數在讀操作中略去輸入中的一個或多 
個空白字元。 
3. 非空白字元: 一個非空白字元會使scanf()函數在讀入時剔除掉與這個非 
空白字元相同的字元。 
地址表是需要讀入的所有變數的地址, 而不是變數本身。這與printf()函數 
完全不同, 要特別注意。各個變數的地址之間同","分開。 
三。puts()和gets()函數 
1. puts()函數 
puts()函數用來向標準輸出裝置(螢幕)寫字串並換行, 其調用格式為: 
puts(s); 
其中s為字串變數(字串數組名或字串指標)。 
puts()函數的作用與語printf("%s\n", s)相同。 
2. gets()函數 
gets()函數用來從標準輸入裝置(鍵盤)讀取字串直到斷行符號結束, 但斷行符號符 
不屬於這個字串。其調用格式為: 
gets(s); 
其中s為字串變數(字串數組名或字串指標)。 
gets(s)函數與scanf("%s", &s)相似, 但不完全相同, 使用scanf("%s", &s) 
函數輸入字串時存在一個問題, 就是如果輸入了空格會認為輸入字串結束, 
空格後的字元將作為下一個輸入項處理, 但gets() 函數將接收輸入的整個字元 
串直到斷行符號為止。 
-- 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.