C語(yǔ)言C章節(jié)習(xí)題_第1頁(yè)
C語(yǔ)言C章節(jié)習(xí)題_第2頁(yè)
C語(yǔ)言C章節(jié)習(xí)題_第3頁(yè)
C語(yǔ)言C章節(jié)習(xí)題_第4頁(yè)
已閱讀5頁(yè),還剩52頁(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)介

第2章程序的靈魂ーー算法ー、選擇題(在下列各題的A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)填涂在答題卡相應(yīng)位置上。)1以下敘述中正確的是A)C語(yǔ)言比其他語(yǔ)言高級(jí)B)C語(yǔ)言可以不用編譯就能被計(jì)算機(jī)識(shí)別執(zhí)行C)C語(yǔ)言以接近英語(yǔ)國(guó)家的自然語(yǔ)言和數(shù)學(xué)語(yǔ)言作為語(yǔ)言的表達(dá)形式D)C語(yǔ)言出現(xiàn)的最晩,具有其他語(yǔ)言的一切優(yōu)點(diǎn)正確答案:C2.2以下敘述中正確的是A)構(gòu)成C程序的基本單位是函數(shù)B)可以在ー個(gè)函數(shù)中定義另ー個(gè)函數(shù)〇main〇函數(shù)必須放在其他函數(shù)之前D)所有被調(diào)用的函數(shù)一定要在調(diào)用之前進(jìn)行定義正確答案:A2.3以下說(shuō)法正確的是A)C語(yǔ)言程序總是從第一個(gè)的函數(shù)開(kāi)始執(zhí)行B)在C語(yǔ)言程序中,要調(diào)用函數(shù)必須在main〇函數(shù)中定義〇C語(yǔ)言程序總是從main〇函數(shù)開(kāi)始執(zhí)行D)C語(yǔ)言程序中的main〇函數(shù)必須放在程序的開(kāi)始部分正確答案:CC語(yǔ)言規(guī)定,在一個(gè)源程序中,main函數(shù)的位置A)必須在最開(kāi)始B)必須在系統(tǒng)調(diào)用的庫(kù)函數(shù)的后面〇可以任意D)必須在最后正確答案:C以下敘述不正確的是一個(gè)C源程序可由一個(gè)或多個(gè)函數(shù)組成ー個(gè)C源程序必須包含?個(gè)main函數(shù)〇C程序的基本組成單位是函數(shù)D)在C程序中,注釋說(shuō)明只能位于一條語(yǔ)句的后面正確答案:D下列敘述中正確的是C語(yǔ)言編譯時(shí)不檢查語(yǔ)法C語(yǔ)言的子程序有過(guò)程和函數(shù)兩種〇C語(yǔ)言的函數(shù)可以嵌套定義D)C語(yǔ)言的函數(shù)可以嵌套調(diào)用正確答案:D以下敘述正確的是A)在C程序中,每行中只能寫(xiě)一條語(yǔ)句B)若a是實(shí)型變量,C程序中允許賦值a=10,因此實(shí)型變量中允許存放整型數(shù)C)在C程序中,無(wú)論是整數(shù)還是實(shí)數(shù),都能被準(zhǔn)確無(wú)誤地表示D)在C程序中,%是只能用于整數(shù)運(yùn)算的運(yùn)算符正確答案:D以下說(shuō)法錯(cuò)誤的是A)ー個(gè)算法應(yīng)包含有限個(gè)步驟B)在計(jì)算機(jī)上實(shí)現(xiàn)的算法是用來(lái)處理數(shù)據(jù)對(duì)象的〇算法中指定的操作,不能通過(guò)已經(jīng)實(shí)現(xiàn)的基本運(yùn)算執(zhí)行有限次后實(shí)現(xiàn)D)算法的目的是為了求解正確答案:C算法是指為解決某個(gè)特定問(wèn)題而采取的確定且有限的步驟,下面不屬于算法的五個(gè)特性的是A)有零個(gè)輸入或多個(gè)輸入B)高效性〇有窮性D)確定性正確答案:B2.10下列關(guān)于C語(yǔ)言的說(shuō)法不正確的是C語(yǔ)言既具有高級(jí)語(yǔ)言的?切功能,也具有低級(jí)語(yǔ)言的一些功能C語(yǔ)言中的每一條執(zhí)行語(yǔ)句都必須用分號(hào)結(jié)束,分號(hào)不是C語(yǔ)言的一部分,是語(yǔ)句之間的分隔符號(hào)〇注釋可以出現(xiàn)在程序中任意合適的地方D)命令行后面不能加分號(hào),命令行不是C語(yǔ)言的語(yǔ)句正確答案:B11以下說(shuō)法錯(cuò)誤的是A)高級(jí)語(yǔ)言都是用接近人們習(xí)慣的自然語(yǔ)言和數(shù)學(xué)語(yǔ)言作為語(yǔ)言的表達(dá)形式B)計(jì)算機(jī)只能處理由。和1的代碼構(gòu)成的二進(jìn)制指令或數(shù)據(jù)〇C語(yǔ)言源程序經(jīng)過(guò)C語(yǔ)言編譯程序編譯之后生成一個(gè)后綴為.EXE的二進(jìn)制文件D)每ー種高級(jí)語(yǔ)言都有它對(duì)應(yīng)的編譯程序正確答案:C12C語(yǔ)言中用于結(jié)構(gòu)化程序設(shè)計(jì)的3種基本結(jié)構(gòu)是A)順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)if,switch,breakfor,while,do-whileif,for,continue正確答案:A二、填空題(請(qǐng)將每一個(gè)空的正確答案寫(xiě)在答題卡相應(yīng)序號(hào)后。)13用高級(jí)語(yǔ)言編寫(xiě)的程序稱為【1】程序,它可以通過(guò)解釋程序翻譯一句執(zhí)行一句的方式執(zhí)行,也可以通過(guò)編譯程序一次翻譯產(chǎn)生目標(biāo)程序,然后執(zhí)行。正確答案:源程序14C語(yǔ)言程序的注釋可以出現(xiàn)在程序中的任何地方,ー個(gè)注釋以【2】作為開(kāi)始和結(jié)束。正確答案:/**/第3章數(shù)據(jù)類型運(yùn)算符與表達(dá)式ー、選擇題(在下列各題的A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)填涂在答題卡相應(yīng)位置上。)1C語(yǔ)言中最簡(jiǎn)單的數(shù)據(jù)類型包括A)整型、實(shí)型、邏輯型B)整型、實(shí)型、字符型〇整型、字符型、邏輯型D)字符型、實(shí)型、邏輯型正確答案:BC語(yǔ)言中的標(biāo)識(shí)符只能由字母,數(shù)字和下劃線三種字符組成,且第一個(gè)字符A)必須為字母B)必須為下劃線〇必須為字母或下劃線D)可以是字母,數(shù)字和下劃線中任一字符正確答案:C下列可用于C語(yǔ)言用戶標(biāo)識(shí)符的ー組是void,define,WORDa3_b3, 123,CarFor,-abc,IFCase2a,DO,sizeof正確答案:B下面四個(gè)選項(xiàng)中,均是不正確的8進(jìn)制數(shù)或16進(jìn)制數(shù)的選項(xiàng)是0160x8f018Oabc017Oxa010-0x110x160al27ff-123正確答案:D下列數(shù)據(jù)中,不合法的C語(yǔ)言實(shí)型數(shù)據(jù)的是0.123123e32.Ie3.5789.0正確答案:C在16位C編譯系統(tǒng)上,若定義longa;,則能給a賦40000的正確語(yǔ)句是A)a=20000+20000;a=4000*10;a=30000+10000;a=4000L*10L;正確答案:D?若有說(shuō)明語(yǔ)句:charc-\72';則變量cA)包含1個(gè)字符B)包含2個(gè)字符〇包含3個(gè)字符D)說(shuō)明不合法,c的值不確定正確答案:A有字符串如下,"\n\\\407asiヽ”\xabc”,則字符串的長(zhǎng)度為6789正確答案:DC語(yǔ)言中運(yùn)算對(duì)象必須是整型的運(yùn)算符是%=/C)=D)<=正確答案:A3.10若變量已正確定義并賦值,以下符合C語(yǔ)言語(yǔ)法的表達(dá)式是a:=b+la=b=c+2int18.5%3a=a+7=c+b正確答案:B3.1I若變量a,i已正確定義,且i已正確賦值,合法的語(yǔ)句是a==1++i;a=a++=5;a=int(i);正確答案:B3.12若有定義:inta=7;floatx=2.5,y=4.7;則表達(dá)式x+a%3*(int)(x+y)%2/4的值是2.5000002.7500003.5000000.000000正確答案:A13若有運(yùn)算符くv,sizeof,二&=,則它們按優(yōu)先級(jí)由高至低的正確排列次序是sizeof,&=,<<,sizeof,<<,,&=,<<,sizeof,&=<<,,&=,sizeof正確答案:B3.14以下不正確的敘述是A)在C程序中,逗號(hào)運(yùn)算符的優(yōu)先級(jí)最低B)在C程序中,APH和aph是兩個(gè)不同的變量C)若a和b類型相同,在計(jì)算了賦值表達(dá)式a=b后b中的值將放入a中,而b中的值不變D)當(dāng)從鍵盤(pán)輸入數(shù)據(jù)時(shí),對(duì)于整型變量只能輸入整型數(shù)值,對(duì)于實(shí)型變量只能輸入實(shí)型數(shù)值正確答案:D3.15己知inti,a;執(zhí)行語(yǔ)句i=(a=3,a++, a,a+4,a+5,++a);后,變量i的值為2345正確答案:C3.16設(shè)變量a是int型,f是float型,i是double型,則表達(dá)式10+'a'+i*f值的數(shù)據(jù)類型為intfloatdoubleD)不確定正確答案:C17在C語(yǔ)言中,char型數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式是A)補(bǔ)碼B)反碼C)原碼ASCI!碼正確答案:D18字符型數(shù)據(jù)在機(jī)器中是用ASCII碼表示的‘字符’5’和’7'在機(jī)器中表示為10100011和0111011101000101和0110001100110101和0011011101100101和01100111正確答案:C3.19不能進(jìn)行++和一-運(yùn)算的數(shù)據(jù)類型為A)指針B)整型〇長(zhǎng)整型D)常量正確答案:D20設(shè)有intx=ll:則表達(dá)式(x++*l/3)的值是341112正確答案:A3.21以下程序的輸出結(jié)果是main(){inta=21,b=l1;printf("%d\n”, a+b, b+a);}30313233正確答案:A22假設(shè)整型變量a,b,c的值均為5,則表達(dá)式a+++b+++c++的值為17161514正確答案:C23已知inta=6J則執(zhí)行a+=a-=a*a;語(yǔ)句后,a的值為360-24-60正確答案:D3.24設(shè)變量n為float類型,m為int類型,則以下能實(shí)現(xiàn)將n中的數(shù)值保留小數(shù)點(diǎn)后兩位,第三位進(jìn)行四舍五入運(yùn)算的表達(dá)式是n=(n*100+0.5)/100.0m=n*100+0.5,n=m/100.0n=n*100+0.5/100.0n=(n/100+0.5)*100.0正確答案:B25sizeof(float)是ー個(gè)雙精度型表達(dá)式ー個(gè)整型表達(dá)式〇ー種函數(shù)調(diào)用D)ー個(gè)不合法的表達(dá)式正確答案:B3.26在C語(yǔ)言中,int,char和short三種類型數(shù)據(jù)在內(nèi)存中所占用的字節(jié)數(shù)A)由用戶自己定義B)均為2個(gè)字節(jié)〇是任意的D)由所用機(jī)器的機(jī)器字長(zhǎng)決定正確答案:D3.27以下變量x,y,z均為double類型且已正確賦值,不能正確表示數(shù)學(xué)式子x+y+z的C語(yǔ)言表達(dá)式是x/y*zx*(1/(y*z))x/y*l/zx/y/z正確答案:A3.28下列關(guān)于復(fù)合語(yǔ)句和空語(yǔ)句的說(shuō)法錯(cuò)誤的是A)復(fù)合語(yǔ)句是由“{"開(kāi)頭,由結(jié)尾的B)復(fù)合語(yǔ)句在語(yǔ)法上視為一條語(yǔ)句〇復(fù)合語(yǔ)句內(nèi),可以有執(zhí)行語(yǔ)句,不可以有定義語(yǔ)句部分D)C程序中的所有語(yǔ)句都必須由一個(gè)分號(hào)作為結(jié)束正確答案:C3.29下列關(guān)于字符串的說(shuō)法中錯(cuò)誤的是A)在C語(yǔ)言中,字符串是借助于字符型一維數(shù)組來(lái)存放的,并規(guī)定以字符‘、〇’作為字符串結(jié)束標(biāo)志B)'、〇'作為標(biāo)志占用存儲(chǔ)空間,計(jì)入串的實(shí)際長(zhǎng)度?在表示字符串常量的時(shí)候不需要人為在其末尾加入‘、?!疍)在C語(yǔ)言中,字符串常量隱含處理成以‘、〇’結(jié)尾正確答案:B二、填空題(請(qǐng)將每一個(gè)空的正確答案寫(xiě)在答題卡相應(yīng)序號(hào)后。)30以下程序的輸出結(jié)果是[1].inta=1234;printf("-'n",a);正確答案:12343.31在計(jì)算機(jī)中,字符的比較是對(duì)它們的【2】進(jìn)行比較。正確答案:ASCII碼32在內(nèi)存中,存儲(chǔ)字符'x'要占用1個(gè)字節(jié),存儲(chǔ)字符串"X"要占用[3]個(gè)字節(jié)。正確答案:233在C語(yǔ)言中(以16位PC機(jī)為例),ー個(gè)float型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為4:ー個(gè)double型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為【4】。正確答案:834以下程序段的輸出結(jié)果是[5]?main(){inta=2,b=3,c=4;a*=16+(b++)-(++c);printfa);}正確答案:28以下程序段的輸出結(jié)果是[6】。intx=17,y=26;printf/%d",y/=(x%=6));正確答案:5下列y的值是【7】。inty;y=sizeof(2.25*4);正確答案:83.37以下程序的輸出結(jié)果是[8].main(){inti=010,j=10;pirntf("%d,%d'n”,i,j);)正確答案:8,103.38已知字母a的ASCII碼為十進(jìn)制數(shù)97,且設(shè)ch為字符型變量,則表達(dá)式ch='a'+'8'-'3'的值為【9】。正確答案:f39如下語(yǔ)句printf("祀、n",'B'+40);在執(zhí)行后的輸出結(jié)果是【10].正確答案:j40定義inta=5,b=20;若執(zhí)行語(yǔ)句printf ++a* b/5);后,輸出的結(jié)果為[11].正確答案:9第4章順序程序設(shè)計(jì)ー、選擇題(在下列各題的A)、B)、C),D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)填涂在答題卡相應(yīng)位置上。)1若變量已正確說(shuō)明為float型,要通過(guò)語(yǔ)句scanf(" ,&a,&b,&c);給a賦予10.0,b賦予22.0,c賦予33.0,下列不正確的輸入形式是10(回車>22〈回車>33〈回車〉10.0,22.0,33.0C回車>10.0〈回車>22.033.0〈回車〉1022〈回車>33〈回車〉正確答案:B現(xiàn)有以下程序段#includemain(){inta,b,c;scanf("a=%*d%d,b=%d%*d,c二%d”,&a,&b,&c);printf(*a=%d,b=%d,c=%d\n*,a,b,c);}若輸出的結(jié)果為a=20,b二30,c二40,則以下能夠正確輸入數(shù)據(jù)的是a二10]20,b=20]30,c=4020,30,40a=20,b=30,c=40a=10]20,b=30]20,c=40[注]:"]”表示空格,表示回車正確答案:Dx,y,z被定義為int型變量,若從鍵盤(pán)給x,y,z輸入數(shù)據(jù),正確的輸入語(yǔ)句是INPUTx、y、z;scanf("%d%d%d”,&x,&y,&z);scanf("%d%d%d”,x,y,z);read("%d%d%d”,&x,&y,&z);正確答案:B4.4己有定義inta二一2;和輸出語(yǔ)句printf("%81x",a);以下正確的敘述是A)整型變量的輸出形式只有%d一種B)%x是格式符的ー種,它可以適用于任何ー種類型的數(shù)據(jù)C)%x是格式符的ー種,其變量的值按十六進(jìn)制輸出,但%81x是錯(cuò)誤的D)%81x不是錯(cuò)誤的格式符,其中數(shù)字8規(guī)定了輸出字段的寬度正確答案:D下列程序段的輸出結(jié)果是:inta=1234;floatb=123.456;doublec=12345.54321;printf(*-,%2.If,%2.If*,a,b,c);A)無(wú)輸出B)12,123.5,12345.5C)1234,123.5,12345.5D)1234,123.4,1234.5正確答案:C執(zhí)行下列程序時(shí)輸入:123く空格>456く空格>789く回車)輸出結(jié)果是main(){chars[100];intc,i;scanf("祝",&c);scanf("%d",&i);scanf("%s",s);printf("%c,%d,%s\n",c,i,s);}A)123,456,789B)1,456,789C)1,23,456,789D)1,23,456正確答案:D若己定義:inta=25,b=14,c=19;以下三目運(yùn)算符(?:)所構(gòu)成語(yǔ)句的執(zhí)行后a<=25&&b—<=2&&c?printf("***a=%d,b=%d,c=%d\n”,a,b,c):printfC###a=%d,b=%d,c=%d\n\a,b,c)?程序輸出的結(jié)果是A)***a=25,b=13,c=19***a=26,b=14,c=19###a二25,b二13,c二19D)###a=26,b=14,c=19正確答案:C請(qǐng)選出以下語(yǔ)句的輸出結(jié)果printf(*%d\n",strlen("\t\"\065\xff'n"));5148D)輸出項(xiàng)不合法,無(wú)正常輸出正確答案:A下列程序的輸出結(jié)果是main(){doubled=3.2;intx,y;x=l.2;y=(x+3.8)/5.0;printf("%d\n",d*y);)33.203.07正確答案:C10調(diào)用gets和puts函數(shù)時(shí),必須包含的頭文件是stdio.hstdlib.hdefineD)以上都不對(duì)正確答案:A4.11閱讀下面程序段#include"stdio.h"main(){charc;c=('z'-'a')/2+'A';putchar(c);)輸出結(jié)果為MN0Q正確答案:A二、填空題(請(qǐng)將每一個(gè)空的正確答案寫(xiě)在答題卡相應(yīng)序號(hào)后。)4.12下列程序的輸出結(jié)果是16.00,請(qǐng)?zhí)羁铡ain(){inta=9,b=2;floatx=[1],y=l.1,z;z=a/2+b*x/y+l/2;printf("%5.2f\n",z);}正確答案:6.64.13在使用putchar和getchar函數(shù)處理字符時(shí),必須在程序的開(kāi)頭出現(xiàn)包含頭文件的命令行是【2】.正確答案:#include4.14下列程序的輸出結(jié)果是[3], [4]〇#includemain(){floata="l.3;b=L3;printf("%f,%f”,fabs(a),tabs(b);)正確答案:1.300000正確答案:1.3000004.15執(zhí)行程序時(shí)的輸入為123456789,則程序的運(yùn)行結(jié)果為【5】〇#include"stdio.h"main(){inta,b;scanf("-%*2d",&a,&b);printf("%d\n”,a-b);)正確答案:7第5章選擇結(jié)構(gòu)程序設(shè)計(jì)ー、選擇題(在下列各題的A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)填涂在答題卡相應(yīng)位置上。)5.1在C程序中,判邏輯值時(shí),用“非〇"表示邏輯值“真”,又用“〇”表示邏輯值“假”。在求邏輯值時(shí),用〇表示邏輯表達(dá)式值為“真”,又用()表示邏輯表達(dá)式值為“假”。A)10B)01C)非〇非〇D)11正確答案:A5.2己知intx=6,y=2,z;則執(zhí)行表達(dá)式z=x=x>y后,變量z的值為01〇4D)5正確答案:B能正確表示邏輯關(guān)系:“a210或aWO”的C語(yǔ)言表達(dá)式是a>=10ora<=0a>=0|a<=10a>=10&&a<=0a>=10IIa<=0正確答案:D若變量c為char類型,能正確判斷出c為小寫(xiě)字母的表達(dá)式是A)'a'<=c<=,z'B)(c>='a')||(c<='z')0('a'<=c)and('z'>=c)D)(c>='a')&&(c<='z')正確答案:D設(shè)intx=l,y=l;表達(dá)式(!x||y-)的值是012-1正確答案:B有如下程序段inta=14,b=15,x;charc='A';x=(a&&b)&&(cく'B');執(zhí)行該程序段后,x的值為A)turefalse01正確答案:D5.7以下程序的輸出結(jié)果是main(){inta二4,b二5,c二〇,d;d=!a&&!b||!c;printf("%d\n",d);}10C)非〇的數(shù)D)-1正確答案:A5.8設(shè)有:inta=l,b=2,c=3,d=4,m=2,n=2;執(zhí)行(m=a>b)&&(n=c>d)后n的值是1234正確答案:B5.9已知x,y,z均為整型變量,且值均為1,則執(zhí)行語(yǔ)句++x||++y&&++z;后,表達(dá)式x+y的值為1234正確答案:C5.10表達(dá)式a||&C)<D)0正確答案:D5.11若運(yùn)行時(shí)給變量x輸入12,則以下程序的運(yùn)行結(jié)果是main(){intx,y;scanf("%d",&x);y=x>12?x+10:x-12;printf("%d\n',y);I0221210正確答案:A5.12已知charch='C';則以下表達(dá)式的值是ch=(ch>=,A'&&ch<=/Z')?(ch+32):ch;A)AB)aC)ZD)c正確答案:D5.13若有條件表達(dá)式(exp)?a++:b--,則以下表達(dá)式中能完全等價(jià)于表達(dá)式(exp)的是(exp==0)(exp!=0)C)(exp==l)D)(exp!=l)正確答案:B5.14有以下程序main(){inti=l,j=l,k=2;if((j++||k++)&&i++)printf(*%d,%d,%d\n*?i,j,k);}執(zhí)行后輸出結(jié)果是1,1,22,2,12,2,22,2,3正確答案:C5.15請(qǐng)閱讀以下程序:main(){inta=5,b=0,c=0;if(a=b+c)printf("***\n");elseprintf("$$$\n");}以上程序A)有語(yǔ)法錯(cuò)不能通過(guò)編譯B)可以通過(guò)編譯但不能通過(guò)連接C)輸出***D)輸出$$$正確答案:D5.16若執(zhí)行下述程序時(shí),若從鍵盤(pán)輸入6和8時(shí),結(jié)果為main(){inta,b,s;scanf("%d%d”,&a,&b);s=a;if(as=b;s*=s;printf('%d”,s);}366448D)以上都不對(duì)正確答案:B5.17有如下程序main(){floatx=2.0,y;if(x<0.0)y=0.0;elseif(x<10.0)y=l.0/x;elsey=l.0;printf("%f'n",y);}該程序的輸出結(jié)果是0.0000000.2500000.500000D)1.000000正確答案:C5.18以下4個(gè)選項(xiàng)中,不能看做一條語(yǔ)句的是A);a=5,b=2.5,c=3.6;if(a<5);if(b!=5)x=2;y=6;正確答案:D5.19若intk=8;則執(zhí)行下列程序后,變量k的正確結(jié)果是main(){intk=8;switch(k){case9:k+=l;case10:k+=l;case11:k+=l;break;default:k+=l;}printf("%d\n',k);}1211109正確答案:D5.20閱讀如下程序段#include"stdio.h"main(){inta=45,b=40,c=50,d;d=a>30?b:c;switch(d){case30:printf("%d,”,a);case40:printf("%d,",b);case50:printf("%d,",c);default:printf("#");}}則輸出的結(jié)果是40,50,50,#40,#D)40,50,#正確答案:D5.21現(xiàn)有如下程序段,此程序段編譯有錯(cuò)誤,則程序段的錯(cuò)誤出在^includemain(){inta=30,b二40,c=50,d;d=a>30?b:c;switch(d){casea:printf("%d,",a);caseb:printf("%d,",b);casec:printf("%d,",c);default:printf('#");}}A)default:printf("#");這個(gè)語(yǔ)句d=a>30?b:c;這個(gè)語(yǔ)句casea:printf("%d,",a);caseb:printf("%d,",b);casec:printf("%d,",c)這三個(gè)語(yǔ)句switch(d)這個(gè)語(yǔ)句正確答案:C二、填空題(請(qǐng)將每一個(gè)空的正確答案寫(xiě)在答題卡相應(yīng)序號(hào)后。)5.22設(shè)y是int型,請(qǐng)寫(xiě)出y為奇數(shù)的關(guān)系表達(dá)式【1】〇正確答案:(y%2)=l或(y%2)!=05.23設(shè)inta=5,b=6,表達(dá)式(++aニニb--)?++a:--b的值是[2]〇正確答案:75.24將以下程序?qū)懗扇窟\(yùn)算表達(dá)式是【3】〇if(a>b)max=a;elsemax二b;正確答案:max=(a>b)?a:b;25以下程序輸出的結(jié)果是main(){inta=5,b=4,c=3,d;d=(a>b>c);printf("%d\n',d);)正確答案:〇5.26若從鍵盤(pán)輸入58,則以下程序輸出的結(jié)果是【5】〇main(){inta;scanf("%d",&a);if(a>50)printf("%d”,a);if(a>40)printf('%d”,a);if(a>30)printf("%d”,a);} 正確答案:5858585.27閱讀下面語(yǔ)句,則程序的執(zhí)行結(jié)果是[6]〇^include"stdio.h"main(){inta="l,b=l,k;if((++aく〇)&&!(b--く二〇))printf(*%d,%d\n*,a,b);elseprintf("%d,%d\n”,b,a);}正確答案:1,05.28閱讀下面程序,則在執(zhí)行時(shí)候的輸出為【7】〇#include"stdio.h"main(){intx=l,y=2,z=0;if(x=2)z=x,x=y,y=z;printf("%d,%d\n",x,y);}正確答案:2,25.29以下程序的輸出結(jié)果是[8]〇main(){intx=100,a=10,b=20,okl=5,ok2=0;if(aelseif(ok2)x=10;elsex=~l;printf("%d\n',x);}正確答案:-15.30閱讀下面的程序,當(dāng)程序在執(zhí)行時(shí),如果輸入的是‘A,,則輸出結(jié)果為【9】〇#include"stdio.h"main(){chara;a=getchar();switch(a){case65:printf("%c",'A');case66:printf("機(jī)",'B');default:printf(^%s\n","other");}}正確答案:ABother第6章循環(huán)控制ー、選擇題(在下列各題的A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)填涂在答題卡相應(yīng)位置上。)1對(duì)表達(dá)式for(表達(dá)式1;;表達(dá)式3)可理解為for(表達(dá)式1;〇;表達(dá)式3)for(表達(dá)式1;1;表達(dá)式3)〇for(表達(dá)式1;表達(dá)式1;表達(dá)式3)D)for(表達(dá)式1;表達(dá)式3;表達(dá)式3)正確答案:B6.2在下列選項(xiàng)中,沒(méi)有構(gòu)成死循環(huán)的是inti=100;while(1){i=i0+l;if(i>100)break;}for(;;);intk=10000;do(k++;}while(k>10000);ints=36;while(s)--s;正確答案:D3下面有關(guān)for循環(huán)的正確描述是for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況for循環(huán)是先執(zhí)行循環(huán)體語(yǔ)句,后判斷表達(dá)式〇在for循環(huán)中,不能用break語(yǔ)句跳出循環(huán)體D)for循環(huán)的循環(huán)體語(yǔ)句中,可以包含多條語(yǔ)句,但必須用花括號(hào)括起來(lái)正確答案:D6.4若inti,j;,則for(i=j=O;iく10&&jく8;i++,j+=3)控制的循環(huán)體執(zhí)行的次數(shù)是98〇3D)2正確答案:C5閱讀下列程序段,則程序的輸出結(jié)果是^include"stdio.h〃main(){inta=10,b=10,k;for(k=0;a>8;b=++k)printf(*%d,%d,*,a ,--b);printf("\n");}10,10,10,0,10,9,9,0,10,10,9,1,9,9,9,1,考生答案:正確答案:B6.6有一堆零件(100到200之間),如果分成4個(gè)零件ー組的若干組,則多2個(gè)零件;若分成7個(gè)零件ー組,則多3個(gè)零件;若分成9個(gè)零件ー組,則多5個(gè)零件。下面程序是求這堆零件總數(shù),請(qǐng)選擇填空。#includemain(){inti;for(i=100;i<200;i++)if((i-2)%4=0)if(!((i-3)%7))if()printf("%d”,i);}i%9=5i%9!=5(i-5)%9!=0(i-5)%9==0正確答案:D6.7下列程序的輸出結(jié)果是#include"stdio.h"main(){inti,a=0,b=0;for(i=l;i<10;i++){if(i%2==0){a++;continue;}b++;}printf("a二%d,b二%d”,a,b);}A)a=4,b二4a二4,b二5a=5,b=4a二5,b二5正確答案:B6.8閱讀下列程序,則執(zhí)行結(jié)果是#include"stdio.h〃main(){inta=0,b=0,c=0,i;for(i=0;iく4;i++)switch(i){case0:a二i++;casel:b二i++;case2:c=i++;case3:i++;}printf(*%d,%d,%d,%d\n*,a,b,c,i);}A)0,1,3,4B)1,2,3,4C)0,1,2,5D)0,2,3,4正確答案:C6.9閱讀下列程序,程序的輸出結(jié)果是#include“stdio.h"main()(intm,n;floatk;for5二6泄>2泄ー-){k二〇;for(n=m;n>l;n—)k=k+m*n;printf("%f\n”,k);}5.00000015.00000025.00000035.000000正確答案:B6.10下面程序的運(yùn)行結(jié)果是#include"stdio.h"main(){intj,i,k=0;for(j=50;j<=60;j++){if(!(k))printf("\n")for(i=2;iif(!(j%i))break;if(i>=j-l){printf("%d”,j);k++;}A)5359B)5953C)3595D)9535正確答案:A6.11已知intt=0;while(t=l){...)則以下敘述正確的是A)循環(huán)控制表達(dá)式的值為0B)循環(huán)控制表達(dá)式的值為1〇循環(huán)控制表達(dá)式不合法D)以上說(shuō)法都不對(duì)正確答案:B6.12設(shè)有以下程序段intx=0,s=0;while(!x!=0)s+=++x;printf('%d",s);則A)運(yùn)行程序段后輸出。B)運(yùn)行程序段后輸出1〇程序段中的控制表達(dá)式是非法的D)程序段執(zhí)行無(wú)限次正確答案:B6.13下列程序的輸出結(jié)果是ttinclude"stdio.h"main(){inti=6;while(i—)printf -i);printf("\n");}531420C)654321D)死循環(huán)正確答案:B6.14對(duì)下!,1【兩個(gè)語(yǔ)句描述正確的是I.while(1)II.for(;;)A)都是無(wú)限循環(huán)B)【是無(wú)限循環(huán),n錯(cuò)誤〇1循環(huán)一次,II錯(cuò)誤D)以上答案都錯(cuò)正確答案:A6.15以下程序段的描述,正確的是x=l;do{x=x*x;}while(!x);A)是死循環(huán)B)循環(huán)執(zhí)行兩次〇循環(huán)執(zhí)行一次D)有語(yǔ)法錯(cuò)誤正確答案:C16若有如下語(yǔ)句intx=3;do{printf("%d\n”,x-=2);}while(!( x));則上面程序段A)輸出的是1B)輸出的是1和一2〇輸出的是3和。D)是死循環(huán)正確答案:B6.17下面程序的運(yùn)行結(jié)果是#includemain(){inta=l,b=10;do{b-=a;a++;}whi1e(b--<0);printf(*a=%d,b=%d\n^,a,b);}a=3,b=llB)a=2,b=8C)a=l,b=-lD)a=4,b二9正確答案:B18若運(yùn)行以下程序時(shí),從鍵盤(pán)輸入ADescriptor(表示回車),則下面程序的運(yùn)行結(jié)果是#includemain(){charc;intvO=l,vl=0,v2=0;do{switch(c=getchar0){case'a':case'A’:case'ez:case'E':case'i':caseJ:case,〇':case'O':case'u':case'U':vl+=l;default:v0+=l;v2+=l;}}while(c!='\n');printf(*vO=%d,vl=%d,v2=%d\n*,vO,vl,v2);}A)v0=7,vl=4,v2=7v0=8,vl=4,v2=8vO=ll,vl=4,v2=llv0=13,vl=4,v2=12正確答案:D19下面程序的功能是把316表示為兩個(gè)加數(shù)的和,使兩個(gè)加數(shù)分別能被13和11整除,請(qǐng)選擇填空。#includemain(){inti=0,j,k;do{i++;k=316-13*i;}while();j=k/ll;printf(*316=13*%d+ll*%d*,i,j);)k/11kk/ll==Ok==0正確答案:B20C語(yǔ)言中while和do-while循環(huán)的主要區(qū)別是do-while的循環(huán)體至少無(wú)條件執(zhí)行一次while的循環(huán)控制條件比do-while的循環(huán)控制條件更嚴(yán)格do-while允許從外部轉(zhuǎn)到循環(huán)體內(nèi)do-while的循環(huán)體不能是復(fù)合語(yǔ)句正確答案:A21下列說(shuō)法中錯(cuò)誤的是A)只能在循環(huán)體內(nèi)使用break語(yǔ)句B)在循環(huán)體內(nèi)使用break語(yǔ)句可以使流程跳出本層循環(huán)體,從而提前結(jié)束本層循環(huán)C)在while和d〇…while循環(huán)中,continue語(yǔ)句并沒(méi)有使整個(gè)循環(huán)終止D)continue的作用是結(jié)束本次循環(huán),即跳過(guò)本次循環(huán)體中余下尚未執(zhí)行的語(yǔ)句,接著再ー次進(jìn)行循環(huán)判斷正確答案:A二、填空題(請(qǐng)將每一個(gè)空的正確答案寫(xiě)在答題卡相應(yīng)序號(hào)后。)6.22設(shè)i,j,k均為int型變量,則執(zhí)行完下面的for語(yǔ)句后,k的值為【1for(i=0,j=10;i<=j;i++,j?-)k=i+j;正確答案:106.23下列程序的功能是輸入ー個(gè)整數(shù),判斷是否是素?cái)?shù),若為素?cái)?shù)輸出1,否則輸出〇,請(qǐng)?zhí)羁?。main(){inti,x,y=l;scanf("%d",&x);for(i=2;i<=x/2;i++)if[2]{y二0;break;}printf(“耐、n",y);}正確答案:(x%i==0)6.24以下程序的輸出結(jié)果是[3Lmain(){inty=9;for(;y>0;y—)if(y%3==0){printf("%d",—y);continue;})正確答案:8526.25閱讀下面程序段,則執(zhí)行后的輸出結(jié)果為【4】〇#include"stdio.h"main(){inta=l;for(;a<=15;)if(++a%5!=2)continue;elseprintf("%d",a);printf("\n");}正確答案:271226閱讀下面語(yǔ)句,則執(zhí)行后的輸出結(jié)果為【5】#include"stdio.h"main(){chara,b;for(a=‘〇',b=’9';aprintf("%c%c",a,b);printf("\n");}正確答案:091827364527閱讀下面程序,則執(zhí)行后程序的結(jié)果為[6]#include"stdio.h"main(){inta二。,b二。;while(a<15)a++;while(b++<15);printf("%d,%d\n",a,b);}正確答案:15,16第7章數(shù)組ー、選擇題(在下列各題的A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)填涂在答題卡相應(yīng)位置上。)1若有說(shuō)明inta[3][4];則a數(shù)組元素的非法引用是a[0][2*1]a[1][3]a[4-2][0]a[0][4]正確答案:D在C語(yǔ)言中,引用數(shù)組元素時(shí),其數(shù)組下標(biāo)的數(shù)據(jù)類型允許是A)整型常量B)整型表達(dá)式〇整型常量或整型表達(dá)式D)任何類型的表達(dá)式正確答案:C執(zhí)行下面的程序段后,變量k中的值為intk=3,s[2];s[0]=k;k=s[1]*10;A)不定值333010正確答案:A7.4定義如下變量和數(shù)組:intk;inta[3][3]={9,8,7,6,5,4,3,2,1};則下面語(yǔ)句的輸出結(jié)果是for(k=0;k<3;k++)printfa[k][k]);7539510963741正確答案:B7.5下列程序執(zhí)行后的輸出結(jié)果是main(){chararr[2][4];strcpy(arr,"you");strcpy(arr[1],"me");arr[0][3]=' ;printf("%s\n",arr);you&meyoumeerr正確答案:A6設(shè)有數(shù)組定義:chararray[]="China";則數(shù)組array所占的空間為4個(gè)字節(jié)5個(gè)字節(jié)〇6個(gè)字節(jié)D)7個(gè)字節(jié)正確答案:C7.7以下不正確的定義語(yǔ)句是doublex[5]={2.0,4.0,6.0,8.0,10.0};inty[5]={0,1,3,5,7,9};charclロ={'1',,2'J3'J4'J5'};charc2ロ={'\xl0','\xa','\x8'};正確答案:B7.8若有說(shuō)明:inta〇[3]={1,2,3,4,5,6,7};則a數(shù)組第一維的大小是234D)無(wú)確定值正確答案:B7.9對(duì)以下說(shuō)明語(yǔ)句的正確理解是inta[10]={6,7,8,9,10};A)將5個(gè)初值依次賦給a[1]至a[5]B)將5個(gè)初值依次賦給a[0]至a[4]C)將5個(gè)初值依次賦給a[6]至a[10]D)因?yàn)閿?shù)組長(zhǎng)度與初值的個(gè)數(shù)不相同,所以此語(yǔ)句不正確正確答案:B7.10若有說(shuō)明:intaロ[4]={0,0};則下面不正確的敘述是A)數(shù)組a的每個(gè)元素都可得到初值〇B)二維數(shù)組a的第一維大小為1〇當(dāng)初值的個(gè)數(shù)能被第二維的常量表達(dá)式的值除盡時(shí),所得商數(shù)就是第一維的大小D)只有元素a[0][0]和a[0][1]可得到初值,其余元素均得不到確定的初值正確答案:D7.11有以下程序main(){charaロ={'a','b','c'd','e','f','g'h'、〇'};inti,j;i=sizeof(a);j=strlen(a);printf(*%d,%d\b*,i,j);}程序運(yùn)行后的輸出結(jié)果是9,98,9〇!,8D)9,8正確答案:D12假定int類型變量占用兩個(gè)字節(jié),其有定義:intx[10]={0,2,4);?則數(shù)組x在內(nèi)存中所占字節(jié)數(shù)是36〇!0D)20正確答案:D13以下能對(duì)二維數(shù)組c進(jìn)行正確的初始化的語(yǔ)句是intc[3]Q={{3},⑶,⑷};intc[][3]={{3},{3},{4}};〇intc[3][2]={{3},⑶,⑷,{5}};D)intc〇[3]={{3},{},{3}};正確答案:B7.14在C語(yǔ)言中,ー維數(shù)組的定義方法為類型說(shuō)明符數(shù)組名A)[常量表達(dá)式]B)[整型常量]〇[整型變量]D)[整型常量]或[整型表達(dá)式]正確答案:A7.15若二維數(shù)組a有m列,則計(jì)算任一元素a[i][j]在數(shù)組中相對(duì)位置的公式為(假設(shè)a[0][0]位于數(shù)組的第一個(gè)位置上)i*m+jj*m+Ii*m+j-li*m+j+l正確答案:A16下面程序輸出的結(jié)果是main(){inti;inta[3][3]={1,2,3,4,5,6,7,8,9};for(i=0:i<3;i++)printf(*%d”,a[2-i][i]);}1597530357D)591正確答案:B17以下不能對(duì)二維數(shù)組a進(jìn)行正確初始化的語(yǔ)句是inta[2][3]={0};inta0[3]={{1,2},{0});〇inta[2][3]={{1,2},{3,4},{5,6}};D)inta□[3]={1,2,3,4,5,6};正確答案:C7.18閱讀下面程序,則程序段的功能是#include"stdio.h"main(){intc[]={23,1,56,234,7,0,34},i,j,t;for(i=l;i<7;i++){t=c[i];j=i-l;while(j>=0&&t>c[j]){c[j+1]=c[j];j-;}c[j+1]=t;)for(i=0;i<7;i++)printf("%d",c[i]);putchar(,ヽn');)A)對(duì)數(shù)組元素的升序排列B)對(duì)數(shù)組元素的降序排列〇對(duì)數(shù)組元素的倒序排列D)對(duì)數(shù)組元素的隨機(jī)排列正確答案:B19下列選項(xiàng)中錯(cuò)誤的說(shuō)明語(yǔ)句是chara[]={zt',9o','yr,ro1,'u,,f\0');chara[]={*toyou\0*};chara[!="toyou、〇”;chara□=’toyou\0';正確答案:D20下述對(duì)C語(yǔ)言字符數(shù)組的描述中錯(cuò)誤的是A)字符數(shù)組的下標(biāo)從0開(kāi)始B)字符數(shù)組中的字符串可以進(jìn)行整體輸入/輸出〇可以在賦值語(yǔ)句中通過(guò)賦值運(yùn)算符對(duì)字符數(shù)組整體賦值D)字符數(shù)組可以存放字符串正確答案:C7.21閱讀下列程序,則在執(zhí)行后,程序的運(yùn)行結(jié)果為^include"stdio.h"#include"string.hz/main(){chara[30]=nicetomeetyou!";strcpy(a+strlen(a)/2,"you");printf("%s\n",a);}nicetomeetyouyounicetomeetyouyounicetoyou正確答案:D7.22現(xiàn)有如下程序段#include"stdio.h"main(){intk[30]={12,324,45,6,768,98,21,34,453,456};intcount=0,i=0;while(k[i]){if(k[i]%2=0IIk[i]%5==0)count++;i++;}printf("%d,%d\n",count,i);則程序段的輸出結(jié)果為7,88,87,108,10正確答案:D7.23有如下定義語(yǔ)句:intaa〇[3]={12,23,34,4,5,6,78,89,45}則45在數(shù)組aa中的行列坐標(biāo)各為3,23,12,22,1正確答案:C24現(xiàn)在有如下程序^include"stdio.h"main(){chars[80];inti,j;gets(s);for(i=j=0;s[i]!=/、〇';i++)if(s[i]!-Hz)s[j]:‘、〇';puts(s);}這個(gè)程序段的功能是刪除輸入的字符串中字符’M,則空線上應(yīng)當(dāng)添入的是s[j++]=s[i];j++;s[j]=s[i++];j++;s[j++]=s[i];s[j]=s[i];正確答案:C以下二維數(shù)組c的定義形式是intc[3]Dfloatc[3,4]doublec[3][4]floatc(3)(4)正確答案:C已知:intc[3][4];則對(duì)數(shù)組元素引用正確的是c[1][4]c[1.5][0]c[1+0][0]D)以上表達(dá)都錯(cuò)誤正確答案:C27若有以下語(yǔ)句,則正確的描述是chara[]="toyou”;charb[]={ftO','y'0','u'};a數(shù)組和b數(shù)組的長(zhǎng)度相同a數(shù)組長(zhǎng)度小于b數(shù)組長(zhǎng)度〇a數(shù)組長(zhǎng)度大于b數(shù)組長(zhǎng)度D)a數(shù)組等價(jià)于b數(shù)組正確答案:C28已知:chara[15],b[15]={"Ilovechina”};則在程序中能將字符串Ilovechina賦給數(shù)組a的正確語(yǔ)句是a="Ilovechina";strcpy(b,a);a=b;strcpy(a,b);正確答案:D29已知:chara[20]="abc",b[20]="defghi";則執(zhí)行下列語(yǔ)句后的輸出結(jié)果為printf("%d",strlen(strcpy(a,b)));1165D)以上答案都不正確正確答案:B30閱讀如下程序段,則程序在先后輸入love和china后,輸出結(jié)果是#include#includemain(){chara[30],b[30];intk;gets(a);gets(b);k=strcmp(a,b);if(k>0)puts(a);elseif(k<0)puts(b);A)loveB)chinaC)lovechinaD)沒(méi)有輸出結(jié)果正確答案:A二、填空題(請(qǐng)將每一個(gè)空的正確答案寫(xiě)在答題卡相應(yīng)序號(hào)后。)7.31下面程序的功能是輸出數(shù)組s中最大元素的下標(biāo),請(qǐng)?zhí)羁铡ain(){intk,p,s口={1,-9,7,2,TO,3};for(p=0,k=p;p<6;p++)if(sLp]>s[k])[1]printf("%d\n”,k);)正確答案:k=p;7.32以下程序可把輸入的十進(jìn)制數(shù)以十六進(jìn)制數(shù)的形式輸出,請(qǐng)?zhí)羁?。main(){charb[17]二{“〇123456789ABCDEF"};intc[64],d,i=0,base=16;longn;printfしEnteranumber:\n");scanf("%ld',&n);do{c[i]=[2];i++;n=n/base;}while(n!=0);printf(Transmitenewbase:\n〃);for(-i;i>=0;-i){d=c[i];printf("%c",b[3]);)printf('\n");}正確答案:n°se[d]33以下程序的功能是:刪去ー維數(shù)組中所有相同的數(shù),使之只剩ー個(gè)。數(shù)組中的數(shù)已按由小到大的順序排列,函數(shù)返回刪除后數(shù)組中數(shù)據(jù)的個(gè)數(shù)。例如,若一維數(shù)組中的數(shù)據(jù)是:2223445666677899101010刪除后,數(shù)組中的內(nèi)容應(yīng)該是:23456789lOo請(qǐng)?zhí)羁铡?include#defineN80intfun(inta[],intn){inti,j=l;for(i=l;iif(aLj-1][4]a[i])a[j++]=a[i];[5];}main(){inta[N]={2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10},i,n=19;printfしTheoriginaldata:\n");for(i=0;iprintf(*=*,a[i]);n=fun(a,n);printf('\nThedataafterdeleted:\n");for(i=0;iprintf(*=*,a[i]);printf('\n\n");)正確答案:!=returnj下列程序的輸出的結(jié)果是[6], [7]0main(){inti,jrow,colum,m;staticintarray[3][3]={{100,200,300},{28,72,-30}{-850,2,6}};m=array[0][〇];for(i=0;i<3;i++)for(j=0;j<3;j++)if(array[i][j]<m){m=array[i][j];colum=j;row=i;}printf("%d,%d,%d\n*,m,row,colum);正確答案:-850,'2,0下面程序是求出數(shù)組arr的兩條對(duì)角線上元素之和,請(qǐng)?zhí)羁铡?include"stdio.h"main(){intarr[3][3]={2,3,4,8,3,2,7,9,8},a=0,b=0,i,j;for(i=0;i<3;i++)for(j=0;j<3;j++)if([8])a=a+arr[i][j];for(i=0;i<3;i++)for([9]:j>=O;j-)if([10])b=b+arr[i][j];printf("%d,%d\n”,a,b);)正確答案:i==jj=2i+j==第8章函數(shù)ー、選擇題(在下列各題的A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)填涂在答題卡相應(yīng)位置上。)1若已定義的函數(shù)有返回值,則以下關(guān)于該函數(shù)調(diào)用的敘述中錯(cuò)誤的是A)函數(shù)調(diào)用可以作為獨(dú)立的語(yǔ)句存在B)函數(shù)調(diào)用可以作為ー個(gè)函數(shù)的實(shí)參〇函數(shù)調(diào)用可以出現(xiàn)在表達(dá)式中D)函數(shù)調(diào)用可以作為ー個(gè)函數(shù)的形參考生答案:正確答案:D在調(diào)用函數(shù)時(shí),如果實(shí)參是簡(jiǎn)單的變量,它與對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式是A)地址傳遞B)單向值傳遞〇由實(shí)參傳形參,再由形參傳實(shí)參D)傳遞方式由用戶指定考生答案:正確答案:B8.3以下正確的說(shuō)法是A)定義函數(shù)時(shí),形參的類型說(shuō)明可以放在函數(shù)體內(nèi)B)return后邊的值不能為表達(dá)式〇如果函數(shù)值的類型與返回值類型不一致,以函數(shù)值類型為準(zhǔn)D)如果形參與實(shí)參類型不一致,以實(shí)參類型為準(zhǔn)考生答案:正確答案:C8.4以下正確的說(shuō)法是A)用戶若需調(diào)用標(biāo)準(zhǔn)庫(kù)函數(shù),調(diào)用前必須重新定義B)用戶可以重新定義標(biāo)準(zhǔn)庫(kù)函數(shù),若如此,該函數(shù)將失去原有含義〇系統(tǒng)根本不允許用戶重新定義標(biāo)準(zhǔn)庫(kù)函數(shù)D)用戶若需調(diào)用標(biāo)準(zhǔn)庫(kù)函數(shù),調(diào)用前不必使用預(yù)編譯命令將該函數(shù)所在文件包括到用戶源文件中,系統(tǒng)自動(dòng)調(diào)用考生答案:正確答案:B以下敘述正確的是A)函數(shù)可以嵌套定義但不能嵌套調(diào)用B)函數(shù)既可以嵌套調(diào)用也可以嵌套定義〇函數(shù)既不可以嵌套定義也不可以嵌套調(diào)用D)函數(shù)可以嵌套調(diào)用但不可以嵌套定義考生答案:正確答案:D下面對(duì)C語(yǔ)言的描述中,正確的是A)函數(shù)一定有返回值,否則無(wú)法使用函數(shù)B)C語(yǔ)言函數(shù)既可以嵌套定義又可以遞歸調(diào)用C)在C語(yǔ)言中,調(diào)用函數(shù)時(shí),只能將實(shí)參的值傳遞給形參D)C語(yǔ)言程序中有調(diào)用關(guān)系的所有函數(shù)都必須放在同?源程序文件中考生答案:正確答案:C下列說(shuō)法中錯(cuò)誤的是A)靜態(tài)局部變量的初值是在編譯時(shí)賦予的,在程序執(zhí)行期間不再賦予初值B)若全局變量和某ー函數(shù)中的局部變量同名,則在該函數(shù)中,此全局變量被屏蔽〇靜態(tài)全局變量可以被其他的編輯單位所引用D)所有自動(dòng)類局部變量的存儲(chǔ)單元都是在進(jìn)入這些局部變量所在的函數(shù)體(或復(fù)合語(yǔ)句)時(shí)生成,退出其所在的函數(shù)體(或復(fù)合語(yǔ)句)時(shí)消失考生答案:正確答案:C以下程序有語(yǔ)法錯(cuò)誤,有關(guān)錯(cuò)誤原因的正確說(shuō)法是main(){intG=5,k;voidprt_char();k=prt_char(G);A)語(yǔ)句voidprtchar();有錯(cuò),它是函數(shù)調(diào)用語(yǔ)句,不能用void說(shuō)明B)變量名不能使用大寫(xiě)字母〇函數(shù)說(shuō)明和函數(shù)調(diào)用語(yǔ)句之間有矛盾D)函數(shù)名不能使用下劃線考生答案:正確答案:C以下正確的函數(shù)頭定義形式是doublefun(intx,inty)doublefun(intx;inty)doublefun(intx,inty)doublefun(intx,y)考生答案:正確答案:A10以下所列的各函數(shù)首部中,正確的是voidplay(var:Integer,varb:Integer)voidplay(inta,b)voidplay(inta,intb)Subplay(aasinteger,basinteger)考生答案:正確答案:C11不合法的main函數(shù)命令行參數(shù)表示形式是main(inta,char*c口)main(intarc,char**arv)main(intargc,char*argv)main(intargv,char*argcQ)考生答案:正確答案:C8.12下面函數(shù)調(diào)用語(yǔ)句含有實(shí)參的個(gè)數(shù)為func((expl,exp2),(exp3,exp4,exp5));1245考生答案:正確答案:B8.13設(shè)有如下函數(shù)fun(floatx){printf("\n%d”,x*x);}則函數(shù)的類型是A)與參數(shù)x的類型相同B)是void〇是int型D)無(wú)法確定考生答案:正確答案:C8.14有以下程序floatfun(intx,inty){return(x+y);}main(){inta=2,b=5,c=8;printf(飛3.Of\n”,fun((int)fun(a+c,b),a-c))程序運(yùn)行后的輸出結(jié)果是A)編譯出錯(cuò)B)9〇21D)9.0考生答案:正確答案:B8.15以下程序中函數(shù)sort的功能是對(duì)a數(shù)組中的數(shù)據(jù)進(jìn)行由大到小的排序voidsort(inta[],intn){inti,j,t;for(i=0;ifor(j=i+l;jif(a[i]8.16下列程序執(zhí)行后的輸出結(jié)果是voidfund(inti);voidfunc2(inti);charst[]二'hello,friend!voidfund(inti){printf("%c",st[i]);if(i<3){i+=2;func2(i);}}voidfunc2(inti){printfst[i]);if(i<3)(i+二2;fund(i);})main(){inti=0;fund(i);printf('\n");}hellohelhlohim考生答案:正確答案:C8.17以下函數(shù)返回a所指數(shù)組中最大值所在的下標(biāo)值fun(int*a,intn){inti,j=0,p;P=j;for(i=j;iif(a[i]>a[p]);return(p);)在下劃線處應(yīng)填入的內(nèi)容是i=Pa[p]=aLi]p=jp二I考生答案:正確答案:D18有以下程序intf(intn){if(n==l)return1;elsereturnf(n-l)+1;)main(){inti,j=0;for(i=l;i<3;i++)j+=f(i);printf("%d\n”,j);)程序運(yùn)行后的輸出結(jié)果是4321考生答案:正確答案:B19有如下程序:longfib(intn){if(n>2)return(fib(n-l)+fib(n-2));elsereturn(2);)main(){printf("%d\n”,fib(3));}該程序的輸出結(jié)果是246D)8考生答案:正確答案:B20下列函數(shù)的運(yùn)行結(jié)果是main(){inti=2,p;intj,k;j=i;k=++i;P=f(j,k);printf("%d",p);)intf(inta,intb){intc;if(a>b)c=l;elseif(a==b)c二〇;elsec=~l;return(c);}-112D)編譯出錯(cuò),無(wú)法運(yùn)行考生答案:正確答案:A來(lái)8.21閱讀下列程序,當(dāng)運(yùn)行函數(shù)時(shí),輸入asdafaaz67,則輸出為#include#include#includeintfun(char*str){inti,j=0;for(i=0;str[i]!='、〇';i++)if(str[i]!='')str[j++]=strLi];str[j]='、0’;}main(){charstr[81];intn;clrscr();printfCInputastring:");gets(str);puts(str);fun(str);printf("%s\n",str);}asdafaaz67asdafaaz67asdz67考生答案:正確答案:A8.22以下程序的輸出結(jié)果是longfun(intn){longs;if(n==lI|n==2)s=2;elses=n-fun(n-l);returns;}main(){printf("%ld\n”,fun(3));)1234考生答案:正確答案:A23己有變量定義和函數(shù)調(diào)用語(yǔ)句:inta=25;print_value(&a);下面函數(shù)的正確輸出結(jié)果是voidprint_value(int*x){printf(*%d\n\++*x);}23242526考生答案:正確答案:D8.24下面程序應(yīng)能對(duì)兩個(gè)整型變量的值進(jìn)行交換。以下正確的說(shuō)法是main(){inta=10,b=20;printf("(1)a=%d,b=%d\n",a,b);swap(&a,&b);printf("(2)a=%d,b=%d\n”,a,b);}swap(intp,intq){intt;t=p;p=q;q=t;}A)該程序完全正確B)該程序有錯(cuò),只要將語(yǔ)句swap(&a,&b);中的參數(shù)改為a,b即可〇該程序有錯(cuò),只要將swap〇函數(shù)中的形參p和q以及t均定義為指針(執(zhí)行語(yǔ)句不變)即可D)以上說(shuō)法都不對(duì)考生答案:正確答案:D25以下程序的輸出結(jié)果是intf(){staticinti=0;ints=l;s+=i;i++;returns;}main(){inti,a=0;for(i=0;iく5;i++)a+=f();printf("%d\n”,a);)20242515考生答案:正確答案:D26閱讀下面程序段,則執(zhí)行后輸出的結(jié)果是#include"stdio.h"main(){charfun(char,int);chara='A';intb=13;a=fun(a,b);putchar(a);charfun(chara,intb){chark;k=a+b;returnk;}AMNL考生答案:正確答案:C27編寫(xiě)求兩個(gè)雙精度數(shù)之和的函數(shù),選項(xiàng)中正確的是doubleadd(doublea,doubleb){doubles;s=a+b;returns;}doubleadd(doublea,b){doubles;s=a+b;return(s);)doubleadd(doubleadoubleb){doubles;s=a+b;returns;}doubleadd(a,b){doublea,b,s;s=a+b;return(s);}考生答案:正確答案:A28現(xiàn)有如下程序#include"stdio.h"intfun(intx){printf("x=%d\n”,++x);main(){fun(12+5);)則程序的輸出結(jié)果是12131718考生答案:正確答案:D8.29現(xiàn)有如下程序段#include"stdio.h"intaa(intx,inty);main()inta=24,b=16,c;c=aa(a,b);printf("%d\n",c);}intaa(intx,inty)intw;while(y)w=x%y;x二y;y=w;}returnx;)則程序段的輸出結(jié)果是8765考生答案:正確答案:A源8.30下列程序的輸出結(jié)果是#include"stdio.h"#defineN3#defineM3voidfun(inta[M][N]){printf("%d\n",*(a[1]+2))main(){inta[M][N];inti,j;for(i=0;ifor(j=0;ja[i][j]=i+j-(i-j):fun(a);)3456考生答案:正確答案:B8.31閱讀下面程序,則執(zhí)行后的結(jié)果為ttinclude“stdio.h"main(){fun3(funl(),fun20);)funl()intk=20;returnk;}fun2()inta=15;returna;}fun3(inta,intb)intk;k=(a-b)*(a+b);printf("%d\n”,k);}0184175D)編譯不通過(guò)考生答案:正確答案:C32閱讀下面程序,則程序執(zhí)行后的結(jié)果為#include"stdio.h"main(){inta=4,b=6,c=7;doubled,fun(int,int,int);d=fun(a,b,c);printf(*%lf\n*,d);)doublefun(inta,intb,intc){doubles;s=a%b*c;returns;)2727.0000002828.000000考生答案:正確答案:D8.33現(xiàn)有如下程序,則程序的輸出結(jié)果為#include"stdio.h"intf(inta,intb){intc;if(a>0&&a<10)c=(a+b)/2;elsec=a*b/2;returnc;)main(){inta=8,b=20,c;c=f(a,b);printf("%d\n",c);)A)隨機(jī)數(shù)B)80C)28D)14考生答案:正確答案:D34閱讀如下程序段,則程序段的執(zhí)行后的輸出結(jié)果為#include"stdio.h"main(){charc;inti;charcount();intp(char);for(i二〇;iく30;i++)c=count();P(c);charcount(){charstr二'A';str+=l;return(str);)p(charc){putchar(c);putchar('\n');)ABab考生答案:正確答案:B8.35閱讀程序,則執(zhí)行后的結(jié)果為#include"stdio.h"main(){inti,m,n;for(i=0;iく3;i++){m=testl();n=test2();)printf(*%d,%d\n*,m,n);}testl()intx=0;x++;returnx;}test2()staticintx=0;x++;returnx;1,11,33,13,3考生答案:正確答案:B二、填空題(請(qǐng)將每一個(gè)空的正確答案寫(xiě)在答題卡相應(yīng)序號(hào)后。)8.36當(dāng)調(diào)用函數(shù)時(shí),實(shí)參是一個(gè)數(shù)組名,則向函數(shù)傳遞的是【I】。A考生答案:正確答案:數(shù)組的首地址8.37函數(shù)fun的功能是:根據(jù)以下公式求p的值,結(jié)果由函數(shù)值返回。m與n為兩個(gè)正數(shù)且要求m>n0例如:m=12,n=8時(shí),運(yùn)行結(jié)果應(yīng)該是495.000000。請(qǐng)?jiān)陬}目的空白處填寫(xiě)適當(dāng)?shù)某绦蛘Z(yǔ)句,將該程序補(bǔ)充完整。#include#includefloatfun(intm,intn){inti;doublep=l.0;for(i=l;i<=m;i++) [2];for(i=l;i<=n;i++) [3];for(i=l;i<=m-n;i++)p=p/i;returnp;)main(){clrscr();printf(〃p=%f\n”,fun(12,8));)A考生答案:正確答案:p=p*i正確答案:p=p/i8.38以下程序的輸出結(jié)果是[4Lvoidfun()staticintaニ〇;a+=2;printfa);}main()intcc;for(cc=l;cc<4;cc++)fun();printf('\n");A考生答案:正確答案:2468.39以下程序運(yùn)行結(jié)果是【5】。longfib(intg){switch(g){case0:return0;:return1;)return(

溫馨提示

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