1.類型轉(zhuǎn)化:
(1)隱式轉(zhuǎn)化:整數(shù)除以整數(shù)為整數(shù)设预;小數(shù)除整數(shù)為小數(shù)
當賦值號兩邊類型不同時,自動轉(zhuǎn)化為精度較高的類型揽惹。
(2)顯式轉(zhuǎn)化:強制類型轉(zhuǎn)化:并不改變變量的類型昧识,只做臨時轉(zhuǎn)化
float_f = (float)int_t/int_t1
2.位運算符
(1)二進制數(shù):由0和1組成
2^0+2^1+2^2+2^3+2^4+....
0101010 0101110 00101010
(2)八進制數(shù):由0~7組成的,八進制數(shù)開頭是數(shù)字0,以區(qū)分八進制數(shù)
0212 0322 0209
(3)十六進制數(shù):由數(shù)字0~9和字母a~f或者A~F組成并且以0x或0X開頭
0x213 0x23a 0Xab21
(4)二進制 十進制 八進制 十六進制
0000 0 0 0
0001 1 1 1
0010 2 2 2
0011 3 3 3
0100 4 4 4
0101 5 5 5
0110 6 6 6
0111 7 7 7
1000 8 10 8
1001 9 11 9
1010 10 12 a/A
1011 11 13 b/B
1100 12 14 c/C
1101 13 15 d/D
1110 14 16 e/E
1111 15 17 f/F
(5)位操作
&:位與 4&3 = 0(0000)
12&7 = 4(0100)
轉(zhuǎn)化為對應(yīng)二進制數(shù)運算對應(yīng)位同時為1透罢,才為1
|:位或 4|3 = 7(0111)
轉(zhuǎn)化為對應(yīng)二進制數(shù)運算,按位相或冠蒋,即有1取1
~:非(取反) ~23 = -24 (~取負數(shù)減1)
計算機是補碼存儲羽圃,原碼輸出!6督恕朽寞!
原碼:正數(shù)的原碼是其本身
反碼:符號位不變,其它位按位取反
補碼:負數(shù)的補碼是其正數(shù)的原碼取反加1
0001 0111
補碼: 1110 1000
反碼: 1110 0111
原碼: 1001 1000
^:異或: 4^7 = 3
對應(yīng)位不同為1斩郎,相同為0愁憔;
<<:左移
8<<2 = 32
轉(zhuǎn)化為二進制,然后左移2位孽拷,低位補0
左移幾位,則乘以2的幾次方
>>:右移
8>>2 = 2
轉(zhuǎn)化為二進制半抱,然后右移2位脓恕,高位補0
3.賦值操作符
賦值號:=
+= -= *= /= %=
&= |= >>= <<=
4.邏輯運算符和條件運算符
(1)邏輯運算符
&&:邏輯與
表達式1 && 表達式2
當表達式1和2同時為真時,結(jié)果為真窿侈,否則為假
注意:當表達式1為假時炼幔,表達式2無需計算,結(jié)果為假
||:邏輯或
表達式1 || 表達式2
表達式1和2只要有一個為真史简,結(jié)果就為真
注意:當表達式1為真時乃秀,表達式2無需計算,結(jié)果為真
!:非
若表達式為真跺讯,則結(jié)果為假
若表達式為假枢贿,則結(jié)果為真
(2)條件運算符
?:
表達式1 刀脏? 表達式2:表達式3
若表達式1為真局荚,則執(zhí)行表達式2,否則執(zhí)行表達式3
a>b?a:b
5.運算符優(yōu)先級
括號成員第一愈污,全體單目第二耀态,乘除余三,加減四暂雹;
位移五首装,關(guān)系六,等于不等排第七杭跪;
位于仙逻,異或和位或八九十,邏輯或和與十二與十一揍魂;
條件高于賦值桨醋,逗號運算最低。
6.C語言的三大結(jié)構(gòu)
順序結(jié)構(gòu)现斋、分支結(jié)構(gòu)喜最、循環(huán)結(jié)構(gòu)
1.分支結(jié)構(gòu)
(1) if(表達式){,庄蹋,瞬内,,}
表達式為真限书,則執(zhí)行在{}里的語句虫蝶,否則不執(zhí)行
(2)if(){}
else{}
(3)if
else if
else if
...
else
(4)if的嵌套使用
(5)使用if注意事項
80<num<90 //錯誤
if條件句后面只有一條語句時,可以不加{}倦西;
但此語句不能是變量定義語句能真。
在if的{}里定義的變量,只能在{}中使用扰柠,在{}外無效7垲怼!卤档!
2.switch....case:
(1) switch(option)
case option:
break;
....
default:
根據(jù)option的值執(zhí)行case語句蝙泼,若沒有與之對應(yīng)的值
則執(zhí)行default語句
(2)注意事項:
default語句可以放在switch{}里的任意位置:
case語句后的{},可以省略不寫劝枣,
當case后的執(zhí)行語句超過3條汤踏,則建議加{}Vā!溪胶!
(3)case語句中的break視情況而定是否寫:
若case語句中無break搂擦,則順次執(zhí)行所有的case語句
知道把所以case語句全部執(zhí)行完,退出switch語句和载荔;
3.循環(huán)結(jié)構(gòu)
while() do{}while() for(;;)
(1)while(表達式)
{
//執(zhí)行語句
}
先判斷條件是否滿足執(zhí)行條件盾饮,滿足則執(zhí)行循環(huán)體,
不滿足則退出循環(huán)懒熙,循環(huán)結(jié)束之后再判斷丘损。。工扎。
(2)break/continue
break:
跳出循環(huán)徘钥!
continue:
跳過這次循環(huán)執(zhí)行下一次循環(huán)!
(3)do{}while()肢娘;
do
{
//循環(huán)體
}while(表達式)呈础;
先執(zhí)行后判斷!
(4)for(;;)
for(表達式1;表達式2;表達式3)
{
//循環(huán)體橱健;
}
表達式1:循環(huán)條件初始化
表達式2:循環(huán)結(jié)束條件或者循環(huán)執(zhí)行條件
表達式3:循環(huán)步長或者變量值的更新
注:表達式1,2,3可以任意省略或全部省略
但是“而钞;;“不可省略拘荡!
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者