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(“格式控制符”,參數地址表);