c語言中有多種的輸入和輸出方式,下面就簡單總結一下:
一.輸入的三種方式
(1)scanf
scanf 函式可以在變數中使用,也可以在陣列中使用,當然指標上也能用到,是乙個很好的輸入函式.scanf是乙個格式輸入,比如scanf("%d-%d-%d",&i,&j,&z),在控制台上輸入的時候,應該以雙引號的格式輸入即2015-3-19的格式輸入,否則會出錯!
scanf的缺點:
在字串輸入的時候,不能有空格.遇到空格會自動結束輸入;
另外,如果使用者輸入的字串長度大於陣列長度時,沒有空間存'\0'這個結束符!
還有乙個缺點就是,scanf屬於不安全型別的輸入法.
(2)gets函式輸入法
使用的例子:
char arr[10];
gets(arr);
printf("%s",arr);
優點:字串輸入的時候,可以有空格;
缺點:不安全,如果輸入的字串的長度大於了陣列的長度,會溢位
(3)fgets()函式輸入法
fgets()函式的使用:fgets(字元陣列名,陣列長度,stdin) ,其中,stdin是指標準的輸入
例子:int arr[10];
fgets(arr,10,stdin);
fgets()的優點:如果輸入的字串長度大於可字元陣列的長度,此時,fgets會自動截斷
注意事項:fgets只能儲存的長度為陣列長度減乙個字元,因為他要用乙個字元長度來存放'\n';
當輸入的內容小於陣列長度的時候,多接收了乙個換行字元(要檢驗它多接收了乙個換行的標誌,用輸入ascii碼的數字形式輸出 即%d,'\n'在ascii的十進位制數為10);其解決辦法把'\n'替換成'\0'
如下:(if(s[stlen[s]-1])=='\n')
二.輸入的三種函式
(1)printf()函式
printf是格式化輸出,例如printf("%d,%d,%d",i,j,k)在控制台上的輸出格式為 2015,3,19(因為上引號中用括號隔開,所以控制台也用逗號隔開;如果換成空格隔開,控制台上顯示的也是用空格隔開),簡而言之,printf的格式是怎麼樣的,顯示出來的格式就是什麼樣的!
缺點:printf不能自動換行
(2)puts()函式輸出
puts函式克服了printf不能自動換行的缺點,可以自動換成;但是卻不可以像printf那種可以格式化輸出.
使用格式為:puts(陣列名);
(3)fputs()函式輸出
fputs()可以輸出乙個字串到檔案中,格式如下:
fputs(陣列名,stdout),其中,stdout 標準的輸出
例子:fgets(s , stdout)
缺點:fputs不能自動換行
C語言輸入和輸出
編寫程式的主要目的是為了處理資料,但是,資料從 來?資料的 有很多種方式,如從磁碟檔案中讀取資料 從資料庫中讀取資料 從網頁中抓取資料等,還有一種重要的方式就是從鍵盤輸入資料。在c語言中,有三個函式可以從鍵盤獲得使用者輸入。getchar 用於輸入單個字元。gets 獲取一行資料,並作為字串處理。s...
C語言輸入和輸出
1.有關概念 1 輸入輸出是以計算機主體而言的。2 c語言本身不提供輸入輸出語句,輸入輸出操作是由c標準函式庫中的函式來實現的。3 要在程式檔案的開頭用預處理指令 include把有關標頭檔案放在本程式中。關於標頭檔案的形式 使用尖括號的話,編譯時會先在系統include目錄裡搜尋,如果找不到才會在...
C語言輸入和輸出
五 scanf輸入 六 注意事項 七 課後作業 編寫程式的主要目的就是為了處理資料。資料從 來?資料的 有很多種方式,如從磁碟檔案中讀取資料 從資料庫中讀取資料 從網頁中抓取資料等,還有一種原始的方式就是從鍵盤輸入資料。在c語言中,有三個函式可以從鍵盤獲得使用者輸入。getchar 輸入單個字元,儲...