1. 輸出(output)
將資料輸出到螢幕(或檔案、印表機等設備)
2. 輸入(input)
將資料從鍵盤輸入到電腦(或從檔案、滑鼠等設備輸入)
3. 標準輸出入(從鍵盤輸入,並從螢幕輸出)
3.1. 標準輸出
3.1.1. syntax:
printf(格式字串[,參數])
格式字串內可以包括固定的字元或轉換規格符號
例:
char name[20]="Avatar";
int age=18;
//%s 對應 name , %d 對應 age
printf("Hi %s,you are %d years old.\n",name,age);
|
3.1.2.常用的轉換規格符號如下
%d 整數(int) 如 1,3,101
%f 小數(float) 如 3.14
%e,%g 小數,以科學記號表示(float) 如 1.2e-2
%c 字元(char) 如 'a','$','5','\n'
%s 字串(string) 如 "happy","All4you"
3.1.3. eg:
float temp;
char grade='A',name[5]="Joyce";
printf("Hello,everyone!");
printf("9*8*7*6=%d",9*8*7*6);
printf("Today's temperature is %f",temp);
//%s 對應 name,%c 對應 grade
printf("%s is a smart boy,he got %c in all subjects. ",name,grade);
|
3.2. 標準輸入
3.2.1. syntax:
scanf(格式字串[,位址])
格式的用法同printf
位址為輸入資料儲存的地方,通常表示為 &變數名稱(指標及陣列除外)
3.2.2. eg:
int money,math_sco,eng_sco,chi_sco;
char name[20],sex;
scanf("%d",&money);
scanf("%d%d%d",&math_sco,&eng_sco,&chi_sco);
scanf("%c",&sex);
scanf("%s",name); //注意!因為name為陣列,故不加&
|
4. 修飾符號
在 %與轉換規格字元之間,可使用修飾字元來修改原本的轉換規格符號。
較有用的修飾符號請見下表:
修飾符號 |
代表意義 |
例 |
數字(digit(s)) |
設定最少使用長度 |
%5d |
點(.digit(s)) |
設定精準度(若用在%e、%e則為小數點位數),若位數不足則會補0。 |
%.2f |
- |
輸出資料靠左對齊 |
%-10s |
+ |
輸出有號數時,若為正數則加一個正數,若為負數則加一負號。 |
%+5.2f |
0 |
若用於數字類型,實際數值前的位置會補0,而非空白字元。 |
%010d |
5. 其他輸出入函式
5.1. 字元輸出入
putc()、getc()、putchar()、getchar()
5.2. 字串輸出入
puts()、gets()
5.3. 檔案輸出入:
fopen(),fclose(),fprintf(),fscanf(),fputs),fgets()
6. 試試看
6.1 請設計一程式,可輸入個人基本資料,並將其輸出。
個人基本資料應含:姓名(10)、出生年(10)、性別(10)、電話(10)及地址(20)
(括號後為欄寬,並需靠左對齊)
例:
Name |
Year |
Sex |
Phone |
Address |
Avatar |
1990 |
M |
3946000 |
Taoyuan |
6.2 請設計一程式,可輸入書籍基本資料,並將其輸出。
個人基本資料應含:書名(10)、作者(10)、出版社(10)、定價(10)及ISBN(20)
(括號後為欄寬,並需靠左對齊)
例:
Title |
Author |
Publisher |
Price |
Pages |
ISBN |
Republic |
Plato |
Oxford |
100 |
500 |
123-456-789-0 |
6.3 請按下列格式輸入資料並利用修飾字元控制輸出資料的格式
6.3.1 輸入資料
a.15 b.2.54 c.0.000123 d.6E-3
6.3.2 輸出資料
a1.000015 (最小長度為6,靠右對齊)
a2.000015 (最小長度6,前面不足部份補0)
b.+002.540 (顯示正負號,整數部份最少長度3,小數部份最小長度3,不足補0)
c.1.23E-004 (使用科學記號表示)
d.0.006 (表示到小數點3位)