1.表達式: 表達式的判斷是有無結果(值), 最簡單的表達式是一個常量或變量, 如:12, a, 3 + 1, a + b, a + 5 都是表達式spa
2.BOOL(布爾)數據類型: c語言中除了基本數據類型, 還有BOO數據類型, 以及一些其它的數據類型, 如自定義的結構體數據類型內存
BOOL數據類型是一種表示非真即假的數據類型, 布爾類型的變量只有YES和NO兩個值. YES表示表達式結構爲真, 反之, NO表示表達式結果爲假(在c語言中, 認爲非0即爲真), BOOL類型主要用與分支結構或循環結構中, 用於判斷是執行if語句仍是else語句, 或判斷是否要執行循環體. #define YES 1 計算機在識別時, YES就替換成 1, #define NO 0 計算機在識別時, NO就替換成 0it
3. 關係運算符: >, >=, <, <=, ==, !=class
關係運算符主要用於比較運算, 比較的結果只有真假兩種狀況, 結果值用BOOL類型變量存儲. 注意: 判斷兩個數是否相等, 用 == (雙等號)變量
4. 邏輯運算符:&&(邏輯與), ||(邏輯或), !(邏輯非)循環
邏輯運算符組成的表達式, 結果也是非真即假.數據類型
&&: 運算符兩邊的表達式同時爲真時, 整個邏輯表達式的結果才爲真二進制
||: 運算符兩邊的表達式同時爲假時, 整個邏輯表達式的結果才爲假數據
!: 將表達式的值取反. 如表達式的值爲0(假)時,取反值爲非0(真); 當表達式的值爲非0(真)時, 取反爲0(假)計算機
5. 位運算符: &(按位與), |(按位或), ^(按位異或), ~(按位非)
//位運算符:
//按位與 &:同爲1, 則爲1, 不然爲0, 用於給某一位進行清零
int a = 4 & 6;
printf("%d\n", a);
//按位 或 |:同爲0, 則爲0, 不然爲1, 用於保留某一位
a = 4 | 6;
printf("%d\n", a);
//按位異或 ^:相同爲0, 不一樣爲1
a = 4 ^ 6;
printf("%d\n", a);
//按位非 ~:若是是一個有符號的數, 則二進制最高位表明符號位, 1 表明負數, 0表明正數
//數據在內存中存儲時是以補碼的形式存儲, 正數的補碼是正數自己, 負數的補碼是絕對值取反加1
6. 一個字節表明 8 位二進制數
數據類型的取值範圍:
a. 無符號:
char 0 ~ 2^8 - 1
short 0 ~ 2^16 - 1
int 0 ~ 2^32 - 1
b. 有符號:
char -2^7 ~ 2^7 - 1
short -2^15 ~ 2^15 - 1
int -2^31 ~ 2^31 - 1
*/
7. if...else...比較簡單, 就不記了. switch...case分支結構
int number = 0;
printf("請輸入一個分機號(801:教學部,802:諮詢部,803:財務部,804:保衛科,805:市場部):\n");
scanf("%d", &number)
switch (number) {
case 801:
case 809://當number = 801 或 809 時輸出的結果都是教學部
printf("教學部\n");
break;//break結束當前分支,退出switch,執行switch以後的語句
case 802://case後的表示必須是一個常量,或者是一個常量表達式
{int a = 10;}//若是在case分支中想要定義變量,必定要加上大括號
printf("諮詢部\n");
break;
case 803:
printf("財務部\n");
break;
case 804:
printf("保衛科\n");
break;
case 805:
printf("市場部\n");
break;
//當沒有找到(匹配到)對應的case分支時執行default語句
default:
printf("要找誰\n");
break;
}
注意:case後的表示必須是一個常量,或者是一個常量表達式. 若是在case分支中想要定義變量,必定要加上大括號