第四章 選擇結(jié)構(gòu)程序設(shè)計(jì)_第1頁(yè)
第四章 選擇結(jié)構(gòu)程序設(shè)計(jì)_第2頁(yè)
第四章 選擇結(jié)構(gòu)程序設(shè)計(jì)_第3頁(yè)
第四章 選擇結(jié)構(gòu)程序設(shè)計(jì)_第4頁(yè)
第四章 選擇結(jié)構(gòu)程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩38頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第4章選擇結(jié)構(gòu)程序設(shè)計(jì)4.1關(guān)系表達(dá)式和邏輯表達(dá)式4.1.1關(guān)系表達(dá)式1.關(guān)系運(yùn)算符關(guān)系運(yùn)算符是比較兩個(gè)操作數(shù)大小的符號(hào)。兩個(gè)操作數(shù)一般為數(shù)值型數(shù)據(jù)。TurboC的關(guān)系運(yùn)算符及其優(yōu)先級(jí)、結(jié)合律如表所示:運(yùn)算符功能優(yōu)先級(jí)(值小的優(yōu)先級(jí)高)結(jié)合律>>=<<=大于大于等于小于小于等于6從左向右==!=等于不等于71第4章選擇結(jié)構(gòu)程序設(shè)計(jì)4.1關(guān)系表達(dá)式和邏輯表達(dá)式4.1.1關(guān)系表達(dá)式1.關(guān)系運(yùn)算符2.關(guān)系表達(dá)式由關(guān)系運(yùn)算符將兩個(gè)表達(dá)式連接起來(lái)的有意義的式子稱為關(guān)系表達(dá)式。例如:x>=60a+b<ca>b==cb+4>c-6關(guān)系表達(dá)式的值是一個(gè)邏輯值,即“真”或“假”。C語(yǔ)言中,用1表示“真”,用0表示“假”。2第4章選擇結(jié)構(gòu)程序設(shè)計(jì)4.1關(guān)系表達(dá)式和邏輯表達(dá)式4.1.2邏輯表達(dá)式1.邏輯運(yùn)算符邏輯運(yùn)算符是確定兩個(gè)操作數(shù)邏輯關(guān)系的符號(hào)。兩個(gè)操作數(shù)一般為邏輯型數(shù)據(jù)。TurboC的邏輯運(yùn)算符及其優(yōu)先級(jí)、結(jié)合律如表所示:運(yùn)算符功能優(yōu)先級(jí)(值小的優(yōu)先級(jí)高)結(jié)合律!邏輯非2從右向左&&邏輯與11從左向右||邏輯或123注意,各邏輯運(yùn)算符的運(yùn)算規(guī)則是:!:真變假,假變真;&&:全真為真,見(jiàn)假為假;||:全假為假,見(jiàn)真為真;特別強(qiáng)調(diào):C語(yǔ)言中非0表真,0表假;且用1表真,0表假。其他邏輯公式:

!(!a)==a

a&&a==aa||a==aa&&0==0a||1==1a&&1==aa||0==a!(a&&b)==!a||!b!(a||b)==!a&&!b

