




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、基于邏輯的選擇編程大連理工大學(xué)1基本概念邏輯的表達(dá)用if語句和switch語句實(shí)現(xiàn)選擇結(jié)構(gòu)條件運(yùn)算符基本技能編程實(shí)踐2關(guān)系運(yùn)算符和關(guān)系表達(dá)式關(guān)系運(yùn)算符 1.關(guān)系運(yùn)算符 關(guān)系運(yùn)算是進(jìn)行比較大小的運(yùn)算,并產(chǎn)生運(yùn)算結(jié)果1(真)或 0(假)。語言中的關(guān)系運(yùn)算符有種: 、!優(yōu)先次序:前種同級,高于后種(后種同級)關(guān)系運(yùn)算符的結(jié)合性為從左到右;算術(shù)運(yùn)算符 (高)關(guān)系運(yùn)算符賦值運(yùn)算符 (低)注意!3關(guān)系表達(dá)式關(guān)系表達(dá)式的值為邏輯值,“真”或“假”. 注意: 語言沒有邏輯型數(shù)據(jù),關(guān)系表達(dá)式的真、假 是以數(shù)值“”代表“真”,以“”代表“假”。 例:設(shè) a=3, b=2, c=1 ,求下列表達(dá)式的值? cb; (
2、a-b)=1; b+cbc; (自左至右 )4邏輯運(yùn)算符 & (邏輯與) 、 | (邏輯或) 、! (邏輯非)說明:(1)“&”和“| ”是“雙目(元)運(yùn)算符”,它要求有兩個操作數(shù)。(2)“! ”是“單目(元)運(yùn)算符”,只要求有一個運(yùn)算量。(3)優(yōu)先級次序:! & |邏輯運(yùn)算符和邏輯表達(dá)式 a&b a、b均為真, 則a&b為1(真)。 a|b a、b之一為真,則a|b為1(真)。 !a 若a為真,則!a為假。 5運(yùn)算符的優(yōu)先級!(非) (高)算術(shù)運(yùn)算符 關(guān)系運(yùn)算符& 和 |賦值運(yùn)算符 (低)例a+bn+3 a=534(a+b)(n+3)6邏輯表達(dá)式規(guī)定:判斷一個邏輯量為“真、假”的方法:“非”
3、 代表“真”, “”代表“假” 例:寫出1x1&x10 1x3 & 2 | 84!0 值為:“?” b&d 值為:“? ” 例(m=ab) x=a;1. 單選擇if語句 語句零條件非零條件可以是關(guān)系式或邏輯式選擇語句if 語句102. 雙選擇if語句語句格式:if (條件) 語句組1; else 語句組2;功能:當(dāng)條件為非零時執(zhí)行語句組1否則執(zhí)行語句組2。APB非零零11if(a60) printf(“及格n”);else printf(“不及格n”);main() int a; scanf(“%d”,&a); if (a60) printf(“%dn”,a); 輸出不及格的成績例112#in
4、clude main( ) int a,b,max; printf(Input a and b=); scanf(%d%d,&a, &b); /* input number a and b*/ if ( ab ) max=a; /*如果ab,則將a=max */ else max=b; /* 否則, b=max */ printf(The max of a and b is : %dn, max);ab?max=bmax=aYN求a和b兩數(shù)中較大的一個例213 說出下列程序的輸出結(jié)果:main() int a; scanf(%d,&a); if (a50) printf(%d,a); if (
5、a40) printf(%d,a); if (a30) printf(%d,a);程序運(yùn)行: 輸入58, 輸出? 輸入30, 輸出?例314有關(guān)if語句的說明 條件后面不加分號 語句之后有分號 else不是語句,不能單獨(dú)使用 當(dāng)if后有多個執(zhí)行語句時,必須用 將多 個語句括起來,構(gòu)成一個復(fù)合語句,而 之外不必有分號。15if語句的嵌套格式:if(表達(dá)式) if( 表達(dá)式1) 語句11; else 語句12; else if (表達(dá)式2) 語句21; else 語句22;在if語句的“語句1”或“語句2”中又包含著if語句判斷表達(dá)式的值,若為非0,再判斷表達(dá)式1的值,非0執(zhí)行語句11,否則執(zhí)行語
6、句12若表達(dá)式的值為0,再判斷表達(dá)式2的值,非0執(zhí)行語句21,否則執(zhí)行語句22功能:外if內(nèi)嵌if16下列程序段表示的數(shù)學(xué)式? y=-1; if (x!=0) if (x0) y=2*sin(x); else y=0; 程序段表示的數(shù)學(xué)式: 0 (x0)強(qiáng)調(diào):if和else可成對出現(xiàn),也可不成對出現(xiàn),每個else都與距其最近的if配對。17 if 語句的常用格式: if(表達(dá)式1) 語句 1 else if(表達(dá)式2) 語句 2 else if(表達(dá)式3) 語句 3 else if(表達(dá)式m) 語句 m else 語句 n僅執(zhí)行表達(dá)式為真的else if后的內(nèi)嵌語句,若所有的表達(dá)式值都為0,則
7、執(zhí)行最后一個else后的內(nèi)嵌語句.18 已知 編一個程序,輸入一個x的值,輸出y值。程序?yàn)椋?main( ) int x, y; scanf(“%d”,&x); if(x0) y=-1; else if(x= 0) y=0; else y=1; printf(“x=%d, y=%dn”, x, y); 例419switch語句 該語句為開關(guān)語句,適合解決多分支的情況。格式:switch(表達(dá)式) case 常量表達(dá)式:語句序列; case 常量表達(dá)式:語句序列; case 常量表達(dá)式n: 語句序列n; default :語句序列n+1; 說明:執(zhí)行順序如下:switch 語句可以是一條語句,也
8、可以是多條語句。多條語句不必用括號括起來。起語句標(biāo)號的作用,不進(jìn)行條件判斷,在執(zhí)行完某個 case后的語句序列后,將自動轉(zhuǎn)移到下一個case繼續(xù)執(zhí)行??梢允钦?、字符型。20 a. 計算表達(dá)式的值; b. 找到與表達(dá)式的值相同的case常量表達(dá)式,執(zhí)行該case后邊的語句序列,之后依次往下執(zhí)行語句塊。表達(dá)式語句序列1語句序列2語句序列n語句序列n+1 21每個語句序列的最后一條語句后增加break語句,執(zhí)行流程為:表達(dá)式語句序列1語句序列n語句序列n+1語句序列222 根據(jù)考試成績的等級打印出百分制分?jǐn)?shù)段。采用多分支情況程序段: switch( grade ) case A : printf(
9、“85100n”) ; break; case B : printf(“7084n”); break; case C: printf(“6069n”); break; case D :printf(“60n”); break; default : printf(“error ”); 若 grade= A時,輸出結(jié)果為? 當(dāng) grade= B時,輸出結(jié)果為?例523流程圖為: grade輸出 “85100”輸出 “b ? a : b 若 a=3, b=2, 則 max=?說明: (1) 條件運(yùn)算符優(yōu)于賦值運(yùn)算符。 (2) 條件運(yùn)算符的結(jié)合方向?yàn)椤白杂蚁蜃蟆薄?如:當(dāng)a=1,b=2,c=3, d=
10、4 時,表達(dá)式 ab ? a : cd ? c : d , 值為:? 如: 若 x=1,y=0,a=3,b=-3 表達(dá)式 (yx?a:b)&a+b 值為:? 40條件運(yùn)算符27(3) 條件表達(dá)式中的表達(dá)式的類型可以與表達(dá)式和表達(dá)式的類型不同。條件表達(dá)式值的類型為二者中較高的類型。如: xy ? 1.2 : 6 , 當(dāng)xy成立時條件表達(dá)式的值為1.2 ,否則為實(shí)型數(shù)據(jù)6.0。 c=xy ? 1 : s , 當(dāng)xy成立時c=1, 否則c= s。28if ( y0 )x=-y;elsex=y;(y0)?x=-y:x=y;等價等價x = (y=A& chb) t=a; a=b; b=t; if(ac) t=a; a=c; c=t; if(bc) t=b; b=c; c=t; printf(The sorted number is: %d %d %dn, a,b,c); 32基本技能奇偶判斷 z%2=0 數(shù)據(jù)交換 a,b,t t=a;a=b;b=t;獲取數(shù)的每一位數(shù)字 X與y的個位數(shù)字相同 x%10=y%10 如何判斷十位數(shù)上數(shù)字相同?33數(shù)據(jù)區(qū)間的C語言表達(dá) 1=90分的同學(xué)用A表示,60-89分之間的用B表示,60分以下的用C表示。1.程序分析:(ab)?a:b這是條件運(yùn)算符的基本例子。40題目:給一個不多于5位的正整數(shù),要求:一、求它是幾位數(shù),二、逆序打印出各位數(shù)字。1. 程序分析:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 爆破安全培訓(xùn)試題及答案
- 膀胱腫瘤考試題及答案
- 安全作業(yè)考試題庫及答案
- 安全員試題及答案
- 安全管理試題及答案
- 中國受辱課件在線觀看
- 顧客為先的培訓(xùn)課件
- 群發(fā)中暑急救培訓(xùn)課件
- 村醫(yī)死因培訓(xùn)課件
- 原諒的幼兒繪本課件
- 2023年天河區(qū)中小學(xué)生游泳比賽成績冊
- 氣功修煉十奧妙
- 可定的療效與安全性
- 電力電子技術(shù)第五版(王兆安)課件全
- QB∕T 2080-2018 高回彈軟質(zhì)聚氨酯泡沫塑料
- 工程機(jī)械設(shè)備保險附加第三者責(zé)任保險條款
- 醫(yī)院感染知識培訓(xùn)記錄范文(精選6篇)
- 日周月安全檢查記錄表
- 上海電動汽車充電設(shè)施建設(shè)管理暫行規(guī)定
- 100道結(jié)構(gòu)力學(xué)彎矩圖
- 鋼結(jié)構(gòu)設(shè)計圖中的焊接符號標(biāo)注大全(圖)
評論
0/150
提交評論