C語(yǔ)言程序設(shè)計(jì)形考任務(wù)全部答案_第1頁(yè)
C語(yǔ)言程序設(shè)計(jì)形考任務(wù)全部答案_第2頁(yè)
C語(yǔ)言程序設(shè)計(jì)形考任務(wù)全部答案_第3頁(yè)
C語(yǔ)言程序設(shè)計(jì)形考任務(wù)全部答案_第4頁(yè)
已閱讀5頁(yè),還剩125頁(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)介

C語(yǔ)言程序設(shè)計(jì) 形考任務(wù)1在每個(gè)C語(yǔ)言程序中都必須包含有這樣ー個(gè)函數(shù),該函數(shù)的函數(shù)名為( )。選擇ー項(xiàng):行ハ,8.MAINrnameC .function題目2C語(yǔ)言源程序文件的缺省擴(kuò)展名為( )。選擇ー項(xiàng):rハA.cpprexe「C.obj°D.c題目3由C語(yǔ)言目標(biāo)文件連接而成的可執(zhí)行文件的缺省擴(kuò)展名為( )。選擇ー項(xiàng):r,cpp(?_exeCC.objCD.c題目4程序運(yùn)行中需要從鍵盤(pán)上輸入多于ー個(gè)數(shù)據(jù)時(shí),各數(shù)據(jù)之間應(yīng)使用的分隔符為( )。選擇ー項(xiàng):「A.空格或逗號(hào)’13.逗號(hào)或回車rC.逗號(hào)或分號(hào)"P,空格或回車ノ題目S-每個(gè)C語(yǔ)言程序文件的編譯錯(cuò)誤被分為( )。選擇ー項(xiàng):「A,エ類“13.2類ノ「Cろ類「D.4類題目6在?( )。選擇ー項(xiàng):CA.{)CC.{X=O;}P.{y=lO}題目7C語(yǔ)言程序中的基本功能模塊為( )。選擇ー項(xiàng):1A.表達(dá)式C.語(yǔ)句°D.函數(shù)ノ題目8在ー個(gè)函數(shù)定義中,函數(shù)頭包括的ろ個(gè)部分依次為函數(shù)類型、函數(shù)名和( )。選擇ー項(xiàng):CA.表達(dá)式’8.語(yǔ)句0C,參數(shù)表/「D.函數(shù)體題目q在ー個(gè)程序文件中,若要使用#Me似イe命令包含一個(gè)用戶定義的頭文件,則此頭文件所使用的起止定界符為ー對(duì)( )。選擇ー項(xiàng):「A,尖括號(hào)*8,雙引號(hào)ノrC.單引號(hào)1P.花括號(hào)題目10在C語(yǔ)言程序中,多行注釋語(yǔ)句使用的開(kāi)始標(biāo)記符為( ).選擇ー項(xiàng):A.//8./*</C.*/D.**題目I[在pr況好()函數(shù)調(diào)用的格式字符串中,若使用格式符為“%c”,則對(duì)應(yīng)輸出的數(shù)據(jù)類型為()。選擇ー項(xiàng):A.char「B.「C.floatP.double.題目エ2在アnシど()函數(shù)調(diào)用的格式字符串中,若使用格式符為"%Sd”,則規(guī)定對(duì)應(yīng)輸出的數(shù)據(jù)占用的字符位置個(gè)數(shù)為( )。選擇ー項(xiàng):0A.5</C8.4°C.3P.6題目エ3轉(zhuǎn)義字符、、’表示的字符是( )。選擇ー項(xiàng):CA.單引號(hào),8.雙引號(hào)“C.反斜線ノCP.問(wèn)號(hào)題目エ4枚舉類型中的每個(gè)枚舉常量的值都是一個(gè)( )。選擇ー項(xiàng):A.整數(shù),/C8.浮點(diǎn)數(shù)rC.字符「P.邏輯值題目[5運(yùn)算符優(yōu)先級(jí)最高的是( )。選擇ー項(xiàng):「A.二[8.*=「C.&&"D.仁ノ題目"設(shè)x和g均為邏輯值,則x&&g為真的條件是( )。選擇ー項(xiàng):"A,它們均為真JC8.其中一個(gè)為真「C.它們均為假「D,其中一個(gè)為假題目I7設(shè)有語(yǔ)句"int。==2;a+=a?勾”,則執(zhí)行結(jié)束后,a的值為(選擇ー項(xiàng):A.エ2C.丄56<>'CP.2.88題目18X><2&&X<=i<2的相反表達(dá)式為( )。選擇ー項(xiàng):?A.Xく=O||x>W?/rX<=(9&&X>WX<=(2||X<=1<9rX><9&&X>1O題目19字符串"行も=12、ハ”的長(zhǎng)度為( )。選擇ー項(xiàng):rA.6°B.7ノ「C.8rp.q題目20TOC\o"1-5"\h\z在下列的符號(hào)常量定義中,錯(cuò)誤的定義語(yǔ)句格式為( )。選擇ー項(xiàng):constmtMl=丄0;\o"CurrentDocument"r .constrntM2=2。;coi^stintM3W;</\o"CurrentDocument"r ,constch^rmark=/3/;二、判斷題(共らつ分,每小題2分。敘述正確則回答“是、否則回答"否'')題目2エC語(yǔ)言中的每條簡(jiǎn)單語(yǔ)句以分號(hào)作為結(jié)束符。選擇ー項(xiàng):行對(duì)r錯(cuò)題目22二、判斷題(共60分,每小題2分;題目21;C語(yǔ)言中的每條簡(jiǎn)單語(yǔ)句以分號(hào)作為結(jié)束符;C語(yǔ)言中的每條復(fù)合語(yǔ)句以花括號(hào)作為結(jié)束符;在C語(yǔ)言程序中,在行尾使用注釋的開(kāi)始標(biāo)記符為ー對(duì);注釋內(nèi)容的開(kāi)始所使用的標(biāo)記符為/*,則注釋內(nèi)容的;在ー個(gè)C語(yǔ)言程序文件中,若要包含ー個(gè)頭文件,則使;用于輸出表達(dá)式值的標(biāo)準(zhǔn)輸出函數(shù)是pカハび();當(dāng)不需要函數(shù)返回任何值時(shí),則需要使二、判斷題(共60分,每小題2分。敘述正確則回答“是",否則回答“否")題目2エC語(yǔ)言中的每條簡(jiǎn)單語(yǔ)句以分號(hào)作為結(jié)束符。對(duì)題目22。語(yǔ)言中的每條復(fù)合語(yǔ)句以花括號(hào)作為結(jié)束符。錯(cuò)題目23在C語(yǔ)言程序中,在行尾使用注釋的開(kāi)始標(biāo)記符為ー對(duì)單斜線字符。對(duì)題注釋內(nèi)容的開(kāi)始所使用的標(biāo)記符為/*,則注釋內(nèi)容的結(jié)束所使用的標(biāo)記符為*/〇對(duì)題目25在ー個(gè)C語(yǔ)言程序文件中,若要包含ー個(gè)頭文件,則使用以百分號(hào)開(kāi)始的預(yù)處理命令。錯(cuò)題目2s用于輸出表達(dá)式值的標(biāo)準(zhǔn)輸出函數(shù)是pスハビ()。對(duì)題目27當(dāng)不需要函數(shù)返回任何值時(shí),則需要使用保留字V。以作為函數(shù)的返回值類型。對(duì)題目28每個(gè)C程序文件在編譯時(shí)可能出現(xiàn)有警告性錯(cuò)誤,其對(duì)應(yīng)的標(biāo)識(shí)符為error0錯(cuò)題目2マ十進(jìn)制數(shù)25?表示成符合C語(yǔ)言規(guī)則的ハ進(jìn)制數(shù)為ろ1。錯(cuò)題目ろ0十進(jìn)制數(shù)25表示成符合。語(yǔ)言規(guī)則的十六進(jìn)制數(shù)為0X1[。對(duì)題目3エ在C語(yǔ)言中,轉(zhuǎn)義字符へ、バ表示一個(gè)換行符。對(duì)題目32執(zhí)行ゆバハ玳\-2)嚴(yán)語(yǔ)句后得到的輸出結(jié)果為H。錯(cuò)題目ろ3己知字符て’的ASCI!碼為67I當(dāng)執(zhí)行“心土X=C'+S;”語(yǔ)句后X的值為72。對(duì)題目ろ4假定一個(gè)枚舉類型的定義為“enu3R.B{abJac=3JadJa&}x=ad;i,,則x的float的類型長(zhǎng)度為8o錯(cuò)題目ろら在C語(yǔ)言中,常數(shù)28和3.2る具有相同的數(shù)據(jù)類型。錯(cuò)題目ろ7若需要定義ー個(gè)符號(hào)常量,并且使C語(yǔ)言能夠進(jìn)行類型檢查,則應(yīng)在定義語(yǔ)句的開(kāi)始使用保留字const。對(duì)題目38使用C。ハえ語(yǔ)句定義ー個(gè)符號(hào)常量時(shí),不必對(duì)它進(jìn)行初始化。錯(cuò)題目39表達(dá)式45?的值為ろ。錯(cuò)題目40假定X=5,則表達(dá)式2*X++的值為12。錯(cuò)題目41表達(dá)式倒。れ)25/4的值為る。錯(cuò)題目42表達(dá)式X=X+[表示成增量表達(dá)式為++X。對(duì)題目43關(guān)系表達(dá)式(x!=O)的等價(jià)表達(dá)式為(X)。對(duì)題目44關(guān)系表達(dá)式x+g>5"的相反表達(dá)式為x+g<=5。對(duì)題目イ5邏輯表達(dá)式伍〉い((レ==6)的相反表達(dá)式為(“>レ&&レ==5)。錯(cuò)題目4ら若x=S,g=lO,則x>g邏輯值為真。錯(cuò)題目47假定X=5,則執(zhí)行“”=(X?エ。:2。);"語(yǔ)句后”的值為?。。對(duì)題目48帶有隨機(jī)函數(shù)的表達(dá)式ビmdO的值所在的區(qū)間范圍是。~1弓。對(duì)題目4假定x=5,則執(zhí)行"g=x++;'>語(yǔ)句后,X的值為5。錯(cuò)題目5■0假定x=s,則執(zhí)行"g=++x;',語(yǔ)句后,g的值為る。對(duì)三億文庫(kù)ろg.uu456,。小包含各類專業(yè)文獻(xiàn)、幼兒教育、小學(xué)教育、外語(yǔ)學(xué)習(xí)資料、專業(yè)論文、高等教育、文學(xué)作品欣賞、應(yīng)用寫(xiě)作文書(shū)、行業(yè)資料、中學(xué)教育、各類資格考試、生活休閑娛樂(lè)、國(guó)家開(kāi)放大學(xué)C語(yǔ)言程序設(shè)計(jì)A第一次形考任務(wù)及答案41等內(nèi)容。題目44假定x=s,則執(zhí)行“g=x++;“語(yǔ)句后,x的值為S。選擇ー項(xiàng):r對(duì)行錯(cuò)題目so假定x=5,則執(zhí)行“ザ++X;”語(yǔ)句后,9的值為6。選擇ー項(xiàng):④對(duì)ー、單選題(每小題2分,共20分).C語(yǔ)言源程序文件的缺省擴(kuò)展名為(c)〇.設(shè)x和y均為邏輯值,則x&&y為真的條件是x和y(均為真)〇TOC\o"1-5"\h\z.在下列的符號(hào)常量定義中,正確的定義格式為(^defineM310 )〇.for循環(huán)語(yǔ)句能夠被改寫(xiě)為(while)語(yǔ)句。.在下面的?維數(shù)組定義中,錯(cuò)誤的定義格式為(inta口;)..在下面的函數(shù)原型聲明中,存在語(yǔ)法錯(cuò)誤的是(intAA(inta;intb;);)〇.假定a為?個(gè)數(shù)組名,則下面存在錯(cuò)誤的表達(dá)式為(*a++ ),.假定有定義為“intaUO],x,*pa=a;M,若要把數(shù)組a中下標(biāo)為3的元素值賦給x,則不正確的賦值為(x=*pa+3 )〇.字符串"y=%d\n"的長(zhǎng)度為_(kāi)5_。.向一個(gè)二進(jìn)制文件中寫(xiě)入信息的函數(shù)為(fwriteO)〇二、填空題(每小題2分,共26分)L.執(zhí)行“printf("%c",'A'+3);”語(yǔ)句后得到的輸出結(jié)果為ーD2,短整數(shù)類型shortint的長(zhǎng)度為2.用類型關(guān)鍵字表示十進(jìn)制常數(shù)3.26f的類型為<。朮.假定y=10,則表達(dá)式++y*3的值為_(kāi)ろろ.邏輯表達(dá)式(x=0&&y>5)的相反表達(dá)式為ー(x!-〇||y<-5)或:(X||y<-S).若x=5,y=10,則x!=y的邏輯值為_(kāi)1(真,true).假定二維數(shù)組的定義為“inta[3][5];M?則該數(shù)組所占存儲(chǔ)空間的字節(jié)數(shù)為60.使用“typedefcharBB[10][50];"語(yǔ)句定義―BB為含有10行50列的二維字符數(shù)組類型。9,字符串"a:\\xxk\\ff"的長(zhǎng)度為9.假定p所指對(duì)象的值為25,p+1所指對(duì)象的值為46,則?++p的值為46.假定?個(gè)數(shù)據(jù)對(duì)象為int?類型,則指向該對(duì)象的指針類型為」れt**.假定一個(gè)結(jié)構(gòu)類型的定義為"structA{inta,b;structA*c;};n?則該類型的理論長(zhǎng)度為ー12.假定要訪問(wèn)?個(gè)結(jié)構(gòu)對(duì)象x中的數(shù)據(jù)成員a,則表示方式為ーx.〃三、寫(xiě)出下列毎個(gè)程序運(yùn)行后的輸出結(jié)果(每小題6分,共30分)#include<stdio.h>voidmain(){intx=3;switch(2*x+l){case4:printf("%d",x);break;case7:printf("%d",2*x);break;case10:printf(*%d*,3*x);break:default:printf(*%s*,*default"); } }輸出結(jié)果:6#includeくstdio.h>voidmain(){intf=l,i;for(i=l;i<4;i++)f=3*f+l;printf(飛d*,f); }輸出結(jié)果:40^includeくstdio.h>voidmainO{inta[8]={12,39,26,41,55,63,72,40);inti,c=0;for(i=0;i<8;i++)if(a[i]%3==0)c++;printf("%d\n",c);丿輸出結(jié)果:4#include<stdio.h>#include<string.h>voidmain(){chars[]="123456”;inti,n=strlen(s);for(i=0;i<n/2;i++){charc=s[i];s[i]=s[n-l-i];s[n-l-i]=c;} printf("%s\n",s);}輸出結(jié)果:654321#include<stdio.h>intLB(int*a,intn)(int*p,s=l;for(p=a;p<a+n;p++)s*=*p;returns; )voidmain(){inta[]=(l,2,3,4);printf("%d\n*,LB(a,sizeof(a)/sizeof(int)));//sizeof(a)為求出數(shù)組a所占用的存儲(chǔ)空間的字節(jié)數(shù)}輸出結(jié)果:24四、寫(xiě)出下列每個(gè)函數(shù)的功能(每小題6分,共12分)#include<stdio.h>intSA(inta,intb){if(a>b)return1;elseif(a==b)return0;elsereturn-1;)函數(shù)功能:比較兩個(gè)整數(shù)a和b的大小,若a〉b則返回1,若a==b則返回。,若a〈b則返回一しvoidOutput(structIntNode*f)//f為單集表的表頭指針(if(!f)return;while(f){printf("%d*,f->data);f=f->next;)printf("\n");} 函數(shù)功能:遍歷輸出由f所指向的單錐表中毎個(gè)結(jié)點(diǎn)的值。五、按題目要求編寫(xiě)程序(每小題6分,共12分)1.完善下面程序,該程序功能是從鍵盤(pán)上輸入10個(gè)整數(shù)到ー維數(shù)組a[10]中,然后按照下標(biāo)從大到小的次序輸出數(shù)組a[10]中的每個(gè)元素值,元素值之間用—個(gè)空格分開(kāi)。#includeくstdio.h>voidmain(){inta[10],iJ〃用i作為循環(huán)變量printf("從鍵盤(pán)輸入10個(gè)整數(shù):'n");〃向下補(bǔ)充程序內(nèi)容,用兩個(gè)for循環(huán)實(shí)現(xiàn)

printf(*\n*); }〃3分〃3分for(i=9:i>=0;i-)printf(*%d*,a[i])i〃6分注:第1行中的&a[i]也可替換為a+i2.編寫(xiě)一個(gè)主函數(shù),假定a和b的取值范圍為:6WaW50,10WbW30,求出滿足不定方程3a+2b=120的全部整數(shù)組解。如(20,30)就是其中的?組解。voidmainO//I分〃2//I分〃2分〃3分for(a=6;a<=50;a++)for(b=10:b<=30;b++)if(3*a+2*b==120)printf(*(%d,%d)\n*,a,b);〃6分ー、單選題.在每個(gè)C語(yǔ)言程序中都必須包含有這樣?個(gè)函數(shù),該函數(shù)的函數(shù)名為(main)。TOC\o"1-5"\h\z.每個(gè)C語(yǔ)言程序文件的編譯錯(cuò)誤分為(2 )類。3,字符串"a+b=12\n”的長(zhǎng)度為(7)。4.在switch語(yǔ)句的每個(gè)case塊中,假定都是以break語(yǔ)句結(jié)束的,則此switch語(yǔ)句容易被改寫(xiě)為(if)語(yǔ)句。5,在下面的do-while循環(huán)語(yǔ)句中,其循環(huán)體語(yǔ)句被執(zhí)行的次數(shù)為(10 )〇 inti=0;doi++;while(i<10);.將兩個(gè)字符串連接起來(lái)組成一個(gè)字符串時(shí),選用的函數(shù)為(strcat0 )..若用數(shù)組名作為函數(shù)調(diào)用的實(shí)參,傳遞給形參的是(數(shù)組的首地址 )。.假定a為ー個(gè)整數(shù)類型的數(shù)組名,整數(shù)類型的長(zhǎng)度為4,則元素a[4]的地址比a數(shù)組的首地址大(16)個(gè)字節(jié)。.假定s被定義為指針類型char*的變量,初始指向的字符串為”Helloworld!”,若要使變量p指向s所指向的字符中,則P應(yīng)定義為(char*p=s; )?.從個(gè)數(shù)據(jù)文件中讀入以換行符結(jié)束的一行字符串的函數(shù)為(fgetsO)..由C語(yǔ)言目標(biāo)文件連接而成的可執(zhí)行文件的缺省擴(kuò)展名為(exe)〇.設(shè)有兩條語(yǔ)句為“inta=12:a+=a*a;M,則執(zhí)行結(jié)束后,a的值為(156 )..帶有隨機(jī)函數(shù)調(diào)用的表達(dá)式rand()%20的值在(0?19)區(qū)間內(nèi)。.for循環(huán)語(yǔ)句“for(i=0;i<n;i+=2)S;"中循環(huán)體S語(yǔ)句被執(zhí)行的次數(shù)為((n+D/2 )〇.在下列的字符數(shù)組定義中,存在語(yǔ)法錯(cuò)誤的是(chara[10]='5';)。B 17. B 18. A 19. D 20. CD 22. A 23. A 24. B 25. CC 27. C 28. B 29. A 30. D16,若有一個(gè)函數(shù)原型為‘'double?function()M,則它的返回值類型為(實(shí)數(shù)指針型)..在C語(yǔ)言中,所有預(yù)處理命令都是以(# )符號(hào)開(kāi)頭的。.假定整數(shù)指針p所指數(shù)據(jù)單元的值為30,p+1所指數(shù)據(jù)單元的值為40,則執(zhí)行?p++后,p所指數(shù)據(jù)單元的值為(40)。.若要使p指向二維整型數(shù)組a[10][20],則p的類型為(int(*)[20])〇.表示文件結(jié)束符的符號(hào)常量為(EOF).程序運(yùn)行中需要從鍵盤(pán)上輸入多于ー個(gè)數(shù)據(jù)時(shí),各數(shù)據(jù)之間默認(rèn)使用(空格或回車)符號(hào)作為分隔符。.邏輯表達(dá)式(x>0&&xく=10)的相反表達(dá)式為(x<=0 x>10 )〇.當(dāng)處理特定問(wèn)題時(shí)的循環(huán)次數(shù)已知時(shí),通常采用(for)循環(huán)來(lái)解決。.假定i的初值為〇,則在循環(huán)語(yǔ)句“while(iくn)(s+=i*i;i++;}"中循環(huán)體被執(zhí)行的總次數(shù)為(n)〇.假定?個(gè)二維數(shù)組的定義語(yǔ)句為“inta[3][4]={{3,4},{2,8,6}};”,則元素a[l][2]的值為(6 )〇.在下列選項(xiàng)中,不正確的函數(shù)原型格式為(iniFunction(a): )〇.假定p是?個(gè)指向float型數(shù)據(jù)的指針,則p+1所指數(shù)據(jù)的地址比p所指數(shù)據(jù)的地址大(4)個(gè)字節(jié)。.假定有定義為“intm=7,*p:M?則給p賦值的正確表達(dá)式為(p=&m)〇 29假定指針變量P定義為"int*p=malloc(sizeof(int));w,要釋放p所指向的動(dòng)態(tài)存儲(chǔ)空間,應(yīng)調(diào)用的函數(shù)為(free(p))0C語(yǔ)言中的系統(tǒng)函數(shù)「open。是(打開(kāi))ー個(gè)數(shù)據(jù)文件的函數(shù)。.C語(yǔ)言中的毎條簡(jiǎn)單語(yǔ)句以,(或分號(hào))一作為結(jié)束符。.C程序中的所有預(yù)處理命令均以#一字符開(kāi)頭。.當(dāng)不需要函數(shù)返回任何值時(shí),則應(yīng)使用タ。山一標(biāo)識(shí)符來(lái)定義函數(shù)類型。.十進(jìn)制數(shù)25表示成符合C語(yǔ)言規(guī)則的十六進(jìn)制數(shù)為ー。X工タ。5假定不允許使用邏輯非操作符,則邏輯表達(dá)式a〉bIb=5的相反表達(dá)式為ー。くニレ&&レ!:5.執(zhí)行“typedefintDataType;”語(yǔ)句后,在使用int定義整型變量的地方也可以使用—Da%Tgpe來(lái)定義整型變量。.假定一維數(shù)組的定義為“char*a[8];”,則該數(shù)組所占存儲(chǔ)空間的字節(jié)數(shù)為ーろ2」.假定二維數(shù)組的定義為“doublea[M][N];”,則該數(shù)組的列下標(biāo)的取值范圍在ー。?N-1一之間。.存儲(chǔ)ー個(gè)空字符串需要占用一1ー個(gè)字節(jié)。.strcpy函數(shù)用于把ー個(gè)字符串一拷貝(復(fù)制)一到另ー個(gè)字符數(shù)組空間中。.程序的編譯單位是ー個(gè)ー程序文件ー。.假定a是?個(gè)ー維數(shù)組,則a[i]的指針訪問(wèn)方式為—マ九..執(zhí)行int*p=malloc(sizeof(int))操作得到的ー個(gè)動(dòng)態(tài)分配的整型對(duì)象為ー?p0.執(zhí)行“printf("%c",'A'+2);”語(yǔ)句后得到的輸出結(jié)果為—C_..shortint類型的長(zhǎng)度為_(kāi)2。.用類型關(guān)鍵字表示十進(jìn)制常數(shù)3.26f的類型為ーfloat..假定y=10,則表達(dá)式++y*3的值為ー33〇.邏輯表達(dá)式(x==0&&y>5)的相反表達(dá)式為—(x!=O||y<=5)或:(x||y<=S)。.若x=5,尸10,則x!=y的邏輯值為_(kāi)1.假定二維數(shù)組的定義為“inta[3][5];”,則該數(shù)組所占存儲(chǔ)空間的字節(jié)數(shù)為ーG。C.使用“typedefcharBB[10][50];"語(yǔ)句定義B8一為含有10行50列的二維字符數(shù)組類型。 22.字符串“a:\\xxk\\數(shù)據(jù)”的長(zhǎng)度為ーエ丄23.假定p所指對(duì)象的值為25,p+1所指對(duì)象的值為46,則?++p的值為一46。.假定一個(gè)數(shù)據(jù)對(duì)象為int?類型,則指向該對(duì)象的指針類型為一源t**0.假定一個(gè)結(jié)構(gòu)類型的定義為“structA{inta,b;A*c;};n,則該類型的長(zhǎng)度為ー12.假定要訪問(wèn)ー個(gè)結(jié)構(gòu)對(duì)象x中的數(shù)據(jù)成員a,則表示方式為.用于輸出表達(dá)式值的標(biāo)準(zhǔn)輸出函數(shù)的函數(shù)名是ーp/Mビ。.每個(gè)C語(yǔ)言程序文件在編譯時(shí)可能出現(xiàn)有致命性錯(cuò)誤,其對(duì)應(yīng)的標(biāo)識(shí)符為_(kāi)error29.已知‘A‘Z'的ASCH碼為65?90,當(dāng)執(zhí)行“intx='C'+3;”語(yǔ)句后x的值為ー7。。30.表達(dá)式(int)14.6的值為_(kāi)14。31.假定不允許使用邏輯非操作符,則關(guān)系表達(dá)式x+y>5的相反表達(dá)式為_(kāi)X+gく=S 32.假定x=5,則執(zhí)行Ma=(x?10:20)語(yǔ)句后a的值為ーエ。。33.假定?維數(shù)組的定義為“char*a[M];”,則該數(shù)組所占存儲(chǔ)空間的字節(jié)數(shù)為_(kāi).4*MO.存儲(chǔ)字符串"a"需要至少占用存儲(chǔ)器的ー2ー個(gè)字節(jié)。.strlenO函數(shù)用于計(jì)算ー個(gè)字符串的ー長(zhǎng)度.在C語(yǔ)言中,ー個(gè)函數(shù)由函數(shù)頭和ーー函數(shù)體ー這兩個(gè)部分組成。.假定p所指對(duì)象的值為25,p+1所指對(duì)象的值為46,則執(zhí)行表達(dá)式?(p++)后,p所指對(duì)象的值為ー46。.假定p是一個(gè)指向整數(shù)對(duì)象的指針,則用ー&P一表示指針變量p的地址。.與結(jié)構(gòu)成員訪問(wèn)表達(dá)式p>name等價(jià)的訪問(wèn)表達(dá)式為ー0).れ42&三、寫(xiě)出下列毎個(gè)程序運(yùn)行后的輸出結(jié)果#include<stdio.h>voidmainO(intx=5;switch(2*x-l){printf(*%d*,x);break;printf(*%d”,2*x);break;printf("%d",3*x);break;printf("%s*,"default");)printf("%s\n","switchend.");)輸出結(jié)果defaultswitchend.#include<stdio.h>voidmain(){intfl,f2,i:fl=l;printf(*%d",fl):for(i=2;iく=5;i++){f2=3*fl+l;printf("%d",f2);fl=f2;)printfC\n");}輸出結(jié)果141340121^includeくstdio.h>voidmainO(inta[10]={12,39,26,41,55,63,72,40,83,95):inti,il=0,i2=0;for(i=0;i<10;i++)if(a[i]%2==l)il++;elsei2++;printf("%d%d\n",i1,i2);)輸出結(jié)果い4#include<stdio.h>#includeくstring.h>voidmain(){chars[15]="567891234";inti,n=strlen(s);for(i=0;i<n/2;i++){charc=s[i];s[i]=s[n-l-i]:s[n-l-i]=c:printf(*%s\n*,s);)輸出結(jié)果132198765#include<stdio.h>intLB(int*a,intn){inti,s=1;for(i=0;i<n;i++)s*=*a++;returns;}voidmainO(inta[]={l,2,3,4,2,4,5,2);intb=LB(a,4)+LB(a+3,3);printf(*b=%d\n*,b);)輸出結(jié)果b二56#include<stdio.h>voidmain(){inti,s=0;for(i=l;i<6;i++)s+=i*i;printf(,,s=%d\n>>,s):}輸出結(jié)果ゝ=55#include<stdio.h>ffdefineN6voidmain()(inti,a[N]={2,5,8,10,15,21};for(i=0;i<N;i++)if(a[i]%5)printf(*%d*,a[i]);printf(*\n*);輸出結(jié)果ユ821#include<stdio.h>與includeくstring,h〉voidmain(){inti;unsignedintlen;char*a[5]={"student",“worker","cadre,"soldier*,*zzeasanl23"};len=strlen(a[0]);for(i=l;i<5;i++)if(strlen(a[i])>len)len=strlen(a[i]);輸出結(jié)果10#include<stdio.h>voidmain()(inta,b;for(a=2,b=3;bく20;){printf(*%d%d*,a,b);a=a+b;b=a+b:)printf(*%d%d\n*,a,b);)輸出結(jié)果23581321^include<stdio.h>voidLE(int*a,int*b){intx=*a;?a=*b;*b=x;)voidmain(){intx=15,y=26;printf(*%d%d\n*,x,y);LE(&x,&y);printf(*%d%d\n*,x,y);)輸出結(jié)果15262615#include<stdio.h>voidmainO(inti,s=0;for(i=l;;i++){if(s>30)break;if(i%2==0)s+=i;|printf(*s=%d\n*,s);)輸出結(jié)果s=42^includeくstdio.h>voidmainO{inta[9]={36,25,48,24,55,40,18,66,20};inti,bl,b2;bl=b2=a[0];for(i=l;i<9:i++){if(a[i]>bl)bl=a[i];if(a[i]<b2)b2=a[i];|printf(*%d%d\n*,bl,b2);)輸出結(jié)果6618#include<stdio.h>voidSB(charch)(switch(ch){case'A*:case'a,:printf(*WW*);break;case'B':case'b':printf(*GGつ;break;default:printf(*BB*);break;)voidmainO{charal='a',a2=,B*,a3='f';SB(al);SB(a2);SB(a3);printf(*\n*); }輸出結(jié)果O'GGBB#include<stdio.h>ttdefineM6voidmain(){ inti,x;inta[M]={10,15,22,37,46,58]:for(i=0;i<M/2;i++){x=a[i];a[i]=a[M-l-i];a[M-l-i]=x;}for(i=0;i<6;i++)printf(*%d*,a[i]):printf(*\n*);)輸出結(jié)果584637221510#includeくstdio.h>structWorker{charname[15];intage:floatpay;);voidmainO{structWorkerx=(*wanghua*,52,2350};structWorkery,*p;y=x;p=&x;printf(*%d%7.2f\n*,y.age+p->age,p->pay+20);}輸出結(jié)果1042370.00#include<stdio.h>voidmainO{inti,j,k=0;for(i=0;i<5:i++)for(j=i;j<5;j++)k++;;printf(*%d\n*,k):)輸出結(jié)果15#include<stdio.h>voidmainO(intx=60;inti=2,p=l;while(l){if(x%i==0){p*=i;x/=i;}

if(i<x)i++;elsebreak;printf(*%d\n*,p);}輸出結(jié)果30#include<stdio.h>voidmainO{inta[8]={76,63,54,62,40,75,90,58);inti;for(i=0;i<8;i++)if(a[i]>70)printf(*%d*,a[i]);printf(*\n*); }輸出結(jié)果?67590#include<stdio.h>voidWF(intx,inty){x=x+y;y+=x;printf(*%d%d\n*,x,y); }voidmainO{intx=3,y=8;WF(x.y);}輸出結(jié)果H19^includeくstdio.h>intLA(int*a,intn){inti,s=0;for(i=0;i<n;i++)s+=a[i];returns;}voidmainO(inta[5]={3,4,6,10,20};intb=LA(a,5);intc=LA(a+2,3);printf(*%d%d\n*,b,c); }輸出結(jié)果!336四、寫(xiě)出下列毎個(gè)函數(shù)的功能#include<math.h>intSG(intx){ 〃メ為大于等于2的整數(shù)inta=(int)sqrt(x);〃sqrt(x)取x的平方根inti=2;while(i<=a){if(x%i=O)break;i++;)if(i<=a)return0;elsereturn1;)判斷x是否為?個(gè)素?cái)?shù),若是則返回1,否則返回〇。intFindMax(structIntNode*f)//f為ー個(gè)單鏈表的表頭指針intX;if(!f)(printf("單鏈表為空、n"),exit(1);)x=f->data;f=f->next;while(f){if(f->data>x)x=f->data;f=f->next;} returnx;}假定structIntNode的類型定義為:structIntNode{intdata;structIntNode*next;};求出由f所指向的單鏈表中所有結(jié)點(diǎn)的最大值。#include<stdio.h>intSA(inta,intb){if(a>b)return1;elseif(a==b)return0;elsereturn-1;)比較兩個(gè)整數(shù)a和b的大小,若a>b則返回1,若a=b則返回0,若aくb則返回ー1。voidOutput(structIntNode*f)//f為單鏈表的表頭指針{if(If)return;while(f){printf(*%d*,f->data);f=f->next;printf(*\n*);}假定structIntNode的類型定義為:structIntNode{intdata;structIntNode*next;};遍歷并輸出由f所指向的單鏈表中毎個(gè)結(jié)點(diǎn)的值。intSC(inta,intb,intc){if(a>=b&&a>=c)returna;if(b>=a&&b>=c)returnb;returnc; }求出a,b,c三個(gè)數(shù)中的最大值并返回.int*LI(intn){int*a=malloc(n*sizeof(int));inti;for(i=0;i<n;i++)scanf(*%d*,a+i);returna;}首先建立?個(gè)動(dòng)態(tài)整型數(shù)組a[n],接著從鍵盤(pán)上輸入n個(gè)整數(shù)到a[n]中,最后返回?cái)?shù)組a[n]的首地址。7.intWC(inta[],intn,intk){inti,c=0;for(i=0;iくn;i++)if(a[i]>=k)c++;returnc;)統(tǒng)計(jì)并返回?維整型數(shù)組a[n]中大于等于k的值的個(gè)數(shù)voidQA(structWorkera[],intn){ inti;for(i=0;i<n;i++)scanf(*%s%d%f*.a[i].name,&a[i].age,&a[i].pay); }假定結(jié)構(gòu)類型structWorker的定義如下:structWorker{charname[15];intage;floatpay;};從鍵盤(pán)上為具有structWorker類型的數(shù)組以[八]輸入れ個(gè)記錄五、按題目要求編寫(xiě)程序或函數(shù).編寫(xiě)ー個(gè)程序,輸出50以內(nèi)(含50)的、能夠被3或者5整除的所有整數(shù)。#includeくstdio.h>voidmainOinti;for(i=3;i<=50;i++)if(i%3==0IIi%5==0)printf("%d",i);printf(*\n*);).編寫(xiě)一個(gè)遞歸函數(shù)“intFF(intaロ,intn)”,求出數(shù)組a中所有n個(gè)元素之積并返回。intFF(inta[],intn)(if(n<=0){printf(*n值非法、n"),exit(1);}if(n==l)returna[n-l];elsereturna[n-l]*FF(a,n-1):.編寫(xiě)ー個(gè)程序,利用while循環(huán),計(jì)算并打印輸出1+丄+丄+...+丄的值,其中正整數(shù)n值由健盤(pán)輸入。假定求和23n變量用sum表示,計(jì)數(shù)變量用i表示,sum、i和n均定義為全局變量,sum和i的初值分別被賦予〇和1。井includeくstdio.h>intn,i=l;doublesum=0;voidmain()(scanf(*%d*.&n);while(i<=n)sum+=(double)l/i++;printf(*sum=%lf\n*,sum);).根據(jù)函數(shù)原型“voidDD(inta[],intn,intMM)”編寫(xiě)函數(shù)定義,利用雙重循環(huán)査找并打印輸出數(shù)組a[n]中任何兩個(gè)元素的值等于MM值的元素值。假定a[i]+a[j]等于MM,則輸出格式為:(a[i],a[j]).voidDD(inta[],intn,intMM){inti,j;for(i=0;i<n:i++)for(j=i+l;j<n;j++)if(a[i]+a[j]=MM)printf(*%d,%d\n*,a[i],a[j]):).編寫(xiě)ー個(gè)程序,計(jì)覓1+3+32+...+3"’的值并輸出,假定分別用i,p,s作為循環(huán)變量、累乘變量和累加變量的標(biāo)識(shí)符。^includeくstdio.h>voidmainO(inti;intp=l;ints=l;for(i=l;i<=10;i++){p*=3;s+=p;}printf(*%d\n*,s);}.根據(jù)函數(shù)原型“intFF(inta[],intn)”,編寫(xiě)函數(shù)定義,計(jì)算并返回?cái)?shù)組a[n]中所有元素之和。intFF(inta[],intn){inti,sum=0;for(i=0;i<n:i++)sum+=a[i];returnsum;).根據(jù)函數(shù)原型“doubleMean(doublea[M][N],intm,intn)”,編寫(xiě)函數(shù)定義,要求返回二維數(shù)組a[m][n]中所有元素的平均值。假定在計(jì)算過(guò)程中采用變量v存放累加值和最后的平均值。doubleMean(doublea[M][N],intm,intn)inti,j;

doublev=0.0;for(i=0;i<m;i++)for(j=0;j<n:j*+)v+=a[i][j];v/=m*n;returnv;).根據(jù)函數(shù)原型ttintMM(inta[]tintm)”,編寫(xiě)函數(shù)定義,計(jì)算并返回?cái)?shù)組a[m]中元素最大值和最小值之差。intMM(inta[],intm)(inti,xl,x2;xl=x2=a[0];for(i=l;i<m:i++)(if(a[i]>xl)xl=a[i];if(a[i]<x2)x2=a[i];}returnxl-x2;《C語(yǔ)言程序設(shè)計(jì)》作業(yè)1解答ー、選擇題.在每個(gè)C語(yǔ)言程序中都必須包含有這樣ー個(gè)函數(shù),該函數(shù)的函數(shù)名為(A)-A.M4況 B.MAIN C.れロ小e P.fuiaction2.C語(yǔ)言源程序文件的缺省擴(kuò)展名為(P)〇A.cpp B.exe C.obj P.C.由C語(yǔ)言目標(biāo)文件連接而成的可執(zhí)行文件的缺省擴(kuò)展名為(B)。A.cppB.exeP.A.cppB.exeP.c.程序運(yùn)行中需要從鍵盤(pán)上輸入多于ー個(gè)數(shù)據(jù)時(shí),各數(shù)據(jù)之間應(yīng)使用(D)符號(hào)作為分隔符。A.空格或逗號(hào)3.逗號(hào)或回車 C.逗號(hào)或分號(hào) D.空格或回車.每個(gè)C語(yǔ)言程序文件的編譯錯(cuò)誤分為(8)類。A.1 8.2. C.3 D.4ム設(shè)x和9均為邏輯值,則x&&g為真的條件是(A)。A,它們均為真8.其中一個(gè)為真 C.它們均為假 D.其中一個(gè)為假7.設(shè)有語(yǔ)句“屁用エ2; 則執(zhí)行結(jié)束后,4的值為(C).A.12 8.144 C.1Sら P.2888.KyO&&X<=W的相反表達(dá)式為(A)。A.X<-O||X〉108.X<-O&&X>WC.X<=(2||X<=WP.X>O&&X>1<9q.字符串“a+レ=12、ハ”的長(zhǎng)度為(8)。A.6 8.7 C.8 P.q10在下列符號(hào)常量定義中,錯(cuò)誤的定義語(yǔ)句格式為(C)〇A.constM1=1O; 8.constintM2=2O;C-constM3エ。;P.constcharmark=,3,;11.帶有隨機(jī)函數(shù)的表達(dá)表達(dá)式m八刈)%20的值在(C)區(qū)間內(nèi)。A.1?14C.A.1?14C.0?1QP..當(dāng)處理特定問(wèn)題時(shí)的循環(huán)次數(shù)已知時(shí),通常采用(A)循環(huán)來(lái)解決。A.for B.wMe C.do-whileP.switch.在switcん語(yǔ)句的每個(gè)case塊中,假定都是以break語(yǔ)句結(jié)束的,則此switch語(yǔ)句容易被改寫(xiě)為(B)語(yǔ)句。A.for B.if C.do P.while.for語(yǔ)句能夠被改寫(xiě)為(P)語(yǔ)句。A.復(fù)合B.if C.swtich P.while.下面循環(huán)語(yǔ)句執(zhí)行結(jié)束后輸出的i值為(8)。for(inti=O:トハ;i++)(f((>n/Z){prihtf("%d'ハ",り;break;}A.ハ/2 B.ハ/2+1 C.ハ/2-1 P.ハ-1.在下面循環(huán)語(yǔ)句中內(nèi)層循環(huán)體S語(yǔ)句的執(zhí)行總次數(shù)為(P)。for(im.ti=O;iく八;i++)for(ii^tj=i;ハハ;j++)S;A.ハユ B.(ハ+1)/2 C.ハ(ハー1)/2 P.ハ(ハ+1)/2.在下面的イo循環(huán)語(yǔ)句中,其循環(huán)體被執(zhí)行的次數(shù)為(A)。iハti-O;doi++;while((*/<l<2);A.4 B.3 C.S P.2二、填空題.C語(yǔ)言中的每條簡(jiǎn)單語(yǔ)句以 ; 作為結(jié)束符。.C語(yǔ)言中的每條復(fù)合語(yǔ)句以 }作為結(jié)束符。.在C語(yǔ)言程序的每個(gè)程序行后面或單獨(dú)一行的開(kāi)始使用注釋的標(biāo)記符為//?.單行或多行注釋的結(jié)束標(biāo)記符為 */。.在ー個(gè)C程序文件中,若要包含另外一個(gè)頭文件或程序文件,則應(yīng)使用以#include定義的頭文件。6,在#include命令中所包含的頭文件,可以是系統(tǒng)定義的頭文件,也可以是 用戶定義的頭文件。.ー個(gè)函數(shù)定義由函數(shù)頭 和函數(shù)體兩部分組成。.用于輸出表達(dá)式值的標(biāo)準(zhǔn)輸出函數(shù)是 printf0q.當(dāng)不需要函數(shù)返回任何值時(shí),則應(yīng)使用void 標(biāo)識(shí)符定義函數(shù)類型。8.執(zhí)行“四以紙"%d-%d=%大,43,18,43-18);”語(yǔ)句后得到的輸出結(jié)果為_(kāi)43ー工8=25 。.每個(gè)C程序文件在編譯時(shí)可能出現(xiàn)有警告性錯(cuò)誤,其對(duì)應(yīng)的標(biāo)識(shí)符為ーwarning0.每個(gè)C程序文件在編譯時(shí)可能出現(xiàn)有致命性錯(cuò)誤,其對(duì)應(yīng)的標(biāo)識(shí)符為ーerror?.十進(jìn)制數(shù)2s表示成符合C語(yǔ)言規(guī)則的十六進(jìn)制數(shù)為 0X1ワ。.在C語(yǔ)言中,轉(zhuǎn)義字符序列 、ハ’表示ー個(gè)換行符。.執(zhí)行“pn.ハtF("%c",F-2);”語(yǔ)句后得到的輸出結(jié)果為 D。.已知A?N的ASCI!碼為65"?q。,當(dāng)執(zhí)行“況tX=C'+5;”語(yǔ)句后X的值為72〇.假定一個(gè)枚舉類型的定義為RB{aレ,ac=3,ad,ae}x=ad;n,貝リxTOC\o"1-5"\h\z的值為4 。.Cんル類型的大小為 — 個(gè)字節(jié)。.iiat類型的大小為 1 個(gè)字節(jié)。.舟。れ類型的大小為 4 個(gè)字節(jié)。.十進(jìn)制數(shù)28類型カ Mt 。.十進(jìn)制數(shù)ろ.2G的類型為 double 。.若需要定義ー個(gè)符號(hào)常量,并且使C語(yǔ)言能夠進(jìn)行類型檢查,則應(yīng)在定義語(yǔ)句的開(kāi)始使用保留字 const .使用C。ハSt語(yǔ)句定義ー個(gè)符號(hào)常量時(shí),則必須對(duì)它同時(shí)進(jìn)行 初始化 。.執(zhí)行"/tx=4SJy=13;pn'八x%g);”語(yǔ)句序列后得到的輸出結(jié)果為一2ら.假定X=S,則表達(dá)式2+X++的值為 Z 。.表達(dá)式(冃。歩)25/4的值為 ム2S 。.表達(dá)式(7八り14.6%S的值為 ± 。.表法式乂=乂+1表示成增量表達(dá)式カ ++i3(9.增量表達(dá)式ー9表示或賦侑表ル式為 g=g+l 。.關(guān)系表達(dá)式(X!=<9)的等價(jià)表達(dá)式為^ 。.假定不允許使用邏輯非操作符,則關(guān)系表達(dá)式x+g>5"的相反表達(dá)式為乂+ヮく二5 〇.假定不允許使用邏輯非操作符,則邏輯表達(dá)式レ||レ==5"的相反表達(dá)式為ーせ當(dāng)&&か=5 .若X=5,9=10,則4>9的邏輯值為0。.若X=5,9=10,則x<=g的邏輯值為1〇.假定X=S,則執(zhí)行“a=(x?1O:2。);”語(yǔ)句后a的值為W。.執(zhí)行“tgpedef心tDataqpe;”語(yǔ)句后,在使用以土定義整型變量的地方都可以使用DataTgpe 來(lái)定義整型變量..在switc人語(yǔ)句中,每個(gè)語(yǔ)句標(biāo)號(hào)所含保留字case后面的表達(dá)式必須是 賞量0.作為語(yǔ)句標(biāo)號(hào)使用的C保留字case和イefa川亡只能用于 switch語(yǔ)句的東義體中。.執(zhí)行switch語(yǔ)句時(shí),在進(jìn)行作為條件的表達(dá)式求值后,將從某個(gè)匹配的標(biāo)號(hào)位置起向下執(zhí)行,當(dāng)碰到下ー個(gè)標(biāo)號(hào)位置時(shí)(停止/不停止) 不停止 執(zhí)行。.若イ。循環(huán)的"尾"為"wん?e(++k[。);",并且i的初值為。,同時(shí)在循環(huán)體中不會(huì)修改i的值,則循環(huán)體將被重復(fù)執(zhí)行 ユ。 次后正常結(jié)束。.當(dāng)在程序中執(zhí)行到 とreak; 語(yǔ)句時(shí),將結(jié)束本層循環(huán)類語(yǔ)句或switcい語(yǔ)句的執(zhí)行。.在程序中執(zhí)行到 了況— 語(yǔ)句時(shí),將結(jié)束所在函數(shù)的執(zhí)行過(guò)程,返回到調(diào)用該函數(shù)的位置。.在程序執(zhí)行完 Ma況 函數(shù)調(diào)用后,將結(jié)束整個(gè)程序的執(zhí)行過(guò)程,返回到操作系統(tǒng)或C語(yǔ)言集成開(kāi)發(fā)環(huán)境界面窗口。三、寫(xiě)出下列每個(gè)程序運(yùn)行后的輸出結(jié)果1. #include<stdio.h>voidmainf)ivxtx=5;swrtrk(2*x-3){case4: printf(N%d〃M;case7: printf(N%d"ノ2*x+l);case丄つ:printf("%d〃ノろ*x-1);break;default:prMtf(〃%s"/default、ハ");1pn,ハモf(〃%sゝれ〃/switchend.");)運(yùn)行結(jié)果:2214switchend.^include<stdio.k>voidi^ain(){inti,S-O;for(7=l;(<=6;i++)s+;iザ;printf("s-%d\n"Js);)運(yùn)行結(jié)果:S=91#include<stdio.h>voidiAA.ain(){intしsl=O,S2=O;foパ二O;iくエ。;i++)近7%2)st+=i;ekes2+=i;printf(H%d s丄ノs2);)運(yùn)行結(jié)果:2520#心,ルイeくstdio.h〉void.kv\aiia(){mtハ=20ノy=l;w人依れー) {g++;9卄;}pHハセf(〃g=%d\ハ〃⑼;)運(yùn)行結(jié)果:g=2丄#incしde<stdio.h>void){int£fエノf2丿i;fl二?丄;pHntf("%d%d"jfエ,f2);fo?kろ;k=lO;i++){f=fエ+f2;pHctf(〃%d"ノf);if(i%5==O)p-任"'ハ");fl=f2;f2ゴ;)prMtf(〃、ハ");)運(yùn)行結(jié)果:112ろ5813223455#況cルイe<stdio.h>#況cルイe<math.h>void){mt厶れ;f。イれ=2;バく=20;ハ++) {的平方根并取整mttehp=a'ハt)sqrt(ハ); 〃sqrt(ハ)求出的平方根并取整fo《i=2;i<=temp;i++)if(ハ%に=つ)break;if(i>tei^\p)pn,ハtf("%d",バ);1pバハtf("ヽハウ;)運(yùn)行結(jié)果:235712231719^includeくstdio.k〉constiハtM=20;voidkv\ain() {mti,C2ノC3ノCS;c2二c3=cS=O;iく=M;i++){if(i%2==O)C2++;if(i%ろ==O)cろ++;if(i%5==。)CS++;1printf(H%d%d%d'八"'c2ノcろノC5);)運(yùn)行結(jié)果:20(04#includeくstdio.k〉void){Mtしs;fo《iニ[バ=O;iくエ5;i++){if(i%2==Oロi%ろ==。)continue;printf("%d",i);s+=i;1所れ玳"%d\ババ);運(yùn)行結(jié)果:1S7111ろろ7ー、選擇題(共20分,每小題2分)I1n當(dāng)處理特定問(wèn)題時(shí)的循環(huán)次數(shù)已知時(shí),通常采用的語(yǔ)句是()。°a.forwk"ed。-whileswitch題目2在switc人語(yǔ)句的每個(gè)case塊中,假定都是以break語(yǔ)句結(jié)束的,則此switc人語(yǔ)句容易被改寫(xiě)成的語(yǔ)句是()。'a.for俗b.ifdowhile題目3nfor語(yǔ)句能夠被改寫(xiě)成的語(yǔ)句是()。a.復(fù)合rb.ifr ,c.switchd.while題目4下面循環(huán)語(yǔ)句執(zhí)行結(jié)束后輸出的i值為(forfmti=O;トれ;i++)if(i>ハ/2){c?!眱Hく,くくeれ山;break;}b.ハ/2+丄CC.ハ/2-1題目5在下面循環(huán)語(yǔ)句中,內(nèi)層循環(huán)體S語(yǔ)句的執(zhí)行總次數(shù)為(forfmt江つ;トハ;な+)forintj=i;ハハ;j++)S;Cレ.(ハ+1)/2d.ハ(ハ+丄)/2題目6在下面的イ。循環(huán)語(yǔ)句中,其循環(huán)體被執(zhí)行的次數(shù)為(im.ti=O;doi++;a.4Cc.5題目7在下面的ー維數(shù)組定義中,有語(yǔ)法錯(cuò)誤的選項(xiàng)是(「a.mtnロ={エノ2ノろ};'b.mta[lO]={O};iv^t4口;mta[S];題目8在下面的二維數(shù)組定義中,語(yǔ)法正確的選項(xiàng)是('a.mtロ;"レ.MtC.i八t“□[刃={{工,3,5},{2});Cd.mt〃□(ユつ);題目q假定一個(gè)二維數(shù)組的定義語(yǔ)句為“況ナ姉引[4]={{3メト{2,8,6}};”,則元素班勾[勾的值為()。-2「員4「C.6、’d.8題目ro假定一個(gè)二維數(shù)組的定義語(yǔ)句為“況ナ姉引[4]={{3,叼,{2,8,6}};”,則元素班2兀勾的值b.4C.8「イ.らn二、判斷題(共20分,每小題エ分。敘述正確則回答“是",否則回答“否")n題目1エ在執(zhí)行"t卯edef('ntDntaTgpe;”語(yǔ)句后,標(biāo)識(shí)符DataTgpe與保留字mt具有完全相同的含義和作用。對(duì)題目12在switcス語(yǔ)句中,每個(gè)case和冒號(hào)之間的表達(dá)式只能是常量。 對(duì)為了結(jié)束本層循環(huán)類語(yǔ)句或switch語(yǔ)句的執(zhí)行過(guò)程,在語(yǔ)句體中需要使用ルeak語(yǔ)句。對(duì)題目ユ4在程序中執(zhí)行到レセnk語(yǔ)句時(shí),將結(jié)束所在函數(shù)的執(zhí)行過(guò)程,返回到調(diào)用該函數(shù)的位置。在程序執(zhí)行完成任一個(gè)函數(shù)調(diào)用后,將結(jié)束整個(gè)程序的執(zhí)行過(guò)程,返回到操作系統(tǒng)或C語(yǔ)言集成開(kāi)發(fā)環(huán)境界面窗口。錯(cuò)假定一維數(shù)組的定義為“ckaド譏8];”,則該數(shù)組所含元素的個(gè)數(shù)大于8。錯(cuò)題目I7假定二維數(shù)組的定義為“況ta[可]勺;”,則該數(shù)組所占存儲(chǔ)空間的字節(jié)數(shù)為60。對(duì)題目I8假定二維數(shù)組的定義為“Mara[M][Nj;",則該數(shù)組所含元素的個(gè)數(shù)為M+M錯(cuò)假定二維數(shù)組的定義為"do?レ他則每個(gè)數(shù)組元素的行下標(biāo)取值范圍在。?Mー丄之間。對(duì)假定二維數(shù)組的定義為‘a(chǎn)。?b/c 則每個(gè)數(shù)組元素的列下標(biāo)取值范圍在0?N之間。錯(cuò)題目2丄存儲(chǔ)ー個(gè)空字符串需要占用〇個(gè)字節(jié)的存儲(chǔ)空間。錯(cuò)題目22使用"%pedefchar 口。][5。];"語(yǔ)句定義標(biāo)識(shí)符88為含有2-0行5?0列的二維字符數(shù)組類型。對(duì)題目23存儲(chǔ)字符”’需要占用1個(gè)字節(jié)的存儲(chǔ)空間。對(duì)題目24空字符串的長(zhǎng)度為1。錯(cuò)題目2s字符串"a:\\xxk\'數(shù)據(jù)"的長(zhǎng)度為ユ3。錯(cuò)為了存儲(chǔ)ー個(gè)長(zhǎng)度為八的字符串,所使用的字符數(shù)組的長(zhǎng)度至少為ハ+1。對(duì)題目27strcmp函數(shù)用于進(jìn)行兩個(gè)字符串之間的比較。對(duì)題目28strcpg函數(shù)用于把ー個(gè)字符串拷貝到另ー個(gè)字符數(shù)組空間中。對(duì)題目2Qー個(gè)二維字符數(shù)組ぐムオ[2。]能夠最多存儲(chǔ)q個(gè)字符串。錯(cuò)題目30一個(gè)二維字符數(shù)組〃[レ2J[2OJ能夠存儲(chǔ)的每個(gè)字符串的長(zhǎng)度不超過(guò)20。錯(cuò)三、填空題:寫(xiě)出下列每個(gè)程序運(yùn)行后的輸出結(jié)果(共40分,每小題4分)題目31#includeくstdJo.h>voidMaimQ{intX=5;switck(2*x-3){case4:printf("%d",x);case7:printf("%d",2*x+*);caseユ。:printf("%A,,>3*x-l);break;default:priiatf("%s"j"default\n");題目ろ2#incレdeくstdio.K〉voidkvuu?れ〇{mti$=。;for(に工;卜=5;i++)s+=i*i;prmtf(Hs=%d、れ〃J);}S=55題目ろろ#incレdeくstdiOレ〉void{mt厶sl=つノS2ニ。;forfi二つ;トエつ;i++)s丄+=i;elses2+=i;prMtf("%d%d'れ〃バエノs2);エフニSつ二£つ二てつプ£ブてナ.J)p)OA,0て二Wハ“?5U8く”0[P)5)タPカドUイ#S£目補(bǔ)。て,二6(依ヘア%二自加〃メf-U二?6(u)刃!v/mf二二"9ニレjw}0VノりW!00ハく”0ア叩UJ#力6日潴OZSてfo《iニ[;k=M;i++){if(i%2==O)c2++;底,%ろニニ。)cろ十+;溝’%5?ニニ。)c5什;)p/Mtf("%4%d%4\ベノc2,cろ,。5);)丄。G4題目ろお#incレdeくstdio.h)void(Mtisあ《エ工丿二。パく1。ス'++){if(i%ろニニ。)coれガれ〃e;s+=i;)pn'ハ七f("%d\ハ、s);27題目37#incレdeくstdio.h〉voidルx〃況()(mt凱8]={丄2ノろ/2d41ノ55ノeろノ72ノ4。};mti,il=O,i2=O;f。イ‘二つ;iく8;i++)if(ギ[%2==1)il++;else漢++;prMtf(〃%d%d'心,江ノ2);144題目38#i八eludeくstdio.h>mt41つ卜{4ノ54ユ5ノ20ユろユ2,7ノ8,鉛;voidha〃況〇(mtg$[4]=<9;for(につ;卜丄つ;i++){switch(如コ%4){caseO:s[O]^=a[i];break;case丄:s[l]-t-=a[i];break;case2:s[2]-h=a[i];break;default:s[3]-p=a[i];break;))for(たつ;Z<4;i++)pHntf(〃%d"鳳①;)4427622題目39#iハcレdeくstdio.h〉voidwuガn(){chara[]-uabcdbfbgacd";intil=O,i2=O,i=O;進(jìn)a|7J=='a')は++;if(a[i]=='b')i2++;i++;]prM玳"%d%d%ス5",江メ2り;3エ1題目4。#incbdeくstdi。.h>voidMA<am(){mta[可[4]={]エ,2,7,8レ{5,6,工。通],{9コ2,ち4司mtホ=4口冋;mtij;for(7=0;iくう;i++)for(j=0;j<4;j++)ー血⑦ー)麻=a皿pn'ntf("%Wゝハ",れウ12四、簡(jiǎn)答題:根據(jù)下列每個(gè)題目要求編寫(xiě)程序(共20分,每小題4分)題目41編寫(xiě)ー個(gè)函數(shù),函數(shù)頭格式為"do?勿eMenMdo?レ他mj,ntハ)”,要求返回二維數(shù)組姉mJS]中所有元素的平均值,假定在計(jì)算過(guò)程中采用變量v存放平均值。doubleMean(doublea[M][N],intmj'ntハ)(intij;doublev-O.O-,for(i=。;i<M;i++)foQ=。;jくハ;j++)v>=即コ。J;v/=m*n;returnv;1題目42編寫(xiě)ー個(gè)遞歸函數(shù)"ハtFF(intn口,/,ハtハ)”,求出數(shù)組。中所有パ個(gè)元素之積并返回。

MtFF(inta[]jint八){mtmu(=l;設(shè)れニ=l)n/V〃(?=〃QJ;elsekv\ul=a[ia-l]^FF(a^-l);returnmu/;1/^voidmam()int 〃[お卜{丄,2ノろノ4ノ5?ノG);p/M玳"%dゝ心,FF(。ル));11題目43+1/ハ>5編寫(xiě)一個(gè)主函數(shù),利用wMe循環(huán),求出并顯示滿足不等式ユ+丄/2+1/3+的最小+1/ハ>5#include<stdio.h>voidmain()(inti=0;doubles=0;〃或inti=1;doubles=1;while(s<5)s+=(double)1/++i;printf("n=%d\n",i);)題目44n編寫(xiě)ー個(gè)主函數(shù),求出滿足不等式22+42+...+ハ2<1?。0。的最大八值,假定分別用i和5作為取偶數(shù)值和累加值的變量,并限定使用do循環(huán)編程。#incレdeくStdio.h〉voidma/n,0(inti=。;〃用i作為依次取值偶數(shù)的變量intS=。;〃用S作為累加變量do{i+=2;S+=f*l;}wんレ(sくエ。。。);"證筑"ハ=%d、ハ"--2);)n題目45編寫(xiě)一個(gè)主函數(shù),計(jì)算并輸出丄2+22+,.小ハ2值,其中れ值由鍵盤(pán)輸入。#includeくstdi0.h>void{認(rèn)セi;//用i作為計(jì)數(shù)(循環(huán))變量況亡s=。;〃用s作為累加變量mtハ;pバれセヤ"輸入一個(gè)自然數(shù):り;se4ハf(〃%d〃ノ&ハ);fo?i=l;k=ハ;i++)s+=西;pババtf(〃s=%d、ハ〃メ);)ー、選擇題(共ろつ分,每小題2分)在下面的函數(shù)聲明語(yǔ)句中,存在著語(yǔ)法錯(cuò)誤的是( )a.AA(7パ亡〃ノmtレ)レ.AAfmt?mt)c.AAfmta;intb)'d.AA(Mtajikxt)題目2い在下面的保留字中,不能作為函數(shù)的返回值類型的是()。a.void'?c.enumd.long題目3假定p是ー個(gè)指向float型數(shù)據(jù)的指針,則p+エ所指數(shù)據(jù)的地址比p所指數(shù)據(jù)的地址增加的字節(jié)數(shù)為()?!竵A「b.26c.4「d.8題目4假定〃為ー個(gè)數(shù)組名,在下面的表達(dá)式中,存在語(yǔ)法錯(cuò)誤的是()〇「a.a[i]b.題目s用cahc函數(shù)創(chuàng)建具有1。個(gè)整型元素的一維數(shù)組的正確語(yǔ)句是( )。mtまp=cH/oc(エつノ2);mt^p-calloc(lO);?c.mtヤニcn"oc(lつノ4);itp=malloc(10)題目6假定變量ホ定義為"iハtm=7;",則下面正確的語(yǔ)句為( )。a.mtp=&m;'?b.mt*p=&m;iハtint火p=m;題目?假定k是ー個(gè)double類型的變量,則定義變量p的正確語(yǔ)句為( )。doublep=&k;mt*p=&k;double&pメk;ckarヤ="Tんmkyou!11;若有語(yǔ)句為“心土。[1つレM*pa=a;つ要把數(shù)組〃中下標(biāo)為ろ的元素值賦給x,則不正確的語(yǔ)句為()。a.x二pa[ろ];'b,x=*(〃+ろ);「&x-a[5];'?d.x=*pa+ろ;題目qr假定有語(yǔ)句為“以tb[lO];int*pげ,則下面不正確的賦值語(yǔ)句為( )。'a.pb-b;rb.pb=&b[O];c.pb=b+2;'?d.pb-b[5];題目1。己知‘'iハを*p二ホaHoc(lOO);",要釋放?所指向的動(dòng)態(tài)內(nèi)存,正確的語(yǔ)句為( )。free伊);freep;free(*p);rd.free[p];題目1丄在程序的ー個(gè)文件中定義的函數(shù),若要在另ー個(gè)文件中調(diào)用,則必須在這另ー個(gè)文件中給出該函數(shù)的()?!癮原型語(yǔ)句rb.參數(shù)表「c.函數(shù)名「d,返回類型題目12n假定一個(gè)函數(shù)定義為"staticMtf工(Mtx』れtg){ド況〃れれx+g;}”,該函數(shù)名稱為( )。'a.static'b.mtreturn題目1ろn-假定一個(gè)函數(shù)的原型語(yǔ)句為“況t很レー個(gè)整型數(shù)組為“ス。J,則下面函數(shù)調(diào)用表達(dá)式不正確的是()。'a.ff(a)行b.ff(a[O])rc.仟(a+刃?メ或&姉。1)題目14n假定一個(gè)函數(shù)的數(shù)組參數(shù)說(shuō)明為。ん^?口,與之等價(jià)的指針參數(shù)說(shuō)明為(a.charac.a'd.cka^a題目15假定一個(gè)函數(shù)的二維數(shù)組參數(shù)說(shuō)明為Mar 與之等價(jià)的指針參數(shù)說(shuō)明為()。'?a.char(*w)[Nj‘レ,char*w[W]c.char(まw)N'd.cha^a否則回答"否”)二、判斷題(共ろつ分,每小題2分。敘述正確則回答“是",否則回答"否”)11題目16在C語(yǔ)言中,ー個(gè)函數(shù)由函數(shù)頭和函數(shù)體組成。題目I7在函數(shù)模塊之外定義的變量稱為全局變量,若沒(méi)有被初始化則系統(tǒng)隱含對(duì)它賦初值0。題目I8如果一個(gè)函數(shù)只允許同一程序文件中的函數(shù)調(diào)用,則不應(yīng)在該函數(shù)定義的開(kāi)始前加上保留字static〇如果在ー個(gè)函數(shù)體中又出現(xiàn)對(duì)自身函數(shù)的調(diào)用,此種函數(shù)調(diào)用被稱為遞歸調(diào)用。調(diào)用系統(tǒng)函數(shù)時(shí),要先使用#譏cルイe命令包含該系統(tǒng)函數(shù)的原型語(yǔ)句所在的系統(tǒng)頭文件。題目2エ函數(shù)形參變量不屬于局部變量。題目22假定p所指對(duì)象的值為2S,p+工所指對(duì)象的值為4ら,則?卩++的值為46。題目23假定p所指對(duì)象的值為25,p+丄所指對(duì)象的值為4ら,貝リ?++p的值為25。題目24假定p所指對(duì)象的值為25,p+丄所指對(duì)象的值為46,則執(zhí)行?(2++)運(yùn)算后,ア所指對(duì)象的值為4E。題目25假定a是一個(gè)指針數(shù)組,則a+i所指對(duì)象的地址比a地址大4*(字節(jié)。若要把ー個(gè)整型指針P轉(zhuǎn)換為字符指針,則采用的強(qiáng)制轉(zhuǎn)換表達(dá)式為(cんJr*)ハガ對(duì)題目27假定一個(gè)數(shù)據(jù)對(duì)象為譏び類型,則指向該對(duì)象的指針類型仍為トt?類型。 錯(cuò)題目28假定X為一個(gè)簡(jiǎn)單變量,則&X表示X的地址。對(duì)題目29若?指向X,則?p與X的值不同。錯(cuò)題目3(9NULL是ー個(gè)符號(hào)常量,通常作為空指針值,它代表的值為0。對(duì)三、寫(xiě)出下列每個(gè)程序運(yùn)行后的輸出結(jié)果(共20分,每小題4分)題目31#incレde?くStdio.h〉intWRintx,inty){x=x+y;g=x+g;returnx+y;voidha〃況〇(mtx=5\y=7;mtz=WF(x'g);p片れtf(〃z=%d'ハ"*);Z=31題目ろ2#inclixdeくstdio.h)#LcレdeくstnMgム〉voidfun(ckarss口);voidmam(){ckarS[25]=〃つ12ろ456789”;&m(s);print任"%sゝバハ);voidfb(ハ(charssロ){mti,れニst"eHss);forfi二つ;トハ/2;i++){ckarc=ss口;ssロコ=ss[nTrコ;ss[ハーItコ二。;987654321(91#inc#incしdeくstdio.K)iiatCouiat(inta[]jiiatれ,mtx)]/ntしC=O;fo4た(9;kハ;i++)if(〃ロコ>x)C++;returnc;)voidm^/n(){mta[8]={2。ユ5ノろ2ノ47ノ24,ろらノ28ノ7。};mtレニC。“パt(“ノ8ノろつ);pn?ハtf("レニ%d、ハ"ノレ);題目33(++ド”〉!匕=ル。リ。二S?)(X用!’V’Vゆ頭りVIフWく“。!卩算ン2卩川つ刈#dS它日潴d計(jì)=s(f(U"”\F%=5"加u.udf++d*二十5(184リンス【トニイ>OJfd*つ=5フu.J48'ガUごb'Z'S'G}二[8]リ”!}()u"wP!0Aくケ0ゆ叩uj#カ它自潴か二qif(〃ロコくx)s+=〃ロコ;returns;1voidmam(){mt4[8卜(5ユつユ5ノ8ユ2J3汽ノ2。};MtレニしA(ク石ユつ);mtc=LA(〃+2ノ£ノ丄つ);prMtf(〃%d%d\れ〃ノんc);)132.0四、寫(xiě)出下列每個(gè)函數(shù)的功能(共2つ分,每小題4分)題目36doubleSF(doub(ex?mt八)]〃れ為正整數(shù)doublep=lj=丄;mtf;For(i=l;トニれ;i++){p*=x;s+二p;returns;函數(shù)功能為:計(jì)算X+X2+X3+ +Xn的值并返回。題目37intSG(Mtx){ //X為大于等于2的整數(shù)int1=2.;wん7e(7*k=x){iF(x%i==O)break;i++;if(i?Iく=x)returnO;elsereturn1;)函數(shù)功能為:判斷ー個(gè)整數(shù)是否是質(zhì)數(shù)(素?cái)?shù)),若是則返回3否則返回。。r題目38nmtW8(mt"ロノiハtれノiハtx){forfmti=O;kハ;i++)return〇;從數(shù)組譏ハ]中順序查找值為X的元素,若查找成功則返回工,否則返回oJmtfunfmtMt八)(mtfunfmtMt八)(mtc二。staticmtb=2;if(Mくb|[れくレ)returnekeif(kv\%b==O&&ハ%レ二=。){,ニレ;returnメルれ(か/レノ"レ);}eke{レ++;returnfuハ(ホノハ);}函數(shù)功能為:ー個(gè)遞歸函數(shù)過(guò)程,求出兩個(gè)自然數(shù)が和れ的最小公倍數(shù)。題目4。mtLK(doubteaロ,Mtn){doubles二つ;mt,四二。;forfiニつ;,くれ;i++)s+二〃UJ;題目3<?s/=n;fo《i=0;iくハ;ル+)—ロ>=$)が卄;returnm;)函數(shù)功能為:求出并返回?cái)?shù)組〃的れ個(gè)元素中大于等于平均值的元素個(gè)數(shù)。《C語(yǔ)言程序設(shè)計(jì)》作業(yè)4解答ー、選擇題1.假定有“str〃比BOOK{claartitle[4O];floatprice;};structBOOK*book;99,則不正確的語(yǔ)句為(A)〇structBOOK*x=i^alloc(book);structBOOKx={"C++Prograw\w\iv^g,1,2.7,O\;structBOOK*x-^alloc(sizeof(structBOOK));structBOOK**x=&book;定有“structBOOK{chartitle[4O];floatprice;}book;99?則正確的語(yǔ)句為(B)〇A.structBOOKx=&book;B-structBOOK*x=&book;structBOOKx=calloc(BOOK);

structBOOK*x=B0OK;3.表示文件結(jié)束符的符號(hào)常量為(C)。A.eofB.EofC.EOFA.eofB.EofC.EOFP.feof4.C語(yǔ)言中的系統(tǒng)函數(shù)fopen()是4.C語(yǔ)言中的系統(tǒng)函數(shù)fopen()是()ー個(gè)數(shù)據(jù)文件的函數(shù)。A?讀取8.寫(xiě)入C,關(guān)閉P.打開(kāi).從ー個(gè)數(shù)據(jù)文件中讀入以換行符結(jié)束的一行字符串的函數(shù)為(8A.gets()8.A.gets()8.陟ts()C.getc()

溫馨提示

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