//聯(lián)系人:石虎QQ: 1224614774昵稱:嗡嘛呢叭咪哄
一疼鸟、算術(shù)運(yùn)算
C語言一共有34種運(yùn)算符于未,包括了常見的加減乘除
1.加法運(yùn)算+
# 除了能做加法運(yùn)算变隔,還能表示正號:+5雁刷、+90
2.減法運(yùn)算-
# 除了能做減法運(yùn)算泽艘,還能表示符號:-10猖毫、-200
3.乘法運(yùn)算*
# 注意符號台谍,不是x,而是*
4.除法運(yùn)算/
# 注意符號,不是÷吁断,也不是\,而是/
# 整數(shù)除于整數(shù)趁蕊,還是整數(shù)。1/2的值是0仔役,并不是二分之一
5.取余運(yùn)算%
# 什么是取余:兩個(gè)整數(shù)相除之后的余數(shù)
# %兩側(cè)只能是整數(shù)
# 正負(fù)性取決于%左側(cè)值
6.注意點(diǎn)
* 自動類型轉(zhuǎn)換
int a = 10.6
int b = 10.5 + 1.7
自動將大型轉(zhuǎn)換為了小數(shù)類型掷伙,會丟失精度
* 自動類型提升
int b = 10.5 +10;
將右邊的10 提升為了double類型
double b = 1.0/2;
解決除法的精度問題
* 強(qiáng)制類型轉(zhuǎn)換
double a = (double)1/2
double b = (double)1/2
* 運(yùn)算順序
# 表達(dá)式
# 結(jié)合性(結(jié)合方向):2+3+4
# 優(yōu)先級:5+4*8-3
二、賦值運(yùn)算
1. 簡單賦值
* int a = 10 +5;的運(yùn)算過程
* a= b = 10;的運(yùn)算過程
* 等號左邊部能是常量又兵,比如10 =11任柜;
2.復(fù)合賦值
* 復(fù)合減乘除余: a+=4 =5;
三、自增自減
1.簡單使用
* ++自增運(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.作用
用來計(jì)算一個(gè)變量或者一個(gè)常量宅粥、一種數(shù)據(jù)類型所占的內(nèi)存字節(jié)數(shù)。
2.基本形式
* sizeof(變量\常量)
* sizeof 變量\常量
* sizeof(數(shù)據(jù)類型)
五电谣、 關(guān)系運(yùn)算(比較運(yùn)算)
1.條件判斷
* 默認(rèn)情況下秽梅,我們在程序中寫的每一句正確代碼都會被執(zhí)行抹蚀。但很多時(shí)候,我們想在某個(gè)條件成立的情況下才執(zhí)行某一段代碼
* 這種情況的話可以使用條件語句來完成企垦,但是我們暫時(shí)不學(xué)習(xí)條件語句环壤,先來看看一下更基礎(chǔ)的知識:如何來判斷一個(gè)條件成不成立。
2.真假
* 在c語言中钞诡,條件成立稱為”真“郑现,條件不成立稱為”假“,因此臭增,判斷條件是否成立懂酱,就是判斷條件的”真假“竹习。
* 怎么判斷真假呢誊抛? c語言規(guī)定,任何數(shù)值都真假性整陌,任何非0值都為”真“拗窃,只有0才為”假“。也就是說泌辫,108随夸,-18,4.5震放、-10.5等都是”真“宾毒,0則是”假“。
3.關(guān)系比較
* 開發(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)先級相等邑飒,<、<=级乐、>疙咸、>=的優(yōu)先級相等,且前者的優(yōu)先級低于后者:2==3>1
* 關(guān)系運(yùn)算符的結(jié)合方向?yàn)椤睆淖笸摇埃?>3>2
* 關(guān)系運(yùn)算符的優(yōu)先等級小于算術(shù)運(yùn)算符:3+4>8-2
六唇牧、邏輯運(yùn)算
* 有時(shí)候罕扎,我們需要在多個(gè)條件同時(shí)成立的時(shí)候才能執(zhí)行某段代碼聚唐,比如:用戶只有同時(shí)輸入了qq和qq密碼,才能執(zhí)行登陸代碼腔召,杆查,如果只輸入了QQ或者只輸入了密碼,就不能執(zhí)行登陸嗲碼臀蛛。這中情況下亲桦,我們需要借助C語言提供的邏輯運(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)算過程
#?總是先判斷條件A是否成立
#如果添加A成立囱稽,接著再判斷條件B是否成立:如果添加B成立郊尝,”條件A&&B“的結(jié)果為1,即”真“战惊,如果條件B不成立流昏,結(jié)果就是0,即”假“
# 如果條件A不成立吞获,就不會再去判斷條件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)蚊荣,千萬不能寫成33)?&&?(a<5)
#?C語言規(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)算過程
總是先判斷添加A是否成立
# 如果條件A成立捉片,就不會再取判斷條件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語言規(guī)定:任何非0值都為“真”高镐,只有0才為“假”。因此邏輯或也適用于數(shù)值畸冲。比如 5 || 4的結(jié)果是1嫉髓,為“真”;-6 || 0的結(jié)果是1邑闲,為“真”算行;0 || 0的結(jié)果是0,為“假”
3.!?邏輯非
* 使用格式?“!?條件A”
*?運(yùn)算結(jié)果
#?其實(shí)就是對條件A進(jìn)行取反:若條件A成立苫耸,結(jié)果就為0州邢,即“假”;若條件A不成立褪子,結(jié)果就為1量淌,即“真”骗村。也就是說:真的變假,假的變真呀枢。
*舉例
#?邏輯非的結(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泣侮,是”假“即彪,!;钭稹(4>2)結(jié)果為1隶校,是”真“,S济獭I罡臁!(4>2)結(jié)果為0
# C語言規(guī)定:任何非0值都為”真“铜犬,只有0才為假”0“舞终。因此,對非0值進(jìn)行邏輯非癣猾!運(yùn)算的結(jié)果都是0敛劝,對0進(jìn)行邏輯非!運(yùn)算的結(jié)果為1纷宇。夸盟!5、像捶!6.7上陕、!-9的將誒過都為0作岖,唆垃!0結(jié)果為1.
4.優(yōu)先級
* 邏輯運(yùn)算符的優(yōu)先級別順利為:小括號() > 負(fù)號 - >!> 算術(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ù)
謝謝!!!