4第4章選擇結(jié)構(gòu)程序設(shè)計(jì)4.1關(guān)系表達(dá)式和邏輯表達(dá)式4.1.2邏輯表達(dá)式1.邏輯運(yùn)算符各邏輯運(yùn)算符的運(yùn)算規(guī)則如表所示:數(shù)據(jù)a數(shù)據(jù)ba&&ba||b!a!b1111001001010101100000115第4章選擇結(jié)構(gòu)程序設(shè)計(jì)4.1關(guān)系表達(dá)式和邏輯表達(dá)式4.1.2邏輯表達(dá)式1.邏輯運(yùn)算符2.邏輯表達(dá)式由邏輯運(yùn)算符將兩個(gè)表達(dá)式連接起來(lái)的有意義的式子稱為邏輯表達(dá)式。例如:!a+b&&ca||b==ca>0||b<5a++&&b--邏輯表達(dá)式的值也是一個(gè)邏輯值。如果邏輯運(yùn)算的對(duì)象是一個(gè)數(shù)值型數(shù)據(jù),則該數(shù)值型數(shù)據(jù)應(yīng)被看作邏輯值,C語(yǔ)言中,非零值看作“真”,零值看作“假”。6第4章選擇結(jié)構(gòu)程序設(shè)計(jì)4.1關(guān)系表達(dá)式和邏輯表達(dá)式4.1.2邏輯表達(dá)式1.邏輯運(yùn)算符2.邏輯表達(dá)式注意:由邏輯運(yùn)算符&&和||構(gòu)成的邏輯表達(dá)式,在特殊情況下會(huì)產(chǎn)生“短路”現(xiàn)象。(1)由邏輯運(yùn)算符&&構(gòu)成的邏輯表達(dá)式,在已經(jīng)確定一個(gè)運(yùn)算對(duì)象的值為0時(shí),其邏輯表達(dá)式的值即為0,此時(shí)不再處理另一個(gè)運(yùn)算對(duì)象。例如:執(zhí)行:a=-1;b=5;m=++a&&b--;結(jié)果為:a=0b=57第4章選擇結(jié)構(gòu)程序設(shè)計(jì)4.1關(guān)系表達(dá)式和邏輯表達(dá)式4.1.2邏輯表達(dá)式1.邏輯運(yùn)算符2.邏輯表達(dá)式注意:由邏輯運(yùn)算符&&和||構(gòu)成的邏輯表達(dá)式,在特殊情況下會(huì)產(chǎn)生“短路”現(xiàn)象。(2)同樣,由邏輯運(yùn)算符||構(gòu)成的邏輯表達(dá)式,在已經(jīng)確定一個(gè)運(yùn)算對(duì)象的值為1時(shí),其邏輯表達(dá)式的值即為1,此時(shí)不再處理另一個(gè)運(yùn)算對(duì)象。例如:執(zhí)行:a=0;b=5;++a||b--;

結(jié)果為:a=1b=58第4章選擇結(jié)構(gòu)程序設(shè)計(jì)4.2if語(yǔ)句4.2.1簡(jiǎn)單if語(yǔ)句簡(jiǎn)單if語(yǔ)句的一般形式為:if(表達(dá)式)語(yǔ)句1;else語(yǔ)句2;功能:如果表達(dá)式的值為真,則執(zhí)行語(yǔ)句1,執(zhí)行完語(yǔ)句1后從語(yǔ)句2后開(kāi)始繼續(xù)向下執(zhí)行;如果表達(dá)式的值為假,則跳過(guò)語(yǔ)句1而執(zhí)行語(yǔ)句2。用流程圖表示:真表達(dá)式假語(yǔ)句2語(yǔ)句19第4章選擇結(jié)構(gòu)程序設(shè)計(jì)4.2if語(yǔ)句4.2.1簡(jiǎn)單if語(yǔ)句注意:(1)表達(dá)式是判斷的條件,一般是關(guān)系表達(dá)式或邏輯表達(dá)式,也可以是其他表達(dá)式。(2)條件執(zhí)行語(yǔ)句中“else語(yǔ)句2;”部分是選擇項(xiàng),可以缺省,此時(shí)條件語(yǔ)句變成:if(表達(dá)式)語(yǔ)句1;其功能是:若表達(dá)式的值為真,則執(zhí)行語(yǔ)句1,否則跳過(guò)語(yǔ)句1繼續(xù)執(zhí)行。用流程圖表示:真假語(yǔ)句1表達(dá)式10第4章選擇結(jié)構(gòu)程序設(shè)計(jì)4.2if語(yǔ)句4.2.1簡(jiǎn)單if語(yǔ)句注意:(3)如果語(yǔ)句1或語(yǔ)句2有多于一條語(yǔ)句要執(zhí)行時(shí),必須使用“{“和”}”把這些語(yǔ)句包括在其中,構(gòu)成一個(gè)復(fù)合語(yǔ)句,此時(shí)條件語(yǔ)句形式為:

