C語言程式設計0基礎學習曆程(3)—— 輸入輸出
目錄:
- 輸出語句
- 輸入語句
變量被指派之後,又該如何将其顯示在螢幕上呢?這就需要用到我們的輸出語句了。
一、輸出語句
C語言中使用printf()函數(标準輸出函數)來實作輸出。其作用為輸出一個字元串,或按照指定格式和類型輸出變量。
示例:
#include <stdio.h>
int main()
{
int a=1;
printf("%d\n",a);
printf("Hello!\n");
return 0;
}
在上例中我們看到了諸如 “%d” “\n” 之類的字元,那麼他們的作用是什麼呢?
(1)格式轉換說明
附:表1
符号 | 用法 |
---|---|
%d | 輸出帶符号的十進制整數(正數符号忽略) |
%u | 輸出無符号的十進制整數 |
%o | 輸出無符号八進制整數(不帶前導符0) |
%x | 輸出無符号十六進制整數(小寫,且不帶前導符0x) |
%X | 輸出無符号十六進制整數(大寫,且不帶前導符0x) |
%c | 輸出一個字元 |
%s | 輸出一個字元串 |
%f | 以十進制小數輸出(隐含輸出小數點後6位) |
%e | 以指數形式輸出實數(小數點前有且僅有一位非0數字) |
%E | 以指數形式輸出實數 |
%g | 自動選擇f或g格式中寬度較小的一種且不輸出無意義的0 |
%% | 輸出 ‘%‘ |
(2)轉義字元
附:表2
字元 | 含義 |
---|---|
\n | 換行 |
\r | 将光标停至行首但不換行 |
\0 | 空字元,用于字元串末尾表結束 |
\t | 水準制表 |
\v | 垂直制表 |
\b | 倒退 |
\f | 走頁換紙 |
\a | 提示音 |
\" | 列印一個雙引号 |
\’ | 列印一個單引号 |
\ | 列印一個反斜線 |
\? | 列印一個問号 |
\ddd | 1到3位8進制ASCII碼所代表的字元 |
\xhh | 1到2位16進制ASCII碼所代表的字元 |
(3)格式修飾符
附:表3
格式修飾符 | 用法 |
---|---|
l | 在諸如d,o,x,u之類格式符之前添加,輸出long型資料 |
l | 在諸如f,e,g之類格式符之前添加,輸出long double型資料 |
h | 在諸如d,o,x之類格式符之前添加,輸出short型資料 |
m | 若為正,當資料寬度小于m時,右對齊;大于m時全部輸出;若m前有前導符0,則在左側補充0直到到達m寬度; 若為負,則左對齊。 (注:m為整數) |
.n | 對于浮點數,指定輸出小數點後幾位; 對于字元串指定從左側開始輸出的字元數。 (注:n為非負整數) |
例:
#include <stdio.h>
int main()
{
int a=100000;
printf("%10d",a);
return 0;
}
運作結果:

(4)printf 函數輸出格式
printf (“格式控制字元串”);
或
printf(“格式控制字元串”,輸出值參數表);
(5)其他輸出函數
putchar():把一個字元輸出到螢幕目前光标的位置。
二、輸入函數
C語言的輸入主要使用scanf()函數(标準輸入函數)來實作。其作用為從輸入緩存區中讀入一個字元串。
示例:
#include <stdio.h>
int main()
{
int a;
scanf("%d",&a);
printf("%d",a);
return 0;
}
運作結果:
其中第一行為輸入,第二行為輸出。
(1)輸入結束标志:
- 遇到空格符、回車、制表符時;
- 達到輸入域寬;
- 遇到非法字元輸入;
輸入必然有一個輸入的結束标志,否則電腦不知道何時才停止對資料的讀入。是以規定第一條的三種情況為輸入結束标志。
如同輸出可以指定輸出長度,輸入也可以指定輸入長度,使用方法同輸出函數。不同的是當資料超過指定寬度時,輸入函數結束本次輸入,而輸出函數則将資料全部輸出。
輸入函數中包含格式修飾符,是以輸入資料類型必須與函數所提供的格式保持一緻,否則可能引發錯誤,(讀者可以自己動手試一試)當遇到不同類型的輸入時可以結束此次輸出,如要求輸入一個整數類型,而輸入為“1,”,當遇到“,”時,程式認為結束此次輸入。可通過檢查輸入函數傳回值來判斷是否成功讀入資料,若傳回指定資料則為成功,若傳回EOF值(stdio.h中為-1)則表示失敗。
例1:
#include <stdio.h>
int main()
{
int a;
scanf("%3d",&a);
printf("%d",a);
return 0;
}
運作結果:
例2:
#include <stdio.h>
int main()
{
int a;
scanf("%d",&a);
printf("%d",a);
return 0;
}
運作結果:
(2)注意事項:
- 在使用“%c”格式讀入字元時,空格字元和轉義字元(包括回車)都會被當做有效字元輸入。
- 輸入格式中的變量前需加上取址符“&”。輸入格式字元串中不能包含諸如‘\n’類的轉義字元。
- 實型資料無法規定輸入精度。
(3)scanf函數輸入格式
scanf(“格式控制符”,參數位址表);