




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、C語言程序設(shè)計 輔導及實驗指導書第四章 選擇結(jié)構(gòu),4.1 本章內(nèi)容,一、關(guān)系運算符和關(guān)系表達式; 二、邏輯運算符和邏輯表達式; 三、if語句; 四、條件運算符和條件表達式; 五、switch語句,4.2 重點難點,一、關(guān)系運算符和邏輯運算符優(yōu)先級; 二、if語句三種形式的格式和使用方法; 三、switch、break語句的格式和使用方法; 四、if語句的嵌套,if和switch語句的混合應用,4.3 知識點解析,1. 關(guān)系運算符 C語言提供6種關(guān)系運算符:(小于)、(小于或等于)、(大于)、 (大于或等于)、(等于)、! (不等于)。 1)關(guān)系運算符都是雙目運算符; 2)關(guān)系運算符中、=優(yōu)先級
2、相同, =、!=優(yōu)先級相同,且前四種關(guān)系運算符的優(yōu)先級高于后兩種關(guān)系運算符,其結(jié)合方向為自左向右; 3)關(guān)系運算符的優(yōu)先級高于賦值運算符,低于算術(shù)運算符,2. 邏輯運算符,C語言提供3種邏輯運算符:?。ㄟ壿嫹牵?、 break; case 常量表達式2: 語句序列2; break; case 常量表達式3: 語句序列3; break; . case 常量表達式n: 語句序列n; break; default : 語句序列n+1; 說明: 1) 每一個case的常量表達式的值必須互不相同。 2) 表達式與case分支進行一次匹配后不再判斷,執(zhí)行后面的語句直到結(jié)束,可以用break語句來終止swit
3、ch語句的執(zhí)行。 3) case后面允許有多個語句,可以不用“”括起來,4.4 案例分析,1. 正確表示判斷x的值在10到20之間的C語言表達式的是 。 A) (x=10) AND (x=10 if(x0) if(y0) printf(x0,y0); else printf(x0,y=0); printf(end!); return 0; 答案:end,3. 以下程序的輸出結(jié)果為 。 #include int main() int a=2, b=1, c=4, d=3; printf(%d,(ab?a:cd?c:d); return 0; 答案:3,4.4 案例分析(2,4. 執(zhí)行下面程序,其
4、運行結(jié)果為 。 #include int main() int x=2, a=0, b=0 ; switch(x) case 1: a+; b+; case 2: a+ ; b+ ; case 3: a+ ; b+ ;break; case 4: a+ ; b+ ; case 5: a+ ; b+ ; pintf(a=%d,b=%d, a,b); return 0; 答案:a=2,b=2,4.4 案例分析(3,5. “水仙花數(shù)”是指一個3位數(shù),其各位數(shù)字的立方和等于該數(shù)本身(例如:13 + 53 + 33 = 153),編程實現(xiàn)輸入一個3位數(shù)的整數(shù),判斷該數(shù)是否是“水仙花數(shù)”,是則輸出“是”,
5、否則輸出“否,include int main() int num,a,b,c; printf(“n請輸入一個3位數(shù)的整數(shù):); /輸入一個3位數(shù)的整數(shù) scanf(%d,4.6 習題,1. 下列運算符優(yōu)先級最高的是( )。 A) B)!=C) |D)! 2. 已知int x=3,y=2,z;則執(zhí)行表達式z=x=xy后,變量z的值為( )。 A) 0B) 1C) 3D) 2 3. x為奇數(shù)時值為“真”,偶數(shù)時值為“假”的表達式是( )。 A)!(x%2=1)B) x%2=0C) x%2D)!(x%2) 4. 已知整型變量a=1、b=15、c=0,則表達式a=bc的值是( )。 A) 0B) 非
6、零C) “真”D) 1 5. 判斷字符型變量ch是否為小寫字母的表達式,正確的是( )。 A) a=ch=z B) (a=ch) AND (ch=z) C) (a=ch) d=!a A) 1B) 0C) 非0D) -1,7. 有以下程序: #include int main() int n; scanf(%d, 若執(zhí)行程序時從鍵盤上輸入5,則輸出結(jié)果是( )。 A) 4B) 5C) 6D) 7,4.6 習題(2,8. 已有定義語句:int x=6,y=4,z=5;,執(zhí)行if(xy) z=x; x=y; y=z;語句后,則x,y,z的值分別是( )。 A) x=6,y=4,z=5 B) x=4,
7、y=6,z=6 C) x=4,y=5,z=5 D) x=5,y=6,z=4 9. 在嵌套使用if語句時,C語言規(guī)定else總是( )。 A) 和之前與其具有相同縮進位置的if配對 B) 和之前與其最近的if配對 C) 和之前與其最近不帶else的if配對 D) 和之前的第一個if配對,4.6 習題(3,10.執(zhí)行以下程序后,輸出的結(jié)果是( )。 #include int main() int a=10; if (a10) printf(%dn, a10); else printf(%dn, a=10); return 0; A) 0B) 1C) 10D) -1,11.執(zhí)行下面一段程序后,x的值
8、是() #include int main() int a=1,b=3,c=5,d=4,x; if(ab) if(cd) x=1; else if(ac) if(bd) x=2; else x=3; else x=6; else x=7; printf(%d,x); return 0; A) 1B) 2C) 3D) 6,4.6 習題(4,12.執(zhí)行以下程序,輸出的是( )。 #include int main() int a=0, b=0, c=0, d=0; if(a=1) b=1; c=2; else d=3; printf(%d,%d,%d,%dn“,a,b,c,d); return 0
9、; A) 0,1,2,0B) 0,0,0,3 C) 1,1,2,0D) 編譯有錯,13.執(zhí)行以下程序后,輸出的結(jié)果是( )。 #include int main() int a=5,b=4,c=6,d; d=ab ?(ac ? a:c) : (b); printf(%dn,d); return 0; A) 5B) 4C) 6D) 不確定,4.6 習題(5,14.有以下程序: #include int main() int a=15,b=21,m=0; switch (a%3) case 0: m+;break; case 1: m+; switch(b%2) default: m+; case
10、 0: m+;break; printf(%dn,m); return 0; 程序的輸出結(jié)果是( )。 A) 1B) 2C) 3D) 4,15.有以下程序: #include int main() int n; scanf(“%d”, 若執(zhí)行程序時從鍵盤上輸入2,則輸出結(jié)果是( )。 A) 3B) 4C) 5D) 6,4.6 習題(6,1. 當a的絕對值大于10時C語言表達式值為“真”的是 。 2. a和b的和大于10且a小于4的關(guān)系或邏輯表達式為 。 3. 設(shè)x=0, y=1, z=2,則表達式y(tǒng)x,4.6 習題(7,5. 以下程序的運行結(jié)果是 。 #include int main() i
11、nt a=0,b=0,c; if(ab) c=1; else if(a=b) c=0; else c=-1; printf(%dn,c); return 0;,6. 若從鍵盤輸入32,則以下程序輸出的結(jié)果是 。 #include int main() int a; scanf(%d,4.6 習題(8,7. 閱讀下面語句,則程序的執(zhí)行結(jié)果是 。 #include int main() int a=-1,b=1,k; if (+ab)max=a; else max=b,9. 以下程序的運行結(jié)果是 。 #include int main() int a=0,b=4,c=5; switch (a=0)
12、 case 1: switch(b0) case 1: printf(); break; case 0: printf(!); break; case 0: switch(c=5) case 0: printf(*); break; case 1: printf(#); break; default: printf(%); break; default: printf(,4.6 習題(9,10.程序填空:輸入x值,根據(jù)下面的函數(shù)計算y的值,并輸出結(jié)果,include int main() int x, y; scanf(%d,程序,4.6 習題(10,1. 編程實現(xiàn):輸入一個正整數(shù),如果這個正
13、整數(shù)能夠被5整除且不能被7整除,則輸出“是”,否則輸出“否”。 2. 輸入3個浮點數(shù),輸出其中最小的值。 3. 三角形判斷,輸入3個整數(shù)作為3條邊的邊長值,判斷這3條邊能否構(gòu)成三角形,如果能夠構(gòu)成三角形,在判斷是等邊三角形還是等腰三角形,還是一般三角形,輸出其相應的結(jié)果(“不能構(gòu)成三角形”、“一般三角形”、“等腰三角形”、“等邊三角形”)。 【注】等腰三角形不包括三條邊都相等的特例。 4. 通過鍵盤輸入月份,輸出對應的季度。要求用switch語句編寫程序,實驗四選擇結(jié)構(gòu)程序設(shè)計,實驗目的】 1掌握程序的編寫和調(diào)試方法 2掌握應用關(guān)系和邏輯表達式 3熟練應用if語句和switch語句解決實際問題
14、 4加深理解選擇結(jié)構(gòu)的嵌套即執(zhí)行過程,實驗內(nèi)容,1. 程序分析 (1)分析下面程序?qū)崿F(xiàn)的功能及運行結(jié)果。 #include int main() int year; printf(請輸入年份); scanf(%d, 輸入1996、2000和2100,輸出的結(jié)果分別是什么? 如果將第7行改為if (year%4=0 if(i=0) if(j!=1) if(k=2) d=5; else d=4; else if(k!=2) d=3; else d=2; else d=1; printf(d=%dn,d); return 0;,3)分析下面程序?qū)崿F(xiàn)的功能。 #include int main() i
15、nt a,b,a1,a2,b1,b2,c; printf(請輸入兩個兩位數(shù)的整數(shù):); scanf(%d %d,實驗內(nèi)容】(2,2. 程序改錯:改正如下C程序的語法和邏輯錯誤,使之能正確運行。 (1)以下程序的功能是判斷輸入的一個數(shù)據(jù)是否和10相等,并根據(jù)判斷結(jié)果輸出其對應結(jié)果。 #include int main() INT a; printf(請輸入數(shù)值) scanf(%d, a); if (a=10) printf(等于10); else printf(不等于10); return 0;,2)以下程序?qū)崿F(xiàn)輸入三個整數(shù),并按從小到大的順序輸出。 #include int main() in
16、t a,b,c,t; printf(請輸入三個整數(shù):); scanf(%d %d %d,a,b,c); if(ab) t=a;a=b; b=t; if(ac) t=a;a=c; c=a; if(bc) t=b;b=c; c=t; printf(%d %d %dn,a,b,c); return 0;,實驗內(nèi)容】(3,3)運輸公司對用戶計算運費,設(shè)每公里每噸貨物的運費為p(p=35元),當路程s超過1000公里,則總費用有5%的優(yōu)惠,當貨物重量w超過500噸,則總費用有10%的優(yōu)惠(兩種優(yōu)惠可同時享受)。輸入運輸?shù)墓飻?shù)和貨物噸數(shù),輸出需要的運費。 #include int main() /p為每公里每噸基本運費,s為公里數(shù),w為噸數(shù),f為最終費用 float p=35,s,w,f; printf(請輸入運輸?shù)墓飻?shù)和貨物的重量(噸):); scanf(%d %d,3. 程序設(shè)計,1)輸入四個整數(shù),輸出期中最大的整數(shù)。 (2)字符加密,輸入一個字符(大寫字母、小寫字母和數(shù)字字符),根據(jù)輸入的類型,進行不同的變換,具體為:如果是小寫字母則改成大寫字母,如果是大寫字母
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 土地使用權(quán)轉(zhuǎn)讓合同
- 油罐清洗施工方案
- 裝飾頂帽施工方案
- 公司員工聘用合同書
- 橋梁施工方案對比
- 纜索吊拱橋施工方案
- 2025年防雷防爆及弱電工程設(shè)備項目建議書
- 拆除溫感煙感探頭施工方案
- 酒店弱電養(yǎng)護方案
- 滁州商場指示牌施工方案
- 中年女性養(yǎng)生健康知識講座
- 人教版小學語文背誦篇目匯編
- 《市場營銷》 章節(jié)習題及答案
- 2023年云南省環(huán)境工程評估中心招聘3人筆試參考題庫(共500題)答案詳解版
- 射頻消融術(shù)術(shù)前宣教
- 重癥醫(yī)學科Respironics V60呼吸機使用指引
- 心理團體輔導的保密協(xié)議
- ASME B16.5-16.47法蘭尺寸對照表
- 《經(jīng)濟法基礎(chǔ)》單元測試題及答案第一章
- 四川大學2020年《C程序設(shè)計語言》試卷
- 產(chǎn)品報價單(5篇)
評論
0/150
提交評論