if(表達(dá)式){語(yǔ)句組1;}else{語(yǔ)句組2;}11例4.1輸出兩個(gè)數(shù)中的較大者。程序1:main(){inta,b,max;scanf("%d,%d",&a,&b);if(a>b)max=a;elsemax=b;printf("max=%d\n",max);}程序2:main(){inta,b,max;scanf("%d,%d",&a,&b);max=a;if(max<b)max=b;printf("max=%d\n",max);}12第4章選擇結(jié)構(gòu)程序設(shè)計(jì)4.2if語(yǔ)句4.2.2嵌套if語(yǔ)句在if語(yǔ)句中又包含一個(gè)或多個(gè)if語(yǔ)句,稱為嵌套if語(yǔ)句。一般形式如下:if(表達(dá)式1)if(表達(dá)式2)語(yǔ)句1else語(yǔ)句2elseif(表達(dá)式3)語(yǔ)句3else語(yǔ)句413第4章選擇結(jié)構(gòu)程序設(shè)計(jì)4.2if語(yǔ)句4.2.2嵌套if語(yǔ)句說(shuō)明:(1)if與else的配對(duì)關(guān)系從最內(nèi)層開(kāi)始,else總是與離它最近的未曾配對(duì)的if配對(duì)。(2)if與else的個(gè)數(shù)最好相同,從內(nèi)層到外層一一對(duì)應(yīng),以避免出錯(cuò)。(3)如果if與else的個(gè)數(shù)不相同,可以用花括號(hào)來(lái)確定配對(duì)關(guān)系。例如:if(表達(dá)式1){if(表達(dá)式2)語(yǔ)句1}else語(yǔ)句2這時(shí)花括號(hào)限定了內(nèi)嵌if語(yǔ)句的范圍,因此else與第一個(gè)if配對(duì)。14例4.2

對(duì)任意x,根據(jù)以下函數(shù)關(guān)系求對(duì)應(yīng)y的值。 -1 (x<0)y=0 (x=0) 1 (x>0)程序:main(){intx,y;scanf("%d",&x);if(x<0)y=-1;elseif(x==0)y=0;elsey=1;printf("x=%d,y=%d\n",x,y);}輸入:-3結(jié)果:x=-3,y=-1輸入:4結(jié)果:x=4,y=14.2.3多選一結(jié)構(gòu)一般形式為:if(表達(dá)式1)語(yǔ)句1;elseif(表達(dá)式2)語(yǔ)句2;elseif(表達(dá)式3)語(yǔ)句3;…………elseif(表達(dá)式m)語(yǔ)句m;else語(yǔ)句n;15第4章選擇結(jié)構(gòu)程序設(shè)計(jì)4.3條件表達(dá)式條件運(yùn)算符“?”和“:”兩個(gè)符號(hào)組成。由條件運(yùn)算符構(gòu)成的條件表達(dá)式的一般形式是:

