?: 的一般形式為<表达式1> ? <表达式2> : <表达式3>
其中表達式1為布爾表達式, 或真或為假. 若表達式1為真, 則返回表達式2的值作為整個條件表達式的值. 若條件為假, 則返回表達式3的值. 例如
max = (a > b) ? a : b ;
?: 的一般形式為<表达式1> ? <表达式2> : <表达式3>
max = (a > b) ? a : b ;
#include <stdio.h>
int main(void) {
int count = printf("This is a test!\n");
printf("%d\n", count);
return 0;
}
| This is a test! 16 |
| %c | 以字元 方式輸出 |
| %d | 10 進位整數輸出 |
| %o | 以8進 位整數方式輸出 |
| %u | 無號整數輸出 |
| %x, %X | 將整 數以16進位方式輸出 |
| %f | 浮點 數輸出 |
| %e, %E | 使用科學記號顯示浮點數 |
| %g, %G | 浮點數輸出,取%f或%e(%f或%E),看哪個表示精簡 |
| %% | 顯示 % |
| %s | 字串輸出 |
#include <stdio.h>
int main(void) {
printf("顯示字元 %c\n", 'A');
printf("顯示字元編碼 %d\n", 'A');
printf("顯示字元編碼 %c\n", 65);
printf("顯示十進位整數 %d\n", 15);
printf("顯示八進位整數 %o\n", 15);
printf("顯示十六進位整數 %X\n", 15);
printf("顯示十六進位整數 %x\n", 15);
printf("顯示科學記號 %E\n", 0.001234);
printf("顯示科學記號 %e\n", 0.001234);
return 0;
}
| 顯示字元 A 顯示字元編碼 65 顯示字元編碼 A 顯示十進位整數 15 顯示八進位整數 17 顯示十六進位整數 F 顯示十六進位整數 f 顯示科學記號 1.234000E-003 顯示科學記號 1.234000e-003 |
#include <stdio.h>
int main(void) {
printf("example:%6.2f\n", 19.234);
printf("example:%-6.2f\n", 19.234);
return 0;
}
| example: 19.23 example:19.23 |
#include <stdio.h>
#include <stdlib.h>
int main(void) {
printf("%*d\n", 1, 1);
printf("%*d\n", 2, 1);
printf("%*d\n", 3, 1);
return 0;
}
| 1 1 1 |
#include <stdio.h>
int main(void) {
int input;
printf("請輸入數字:");
scanf("%d", &input);
printf("您輸入的數字:%d\n", input);
return 0;
}
| 請輸入數字:10 您輸入的數字:10 |
#include <stdio.h>
int main(void) {
int number1, number2;
printf("請輸入兩個數字,中間使用空白區隔):");
scanf("%d %d", &number1, &number2);
printf("您輸入的數字:%d %d\n", number1, number2);
printf("請再輸入兩個數字,中間使用-號區隔):");
scanf("%d-%d", &number1, &number2);
printf("您輸入的數字:%d-%d\n", number1, number2);
return 0;
}
| 請輸入兩個數字,中間使用空白區隔):10 20 您輸入的數字:10 20 請再輸入兩個數字,中間使用-號區隔):30-40 您輸入的數字:30-40 |
#include <stdio.h>
int main(void) {
char str[50];
printf("請輸入1到5的字元:");
scanf("%[1-5]", str);
printf("輸入的字元為 %s\n", str);
fflush(stdin); // 清除輸入緩衝區
printf("請輸入XYZ任一字元:");
scanf("%[XYZ]", str);
printf("輸入的字元為 %s\n", str);
return 0;
}
| 請輸入1到5的字元:146731 輸入的字元為 14 請輸入XYZ任一字元:XYZXDX 輸入的字元為 XYZX |
0
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
| 型別 | 符號位元 | 位元長度 | 表示方法 | 數值範圍 |
| 整數 | 有 | 16或32 | int | -2147483648 ~ 2147483647 |
| 8 | char | -128 ~ 127 | ||
| 16 | short | -32768 ~ 32767 | ||
| 32 | long | -2147483648 ~ 2147483647 | ||
| 64 | long long | |||
| 無 | 16或32 | unsigned int | 0 ~ 4294967295 | |
| 8 | unsigned char | 0 ~ 256 | ||
| 16 | unsigned short | 0 ~ 65535 | ||
| 32 | unsigned long | 0 ~ 4294967295 | ||
| 64 | unsigned long long | |||
| 浮點數 | 有 | 32 | float | 10^-38~10^38 |
| 64 | double | 10^-308~10^308 | ||
| 字元 | 有 | 8 | char | -128 ~ 127 |