C語言的程序由各類語句構成,主要分為五大類:
a = b + c;printf("Hello");while(getchar() != '\n');C語言支援鏈式賦值,遵循右結合性:
a = b = c = d = e = 10
實際執行順序為:
e = 10;
d = e;
c = d;
b = c;
a = b;
功能:在顯示器上輸出單個字符
putchar(字符變量);
功能:從鍵盤讀取一個字符,通常配合賦值語句使用:
char c;
c = getchar();
函數原型位於 stdio.h,一般形式:
printf("格式控制字符串", 輸出表列);
[標志][輸出最小寬度][.精度][長度]類型,方括號內為可選項。
| 格式字符 | 意義 |
|---|---|
| d | 以十進制輸出帶符號整數 |
| o | 以八進制輸出無符號整數 |
| x/X | 以十六進制輸出無符號整數 |
| u | 以十進制輸出無符號整數 |
| f | 以小數形式輸出實數 |
| e/E | 以指數形式輸出實數 |
| g/G | 以 %f 或 %e 中較短者輸出 |
| c | 輸出單個字符 |
| s | 輸出字符串 |
| 標志 | 意義 |
|---|---|
| - | 結果左對齊,右側填空格 |
| + | 輸出符號(正號或負號) |
| 空格 | 正數冠以空格,負數冠以負號 |
| # | 對 o 類加前綴 0,對 x 類加前綴 0x,對 e/g/f 類在有小數時才給出小數點 |
一般形式:
scanf("格式控制字符串", 地址表列);
注意:地址表列必須使用取址運算符 &,如 &a、&b。
%[*][輸入數據寬度][長度]類型
| 格式字符 | 意義 |
|---|---|
| d | 輸入十進制整數 |
| o | 輸入八進制整數 |
| x | 輸入十六進制整數 |
| u | 輸入無符號十進制整數 |
| f/e | 輸入實型數 |
| c | 輸入單個字符 |
| s | 輸入字符串 |
scanf("%d %*d %d", &a, &b); 輸入 1 2 3 時,1 給 a,2 被跳過,3 給 bscanf("%5d", &a); 輸入 12345678 只讀取 12345l 表示長整型(%ld)或雙精度(%lf),h 表示短整型scanf("%5.2f", &a); 是非法的scanf("%d", a); 錯誤,正確為 scanf("%d", &a);scanf("%c%c%c", &a, &b, &c); 輸入 d e f 時,空格也被視為有效字符;若需跳過空格,格式串應寫為 "%c %c %c"