




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
關(guān)系運(yùn)算與邏輯運(yùn)算1第一頁(yè),共三十頁(yè),編輯于2023年,星期日復(fù)合的賦值運(yùn)算符
在賦值符“=”之前加上其它二目運(yùn)算符可構(gòu)成復(fù)合賦值符。如+=,-=,*=,/=,%=,<<=,>>=,&=,^=,|=。構(gòu)成復(fù)合賦值表達(dá)式的一般形式為:變量雙目運(yùn)算符=表達(dá)式它等效于變量=變量運(yùn)算符表達(dá)式2第二頁(yè),共三十頁(yè),編輯于2023年,星期日例如:a+=5等價(jià)于a=a+5x*=y+7等價(jià)于x=x*(y+7)r%=p等價(jià)于r=r%p復(fù)合賦值符這種寫(xiě)法,對(duì)初學(xué)者可能不習(xí)慣,但十分有利于編譯處理,能提高編譯效率并產(chǎn)生質(zhì)量較高的目標(biāo)代碼。3第三頁(yè),共三十頁(yè),編輯于2023年,星期日關(guān)系運(yùn)算符在C語(yǔ)言中有以下關(guān)系運(yùn)算符:<小于<=小于或等于>大于>=大于或等于==等于!=不等于關(guān)系運(yùn)算符的優(yōu)先級(jí)低于算術(shù)運(yùn)算符,高于賦值運(yùn)算符。在六個(gè)關(guān)系運(yùn)算符中,<,<=,>,>=的優(yōu)先級(jí)相同,高于==和!=,==和!=的優(yōu)先級(jí)相同。4第四頁(yè),共三十頁(yè),編輯于2023年,星期日關(guān)系表達(dá)式關(guān)系表達(dá)式的一般形式為:表達(dá)式關(guān)系運(yùn)算符表達(dá)式例如:a+b>c-dx>3/2‘a(chǎn)’+1<c-i-5*j==k+1都是合法的關(guān)系表達(dá)式。由于表達(dá)式也可以又是關(guān)系表達(dá)式。因此也允許出現(xiàn)嵌套的情況。例如:a>(b>c)a!=(c==d)等。5第五頁(yè),共三十頁(yè),編輯于2023年,星期日關(guān)系表達(dá)式的值是真”和“假”,用“1”和“0”表示。如:5>0的值為“真”,即為1。(a=3)>(b=5)由于3>5不成立,故其值為假,即為0。main(){charc='k';inti=1,j=2,k=3;floatx=3e+5,y=0.85;printf("%d,%d\n",’a’+5<c,-i-2*j>=k+1);printf("%d,%d\n",1<j<5,x-5.25<=x+y);printf("%d,%d\n",i+j+k==-2*j,k==j==i+5);getch();}在本例中求出了各種關(guān)系運(yùn)算符的值。字符變量是以它對(duì)應(yīng)的ASCII碼參與運(yùn)算的?!產(chǎn)’+5<c,a的ASCII值為97+5=102,而c的ascii值為100,顧不成立,值為0.而1<j<5,而j=2,因此條件成立,所以值為0.例:6第六頁(yè),共三十頁(yè),編輯于2023年,星期日邏輯運(yùn)算符極其優(yōu)先次序C語(yǔ)言中提供了三種邏輯運(yùn)算符:&&與運(yùn)算||或運(yùn)算!非運(yùn)算與運(yùn)算符&&和或運(yùn)算符||均為雙目運(yùn)算符。具有左結(jié)合性。非運(yùn)算符!為單目運(yùn)算符,具有右結(jié)合性。7第七頁(yè),共三十頁(yè),編輯于2023年,星期日邏輯運(yùn)算符和其它運(yùn)算符優(yōu)先級(jí)!(非)→&&(與)→||(或)?。ǚ牵┧阈g(shù)運(yùn)算符關(guān)系運(yùn)算符&&和||賦值運(yùn)算符按照運(yùn)算符的優(yōu)先順序可以得出:a>b&&c>d等價(jià)于(a>b)&&(c>d)!b==c||d<a等價(jià)于((!b)==c)||(d<a)a+b>c&&x+y<b等價(jià)于((a+b)>c)&&((x+y)<b)易混淆8第八頁(yè),共三十頁(yè),編輯于2023年,星期日選擇結(jié)構(gòu)選擇結(jié)構(gòu)又稱(chēng)分支結(jié)構(gòu)或者選取結(jié)構(gòu),其執(zhí)行是依據(jù)一下的條件選擇執(zhí)行路徑,而不是嚴(yán)格掃照語(yǔ)句出現(xiàn)的物理順序執(zhí)行的。分支結(jié)構(gòu)的程序設(shè)計(jì)方法的關(guān)鍵在于構(gòu)造合適的分支條件和分析程序流程,根據(jù)不同的程序流程選擇知當(dāng)?shù)姆种дZ(yǔ)句。C語(yǔ)言提供了“if”語(yǔ)句和“switch”語(yǔ)句兩種分支結(jié)構(gòu)控制語(yǔ)句。9第九頁(yè),共三十頁(yè),編輯于2023年,星期日if語(yǔ)句if語(yǔ)句用于判下所給的條件是否滿足,程序根據(jù)判定的結(jié)果決下所執(zhí)行的操作。C語(yǔ)言的if語(yǔ)句有3種基本格式10第十頁(yè),共三十頁(yè),編輯于2023年,星期日格式1if(表達(dá)式)表達(dá)式功能:如果“表達(dá)式”為真,則執(zhí)行其后“語(yǔ)句”,否則不執(zhí)行語(yǔ)句。例:main(){inta,s;scanf(“%d”,&a);if(a>0)a++;s=a;printf(“a=%d,s=%d\n”,a,s);getch();}11第十一頁(yè),共三十頁(yè),編輯于2023年,星期日格式2if(表達(dá)式)語(yǔ)句1else語(yǔ)句2功能:如果“表達(dá)式”為真,則執(zhí)行“語(yǔ)句1”;否則執(zhí)行|語(yǔ)句2“。12第十二頁(yè),共三十頁(yè),編輯于2023年,星期日例:輸入某同學(xué)某科考試成績(jī),大于等于60分輸出“及格”,小于60分輸出“不及格”。main(){intk;if(k>=60)printf(“及格\n”);elseprintf(“不及格\n”);getch();}13第十三頁(yè),共三十頁(yè),編輯于2023年,星期日練習(xí):輸入任意大小的三個(gè)整數(shù),判斷其中是否有兩個(gè)奇數(shù)一個(gè)偶數(shù)。若是,則輸出“YES”,不是則輸出“NOT”
編寫(xiě)一個(gè)判斷一個(gè)數(shù)是否是素?cái)?shù)的函數(shù),若是返回1,否則返回0。14第十四頁(yè),共三十頁(yè),編輯于2023年,星期日格式3if(表達(dá)式1)語(yǔ)句1elseif(表達(dá)式2)語(yǔ)句2elseif(表達(dá)式3)語(yǔ)句3
……elseif(表達(dá)式n)語(yǔ)句nelse語(yǔ)句n+1例:根據(jù)用戶購(gòu)物的總價(jià),選擇不同的折扣率:>=1000為七折,>=800為八折,>=500為九折。main(){intcost;floatrate,s;scanf(“%d”,&cost);if(cost>1000)rate=0.7;elseif(cost>800)rate=0.8;elseif(cost>500)rate=0.9;s=cost*rate;printf(“%f\n”,s);getch();}15第十五頁(yè),共三十頁(yè),編輯于2023年,星期日例:main(){charc;printf("inputacharacter:");c=getchar();if(c<32)printf("Thisisacontrolcharacter\n");elseif(c>='0'&&c<='9')printf("Thisisadigit\n");elseif(c>='A'&&c<='Z')printf("Thisisacapitalletter\n");elseif(c>='a'&&c<='z')printf("Thisisasmallletter\n");elseprintf("Thisisanothercharacter\n");getch();}16第十六頁(yè),共三十頁(yè),編輯于2023年,星期日注意事項(xiàng):1、在三種形式的if語(yǔ)句中,在if關(guān)鍵字之后均為表達(dá)式。該表達(dá)式通常是邏輯表達(dá)式或關(guān)系表達(dá)式,但也可以是其它表達(dá)式,如賦值表達(dá)式等,甚至也可以是一個(gè)變量。例如:if(a=5)語(yǔ)句;if(b)語(yǔ)句;2、在if語(yǔ)句中,條件判斷表達(dá)式必須用括號(hào)括起來(lái),在語(yǔ)句之后必須加分號(hào)。3、在if語(yǔ)句的三種形式中,所有的語(yǔ)句應(yīng)為單個(gè)語(yǔ)句,如果要想在滿足條件時(shí)執(zhí)行一組(多個(gè))語(yǔ)句,則必須把這一組語(yǔ)句用{}括起來(lái)組成一個(gè)復(fù)合語(yǔ)句。但要注意的是在}之后不能再加分號(hào)。例如:if(a>b){a++;b++;}else{a=0;b=10;}17第十七頁(yè),共三十頁(yè),編輯于2023年,星期日在鍵盤(pán)中輸入已知數(shù)a、b、c求一元二次方程ax2+bx+c=0的解。其中分析Δ=b2-4*a*c是否大于或等于零#include<math.h>#include<stdio.h>main(){inta,b,c;floatx1,x2;scanf("%d%d%d",&a,&b,&c);if(pow(b,2)-4*a*c<0)printf("inputnumbererror!\n");elseif(pow(b,2)-4*a*c>0){x1=(-b+sqrt(pow(b,2)-4*a*c))/(2*a);x2=(-b-sqrt(pow(b,2)-4*a*c))/(2*a);printf("x1=%f,x2=%f",x1,x2);}else{x1=-b/(2*a);printf("x1=x2=%f",x1);}getch();}18第十八頁(yè),共三十頁(yè),編輯于2023年,星期日練習(xí):1、輸入某同學(xué)某科考試成績(jī)(0-100之間),并進(jìn)行及格與否的判斷,如果輸入的數(shù)值大于100或小于零輸出“輸入錯(cuò)誤”。2、從鍵盤(pán)輸入兩個(gè)整數(shù),請(qǐng)按從小到大的順序排列。3、從鍵盤(pán)輸入三個(gè)整數(shù),輸出最大和最小的數(shù)。19第十九頁(yè),共三十頁(yè),編輯于2023年,星期日分析:從鍵盤(pán)輸入三個(gè)整數(shù),輸出最大和最小的數(shù)。main(){inta,b,c,max,min;printf("inputthreenumbers:");scanf("%d%d%d",&a,&b,&c);if(a>b){max=a;min=b;}else{max=b;min=a;}if(max<c)max=c;elseif(min>c) min=c;printf("max=%d\nmin=%d",max,min);getch();}20第二十頁(yè),共三十頁(yè),編輯于2023年,星期日練習(xí):4、以下程序?qū)斎氲囊粋€(gè)小寫(xiě)字母,將字母循環(huán)后移5個(gè)位置后輸出.如’a’變成’f’,’w’變成’b’.請(qǐng)?jiān)?)填入正確內(nèi)容#include<stdio.h>main(){charc;c=getchar();if(c>=’a’&&c<=’u’)(1)elseif(c>=’v’&&c<=’z’)(2)putchar(c);getch();}21第二十一頁(yè),共三十頁(yè),編輯于2023年,星期日練習(xí):5、輸入一個(gè)字符,如果它是一個(gè)大寫(xiě)字母,則把它變成小寫(xiě),如果是小寫(xiě),則變成大寫(xiě),其他字符不變main(){charch;scanf(“%c”,&ch);if(1)ch=ch+32;elseif(ch>=’a’&&ch<=’z’)(2)(3)printf(“%c”,ch);getch();}22第二十二頁(yè),共三十頁(yè),編輯于2023年,星期日練習(xí)6、輸入三角形的邊長(zhǎng),求三角形面積。(面積=sqrt(s(s-a)(s-b)(s-c)),s=(a+b+c)/2)注意:考慮三角形三邊及三角形自身特點(diǎn)7、在鍵盤(pán)中輸入已知數(shù)a、b、c求一元二次方程ax2+bx+c=0的解。其中分析Δ=b2-4*a*c是否大于或等于零23第二十三頁(yè),共三十頁(yè),編輯于2023年,星期日switch語(yǔ)句C語(yǔ)言還提供了另一種用于多分支選擇的switch語(yǔ)句,其一般形式為:
switch(表達(dá)式){case常量表達(dá)式1:語(yǔ)句1;case常量表達(dá)式2:語(yǔ)句2;
…
case常量表達(dá)式n:語(yǔ)句n;default:語(yǔ)句n+1;}24第二十四頁(yè),共三十頁(yè),編輯于2023年,星期日例1:main(){inta;printf("inputintegernumber:");scanf("%d",&a);switch(a){ case1:printf("Monday\n"); case2:printf("Tuesday\n"); case3:printf("Wednesday\n"); case4:printf("Thursday\n"); case5:printf("Friday\n"); case6:printf("Saturday\n"); case7:printf("Sunday\n"); default:printf("error\n");}main(){inta;printf("inputintegernumber:");scanf("%d",&a);switch(a){case1:printf("Monday\n");break;case2:printf("Tuesday\n");break;case3:printf("Wednesday\n");break;case4:printf("Thursday\n");break;case5:printf("Friday\n");break;case6:printf("Saturday\n");break;case7:printf("Sunday\n");break;default:printf("error\n");}break語(yǔ)句,專(zhuān)用于跳出switch語(yǔ)句25第二十五頁(yè),共三十頁(yè),編輯于2023年,星期日例2:計(jì)算器程序。用戶輸入運(yùn)算數(shù)和四則運(yùn)算符,輸出計(jì)算結(jié)果。main(){floata,b;charc;printf("inputexpression:a+(-,*,/)b\n");scanf("%f%c%f",&a,&c,&b);s
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度產(chǎn)業(yè)園區(qū)招商引資合作計(jì)劃書(shū)
- 江西省港口集團(tuán)有限公司20242025年度社會(huì)招聘【30人】筆試參考題庫(kù)附帶答案詳解
- 理財(cái)知識(shí)培訓(xùn)課件
- 2025湖南高速工程咨詢有限公司招聘專(zhuān)業(yè)技術(shù)人員22人筆試參考題庫(kù)附帶答案詳解
- 2025河南中聯(lián)重科開(kāi)封工業(yè)園招聘280人筆試參考題庫(kù)附帶答案詳解
- 教師禮儀知到智慧樹(shù)章節(jié)測(cè)試課后答案2024年秋瓊臺(tái)師范學(xué)院
- 2025年甘肅敦煌文旅集團(tuán)有限公司招聘67人筆試參考題庫(kù)附帶答案詳解
- 2025年安徽省能源集團(tuán)有限公司西北分公司招聘7人筆試參考題庫(kù)附帶答案詳解
- 第7課+古代的商業(yè)貿(mào)易+高中歷史統(tǒng)編版(2019)選擇性必修二
- 2025四川九洲建筑工程有限責(zé)任公司招聘工程管理崗(物資)等崗位11人筆試參考題庫(kù)附帶答案詳解
- 【初中數(shù)學(xué)】你有多少種畫(huà)平行線的方法課件 2023-2024學(xué)年人教版數(shù)學(xué)七年級(jí)下冊(cè)
- 第三單元簡(jiǎn)易方程(二)(知識(shí)精講+典題精練)-2023-2024學(xué)年五年級(jí)下冊(cè)數(shù)學(xué)高頻考點(diǎn)重難點(diǎn)講義(滬教版)
- 《中國(guó)傳統(tǒng)民歌欣賞》課件
- JGJ107-2010鋼筋機(jī)械連接技術(shù)規(guī)程課件
- 高鐵無(wú)砟軌道精調(diào)精測(cè)課件
- 西班牙語(yǔ)筆記A1
- 富士康員工手冊(cè)(第10版)
- 中國(guó)李氏家譜模板
- GB/T 19830-2023石油天然氣工業(yè)油氣井套管或油管用鋼管
- 現(xiàn)場(chǎng)簽證流程圖
- (新插圖)人教版四年級(jí)下冊(cè)數(shù)學(xué) 第2招 巧算24點(diǎn) 期末復(fù)習(xí)課件
評(píng)論
0/150
提交評(píng)論