<表達(dá)式1>?<表達(dá)式2>:<表達(dá)式3>;條件運(yùn)算符的含義是:先求表達(dá)式1的值,如果為真,則求表達(dá)式2的值并把它作為整個(gè)表達(dá)式的值;如果表達(dá)式1的值為假,則求表達(dá)式3的值并把它作為整個(gè)表達(dá)式的值。16第4章選擇結(jié)構(gòu)程序設(shè)計(jì)4.3條件表達(dá)式例4.3用條件表達(dá)式改寫例4.1(輸出兩個(gè)數(shù)中的較大者)。程序:main(){inta,b,max;scanf("%d,%d",&a,&b);max=(a>b)?a:b;printf("max=%d\n",max);}17第4章選擇結(jié)構(gòu)程序設(shè)計(jì)4.4復(fù)合語(yǔ)句與空語(yǔ)句4.4.1復(fù)合語(yǔ)句復(fù)合語(yǔ)句是由左右花括號(hào)括起來(lái)的多條語(yǔ)句,一個(gè)復(fù)合語(yǔ)句在語(yǔ)法上等同于一個(gè)語(yǔ)句。復(fù)合語(yǔ)句的一般形式如下:{說(shuō)明部分;語(yǔ)句部分;}在程序中,凡是單個(gè)語(yǔ)句能夠出現(xiàn)的地方,都可以出現(xiàn)復(fù)合語(yǔ)句。一個(gè)復(fù)合語(yǔ)句又可以出現(xiàn)在其他復(fù)合語(yǔ)句內(nèi)部。18第4章選擇結(jié)構(gòu)程序設(shè)計(jì)4.4.2空語(yǔ)句空語(yǔ)句是只有一個(gè)分號(hào)的語(yǔ)句,其一般形式為:;空語(yǔ)句在語(yǔ)法上占據(jù)一個(gè)語(yǔ)句的位置,但不做任何操作。4.4復(fù)合語(yǔ)句與空語(yǔ)句19第4章選擇結(jié)構(gòu)程序設(shè)計(jì)4.5開(kāi)關(guān)語(yǔ)句開(kāi)關(guān)語(yǔ)句的一般形式如下:switch(表達(dá)式){case常量表達(dá)式1:語(yǔ)句1;case常量表達(dá)式2:語(yǔ)句2;…case常量表達(dá)式n:語(yǔ)句n;default:語(yǔ)句n+1;}開(kāi)關(guān)語(yǔ)句的功能是:首先計(jì)算switch后面圓括號(hào)內(nèi)表達(dá)式的值,若此值等于某個(gè)case后面的常量表達(dá)式的值,則轉(zhuǎn)向該case后面的語(yǔ)句去執(zhí)行;若表達(dá)式的值不等于任何case后面的常量表達(dá)式的值,則轉(zhuǎn)向default后面的語(yǔ)句去執(zhí)行,如果沒(méi)有default部分,則將不執(zhí)行switch語(yǔ)句中的任何語(yǔ)句,而直接轉(zhuǎn)到switch語(yǔ)句后面的語(yǔ)句去執(zhí)行。20第4章選擇結(jié)構(gòu)程序設(shè)計(jì)4.5開(kāi)關(guān)語(yǔ)句說(shuō)明:(1)switch后面圓括號(hào)內(nèi)的表達(dá)式的值和case后面的常量表達(dá)式的值都必須是整型或字符型,不允許是浮點(diǎn)型。(2)同一個(gè)switch語(yǔ)句中的所有case后面的常量表達(dá)式的值都必須互不相同。(3)switch語(yǔ)句中的case和default的出現(xiàn)次序是任意的,也就是說(shuō)default也可以位于case的前面,且case的次序也不要求按常量表達(dá)式的大小順序排列。(4)每個(gè)case或default后的語(yǔ)句可以是多條語(yǔ)句,但可以不需要使用“{“和”}”括起來(lái)。21第4章選擇結(jié)構(gòu)程序設(shè)計(jì)4.5開(kāi)關(guān)語(yǔ)句說(shuō)明:(5)由于switch語(yǔ)句中的“case常量表達(dá)式”部分只起標(biāo)號(hào)的作用,而不進(jìn)行條件判斷,所以在執(zhí)行完某個(gè)case后的語(yǔ)句后,將自動(dòng)轉(zhuǎn)到該語(yǔ)句后面的語(yǔ)句去執(zhí)行,直到遇到switch語(yǔ)句的右花括號(hào)或break語(yǔ)句為止,而不再進(jìn)行條件判斷。如果在執(zhí)行完一個(gè)case分支后,要跳出switch語(yǔ)句轉(zhuǎn)到下一條語(yǔ)句執(zhí)行,可在一個(gè)case結(jié)束后、下一個(gè)case開(kāi)始前插入一個(gè)break語(yǔ)句。程序一旦執(zhí)行到braek語(yǔ)句,將立即跳出switch語(yǔ)句。22switch(n){case1:x=1;case2:x=2;}當(dāng)n=1時(shí),將連續(xù)執(zhí)行下面兩個(gè)語(yǔ)句:x=1;x=2;例如:switch(n){case1:x=1;braek;case2:x=2;braek;}當(dāng)n=1時(shí),將只執(zhí)行一個(gè)語(yǔ)句:x=1;23第4章選擇結(jié)構(gòu)程序設(shè)計(jì)4.5開(kāi)關(guān)語(yǔ)句說(shuō)明:(6)多個(gè)case可以共用一組執(zhí)行語(yǔ)句。例如:switch(n){case1:case2:case3:x=3;}24第4章選擇結(jié)構(gòu)程序設(shè)計(jì)4.5開(kāi)關(guān)語(yǔ)句注意:(1)switch的表達(dá)式后不能有“;”。(2)case與其后面的常量表達(dá)式間至少有一個(gè)空格。(3)switch語(yǔ)句可以嵌套,break語(yǔ)句只跳出它所在的switch語(yǔ)句。(4)default語(yǔ)句可以省略。25例4.4給變量a,b,c輸入整數(shù),根據(jù)a的值確定對(duì)b、c的運(yùn)算:當(dāng)a=1時(shí):計(jì)算b+c的值。當(dāng)a=2時(shí):計(jì)算b-c的值。當(dāng)a=3時(shí):計(jì)算b*c的值。當(dāng)a=4時(shí):計(jì)算b/c的值。其他值時(shí):不做任何操作。main(){inta,b,c;scanf("%d,%d,%d",&a,&b,&c);switch(a){case1:printf("%d+%d=%d\n",b,c,b+c);break;case2:printf("%d-%d=%d\n",b,c,b-c);break;case3:printf("%d*%d=%d\n",b,c,b*c);break;case4:printf("%d/%d=%d\n",b,c,b/c);}}程序:26第4章選擇結(jié)構(gòu)程序設(shè)計(jì)4.6應(yīng)用舉例例4.5輸入三個(gè)數(shù),按由小到大的順序輸出。分析:已知:輸入的三個(gè)數(shù)(分別用a,b,c來(lái)存放)。求:由小到大的順序輸出的三個(gè)數(shù)。處理:(1)a,b中的小者存入a,大者存入b。(2)a,c中的小者存入a,大者存入c。(3)b,c中的小者存入b,大者存入c。流程圖:開(kāi)始結(jié)束輸入a,b,c輸出a,b,ca>b交換a,bNYa>c交換a,cNYb>c交換b,cNY27第4章選擇結(jié)構(gòu)程序設(shè)計(jì)4.6應(yīng)用舉例例4.5輸入三個(gè)數(shù),按由小到大的順序輸出。開(kāi)始結(jié)束輸入a,b,c輸出a,b,ca>b交換a,bNYa>c交換a,cNYb>c交換b,cNY程序:main(){inta,b,c,t;printf("a,b,c=?");scanf("%d,%d,%d",&a,&b,&c);if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}printf("%d,%d,%d",a,b,c);}28第4章選擇結(jié)構(gòu)程序設(shè)計(jì)4.6應(yīng)用舉例例4.6輸入一個(gè)不多于4位的正整數(shù),求出它是幾位數(shù),逆序打印出各位數(shù)字分析:已知:一個(gè)不多于4位的正整數(shù)(用x來(lái)存放)。求:該正整數(shù)是幾位數(shù),該正整數(shù)的各位數(shù)字(分別用a、b、c、d來(lái)存放千位、百位、十位、個(gè)位上的數(shù)字,由a、b、c、d的值確定該正整數(shù)是幾位數(shù))。處理:用算術(shù)運(yùn)算符到低位判斷各位上的數(shù)字是否不為零,據(jù)此確定該正整數(shù)是幾位數(shù)。29流程圖:取組成x的各位上的數(shù)字(a、b、c、d)開(kāi)始結(jié)束輸入xNY輸出4位數(shù)及數(shù)字NY輸出3位數(shù)及數(shù)字NYc!=0輸出2位數(shù)及數(shù)字d!=0輸出1位數(shù)及數(shù)字a!=0b!=030程序:main(){intx,a,b,c,d;scanf("%d",&x);a=x/1000;b=x%1000/100;c=x%100/10;d=x%10;if(a!=0)printf("4:%d%d%d%d\n",d,c,b,a);elseif(b!=0)printf("3:%d%d%d\n",d,c,b);elseif(c!=0)printf("2:%d%d\n",d,c);elseif(d!=0)printf("1:%d\n",d);}取組成x的各位上的數(shù)字(a、b、c、d)開(kāi)始結(jié)束輸入xNY輸出4位數(shù)及數(shù)字NY輸出3位數(shù)及數(shù)字NYc!=0輸出2位數(shù)及數(shù)字d!=0輸出1位數(shù)及數(shù)字a!=0b!=031第4章選擇結(jié)構(gòu)程序設(shè)計(jì)4.6應(yīng)用舉例例4.7輸入一個(gè)數(shù)字,輸出對(duì)應(yīng)的星期幾的英文單詞。分析:已知:一個(gè)數(shù)字(1~7,用n來(lái)存放)。求:對(duì)應(yīng)的星期幾的英文單詞(直接輸出)。處理:由于一個(gè)星期有7天,對(duì)輸入的數(shù)字進(jìn)行判斷,有8種情況(包括出錯(cuò)),用開(kāi)關(guān)語(yǔ)句進(jìn)行處理。32開(kāi)始輸出Sun輸出Mon輸出Tues輸出Wednes輸出Thurs輸出Fri輸出Satur輸出Error結(jié)束n其他=6=5=4=3=2=1=0流程圖:33程序:main(){intn;scanf("%d",&n);switch(n){case0:printf("Sunday\n");break;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;default:printf("Error");}}34第4章選擇結(jié)構(gòu)程序設(shè)計(jì)4.7本章考點(diǎn)關(guān)系運(yùn)算符和關(guān)系表達(dá)式。邏輯運(yùn)算符和邏輯表達(dá)式。條件運(yùn)算符和條件表達(dá)式。簡(jiǎn)單if語(yǔ)句的格式與功能。嵌套if語(yǔ)句的格式與功能。switch語(yǔ)句的格式與功能。35第4章選擇結(jié)構(gòu)程序設(shè)計(jì)4.8典型試題詳解1.以下程序運(yùn)行后的輸出結(jié)果是________。main(){intp=30;printf("%d\n",(p/3>0?p/10:p%3));}正確答案:3(知識(shí)點(diǎn):條件運(yùn)算符和條件表達(dá)式)試題分析:表達(dá)式p/3的值為10,大于0,所以條件表達(dá)式(p/3>0?p/10:p%3)的值取p/10的值3。36第4章選擇結(jié)構(gòu)程序設(shè)計(jì)4.8典型試題詳解2.有以下程序:main(){inti=1,j=1,k=2;if((j++||k++)&&i++)printf("%d,%d,%d\n",i,j,k);}執(zhí)行后輸出結(jié)果是________。A)1,1,2 B)2,2,1 C)2,2,2 D)2,2,3正確答案:C(知識(shí)點(diǎn):邏輯運(yùn)算符和邏輯表達(dá)式)試題分析:根據(jù)運(yùn)算規(guī)則,對(duì)邏輯表達(dá)式(j++||k++)&&i++應(yīng)先計(jì)算表達(dá)式j(luò)++的值,其結(jié)果是表達(dá)式j(luò)++的值為1,j的值為2,再將表達(dá)式j(luò)++的值1與k++進(jìn)行||運(yùn)算,由邏輯運(yùn)算符||構(gòu)成的邏輯表達(dá)式在已經(jīng)確定一個(gè)運(yùn)算對(duì)象的值為1時(shí),其邏輯表達(dá)式的值即為1,此時(shí)不再處理其另一個(gè)運(yùn)算對(duì)象,因此,不再計(jì)算k++,k的值仍為2。邏輯表達(dá)式(j++||k++)的值為1,再與i++進(jìn)行&&運(yùn)算,需要計(jì)算表達(dá)式i++的值,表達(dá)式i++為1,i的值為2,邏輯表達(dá)式(j++||k++)&&i++的值1,執(zhí)行printf("%d,%d,%d\n",i,j,k);語(yǔ)句,其結(jié)果為2,2,2。37第4章選擇結(jié)構(gòu)程序設(shè)計(jì)4.8典型試題詳解3.以下程序輸出的結(jié)果是________。main(){inta=5,b=4c=3,d;d=(a>b>c);printf("%d\n",d);}正確答案:0(知識(shí)點(diǎn):關(guān)系運(yùn)算符和關(guān)系表達(dá)式)試題分析:根據(jù)運(yùn)算規(guī)則,對(duì)表達(dá)式(a>b>c)應(yīng)先計(jì)算表達(dá)式a>b的值,其結(jié)果為1,再計(jì)算1>c的值,其結(jié)果為0,故d的值為0。38第4章選擇結(jié)構(gòu)程序設(shè)計(jì)4.8典型試題詳解4.有定義語(yǔ)句:inta=1,b=2,c=3,x;,則以下選項(xiàng)中各程序段執(zhí)行后,x的值不等于3的是________。A)if(c<a)x=1; B)if(a<3)x=3;elseif(b<a)x=2; elseif(a<2)x=2;elsex=3; elsex=1;C)if(a<3)x=3; D)if(a<b)x=b;if(a<2)x=2; if(b<c)x=c;if(a<1)x=1; if(c<a)x=a;正確答案:C(知識(shí)點(diǎn):簡(jiǎn)單if語(yǔ)句和嵌套if語(yǔ)句的格式與功能)試題分析:根據(jù)嵌套if語(yǔ)句的功能,對(duì)各程序段執(zhí)行后,A)的結(jié)果是x=3,B)的結(jié)果是x=3,C)的結(jié)果是x=2,D)的結(jié)果是x=3。在這類題目中,一定要注意其邏輯關(guān)系。39第4章選擇結(jié)構(gòu)程序設(shè)計(jì)4.8典型試題詳解5.以下程序運(yùn)行后的結(jié)果是________。main(){inta=1,b=3,c=5;if(c=a+b)printf("yes\n");elseprintf("no\n");}正確答案:yes(知識(shí)點(diǎn):簡(jiǎn)單if語(yǔ)句的格式與功能、運(yùn)算符=和==)試題分析:if語(yǔ)句后判斷的條件是c=a+b,即將a+b的值賦給c,再判斷c的值是否為真,而不是判斷c是否等于a+b。運(yùn)算符=和==是不同的。40第4章選擇結(jié)構(gòu)程序設(shè)計(jì)4.8典型試題詳解6.若有以下程序:main(){inta=4,b=3,c=5,t=0;if(a<b)t=a;a=b;b=t;if(a<c)t=a;a=c;c=t;printf("%d%d%d",a,b,c);}執(zhí)行后的輸出結(jié)果為_(kāi)_______。正確答案:503(知識(shí)點(diǎn):簡(jiǎn)單if語(yǔ)句的格式與功能\運(yùn)算符=和==)試題分析:根據(jù)a<b的值0,程序執(zhí)行a=b;b=t;,則a=3,b=0,再根據(jù)a<c的值1,程序執(zhí)行t=a;,再執(zhí)行a=c;c=t;,則a=5,c=3。注意,第一個(gè)if語(yǔ)句在其后的t=a;后已經(jīng)結(jié)束,其后的a=b;b=t;是第一

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論