【MOOC】C程序設(shè)計(jì)基礎(chǔ)-廈門大學(xué) 中國大學(xué)慕課MOOC答案_第1頁
【MOOC】C程序設(shè)計(jì)基礎(chǔ)-廈門大學(xué) 中國大學(xué)慕課MOOC答案_第2頁
【MOOC】C程序設(shè)計(jì)基礎(chǔ)-廈門大學(xué) 中國大學(xué)慕課MOOC答案_第3頁
【MOOC】C程序設(shè)計(jì)基礎(chǔ)-廈門大學(xué) 中國大學(xué)慕課MOOC答案_第4頁
【MOOC】C程序設(shè)計(jì)基礎(chǔ)-廈門大學(xué) 中國大學(xué)慕課MOOC答案_第5頁
已閱讀5頁,還剩35頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

【MOOC】C程序設(shè)計(jì)基礎(chǔ)-廈門大學(xué)中國大學(xué)慕課MOOC答案簡單語法與程序選擇題1、【單選題】下面的敘述正確的是()。本題答案:【一個C的源程序可以由一個或多個函數(shù)組成】2、【單選題】C程序是從()開始執(zhí)行的。本題答案:【主函數(shù)】3、【單選題】關(guān)于C程序的敘述,正確的是()。本題答案:【一條語句可以寫在多行,也可以多條語句寫在一行】4、【單選題】以下正確的printf語句是()。本題答案:【?printf(ThisisaCprogram.\n);】5、【單選題】/*程序功能:打印輸出helloworld#includestdio.hintmain(){printf(Hello,world\n);return0;}上面程序的運(yùn)行結(jié)果是()本題答案:【程序出錯,不能運(yùn)行】6、【單選題】設(shè)有程序“1.cpp”,編譯后運(yùn)行該程序,執(zhí)行的是()文件。本題答案:【1.exe】7、【多選題】下面程序的錯誤是()#includestdio.hintmian(){printf(helloworld)return0;}本題答案:【printf(helloworld)后面少分號#主函數(shù)名寫錯】8、【多選題】輸出結(jié)果為500+200=700的語句是()。本題答案:【printf(500+200=%d,500+200);#printf(500+200=700);】9、【多選題】輸出結(jié)果為25*64=1600的語句是()。本題答案:【printf(25*64=%d,25*64);#printf(25*64=1600);】10、【多選題】下面是關(guān)于C程序注釋的敘述,其中正確的是()。本題答案:【/*……*/可以注釋多行,也可以注釋一行#//是行注釋,從//開始至行尾為注釋內(nèi)容】判斷題(本周語法匯總)1、【判斷題】編寫C程序時,main函數(shù)必不可少。本題答案:【正確】2、【判斷題】printf("\n");可實(shí)現(xiàn)換行本題答案:【正確】3、【判斷題】C的每條語句結(jié)束處必須用分號。本題答案:【正確】4、【判斷題】注釋語句不影響程序的運(yùn)行。本題答案:【正確】5、【判斷題】若使用printf輸出結(jié)果,則必須在程序前添加#includestdio.h本題答案:【正確】6、【判斷題】C程序中的標(biāo)點(diǎn)符號(如分號;)必須用英文的標(biāo)點(diǎn)符號。本題答案:【正確】輸入數(shù)據(jù)_表達(dá)式_數(shù)學(xué)函數(shù)的編程練習(xí)--------計(jì)分程序改錯題:兩值交換-------選做,不計(jì)入總分語法知識選擇題1、【單選題】下列浮點(diǎn)數(shù)的表示中不正確的是()。本題答案:【e23】2、【單選題】合法的C語言標(biāo)識符是()本題答案:【sum】3、【單選題】不合法的C語言標(biāo)識符是()。本題答案:【4d】4、【單選題】下列定義變量的語句中錯誤的是()。本題答案:【Doublea1;】5、【單選題】在C語言中,要求運(yùn)算數(shù)必須是整型的運(yùn)算符是()。本題答案:【%】6、【單選題】下面()語句正確地描述了計(jì)算公式本題答案:【y=(a*x*x*x)/(x–b);】7、【單選題】下面()是合法的賦值語句.本題答案:【i=1;】8、【單選題】下面程序的輸出是()。#includestdio.hintmain(){intx=10,y=3;printf(%d,y=x/y);return0;}本題答案:【3】9、【單選題】下面程序的輸出是()。#includestdio.hintmain(){inta=5;printf(a=%d\n,++a+2);return0;}本題答案:【a=8】10、【單選題】78%10的結(jié)果是()。本題答案:【8】11、【單選題】下面程序的輸出是()。#includestdio.hintmain(){inta=8;printf(%d\n,(a++)*2);return0;}本題答案:【16】12、【單選題】下面程序的輸出是()。#includestdio.hintmain(){inta=3;printf(%d\n,(a--)*7);return0;}本題答案:【21】13、【單選題】下面程序的輸出是()。#includestdio.hintmain(){intb=3,a=3;printf(%d,%d\n,b,a--);return0;}本題答案:【3,3】14、【單選題】i=1;執(zhí)行()語句后,變量i的值不會發(fā)生變化。本題答案:【i+5;】15、【單選題】intx;scanf(%d,x);下面()可以獲得x的個位數(shù)。本題答案:【x%10;】16、【單選題】語句floatx=3.0,y=4.0;下列表達(dá)式中y的值為9.0的是()。本題答案:【y+=x+2.0】17、【單選題】有關(guān)運(yùn)算符的正確描述是()本題答案:【單目運(yùn)算符優(yōu)先級高于雙目運(yùn)算符】18、【多選題】下面()語句正確地描述了方程本題答案:【?y=a*x*x*x+c;#y=(a*x*x*x)+c;】19、【多選題】下面()能完成變量a,b的值的交換。本題答案:【t=a;a=b;b=t;#a=a+b;b=a-b;a=a-b;】20、【多選題】()可以使整型變量i的值加1。本題答案:【i++;#++i;#i=i+1;#i+=1;】21、【多選題】inty,a;scanf(%d,y);輸入任意整數(shù),下面()中,a是y的百位數(shù)。本題答案:【a=y/100%10;#a=y%1000/100;】單分支編程題.--------計(jì)分單分支.-----------選做,不計(jì)入總分選擇題---計(jì)分1、【單選題】?能正確表示邏輯關(guān)系x=y=z的C語言表達(dá)式為()本題答案:【(x=y)(y=z)】2、【單選題】能正確表示邏輯關(guān)系“a大于等于10或a小于等于0”的C語言表達(dá)式是()本題答案:【a=10‖a=0】3、【單選題】能正確表示邏輯關(guān)系“79X90”的C語言表達(dá)式是()本題答案:【?(X79)(X90)】4、【單選題】設(shè)a為整型變量,不能正確表達(dá)數(shù)學(xué)關(guān)系10<a<15的C語言表達(dá)式是()本題答案:【?10a15】5、【單選題】設(shè)x,t均為int型變量,則執(zhí)行語句“x=10;t=xx10;”后,t的值為()提示:賦值運(yùn)算優(yōu)先級較低,低于算術(shù)、關(guān)系、邏輯運(yùn)算。本題答案:【?0】6、【單選題】下面程序,運(yùn)行后的輸出結(jié)果是()#includestdio.hintmain(){inta=1,b=3,c=4;if(ab)a=b;if(ac)a=c;printf(%d,%d,%d\n,a,b,c);}本題答案:【4,3,4】7、【單選題】語法不正確的語句是()本題答案:【?if(x==y)(x!=0)x++;】8、【單選題】如果整型變量a,b,c的值分別為5,4,3,則語句if(abc)c++;執(zhí)行后c的值是()本題答案:【3】9、【單選題】如果整型變量a,b,c的值分別為3,4,5,則語句if(abc)c++;執(zhí)行后c的值是()本題答案:【6】10、【單選題】運(yùn)行以下程序,如果從鍵盤上輸入5,則輸出結(jié)果是()#includestdio.hintmain(){intx;scanf(%d,x);if(x--5)printf(%d,x);}本題答案:【無輸出?】11、【單選題】C語言語句中,可以用來決定分支流程的表達(dá)式是()本題答案:【?任意表達(dá)式】12、【單選題】intx=102,y=12;printf(%2d,%3d\n,x,y);執(zhí)行后輸出結(jié)果是()提示:當(dāng)%md中m小于數(shù)據(jù)的實(shí)際寬度時,按實(shí)際寬度輸出。本題答案:【102,12】13、【單選題】設(shè)i是int型變量,j是float型變量,用下面的語句給這兩個變量輸入值:scanf(i=%d,j=%f,i,j);為了把10和2.5分別賦給i和j,則正確的輸入為()本題答案:【i=10,j=2.5回車】14、【單選題】執(zhí)行下面語句,inta=1,b=2,c=3;if(ac)b=c;a=c;c=b;a,b,c的值分別為()(用逗號分隔)提示:由if控制的分支語句只有一條本題答案:【3,2,2】15、【單選題】請選出正確的輸入語句()。本題答案:【doublef;scanf(%lf,f);】16、【多選題】在printf函數(shù)中,浮點(diǎn)型數(shù)據(jù)輸出的格式控制符有()。本題答案:【%e#%f#%g】17、【多選題】下面程序中,()可以輸出變量a,b,c的最大值。本題答案:【if(a=ba=c)printf(最大值為%d\n,a);if(b=ab=c)printf(最大值為%d\n,b);if(c=ac=b)printf(最大值為%d\n,c);#max=a;if(bmax)max=b;if(cmax)max=c;printf(最大值為%d\n,max);】18、【填空題】設(shè)a=1,b=2,c=3,關(guān)系表達(dá)式a+b=c的值是()。本題答案:【1】19、【填空題】設(shè)a=1,b=2,c=3,邏輯表達(dá)式abc的值是()。本題答案:【1】20、【填空題】設(shè)a=1,b=2,c=3,邏輯表達(dá)式a||!b||!c的值是()。本題答案:【1】21、【填空題】輸入一個考試分?jǐn)?shù)(0至100范圍內(nèi)),如果分?jǐn)?shù)小于60分,則輸出“不及格”;大于90分輸出“優(yōu)秀”;大于等于60并且小于等于90,則輸出“合格”。(有1個空,答案一行寫一個,不要添加多余的空格)#includestdio.hintmain(){intx;printf("請輸入分?jǐn)?shù)(0-100):");scanf("%d",x);if(x60)printf("不及格\n");if(x90)printf("優(yōu)秀\n");printf("合格\n");//注意分?jǐn)?shù)在一個區(qū)間內(nèi),C語言中該如何描述return0;}本題答案:【if(x>=60&&x<=90)##%_YZPRLFH_%##if(60<=x&&x<=90)##%_YZPRLFH_%##if(60=x)##%_YZPRLFH_%##if(x>=60&&90>=x)##%_YZPRLFH_%##if(x>=60&&x<=90)##%_YZPRLFH_%##if(60<=x&&x<=90)##%_YZPRLFH_%##if(60=x)##%_YZPRLFH_%##if(x>=60&&90>=x)##%_YZPRLFH_%##if((x>=60)&&(x<=90))】22、【填空題】我國的郵政編碼由六位阿拉伯?dāng)?shù)字組成,前第三位代表郵區(qū),廈門市的郵政編碼前三位為361。下面的程序功能:如果輸入的郵政編碼前3位是361,則輸出“廈門市的郵件”;如果不是361,則輸出“不是廈門市的郵件”。請完善程序(有2個空,答案一行寫一個,不要添加多余的空格).#includestdio.hintmain(){intcode;printf("請輸入郵政編碼:");scanf("%*3d",code);//用scanf函數(shù)截取輸入郵政編碼的前3位if(361code)printf("廈門市的郵件\n");if(361!=code)printf("不是廈門市的郵件\n");return0;}需要更多樣例參考的同學(xué)可查閱課件“選擇結(jié)構(gòu)初步”里的最后一個文檔“習(xí)題解析”中第2題本題答案:【%3d==】多分支編程題.------計(jì)分分支2.-----------選做,不計(jì)入總分多分支選擇題1、【單選題】分析以下程序,下列說法正確的是()#includestdio.hmain(){intx=5,a=0,b=0;if(x=a+b)printf(****\n);elseprintf(####\n);}?本題答案:【輸出####】2、【單選題】分析以下程序,下列說法正確的是()#includestdio.hmain(){intx=6,a=8,b=3;if(x=a+b)printf(****\n);elseprintf(####\n);}本題答案:【輸出****】3、【單選題】分析以下程序,下列說法正確的是()#includestdio.hmain(){intx=0,a=0,b=0;if(x==a+b)printf(****\n);elseprintf(####\n);}本題答案:【輸出****】4、【單選題】運(yùn)行以下程序,如果從鍵盤上輸入5,則輸出結(jié)果是()#includestdio.hintmain(){intx;scanf(%d,x);if(x--5)printf(%d,x);elseprintf(%d,x++);}提示:本題答案:【4】5、【單選題】運(yùn)行以下程序,如果從鍵盤上輸入5,則輸出結(jié)果是()#includestdio.hintmain(){intx;scanf(%d,x);if(x--5)printf(%d,x);elseprintf(%d,++x);}可以參考本周課件“附加例題解析與作業(yè)指導(dǎo)”----“選擇結(jié)構(gòu)附加例題解析”文檔的第一個例題本題答案:【?5】6、【單選題】運(yùn)行以下程序,如果從鍵盤上輸入9,則輸出結(jié)果是()#includestdio.hintmain(){intx;scanf(%d,x);if(++x10)printf(%d,x);elseprintf(%d,--x);}可以參考本周課件“附加例題解析與作業(yè)指導(dǎo)”----“選擇結(jié)構(gòu)附加例題解析”文檔的第一個例題本題答案:【?9】7、【單選題】以下程序的輸出是()#includestdio.hintmain(){floatx=2.0,y;if(x0.0)y=0.0;elseif(x10.0)y=1.0/x;elsey=1.0;printf(%f\n,y);}本題答案:【?0.500000】8、【單選題】?下面程序的運(yùn)行結(jié)果是()。#includestdio.hmain(){inta=12,b=-34,c=56,min=0;min=a;if(minb)min=b;if(minc)?min=c;printf(%d,min);}可以參考本周課件“附加例題解析與作業(yè)指導(dǎo)”----“選擇結(jié)構(gòu)附加例題解析”文檔的最后一個例題本題答案:【-34】9、【單選題】分析以下程序,輸出結(jié)果是()#includestdio.hintmain(){intx=5;if(x)printf(****\n);printf(####\n);}H、I、K、****L、無輸出本題答案:【****####】10、【單選題】分析以下程序,輸出結(jié)果是()#includestdio.hintmain(){intx=5;if(x)x=6;x=7;printf(%d\n,x);}本題答案:【7】11、【多選題】按功能鍵F5進(jìn)入調(diào)試狀態(tài)后,可以()。本題答案:【設(shè)置斷點(diǎn)#控制程序一步一步地執(zhí)行,每執(zhí)行一步,都可以暫停#觀察變量或表達(dá)式值的變化】12、【多選題】下面()是正確的符號函數(shù)程序。當(dāng)x0時,y=1當(dāng)x=0時,y=0當(dāng)x0時,y=-1(提示:按if-else配對規(guī)則分析程序,y值的運(yùn)算結(jié)果與符號函數(shù)一致,才是正確的程序)本題答案:【if(x0)y=1;elseif(x==0)y=0;elsey=-1;#y=0;if(x!=0)if(x0)y=1;elsey=-1;】13、【多選題】程序功能:輸入一個整數(shù),當(dāng)它是偶數(shù)時,輸出“該數(shù)是偶數(shù)”,否則,輸出“該數(shù)是奇數(shù)”。請完善程序,空格處應(yīng)填()。#includestdio.hintmain(){intx;printf(請輸入x:);scanf(%d,x);if(x%2==0)printf(該數(shù)是偶數(shù)\n);//偶數(shù)除以2的余數(shù)為0printf(該數(shù)是奇數(shù)\n);return0;}本題答案:【else#if(x%2!=0)#elseif(x%2!=0)】14、【多選題】輸入一個考試分?jǐn)?shù)(0至100范圍內(nèi)),如果分?jǐn)?shù)小于60分,則輸出“不及格”;否則輸出“及格”。(程序有1個空,請選擇正確的答案)#includestdio.hintmain(){intx;printf(請輸入分?jǐn)?shù)(0-100):);scanf(%d,x);if(x60)printf(不及格\n);printf(及格\n);return0;}本題答案:【else#if(x=60)#elseif(x=60)】15、【填空題】讀程序,寫出運(yùn)行結(jié)果。#includestdio.hmain(){inta=1,b=3,c=5;if(c==a+b)printf(yes\n);elseprintf(no\n);}本題答案:【no】16、【填空題】讀程序,寫出運(yùn)行結(jié)果。#includestdio.hintmain(){intx=2,y=-1,z=5;if(xy)if(y0)z=0;elsez=z+1;printf(%d\n,z);}本題答案:【5】17、【填空題】讀程序,寫出運(yùn)行結(jié)果。#includestdio.hmain(){floata,b,c,t;a=3;b=7;c=1;if(ab){t=a;a=b;b=t;}if(ac){t=a;a=c;c=t;}if(bc){t=b;b=c;c=t;}printf(%5.2f,%5.2f,%5.2f,a,b,c);//注意%5.2f的輸出格式與逗號}本題答案:【1.00,3.00,7.00】18、【填空題】下面是一個旅游自助程序。程序先輸出選擇菜單,如果用戶輸入1,則提示輸入租車數(shù)量,用變量i保存,然后計(jì)算需支付的金額,并輸出。如果用戶輸入2,則提示輸入購票數(shù)量,用變量j保存,然后計(jì)算需支付的金額,并輸出。如果用戶輸入其它數(shù),則提示選擇錯誤。費(fèi)用計(jì)算方法:租一輛車需支付150元。門票一張60元,如果購票數(shù)=10,則每張50元。請完善程序。(程序有2個空,答案一行寫一個,不要添加多余的空格)#includestdio.hintmain(){intchoose,i,j,money;printf(\n\t\t旅游自助服務(wù)\n);printf(\t1---租車\t2---購買門票\n\n);printf(請選擇您需要的服務(wù):);scanf(%d,choose);if(){printf(請輸入租車數(shù)量);scanf(%d,i);money=150*i;printf(\n您需支付:%d元\n,money);}(choose==2){printf(請輸入購票數(shù)量);scanf(%d,j);if(j=10)money=50*j;elsemoney=60*j;printf(\n您需支付:%d元\n,money);}else{printf(選擇錯誤);}return0;}本題答案:【choose==1elseif##%_YZPRLFH_%##1==chooseelseif】單循環(huán)編程題.------計(jì)分循環(huán)基礎(chǔ)練習(xí)1.--------不計(jì)入總分單循環(huán)選擇、填空題1、【單選題】設(shè)有如下程序段,則輸出結(jié)果為()intk=0,a;for(a=1;a=1000;a++)k=k+1;printf(k=%d,k);提示:可參考課件“附加例題解析”文檔中的例題本題答案:【k=1000】2、【單選題】設(shè)有如下程序段,則最后一次輸出的是()inta;for(a=1;a=1000;a++)printf(a=%d,a);提示:可參考課件“附加例題解析”文檔中的例題本題答案:【?a=1000】3、【單選題】設(shè)有如下程序段,則輸出結(jié)果是()inta;for(a=1;a=1000;a++);printf(a=%d,a);提示:可參考課件“附加例題解析”文檔中的例題本題答案:【a=1001】4、【單選題】設(shè)有如下程序段,則輸出結(jié)果為()intk=0,a;for(a=1;a=1000;a++){a=a+1;k=k+1;}printf(k=%d,k);本題答案:【k=500】5、【單選題】inti,j=10;for(i=1;i==j;i++);的循環(huán)次數(shù)是()提示:可參考課件“附加例題解析”文檔中的例題本題答案:【?0】6、【單選題】inti,j;j=10;for(i=1;i=j;i++)j--;程序的循環(huán)次數(shù)是()本題答案:【?5】7、【單選題】語句for(x=0,y=0;y!=1x4;x++);是()本題答案:【循環(huán)4次?】8、【單選題】設(shè)有程序段:intk=10;while(k=0)k=k-1;則下面敘述正確的是()本題答案:【?循環(huán)體語句一次也不執(zhí)行】9、【單選題】?設(shè)有程序段:intk=10;while(k==0)k=k-1;則下面敘述正確的是()本題答案:【循環(huán)體語句一次也不執(zhí)行】10、【單選題】?設(shè)有程序段:intk=10;while(k!=0)k=k-1;則下面敘述正確的是()本題答案:【while循環(huán)重復(fù)執(zhí)行10次】11、【單選題】與語句while(!x);等價的語句是()本題答案:【?while(x==0);】12、【單選題】inti=0,j;for(j=10;ij;j--)i++;程序的循環(huán)次數(shù)是()本題答案:【5?語法錯誤5】13、【單選題】設(shè)有程序段,以下說法正確的是()x=-1;do{x=x*x;}while(!x);本題答案:【?循環(huán)體將執(zhí)行一次】14、【單選題】C語言中while和do-while循環(huán)的主要區(qū)別是()本題答案:【?do-while的循環(huán)體至少無條件執(zhí)行一次】15、【單選題】下列語句不是死循環(huán)的是()?本題答案:【?inti=10;while(i)i--;】16、【單選題】下面程序的功能是:計(jì)算1~10之間的奇數(shù)之和及偶數(shù)之和,空白處應(yīng)填()#includestdio.hintmain(){inta,b,c,i;a=c=0;for(i=0;i=10;i+=2){a+=i;}printf(偶數(shù)之和=%d!\n,a);printf(奇數(shù)之和=%d!\n,c-11);}本題答案:【c+=i+1;?】17、【單選題】下面程序的功能是()#includestdio.hintmain(){intx,s=0,i;for(i=1;i=5;i++){scanf(%d,x);s=s+x;}printf(s=%d\n,s);return0;}本題答案:【輸入任意5個整數(shù),輸出這5個數(shù)的和】18、【單選題】下面程序的功能是()#includestdio.hintmain(){intx,s=0,i;scanf(%d,x);while(x!=0){s=s+x;scanf(%d,x);}printf(s=%d\n,s);return0;}本題答案:【輸入一組整數(shù),以輸入0作為結(jié)束,求所有數(shù)的和并輸出】19、【單選題】for(i=1;i=10;i++)printf(****);循環(huán)結(jié)束后,i的值是()。本題答案:【11】20、【多選題】下面()循環(huán)體執(zhí)行10次。本題答案:【for(i=1;i=10;i=i+1){循環(huán)體;}#for(i=2;i=20;i=i+2){循環(huán)體;}#for(i=0;i=9;i=i+1){循環(huán)體;}#for(i=10;i=1;i=i-1){循環(huán)體;}】21、【多選題】下面()是正確的判斷素?cái)?shù)程序(m1)。本題答案:【j=0;for(i=2;i=m-1;i++)if(m%i!=0)j++;if(j==m-2)printf(“%d是素?cái)?shù)\n,m);#j=0;for(i=2;i=m-1;i++)if(m%i==0)j++;if(j==0)printf(“%d是素?cái)?shù)\n,m);#flag=0;for(i=2;i=m-1;i++)if(m%i==0)flag=1;if(flag==0)printf(“%d是素?cái)?shù)\n,m);】22、【填空題】編程:輸入一個整數(shù),計(jì)算該整數(shù)的位數(shù),并輸出位數(shù)。輸入樣例:12345輸出樣例:輸入的是5位數(shù)請完善程序。(程序有1個空,答案一行寫一個,不要添加多余的空格)#includestdio.hintmain(){inti=0,k,j;scanf("%d",k);//k也可能是負(fù)整數(shù)do{k=k/10;i++;}while();printf("輸入的是%d位數(shù)\n",i);}提示:參考本周視頻“求輸入數(shù)的位數(shù)”。本題答案:【k!=0##%_YZPRLFH_%##0!=k##%_YZPRLFH_%##!k==0】23、【填空題】編程:輸入一個整數(shù),計(jì)算該整數(shù)的位數(shù),并輸出位數(shù)。輸入樣例:12345輸出樣例:輸入的是5位數(shù)請完善程序。(程序有1個空,答案一行寫一個,不要添加多余的空格)#includestdio.hintmain(){inti=0,k,j;scanf(%d,k);//k也可能是負(fù)整數(shù)do{i++;}while(k!=0);printf(輸入的是%d位數(shù)\n,i);}提示:參考本周視頻“求輸入數(shù)的位數(shù)”本題答案:【k=k/10;##%_YZPRLFH_%##k/=10;】循環(huán)編程練習(xí)2.--------計(jì)分循環(huán)基礎(chǔ)練習(xí)2.-------不計(jì)入總分循環(huán)進(jìn)階選擇、填空題1、【單選題】運(yùn)行下面的程序,得到的輸出是()#includestdio.hintmain(){inti,j;for(i=1;i=2;i++)for(j=1;j=2;j++)printf(i=%d,j=%d\n,i,j);}本題答案:【i=1,j=1i=1,j=2i=2,j=1i=2,j=2】2、【單選題】?運(yùn)行下面的程序,輸出的星號個數(shù)一共是()#includestdio.hintmain(){inti,j;for(i=1;i=4;i++){for(j=1;j=i;j++)putchar('');putchar('*');putchar('\n');}}本題答案:【4】3、【單選題】運(yùn)行下面的程序,輸出的星號個數(shù)一共是()#includestdio.hintmain(){inti,j;for(i=1;i=4;i++)for(j=1;j=i;j++)putchar('');putchar('*');putchar('\n');}本題答案:【1】4、【單選題】執(zhí)行下面的程序片段,k的值是()intk=0,i,j;for(i=0;i5;i++)for(j=0;j3;j++)k=k+1;本題答案:【15】5、【單選題】若變量已正確定義,要求程序段完成求5!的計(jì)算,不能完成此操作的程序段是本題答案:【for(i=1;i=5;i++){p=1;p*=i;}?】6、【單選題】下面程序的功能是輸出以下形式的圖案,則在下劃線處應(yīng)填入的是****************#includestdio.hintmain(){inti,j;for(i=1;i=4;i++){for(j=1;j=;j++)putchar('*');putchar('\n');}return0;}本題答案:【2*i-1?】7、【單選題】下面程序的功能是輸出以下形式的圖案,則在下劃線處應(yīng)填入的是()****************#includestdio.hintmain(){inti,j;for(i=1;i=4;i++){for(j=1;j=;j++)putchar('*');putchar('\n');}return0;}本題答案:【2*(5-i)-1】8、【單選題】雞兔同籠,共有98個頭,386只腳,編程求雞、兔各多少只。代碼如下,按要求在空白處填寫適當(dāng)?shù)谋磉_(dá)式或語句,使程序完整并符合題目要求。#includestdio.hintmain(){intx,y;for(x=1;x98;x++){_____(1)____if(__?(2)___){printf(x=%d,y=%d,x,y);}}return0;}本題答案:【(1)y=98-x;(2)2*x+4*y==386;?】9、【單選題】打印所有的“水仙花數(shù)”。所謂“水仙花數(shù)”,是指一個三位數(shù),其各位數(shù)字的立方和等于該數(shù)本身。例如,153是“水仙花數(shù)”,因?yàn)椤4a如下,按要求在空白處填寫適當(dāng)?shù)谋磉_(dá)式或語句,使程序完整并符合題目要求。#includestdio.hintmain(){inti,j,k,n;printf(resultis:);for(n=100;___(1)____;n++){i=n/100;//得到百位j=____(2)______;k=n%10;//得到個位if(______(3)______?){printf(%d\t,n);//輸出結(jié)果}}printf(\n);return0;}本題答案:【?(1)n1000(2)(n-i*100)/10(3)i*100+j*10+k==i*i*i+j*j*j+k*k*k】10、【單選題】下面程序的功能是()#includestdio.hintmain(){intx,s,i;scanf("%d",x);s=x;for(i=1;i=6;i++){scanf("%d",x);if(sx)s=x;}printf("s=%d\n",s);return0;}提示:可參考本周視頻“求最值及其位置”本題答案:【輸入7個整數(shù),輸出其中的最大數(shù)】11、【多選題】閱讀下面的程序,該程序完成的功能有()#includestdio.hintmain(){intnumber,min;inti,n=1;printf("請輸入第1個數(shù)");scanf("%d",number);min=number;//只有1個數(shù)時,最小數(shù)就是這個數(shù),設(shè)min初值為第1個數(shù)for(i=2;i=8;i++){printf("請輸入第%d個數(shù)",i);scanf("%d",number);if(minnumber)//min與新輸入的數(shù)比,如果更大,則{min=number;//min更新為較小的數(shù)n=i;//n更新為較小數(shù)的位置}}printf("第%d個數(shù)最小,為%d\n",n,min);//輸出最小數(shù)的位置與最小數(shù)return0;}提示:可參考本周視頻“求最值及其位置”。本題答案:【輸出8個數(shù)中的最小數(shù)#輸出最小數(shù)的位置】12、【多選題】下面()僅輸出m的大于1的最小因子。本題答案:【for(i=2;i=m-1;i++)if(m%i==0){printf(%dis最小因子\n,i);break;}#i=2;while(m%i!=0)i++;printf(%dis最小因子\n,i);】13、【填空題】程序功能:輸入n的值(n11),計(jì)算1!+2!+3!+......+n!,并輸出計(jì)算結(jié)果。請完善程序。(程序有1個空,答案一行寫一個,不要添加多余的空格)#includestdio.hintmain(){inti,n;longsum=0,fac=1;//fac存儲每個加項(xiàng)(階乘)的值printf(請輸入n的值:);scanf(%d,n);for(i=1;i=n;i++){//后一加項(xiàng)與前一加項(xiàng)的關(guān)系sum=sum+fac;}printf(和為%ld\n,sum);return0;}提示:可以參考“累加和”中講解的最后一個例題本題答案:【fac=fac*i;##%_YZPRLFH_%##fac=i*fac;##%_YZPRLFH_%##fac*=i;】14、【填空題】編寫作圖程序:輸入一個整數(shù)n,輸出由n行上三角形與n+1行下三角形組成的如下菱形。輸入樣例:5輸出樣例:(程序有3個空,答案一行寫一個,不要添加多余的空格)#includestdio.hintmain(){intn,i,j;scanf("%d",n);for(i=1;i=n;i++)//輸出n行上三角形{for(j=1;j=n-i+1;j++)//輸出每行*號前的空格(1)for(j=1;j=(2);j++)//輸出第i行的*號putchar('*');putchar('\n');}for(i=1;i=(3);i++)//輸出n+1行下三角形{for(j=1;j=i-1;j++)putchar('');for(j=1;j=2*n+3-2*i;j++)putchar('*');putchar('\n');}return0;}提示:n行上三角形的編程,可以參考本周教學(xué)視頻:“循環(huán)的嵌套”中講解的最后一個例題n+1行下三角形的編程與上三角類似,如何用公式表示第i行*的個數(shù),可參考循環(huán)的嵌套小節(jié)中的“問與答”文檔本題答案:【putchar('');2*i-1n+1##%_YZPRLFH_%##printf("");2*i-1n+1##%_YZPRLFH_%##putchar('');2*i-11+n##%_YZPRLFH_%##printf("");2*i-11+n##%_YZPRLFH_%##putchar('');i*2-1n+1##%_YZPRLFH_%##printf("");i*2-1n+1##%_YZPRLFH_%##putchar('');i*2-11+n##%_YZPRLFH_%##printf("");i*2-11+n】15、【填空題】編程輸出如下圖的九九乘法口訣表:(程序有2個空,答案一行寫一個,不要添加多余的空格)#includestdio.hintmain(){inti,j;printf("\t\t\t\t乘法口訣表\n\n");for(i=1;i=9;i++)//外循環(huán)輸出9行{for(j=1;j=(1);j++)//內(nèi)循環(huán)每行輸出i列printf("%d*%d=%d\t",i,j,(2));//輸出乘法表printf("\n");//輸出一行后換行}return0;}提示:1、注意規(guī)律,第i行第j列輸出的是:i*j=i*j的積;2、可以參考本周視頻:“編程案例解析:九九乘法表”本題答案:【ii*j##%_YZPRLFH_%##ij*i】字符編程題.----------計(jì)入總分字符更多編程練習(xí)2.----------不計(jì)入總分選擇題1、【單選題】下列()是合法的字符常量。本題答案:【'\n'】2、【單選題】下列合法的字符串常量是()。本題答案:【56】3、【單選題】已知字母A的ASCII碼為十進(jìn)制的65,下面程序的輸出是()。intmain(){charch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf(%d,%c,ch1,ch2);}本題答案:【67,D】4、【單選題】設(shè)有以下程序段,則輸出結(jié)果是()。charc1='b',c2='e';printf(%d,%c\n,c2-c1,c2-'a'+'A');本題答案:【3,E】5、【單選題】若變量c為char類型,能正確判斷出c為小寫字母的表達(dá)式是()。本題答案:【(c='a')(c='z')】6、【單選題】有如下程序段,執(zhí)行該程序段后,x的值為()。inta=14,b=15,x;charc='A';x=(ab)(c'B');本題答案:【1】7、【單選題】若有下列類型說明語句:charw;intx;floaty;doublez;則表達(dá)式w*x+z-y值的正確數(shù)據(jù)類型為()。本題答案:【double】8、【單選題】若有下列類型說明語句:intx;doubley;則表達(dá)式x-y值的正確數(shù)據(jù)類型為()。本題答案:【double】9、【單選題】doublex;正確的輸入語句是()。本題答案:【scanf(%lf,x);】10、【單選題】下面()將十進(jìn)制數(shù)轉(zhuǎn)為八進(jìn)制數(shù)輸出。本題答案:【printf(%o,50);】11、【單選題】下面()將十進(jìn)制轉(zhuǎn)為十六進(jìn)制輸出。本題答案:【printf(%x,50);】12、【單選題】下面()將十六進(jìn)制數(shù)轉(zhuǎn)為八進(jìn)制輸出。本題答案:【printf(%o,0x50);】13、【單選題】下面()類型的取值范圍沒有負(fù)數(shù)。本題答案:【unsigned】14、【單選題】下面程序段的輸出結(jié)果是()。unsignedshorti=1;while(i0){i++;}printf(i=%u\n,i);本題答案:【0】15、【單選題】如果想更精確地保存12345.67891,應(yīng)該選用()型的變量。本題答案:【double】16、【多選題】編程統(tǒng)計(jì)某高速收費(fèi)站單向通過的車輛數(shù)量,該高速為3車道,一次通過的車不超過3輛。程序功能:通過車輛時,輸入相應(yīng)的數(shù)(1-3之間),程序進(jìn)行累加;當(dāng)輸入字符s時,輸出當(dāng)前通過的車輛總和;當(dāng)輸入e時,輸出通過的車輛總數(shù),并結(jié)束程序。程序有一個空,請選擇正確的答案。#includestdio.hintmain(){charc1;inttotal=0;printf(\t\t\t\t計(jì)數(shù)程序\n\n);//輸出提示菜單printf(s---顯示當(dāng)前通過的車輛總數(shù)\t1-3---新增車輛數(shù)\te---顯示通過的車輛總數(shù),并結(jié)束程序\n\n);do{//輸入一個字符if(c1=='s')printf(當(dāng)前通過的車輛總數(shù)是:%d\n,total);elseif(c1=='1')total=total+1;elseif(c1=='2')total=total+2;elseif(c1=='3')total=total+3;}while(c1!='e');printf(總過的車輛總數(shù)是:%d\n,total);return0;}輸入、輸出樣例如下圖:本題答案:【scanf(%c,c1);//%c前有空格#scanf(%c,c1);#c1=getchar();】17、【多選題】用for循環(huán)語句編程輸出A~Z之間的所有大寫字母,字母之間以空格分隔,要求一行輸出8個字符。下面的程序有一個空,請選擇恰當(dāng)?shù)难h(huán)語句完善程序。#includestdio.hintmain(){charc;intcount=0;{printf("%c",c);count++;if(count%8==0)//每8個字符換行printf("\n");}return0;}本題答案:【for(c='A';c='Z';c++)#for(c=65;c=90;c++)】創(chuàng)建函數(shù).----計(jì)分函數(shù)更多練習(xí).------不計(jì)入總分函數(shù)的定義、調(diào)用選擇填空題1、【單選題】以下說法正確的是()本題答案:【C語言程序總是從主函數(shù)main()開始執(zhí)行。】2、【單選題】已知函數(shù)fun類型為void,則void的含義是()本題答案:【執(zhí)行函數(shù)fun后,函數(shù)沒有返回值】3、【單選題】若有返回值的函數(shù)類型和return語句中的表達(dá)式類型不一致,則()本題答案:【返回值的類型以函數(shù)類型為準(zhǔn)】4、【單選題】下面函數(shù)定義正確的是()。注意:形參的格式本題答案:【doublefun(floatu,floatv){returnu+v;}】5、【單選題】以下函數(shù)fun的返回值類型為()。fun(doublex){……}本題答案:【int】6、【單選題】一個C語言程序的基本組成單位是()。本題答案:【函數(shù)】7、【單選題】C語言中函數(shù)返回值類型由()決定。本題答案:【定義函數(shù)時指定的函數(shù)類型】8、【單選題】voidarea(intlength,intwidth){ints;s=length*width;printf(“長%d,寬%d的長方形面積是%d\n”,length,width,s);}有如上求長方形面積函數(shù),正確的調(diào)用方法是()。提示:本題area是無返回值的函數(shù)。本題答案:【area(1,2);】9、【單選題】intarea(intlength,intwidth){ints;s=length*width;returns;}有如上求長方形面積函數(shù),正確的調(diào)用方法是()。提示:本題area是有返回值的函數(shù)。本題答案:【c=area(1,2);】10、【單選題】編寫函數(shù)area(intlength,intwidth),函數(shù)的功能是:求長方形面積,并打印輸出面積值。下面()是正確的。提示:本題area沒有要求返回值。本題答案:【voidarea(intlength,intwidth){ints;s=length*width;printf(“長方形面積是%d\n”,s);}】11、【單選題】編寫函數(shù)area(intlength,intwidth),函數(shù)的功能是:求長方形面積,并返回面積值。下面()是正確的。本題答案:【intarea(intlength,intwidth){ints;s=length*width;returns;}】12、【填空題】編寫函數(shù)計(jì)算下面多項(xiàng)式的值,并返回值編寫main,輸入x,調(diào)用該函數(shù)計(jì)算多項(xiàng)式的值并顯示結(jié)果。請完善下面的程序:(有2個空,答案一行寫一個,不要添加多余的空格)#includestdio.hdoublef(doublex){2*x*x+3*x+1;//返回計(jì)算結(jié)果}intmain(){doublex;printf(請輸入x:);scanf(%lf,x);printf(f(%.2f)的值是%.2f,x,);//調(diào)用f函數(shù)return0;}本題答案:【returnf(x)】13、【填空題】一個正整數(shù)如果恰好等于它的除自身外的因數(shù)之和,這個數(shù)稱為“完數(shù)”。例如,6的因數(shù)有1、2、3,且6=1+2+3,因此6是“完數(shù)”。編寫判別完數(shù)的函數(shù)wanshu(intx):功能判斷x是否為完數(shù),如果是,則返回1,不是,則返回0。編寫main()中讓x從1循環(huán)至1000,并調(diào)wanshu函數(shù),如果返回值為1,則輸出該數(shù)。請完善下面的程序:(有3個空,答案一行寫一個,不要添加多余的空格)#includestdio.hintwanshu(intx){inti,r=0;for(i=1;ix;i++){if()//判斷x能整除i?即判斷i是否是x的因數(shù)r=r+i;//將因數(shù)累加進(jìn)r中}if(r==x)//判斷因數(shù)和是否等于x,是則返回1,不是,返回0return1;elsereturn;}intmain(){inti;for(i=1;i=1000;i++){if()//調(diào)用wanshu函數(shù),根據(jù)函數(shù)值,判斷i是否為完數(shù),printf("%d是完數(shù)\n",i);}return0;}本題答案:【x%i==00wanshu(i)==1##%_YZPRLFH_%##x%i==001==wanshu(i)##%_YZPRLFH_%##x%i==00wanshu(i)##%_YZPRLFH_%##x%i==00wanshu(i)0##%_YZPRLFH_%##x%i==000wanshu(i)】14、【填空題】編寫最小值函數(shù),功能求x,y的最小值,并返回最小值。main()中輸入x,y的值,并調(diào)用min函數(shù),輸出返回值。請?zhí)羁胀晟瞥绦?。(?個空,答案一行寫一個,不要添加多余的空格)#includestdio.hint(intx,){if(xy)returnx;returny;}intmain(){intx,y;printf(請輸入2個數(shù));scanf(%d%d,x,y);printf(較小的數(shù)是%d,min(x,y));return0;}本題答案:【minintyelse##%_YZPRLFH_%##minintyelseif(x>=y)】15、【填空題】編寫求最大公約數(shù)函數(shù)gcd:功能是求兩數(shù)的最大公約數(shù),并返回該數(shù)。main函數(shù)中調(diào)用該函數(shù),并輸出最大公約數(shù)。請?zhí)羁胀晟瞥绦?。(?個空,答案一行寫一個,不要添加多余的空格)#includestdio.hintgcd(intm,intn)//求m,n的公約數(shù)的函數(shù){intr;r=m;//r是公約數(shù),初值為mwhile((m%r!=0)||(n%r!=0))//當(dāng)r不是公約數(shù)時,循環(huán)直至找到公約數(shù);//r減小1returnr;}intmain(){intm,n;printf("請輸入兩個數(shù)");scanf("%d%d",m,n);printf("最大公約數(shù)%d\n",);//調(diào)用gcd函數(shù)return0;}本題答案:【r=r-1gcd(m,n)##%_YZPRLFH_%##r-=1gcd(m,n)##%_YZPRLFH_%##r--gcd(m,n)##%_YZPRLFH_%##--rgcd(m,n)】16、【填空題】編寫求最小公倍數(shù)函數(shù)sct:功能是求兩數(shù)的最小公倍數(shù),并返回該數(shù)。main函數(shù)中調(diào)用該函數(shù),并輸出最小公倍數(shù)。請?zhí)羁胀晟瞥绦?。(?個空,答案一行寫一個,不要添加多余的空格)#includestdio.hintsct(intm,intn)//求m,n的公倍數(shù)的函數(shù){intr;r=m;//r是公倍數(shù),初值為mwhile((r%m!=0)||(r%n!=0))//當(dāng)r不是公倍數(shù)時,循環(huán)直至找到公約數(shù);//r增加1,用于下次循環(huán)測試下一個數(shù)return;//返回得到的公倍數(shù)}intmain(){intm,n;printf(請輸入兩個數(shù));scanf(%d%d,m,n);printf(最小公倍數(shù)是%d\n,sct(m,n));return0;}本題答案:【r=r+1r##%_YZPRLFH_%##r+=1r##%_YZPRLFH_%##r++r##%_YZPRLFH_%##++rr】函數(shù)綜合應(yīng)用選擇題1、【單選題】已知個人所得稅稅率表如下:應(yīng)交稅額=(收入-5000)*稅率-速算扣除數(shù)。-------------------------------------------------------------------------------------------------------編寫求稅收函數(shù)doubletax_fun(doublex):x為收入,計(jì)算應(yīng)交稅額,并返回該數(shù)。A收入8000元,B收入7000元,C收入12000元,在main函數(shù)中調(diào)用tax_fun函數(shù),計(jì)算出A、B、C的應(yīng)交稅總額。程序有3個空,請選擇應(yīng)填入的正確答案。#includestdio.hdoubletax_fun((1)x){doubley,tax;y=x-5000;//扣除5000元免稅金額if(y=3000)//按分檔稅率計(jì)算應(yīng)交稅額,結(jié)果保存在tax變量中tax=y*0.03;elseif(y=12000)tax=y*0.1-210;elseif(y=25000)tax=y*0.2-1410;elseif(y=35000)tax=y*0.25-2660;elseif(y=55000)tax=y*0.3-4410;elseif(y=80000)tax=y*0.35-7160;elsetax=y*0.45-15160;return(2);}intmain(){printf(A、B、C三人應(yīng)繳稅總額為%.2lf元,(3));return0;}本題答案:【(1)double(2)tax(3)tax_fun(8000)+tax_fun(7000)+tax_fun(12000)】2、【單選題】程序功能:輸入一個正偶數(shù)為參數(shù),輸出兩個素?cái)?shù),并且這兩個素?cái)?shù)之和等于原來的正偶數(shù)。如果存在多組符合條件的素?cái)?shù),則全部輸出。#includestdio.hintisprime(intn)//判斷n是否為素?cái)?shù){inti,flag=1;for(i=2;in;i++)if(n%i==0){flag=0;i=n;}(1)}intmain(){intm,i;scanf(%d,m);for(i=2;im/2+1;i++)if((2))printf(%d+%d=%d\n,i,m-i,m);return0;}完成題目的要求,()是正確的選項(xiàng)。本題答案:【returnflag;isprime(i)==1isprime(m-i)==1】全局變量編程練習(xí).--------計(jì)分函數(shù)定義、調(diào)用完整程序練習(xí).------不計(jì)入總分選擇題1、【單選題】以下敘述中錯誤的是()。本題答案:【全局變量的存儲類別是auto型的?!?、【單選題】下列敘述錯誤的是()。本題答案:【主函數(shù)中定義的變量在整個程序中都有效】3、【單選題】當(dāng)全局變量與函數(shù)內(nèi)部的局部變量同名時,則在函數(shù)內(nèi)部()。本題答案:【局部變量有效】4、【單選題】以下說法中正確的是()本題答案:【形參是局部變量,其作用范圍僅限于函數(shù)內(nèi)部?!?、【單選題】在一個源文件中定義的全局變量的作用域?yàn)椋ǎ┍绢}答案:【從定義該變量的位置開始至本文件結(jié)束】6、【單選題】下面程序的運(yùn)行結(jié)果是()#includestdio.hvoidproc(inta);intmain(){proc(2);proc(3);}voidproc(inta){staticintx;//靜態(tài)存儲變量inty=0;x=x+a;y=y+a;printf(%d\t%d\t,x,y);}提示:靜態(tài)存儲變量x在編譯時產(chǎn)生,整個程序運(yùn)行結(jié)束時才消失。因此,能記住每次調(diào)用proc結(jié)束時x的值。本題答案:【2253】7、【單選題】下面程序運(yùn)行中,x被分配---釋放存儲空間,總共有()次這樣的過程。#includestdio.hvoidproc(inta);intmain(){proc(2);proc(3);}voidproc(inta){staticintx;....;}提示:提示:全局變量、static型變量在編譯時,給變量分配存儲空間;整個程序運(yùn)行結(jié)束,釋放變量所占的存儲空間。本題x是靜態(tài)存儲變量。本題答案:【1】8、【單選題】下面程序運(yùn)行中,x被分配---釋放存儲空間,總共有()次這樣的過程。#includestdio.hvoidproc(inta);intmain(){proc(2);proc(3);}voidproc(inta){intx;....;}提示:本題x是局部變量,只當(dāng)proc函數(shù)運(yùn)行時產(chǎn)生。(1)定義變量x時,給x分配存儲空間。(2)proc函數(shù)執(zhí)行結(jié)束,x消失,釋放x所占的存儲空間本題答案:【2】9、【單選題】下面程序中,x被分配---釋放存儲空間,總共有()次這樣的過程。#includestdio.hvoidproc(inta);intx;intmain(){proc(2);proc(3);}voidproc(inta){x=2;....;}提示:全局變量、static型變量在編譯時,給變量分配存儲空間;整個程序運(yùn)行結(jié)束,釋放變量所占的存儲空間本題x是全局變量本題答案:【1】10、【單選題】下面程序運(yùn)行中,形參a被分配---釋放存儲空間,總共有()次這樣的過程。#includestdio.hvoidproc(inta);intmain(){proc(1);proc(2);proc(3);}voidproc(inta){a=2;....;}提示:本題a是局部變量,作用域只在proc函數(shù)內(nèi)(1)定義變量a時,給a分配存儲空間。(2)proc函數(shù)執(zhí)行結(jié)束,a消失,釋放a所占的存儲空間本題答案:【3】11、【單選題】程序輸出結(jié)果為()#includestdio.hvoidproc();intmain(){intx=1;//定義局部變量x,局部變量只在本函數(shù)中有效proc();printf(%d\n,x);}voidproc(){intx;//定義局部變量x,局部變量只在本函數(shù)中有效x=2;}本題答案:【1】12、【單選題】程序輸出結(jié)果為()。#includestdio.hintx=0;//x定義在所有函數(shù)之外,為全局變量voidproc();intmain(){x=1;proc();printf(%d\n,x);}voidproc(){x=2;}本題答案:【2】13、【單選題】下面程序的執(zhí)行結(jié)果為()。#includestdio.hvoidproc();intmain(){intx=8;//定義局部變量x,局部變量只在本函數(shù)中有效proc();printf(%d\n,x);return0;}voidproc(){x=100;}本題答案:【編譯不能通過】14、【多選題】閱讀“變量的作用域”的討論題中程序,其中定義了全局變量floatarea1,area2,area3;下面敘述正確的是()。本題答案:【area1,area2,area3定義為全局變量,可以將cal函數(shù)計(jì)算出來的面積值傳遞給max_3函數(shù)#floatarea1,area2,area3;語句后的所有函數(shù)都可以使用這3個變量】填空題1、【填空題】吳老師要為單位采購書籍,購買總金額不能超過4000?,F(xiàn)編寫一段程序,幫助吳老師采購書籍。程序功能:輸入書的價格,程序提示購書的剩余金額,當(dāng)新選的書價大于剩余金額,則提示已超過購買限額,并結(jié)束程序。請完善下面的程序:(有1個空,答案一行寫一個,不要添加多余的空格)#includestdio.hdoublebook_sum(doubleprice);//函數(shù)聲明intmain(){doubleprice,total=0,diff;while(total=4000){printf(請輸入書價:);scanf(%lf,price);total=book_sum(price);//調(diào)用函數(shù),計(jì)算當(dāng)前所購書的總金額diff=4000-total;if(diff=0)printf(還可購買%.2f元的書\n,diff);elseprintf(已超過購買限額);}return0;}doublebook_sum(doubleprice){sum=0;sum=sum+price;returnsum;}可以參閱本周課件“變量的存儲類型”中第一個學(xué)習(xí)內(nèi)容“請先動手做3---static變量”中的例題解說。本題答案:【staticdouble##%_YZPRLFH_%##doublestatic##%_YZPRLFH_%##staticfloat##%_YZPRLFH_%##floatstatic】一維數(shù)組練習(xí).------計(jì)分?jǐn)?shù)組編程更多練習(xí).----------不計(jì)入總分一維數(shù)組選擇題1、【單選題】以下數(shù)組定義中,錯誤的是()。本題答案:【inta[3]={1,2,3,4};】2、【單選題】設(shè)有定義inta[10]={0};則說法正確的是()。本題答案:【數(shù)組a有10個元素,各元素的值為0】3、【單選題】執(zhí)行下面的初始化語句,()保存的不是字符串。本題答案:【charstr[6]={'S','t','r','i','n','g'};】4、【單選題】設(shè)有以下定義,則數(shù)組s1和s2()。chars1[]={'S','t','r','i','n','g'};chars2[]=String;本題答案:【長度不同,內(nèi)容也不同】5、【單選題】設(shè)已定義charstr[6]={'a','b','\0','c','d','\0'};執(zhí)行語句printf((%s,str)后,輸出結(jié)果為()。本題答案:【ab】6、【單選題】引用數(shù)組元素時,數(shù)組元素下標(biāo)不可以是()。本題答案:【字符串】7、【單選題】已定義字符數(shù)組s1和s2,以下錯誤的輸入語句是()。本題答案:【gets(s1,s2);】8、【單選題】inta[10]={1,2,3};則a[2]的值為()。本題答案:【3】9、【單選題】inta[5]={1,2,3};則a[4]的值為()。本題答案:【0】10、【單選題】下面()是字符串結(jié)束符。本題答案:【'\0'】11、【單選題】下面()是錯誤的數(shù)組定義。本題答案:【inta[2*i];】12、【單選題】設(shè)有定義inta[3];下面數(shù)組元素的賦值中,錯誤的是()。本題答案:【a[3]=3;】13、【單選題】定義inta[5];下面()不可以給5個數(shù)組元素賦值。本題答案:【a={1,2,3,4,5};】14、【單選題】定義intb[6];下面()可以輸出數(shù)組的所有元素的值。本題答案:【for(i=0;i6;i++)printf(%d,b[i]);】15、【填空題】有長度為10的一維整型數(shù)組a,由鍵盤輸入它的值(10個不等的數(shù)),求a數(shù)組中最小元素的值及其在數(shù)組中的位置。輸入樣例:169562324756813635輸出樣例:最小元素是6,是第7個元素注意:a[0]是數(shù)組中的第1個元素。請完善程序。(有2個空,答案一行寫一個,不要添加多余的空格)#includestdio.hintmain(){inti,a[10],min,k;//k存儲位置for(i=0;i10;i++)scanf(%d,a[i]);min=a[0];//假設(shè)第1個數(shù)為最小數(shù)k=1;//k保存最小數(shù)的位置,此時為1for(i=1;i10;i++){if(a[i]){min=a[i];//min更新為較小數(shù)//k更新為較小數(shù)的位置}}printf(最小元素是%d,是第%d個元素,min,k);}提示:求數(shù)組元素的最小值可以參考本周附加例題解析“求最值及其位置”中的數(shù)組方法例題,注意位置序號與本例的區(qū)別本題答案:【】二維數(shù)組與結(jié)構(gòu)體編程.-------------不計(jì)入總分二維數(shù)組與結(jié)構(gòu)體選擇題1、【單選題】若已經(jīng)定義structstu{inta;intb;}student;,則下列輸入語句中正確的是。本題答案:【scanf(%d,student.a);】2、【單選題】設(shè)已經(jīng)定義unionu{chara;intb;}vu;在VC中存儲char型數(shù)據(jù)需要1個字節(jié),存儲int型數(shù)據(jù)需要4個字節(jié),則存儲變量vu需要個字節(jié)。本題答案:【4】3、【單選題】設(shè)有定義enumdate{year,month,day}d;則正確的表達(dá)式是。本題答案:【d=year】4、【單選題】若已經(jīng)定義typedefstructstu{inta,b;}student;,則下列敘述中正確的是。本題答案:【student是結(jié)構(gòu)體類型】5、【單選題】設(shè)有定義enumdate{year,month,day}d;則下列敘述中正確的是。本題答案:【date是類型、d是變量、year是常量】6、【判斷題】下面程序的功能:輸入一個3*3的整數(shù)矩陣,輸出正對角線上元素之和。#includestdio.hintmain(){inta[3][3],i,j,sum=0;printf(輸入一個3*3的整數(shù)矩陣\n);for(i=0;i3;i++)for(j=0;j3;j++)scanf(%d,a[i][j]);printf(\n對角線上元素之和為:\n);for(i=0;i=3;i++)//計(jì)算對角線上元素之和for(j=0;j3;j++)if(j=i)sum=sum+a[i][j];printf(%d,sum);return0;}請判斷:在“計(jì)算對角線上元素之和”這段程序中,共有2處錯誤,對嗎?修改正確后,運(yùn)行如下圖本題答案:【正確】7、【填空題】定義行星枚舉類型,枚舉常量從1開始編號,請?zhí)顚懴旅娴目崭瘢ú灰砑佣嘤嗟目崭瘢〆numPlanet{Mercury=,Venus,Earth,Mars,Jupiter,Saturn,Uranus,Neptune}本題答案:【1】8、【填空題】定義一個新的字符類型別名CHAR,請?zhí)顚懣瞻滋帲ㄗ⒁獠灰砑佣嘤嗟目崭瘢﹖ypedefCHAR;本題答案:【char】9、【填空題】已知二維數(shù)組元素的值,輸入行下標(biāo)和列下標(biāo),輸出該行列元素的值。例如,輸入1,0輸出a[1][0]=9填寫程序中空白處,完善程序功能。(有2個空,答案一行寫一個,不要添加多余的空格)#includestdio.hmain(){inta[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};introw,col;printf(Inputthevalueofrow,col:);scanf(%d,%d,row,col);printf(a[%d][%d]=%d,row,,);}本題答案:【cola[row][col]】10、【填空題】已知若干個學(xué)生的成績,每個學(xué)生四門課程,要求輸出其中有不及格成績的學(xué)生編號。學(xué)生編號由0開始計(jì)算。有多門不及格的學(xué)生編號只輸出一次。請根據(jù)題意,填寫程序空白處。(有2個空,答案一行寫一個,不要添加多余的空格)#includestdio.hmain(){intscore[][4]={{60,70,80,90},{56,70,45,90},{70,75,48,18}};inti,j;intflag;//設(shè)標(biāo)志,flag為0,表示未輸出該學(xué)生編號;flag為1,表示已輸出該學(xué)生編號for(i=0;i3;i++){flag=0;for(j=0;j4;j++)if(60flag==){printf("%d\t",i);flag=1;}}}本題答案:【score[i][j]0】選擇題1、【單選題】設(shè)已定義inta,*p;下列賦值表達(dá)式中正確的是。本題答案:【

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論