C語(yǔ)言選擇結(jié)構(gòu)作業(yè)(含解答)_第1頁(yè)
C語(yǔ)言選擇結(jié)構(gòu)作業(yè)(含解答)_第2頁(yè)
C語(yǔ)言選擇結(jié)構(gòu)作業(yè)(含解答)_第3頁(yè)
C語(yǔ)言選擇結(jié)構(gòu)作業(yè)(含解答)_第4頁(yè)
C語(yǔ)言選擇結(jié)構(gòu)作業(yè)(含解答)_第5頁(yè)
已閱讀5頁(yè),還剩3頁(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)介

./選擇結(jié)構(gòu)作業(yè)解答〔3一、選擇題:判斷char型變量ch是否位數(shù)字的表達(dá)式的是:‘0’<=ch<=’9’b><ch>‘0’>&&<ch<c><ch>=‘0’>&&<ch<=’9’>d><ch>=‘0’>||<ch<=答案:b能正確表示a和b不同時(shí)為0的邏輯表達(dá)式的是:a>a*b==0b><a==0>||<b==0>c><a==0&&b!=0>&&<b==0&&a!=0>d><a!=0>||<b!=0>答案:d解答:能表示a不能被2整除且a、b不相等,但a、b的和等于0的C語(yǔ)言邏輯表達(dá)式是:a>a==-b&&a%2==0b>a!=b&&a+b==0&&a%2c>!<a%2>&&a==-bd>a%2==0a+b==0答案:d解答:有以下程序:#include<stdio.h> void main {intx=2,y=3,z; charch=‘a(chǎn)’; z=<x||!y>&&<ch>’A’>; } 程序運(yùn)行后z的值是 a>trueb>falsec>0d>1關(guān)于if后面一對(duì)圓括號(hào)中的表達(dá)式,敘述正確的是a>只能用關(guān)系表達(dá)式b>只能用邏輯表達(dá)式c>只能用關(guān)系表達(dá)式或邏輯表達(dá)式d>可以使用任意合法的表達(dá)式對(duì)switch后面一對(duì)圓括號(hào)中的表達(dá)式,敘述正確的是a>只能用數(shù)字b>可以是浮點(diǎn)數(shù)c>只能用整型數(shù)據(jù)或字符型數(shù)據(jù)d>以上敘述都不對(duì)以下不正確的if語(yǔ)句是a>if<a<b>t=a;b>if<a!=b&&b>;c>if<a=b>printf<"equal">;c>if<a>b>&&<b>c>printf<"max=%d",a>;有以下程序:#include<stdio.h> voidmain<>{intm=-2;if<m=0>printf<"">;elseprintf<"%%%">;}程序運(yùn)行后的輸出結(jié)果是:ab>%%%c>%%d>%%%有以下程序:#include<stdio.h> voidmain<>{inta=12,b=20,t=18;if<a>b>t=a;a=b;b=t;printf<"a=%d,b=%d,t=%d",a,b,t>;}程序運(yùn)行后的輸出結(jié)果是:aa=12,b=20,t=18b>a=20,b=18,t=18c>a=20,b=12,t=12d>a=20,b=18,t=12有以下程序:#include<stdio.h> voidmain<>{intt=65;if<t>45>printf<"%d",t>;elseprintf<"%d",t>;if<t>35>printf<"%d",t>;elseprintf<"%d",t>;if<t>25>printf<"%d",t>;}程序運(yùn)行后的輸出結(jié)果是:a65b>6565c有以下程序:#include<stdio.h> voidmain<>{intt=8;if<t-->=8>printf<"%d\n",t-->;elseprintf<"%d\n",t++>;}程序運(yùn)行后的輸出結(jié)果是:a9b>8c>7有以下程序:#include<stdio.h> voidmain<>{inta=2,b=5,c=3,d=2,x;if<a%3>b>if<c>d>if<b<d>x=++b;elsex=++d;elsex=--c;elsex=++b;}程序運(yùn)行后的x的值是:a6b>3c與"y=<x>0?x:x<0?-x:0>"的功能相同的if語(yǔ)句是if<x>if<x>0>y=x;elseif<x<0>y=-x;if<x>if<x>0>y=x;elseif<x<0>y=-x;elsey=0;bif<x>if<x>0>y=x;elseif<x<0>y=-x;elsey=0;y=-x;if<x>if<x>0>y=x;elseif<x==0>y=0; elsey=-x;elsey=0;y=0;y=0;if<x>=0>if<x>0>y=x;elsey=-x;if<x>0>y=x;elseif<x<0>y=-x;elsey=0;若a、b、c1、c2均是整型變量,x,y是浮點(diǎn)型變量,則以下正確的switch語(yǔ)句是a>switch<c1+c2>{case1:y=a+b;break;case2:y=a-b;break;case1:y=b-a;break;}bswitch<x+y>{case1:case2:printf<"%d",a+b>;break;}dswitch<a-b>{default:y=a*b;break;case10:case9:x=a+b;break;case7:case5:y=b-a;break;}cswitch<c1+c2>; {casec1:y=a-b;break;casec2:x=a*b;break;default:x=a+b;}以下關(guān)于switch和break語(yǔ)句的說(shuō)法中正確的是break語(yǔ)句只能用在switch語(yǔ)句中;在switch語(yǔ)句中,可以根據(jù)需要決定是否使用break語(yǔ)句;在switch語(yǔ)句中必須使用break語(yǔ)句;以上選項(xiàng)都不正確;有以下程序:#include<stdio.h>voidmain<>{intc;c=getchar〔;switch<c-‘2’{case0: case1:putchar<c+4>; case2:putchar<c+4>;break; case3:putchar<c+3>; case4:putchar<c+2>;break;} }程序運(yùn)行后,輸入2<回車>,輸出結(jié)果是:a66b>6c6654d>沒(méi)有輸出容二、填空題:關(guān)系運(yùn)算符、邏輯運(yùn)算符、算術(shù)運(yùn)算符和賦值運(yùn)算符的運(yùn)算優(yōu)先級(jí)順序由高到低的排列順序是算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符、賦值運(yùn)算符。滿足|y|<9的C語(yǔ)言表達(dá)式是y>-9&&y<9。設(shè)字符變量ch的值是大寫英文字母,將它轉(zhuǎn)換為相應(yīng)的小寫英文字母的C語(yǔ)言表達(dá)式是ch=ch+32。判斷字符變量ch的值是英文字母的C語(yǔ)言表達(dá)式是ch>=’a’&&ch<=’z’||ch>=’A’&&ch<=’Z’。通過(guò)函數(shù)y=4+|x|計(jì)算函數(shù)值的if語(yǔ)句是if<x>=0>y=4+x;elsey=4-x;。以下程序的功能是輸入3個(gè)整型變量num1、num2、num3的值,然后對(duì)這3個(gè)變量按從小到大的順序排序。請(qǐng)?zhí)羁铡?include<stdio.h> voidmain<>{intnum1,num2,num3,temp;printf<"pleaseinputthreenumbers:">;scanf<"%d%d%d",&num1,&num2,&num3>; if<⑴>{temp=num1;num1=num2;num2=temp;} if<⑵>{temp=num1;num1=num3;num3=temp;} if<⑶>{temp=num2;num2=num3;num3=temp;}}答案:〔1num1>num2〔2num1>num3〔3num2>num3以下程序的功能是輸入3個(gè)整型變量num1、num2、num3的值,求它們中的最大值。請(qǐng)?zhí)羁铡?include<stdio.h> voidmain<>{intnum1,num2,num3,temp;printf<"pleaseinputthreenumbers:">;scanf<"%d%d%d",&num1,&num2,&num3>; if<num1>num2>max=num1; else⑴; if<⑵>max=num3;printf<"Thelargestnumberis:%d.\n",max>;}答案:〔1max=num2〔2num3>max以下程序的功能是從鍵盤輸入一個(gè)年份year的值〔4位十進(jìn)制數(shù),判斷其是否閏年。閏年的條件是:能被4整除,但不能被100整除;或者能被400整除。請(qǐng)?zhí)羁铡?include<stdio.h> voidmain<>{intyear,leap=0;printf<"pleaseinputtheyear:">;scanf<"%d",&year>; if<year%400==0>leap=1; elseif<⑴> leap=1; else<⑵>if<⑶> printf<"%disaleapyear.\n",year>; elseprintf<"%disnotaleapyear.\n",year>; }答案:〔1year%4==0&&year%100!=0〔2leap=0〔3leap以下程序運(yùn)行后,若從鍵盤輸入55<回車>,則程序的輸出結(jié)果是:#include<stdio.h> voidmain<>{inta,b;scanf<"%d%d",&a,&b>; if<a>6> if<a<10> a++; elsea--; if<b>6> {if<b<10> b++;} elseb--;printf<"a=%d,b=%d\n",a,b>; }答案:a=5,b=4以下程序運(yùn)行后,若從鍵盤輸入-123<回車>,則程序的輸出結(jié)果是:#include<stdio.h> voidmain<>{intdigit,in,s=0;scanf<"%d",&in>;if<in<0> in=-in; digit=in%10;s=s+digit*digit;digit=in/100;s=s+digit*digit;printf<"sum=%d\n",s>;}答案:sum=10以下程序運(yùn)行后,若從鍵盤輸入6<回車>,則程序的輸出結(jié)果是:#include<stdio.h> voidmain<>{intn;scanf<"%d",&n>;printf<"%d%c\n",n,<n%4==0>?’*’:’#’>;}答案:4#以下程序運(yùn)行后,若從鍵盤輸入4<回車>,則程序的輸出結(jié)果是:#include<stdio.h> voidmain<>{intn;scanf<"%d",&n>;printf<"%d%c\n",n,<n%4==0>?’*’:’#’>;}答案:4*以下程序的功能是輸入一個(gè)2~99之間的數(shù)據(jù),判斷該數(shù)據(jù)是否是一個(gè)同構(gòu)數(shù)。同構(gòu)數(shù)是指該數(shù)出現(xiàn)在其平方數(shù)的右邊,例5和25是同構(gòu)數(shù)。請(qǐng)?zhí)羁眨?include<stdio.h> voidmain<>{intx,y;scanf<"%d",&x>;⑴; if<⑵>printf<"%d是同構(gòu)數(shù)。\n",x>;}答案:<1>y=x*x-x<2><x/10==0&&y%10==0>||y%100==0以下程序的功能是判斷一個(gè)三位數(shù)是否是水仙花數(shù)。水仙花數(shù)是指該數(shù)的各位數(shù)字的立方和等于該數(shù)。請(qǐng)?zhí)羁眨?include<stdio.h> voidmain<>{intnum,a,b,c,sum;⑴; a=num%10;⑵; c=num/100;if<⑶>printf<"%d是水仙花數(shù)。\n",x>;elseprintf<"%d不是水仙花數(shù)。\n",x>;}答案:<1>scanf〔"%d",&num;<2>b=num/10%10<3>num==a*a*a+b*b*b+c*c*c某商場(chǎng)根據(jù)購(gòu)物金額采用打折的方式促銷商品。以下程序的功能是計(jì)算購(gòu)物金額。請(qǐng)?zhí)羁眨嘿?gòu)物的折扣率如下購(gòu)物金額≤500元,不打折;500元<購(gòu)物金額≤1000元,9折1000元<購(gòu)物金額,8折。#include<stdio.h> voidmain<>{floatprice,r,cost;scanf<"%f",&price>;if<price<=500>r=1.0; elseif<⑴> r=0.9elser=0.8;⑵; printf<"\n實(shí)際購(gòu)物金額為:%f\n",cost>;}答案:<1>price<=1000<2>cost=price*r三、改錯(cuò)題:以下程序的功是,輸入一個(gè)整數(shù),判斷他是否同時(shí)被3、5、7整除;能否被其中一個(gè)數(shù)整除;是否不能被這3個(gè)數(shù)整除。以下程序有若干錯(cuò)誤,請(qǐng)修改:voidmain{intx; scanf<"%d",&x>;if<<x%3==0>||<x%5==0>||<x%7==0>> print<"%dcanbedividedby3、5、7\n",x>;if<x%3==0> print<"%dcanbedividedby3\n",x>; if<x%5==0> print<"%dcanbedividedby5\n",x>; if<x%7==0> print<"%dcanbedividedby7\n",x>;if<<x%3!=0>&&<x%5!=0>&&<x%7!=0>> print<"%dcannotbedividedby3、5、7\n",x>;}改正以后的程序:#include<stdio.h> voidmain<> {intx; scanf<"%d",&x>;if<<x%3==0>&&<x%5==0>&&<x%7==0>> print<"%dcanbedividedby3、5、7\n",x>;elseif<x%3==0> print<"%dcanbedividedby3\n",x>;elseif<x%5==0> print<"%dcanbedividedby5\n",x>;elseif<x%7==0> print<"%dcanbedividedby7\n",x>;if<<x%3!=0>&&<x%5!=0>&&<x%7!=0>> print<"%dcannotbedividedby3、5、7\n",x>;}四、將程序補(bǔ)充完整:下面程序的功能是:根據(jù)輸入的日期〔年:ynow,月:mnow,日:dnow,和出生日期〔年:ybirth;月:mbirth;日:dbirth,計(jì)算年齡。請(qǐng)將程序補(bǔ)充完整。 #include<stdio.h> voidmain<> {intage,ynow,mnow,dnow,ybirth,mbirth,dbirth;printf<"pleaseinputyourbirthday:">;/*在此補(bǔ)充容;*/scanf<"%d%d%d",&ybirth,&mbirth,&dbirth>;printf<"pleaseinputtoday’sdate<year、month、day>:">;scanf<"%d%d%d",&ynow,&mnow,&dnow>;age=ynow-ybirth; printf<"yourageis:%-d\n",age>; }五、編程題:請(qǐng)編寫程序,計(jì)算一元二次方程ax2+bx+c=0的根。#include<stdio.h> #include<math.h> main<>{inta,b,c;doubled,delta;scanf<"%d,%d,%d",&a,&b,&c>;if<a==0> {if<b!=0>printf<"onlyoneroot:%f\n",-c/<float>b>;elseif<c==0>printf<"anyroots!">; elseprintf<"noroot!">;}else{delta=b*b-4*a*c;d=sqrt<fabs<delta>>;if<delta==

溫馨提示

  • 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)論