//聯(lián)系人:石虎QQ: 1224614774昵稱:嗡嘛呢叭咪哄
一、算術(shù)運(yùn)算
C語(yǔ)言一共有34種運(yùn)算符,包括了常見(jiàn)的加減乘除
1.加法運(yùn)算+
# 除了能做加法運(yùn)算,還能表示正號(hào):+5、+90
2.減法運(yùn)算-
# 除了能做減法運(yùn)算,還能表示符號(hào):-10、-200
3.乘法運(yùn)算*
# 注意符號(hào),不是x,而是*
4.除法運(yùn)算/
# 注意符號(hào),不是÷,也不是\,而是/
# 整數(shù)除于整數(shù),還是整數(shù)。1/2的值是0,并不是二分之一
5.取余運(yùn)算%
# 什么是取余:兩個(gè)整數(shù)相除之后的余數(shù)
# %兩側(cè)只能是整數(shù)
# 正負(fù)性取決于%左側(cè)值
6.注意點(diǎn)
* 自動(dòng)類型轉(zhuǎn)換
int a = 10.6
int b = 10.5 + 1.7
自動(dòng)將大型轉(zhuǎn)換為了小數(shù)類型,會(huì)丟失精度
* 自動(dòng)類型提升
int b = 10.5 +10;
將右邊的10 提升為了double類型
double b = 1.0/2;
解決除法的精度問(wèn)題
* 強(qiáng)制類型轉(zhuǎn)換
double a = (double)1/2
double b = (double)1/2
* 運(yùn)算順序
# 表達(dá)式
# 結(jié)合性(結(jié)合方向):2+3+4
# 優(yōu)先級(jí):5+4*8-3
二、賦值運(yùn)算
1. 簡(jiǎn)單賦值
* int a = 10 +5;的運(yùn)算過(guò)程
* a= b = 10;的運(yùn)算過(guò)程
* 等號(hào)左邊部能是常量,比如10 =11;
2.復(fù)合賦值
* 復(fù)合減乘除余: a+=4 =5;
三、自增自減
1.簡(jiǎn)單使用
* ++自增運(yùn)算符。如a++ ,++a 都是等價(jià)于a = a+1
* 自減運(yùn)算符。如a--,--a,都等價(jià)于 a= a-1
* 5++ 是錯(cuò)誤的
2. ++a和a++的區(qū)別
int a = 10;
a++; ++a;
int b = a++; int b= ++a;
四 、sizeof
1.作用
用來(lái)計(jì)算一個(gè)變量或者一個(gè)常量、一種數(shù)據(jù)類型所占的內(nèi)存字節(jié)數(shù)。
2.基本形式
* sizeof(變量\常量)
* sizeof 變量\常量
* sizeof(數(shù)據(jù)類型)
五、 關(guān)系運(yùn)算(比較運(yùn)算)
1.條件判斷
* 默認(rèn)情況下,我們?cè)诔绦蛑袑?xiě)的每一句正確代碼都會(huì)被執(zhí)行。但很多時(shí)候,我們想在某個(gè)條件成立的情況下才執(zhí)行某一段代碼
* 這種情況的話可以使用條件語(yǔ)句來(lái)完成,但是我們暫時(shí)不學(xué)習(xí)條件語(yǔ)句,先來(lái)看看一下更基礎(chǔ)的知識(shí):如何來(lái)判斷一個(gè)條件成不成立。
2.真假
* 在c語(yǔ)言中,條件成立稱為”真“,條件不成立稱為”假“,因此,判斷條件是否成立,就是判斷條件的”真假“。
* 怎么判斷真假呢? c語(yǔ)言規(guī)定,任何數(shù)值都真假性,任何非0值都為”真“,只有0才為”假“。也就是說(shuō),108,-18,4.5、-10.5等都是”真“,0則是”假“。
3.關(guān)系比較
* 開(kāi)發(fā)中經(jīng)常要比較,比如斗地主游戲中牌的大小。利用關(guān)系運(yùn)算符就可以比較兩個(gè)值的大小。
* 關(guān)系運(yùn)算符的運(yùn)算結(jié)果只有2種:如果條件成立,結(jié)果就是1,也就是”真“;如果條件不成立,結(jié)果就為0,也就是”假“
4.使用注意
* 關(guān)系運(yùn)算符中 ==、!=的優(yōu)先級(jí)相等,<、<=、>、>=的優(yōu)先級(jí)相等,且前者的優(yōu)先級(jí)低于后者:2==3>1
* 關(guān)系運(yùn)算符的結(jié)合方向?yàn)椤睆淖笸摇埃?>3>2
* 關(guān)系運(yùn)算符的優(yōu)先等級(jí)小于算術(shù)運(yùn)算符:3+4>8-2
六、邏輯運(yùn)算
* 有時(shí)候,我們需要在多個(gè)條件同時(shí)成立的時(shí)候才能執(zhí)行某段代碼,比如:用戶只有同時(shí)輸入了qq和qq密碼,才能執(zhí)行登陸代碼,,如果只輸入了QQ或者只輸入了密碼,就不能執(zhí)行登陸嗲碼。這中情況下,我們需要借助C語(yǔ)言提供的邏輯運(yùn)算符。
* 邏輯運(yùn)算的結(jié)果只有2個(gè):”真“為1,”假“為0
1.&&邏輯與
* 使用格式
#?”條件A&&添加B“
* 運(yùn)算結(jié)果
#?只有當(dāng)條件a和添加b成立時(shí),結(jié)果才為1,也就是”真“;其余情況的結(jié)果都為0,也就是”假“。因此,條件A或者添加B只要有一個(gè)不成立,結(jié)果都為0,也就是”假“
*運(yùn)算過(guò)程
#?總是先判斷條件A是否成立
#如果添加A成立,接著再判斷條件B是否成立:如果添加B成立,”條件A&&B“的結(jié)果為1,即”真“,如果條件B不成立,結(jié)果就是0,即”假“
# 如果條件A不成立,就不會(huì)再去判斷條件B是否成立:因?yàn)闂l件A已經(jīng)不成立了,不管條件B如何,”條件A&&條件B“的結(jié)果肯定是0,也就是”假“
*舉例
邏輯與的結(jié)合方向是”自左至右“ 。比如表達(dá)式(a>3)&&(a<5)
#?若a的值是4:先判斷a>3,成立:再判斷a<5,成立。因此為1
#?若a的值是2:先判斷a>3,不成立,停止判斷。因此結(jié)果為0
* 注意
#?若想判斷a的值是否在(3, 5)范圍內(nèi),千萬(wàn)不能寫(xiě)成33)?&&?(a<5)
#?C語(yǔ)言規(guī)定:任何非0值都為“真”,只有0才為“假”。因此邏輯與也適用于數(shù)值。比如 5 && 4的結(jié)果是1,為“真”;-6 && 0的結(jié)果是0,為“假”
2.||邏輯或
* 使用格式
”條件A||條件B“
* 運(yùn)算結(jié)果
當(dāng)條件A或者條件B只要由一個(gè)成立時(shí)(也包括添加A和條件B都成立),結(jié)果就為1,也就是”真“;只有當(dāng)條件A和條件B都不成立時(shí),結(jié)果才為0,也就是”假“。
* 運(yùn)算過(guò)程
總是先判斷添加A是否成立
# 如果條件A成立,就不會(huì)再取判斷條件B是否成立:因?yàn)闂l件A已經(jīng)成立了,不管添加B如何,”條件A“||"條件B"的結(jié)果肯定是1,也就是”真“。
# 如果條件A不成立,接著再判斷條件B是否成立:如果條件B 成立,”條件A“||”條件B“的結(jié)果就為1即”真“,如果添加B不成立,結(jié)果為0 即”假“
* 舉例
邏輯或的結(jié)合方向是”自左至右“。比如表達(dá)式(a<3)||(a>5)
#?若a的值是4:先判斷a<3,不成立;再判斷a>5,也不成立。因此結(jié)果為0
#?若a的值是2:先判斷a<3,成立,停止判斷。因此結(jié)果為1
#?因此,如果a的值在(-∞, 3)或者(5, +∞)范圍內(nèi),結(jié)果就為1;否則,結(jié)果就為0
* 注意
C語(yǔ)言規(guī)定:任何非0值都為“真”,只有0才為“假”。因此邏輯或也適用于數(shù)值。比如 5 || 4的結(jié)果是1,為“真”;-6 || 0的結(jié)果是1,為“真”;0 || 0的結(jié)果是0,為“假”
3.!?邏輯非
* 使用格式?“!?條件A”
*?運(yùn)算結(jié)果
#?其實(shí)就是對(duì)條件A進(jìn)行取反:若條件A成立,結(jié)果就為0,即“假”;若條件A不成立,結(jié)果就為1,即“真”。也就是說(shuō):真的變假,假的變真。
*舉例
#?邏輯非的結(jié)合方向是“自右至左”。比如表達(dá)式 ! (a>5)
# 若a的值是6:先判斷a>5,成立,再取反之后的結(jié)果為0
# 若a的值是2:先判斷a>3,不成立,再取反之后的結(jié)果為1
# 因此,如果結(jié)果的值大于5,結(jié)果就為0;否則,結(jié)果為1
*注意
# 可以多次連續(xù)使用邏輯非運(yùn)算符:!(4>2)結(jié)果為0,是”假“,?。。?>2)結(jié)果為1,是”真“,?。。。?>2)結(jié)果為0
# C語(yǔ)言規(guī)定:任何非0值都為”真“,只有0才為假”0“。因此,對(duì)非0值進(jìn)行邏輯非!運(yùn)算的結(jié)果都是0,對(duì)0進(jìn)行邏輯非!運(yùn)算的結(jié)果為1。!5、!6.7、!-9的將誒過(guò)都為0,!0結(jié)果為1.
4.優(yōu)先級(jí)
* 邏輯運(yùn)算符的優(yōu)先級(jí)別順利為:小括號(hào)() > 負(fù)號(hào) - >!> 算術(shù)運(yùn)算符 > 關(guān)系運(yùn)算符 >&&>||
*?表達(dá)式!(3>5) || (2<4) && (6<1) :先計(jì)算 !(3>5)、(2<4)、(6<1),結(jié)果為1,式子變?yōu)? || 1 && 0,再計(jì)算1 && 0,式子變?yōu)? || 0,最后的結(jié)果為1
*?表達(dá)式3+2<5||6>3 等價(jià)于 ((3+2) < 5) || (6>3),結(jié)果為1
*?表達(dá)式4>3 && !-5>2 等價(jià)于 (4>3) && ?((!(-5)) > 2) ,結(jié)果為0
七、三元運(yùn)算符
*N目運(yùn)算符->三目運(yùn)算符
#?int a = 5?10:2;
# 獲得a、b中的最大數(shù)
# ?獲得a、b、c中的最大數(shù)
謝謝!!!