全國計算機二級C語言試題與答案_第1頁
全國計算機二級C語言試題與答案_第2頁
全國計算機二級C語言試題與答案_第3頁
全國計算機二級C語言試題與答案_第4頁
已閱讀5頁,還剩93頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

以下敘述中正確的是C語言比其他語言高級C語言可以不用編譯就能被計算機識別執(zhí)行C語言以接近英語國家的自然語言和數(shù)學語言作為語言的表達形式D)C語言出現(xiàn)的最晚,具有其他語言的一切優(yōu)點正確答案:C以下敘述中正確的是A)構(gòu)成C程序的基本單位是函數(shù)B)可以在一個函數(shù)中定義另一個函數(shù)C)main()函數(shù)必須放在其他函數(shù)之前D)所有被調(diào)用的函數(shù)一定要在調(diào)用之前進行定義正確答案:A以下說法正確的是A)C語言程序總是從第一個的函數(shù)開始執(zhí)行B)在C語言程序中,要調(diào)用函數(shù)必須在main()函數(shù)中定義C語言程序總是從main()函數(shù)開始執(zhí)行C語言程序中的main()函數(shù)必須放在程序的開始部分正確答案:CC語言規(guī)定,在一個源程序中,main函數(shù)的位置A)必須在最開始B)必須在系統(tǒng)調(diào)用的庫函數(shù)的后面C)可以任意D)必須在最后正確答案:C以下敘述不正確的是一個C源程序可由一個或多個函數(shù)組成一個C源程序必須包含一個main函數(shù)C程序的基本組成單位是函數(shù)D)在C程序中,注釋說明只能位于一條語句的后面正確答案:D下列敘述中正確的是C語言編譯時不檢查語法C語言的子程序有過程和函數(shù)兩種C語言的函數(shù)可以嵌套定義C語言的函數(shù)uj■以嵌套調(diào)用正確答案:D以下敘述正確的是A)在C程序中,每行中只能寫一條語句B)若a是實型變量,C程序中允許賦值a=10,因此實型變量中允許存放整型數(shù)C)在C程序中,無論是整數(shù)還是實數(shù),都能被準確無誤地表示D)在C程序中,%是只能用于整數(shù)運算的運算符正確答案:D

以下說法錯誤的是A)一個算法應(yīng)包含有限個步驟B)在計算機上實現(xiàn)的算法是用來處理數(shù)據(jù)對象的C)算法中指定的操作,不能通過已經(jīng)實現(xiàn)的基本運算執(zhí)行有限次后實現(xiàn)(循環(huán)結(jié)構(gòu))D)算法的目的是為了求解正確答案:C9算法是指為解決某個特定問題而采取的確定且有限的步驟,下面不屬于算法的五個特性的是A)有零個輸入或多個輸入B)高效性(有效性、有1個或者多個輸出)C)有窮性D)確定性正確答案:B10下列關(guān)于C語言的說法不正確的是A)C語言既具有高級語言的一切功能,也具有低級語言的一些功能B)C語言中的每一條執(zhí)行語句都必須用分號結(jié)束,分號不是C語言的一部分,是語句之間的分隔符號C)注釋可以出現(xiàn)在程序中任意合適的地方D)命令行后面不能加分號,命令行不是C語言的語句正確答案:B以下說法錯誤的是A)高級語言都是用接近人們習慣的自然語言和數(shù)學語言作為語言的表達形式B)計算機只能處理由0和1的代碼構(gòu)成的二進制指令或數(shù)據(jù)C)C語言源程序經(jīng)過C語言編譯程序編譯之后生成一個后綴為.EXE(.obj)的二進制文件D)每?種高級語言都有它對應(yīng)的編譯程序正確答案:CC語言中用于結(jié)構(gòu)化程序設(shè)計的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二、填空題(請將每一個空的正確答案寫在答題卡相應(yīng)序號后。)2.13用高級語言編寫的程序稱為【1】程序,它可以通過解釋程序翻譯一句執(zhí)行一句的方式執(zhí)行,也可以通過編譯程序一次翻譯產(chǎn)生目標程序,然后執(zhí)行。正確答案:源程序2.14C語言程序的注釋可以出現(xiàn)在程序中的任何地方,一個注釋以【2】作為開始和結(jié)束。正確答案:/**/C語言中最簡單的數(shù)據(jù)類型包括A)整型、實型、邏輯型B)整型、實型、字符型C)整型、字符型、邏輯型

D)字符型、實型、邏輯型正確答案:BC語言中的標識符只能由字母,數(shù)字和下劃線三種字符組成,且第一個字符A)必須為字母B)必須為下劃線C)必須為字母或下劃線D)可以是字母,數(shù)字和下劃線中任一字符正確答案:C下列可用于C語言用戶標識符的一組是void,define,WORDa3_b3,_123,CarFor,-abc,IFCase2a,DO,sizeof正確答案:B下面四個選項中,均是不正確的8進制數(shù)或16進制數(shù)的選項是0160x8f018Oabc017Oxa010-0x110x160al27ff-123正確答案:D下列數(shù)據(jù)中,不合法的C語言實型數(shù)據(jù)的是0.123123e32.Ie3.5789.0正確答案:C在16位C編譯系統(tǒng)上,若定義longa;,則能給a賦40000的正確語句是a=20000+20000;a=4000*10;a=30000+10000;a=4000L*10L;正確答案:D若有說明語句:charc='\72';則變量cA)包含1個字符B)包含2個字符C)包含3個字符D)說明不合法,c的值不確定正確答案:A有字符串如下,"\n\\\407asl\"\xabc",則字符串的長度為678

9正確答案:DC語言中運算對象必須是整型的運算符是%=/C)=D)<=正確答案:A若變量已正確定義并賦值,以下符合C語言語法的表達式是a:=b+la=b=c+2int18.5%3a=a+7=c+b正確答案:B若變量a,i已正確定義,且i已正確賦值,合法的語句是a==1++i;a=a++=5;a=int(i);正確答案:B12若有定義:inta=7;floatx=2.5,y=4.7;則表達式x+a%3*(int)(x+y)%2/4的值是2.5000002.7500003.5000000.000000正確答案:A13若有運算符”,sizeof,二,則它們按優(yōu)先級由高至低的正確排列次序是sizeof,&=,?,sizeof,?,",&=?,sizeof,?,,&=,sizeof正確答案:B3.14以下不正確的敘述是A)在C程序中,逗號運算符的優(yōu)先級最低B)在C程序中,APH和aph是兩個不同的變量C)若a和b類型相同,在計算了賦值表達式a=b后b中的值將放入a中,而b中的值不變D)當從鍵盤輸入數(shù)據(jù)時,對于整型變量只能輸入整型數(shù)值,對于實型變量只能輸入實型數(shù)值正確答案:D15已知inti,a;執(zhí)行語句1=(a=3,a++, a,a+4,a+5,++a);后,變量i的值為23

45正確答案:C3.16設(shè)變量a是int型,f是float型,i是double型,則表達式10+'a'+i*f值的數(shù)據(jù)類型為intfloatdoubleD)不確定正確答案:C3.17在C語言中,char型數(shù)據(jù)在內(nèi)存中的存儲形式是A)補碼B)反碼C)原碼ASCII碼正確答案:D3.18字符型數(shù)據(jù)在機器中是用ASCII碼表示的,字符‘5'和'V在機器中表示為10100011和0111011101000101和0110001100110101和0011011101100101^001100111正確答案:C3.19不能進行++和--運算的數(shù)據(jù)類型為A)指針B)整型C)長整型D)常量正確答案:D20設(shè)有intx=ll;則表達式(x++*l/3)的值是341112正確答案:A3.21以下程序的輸出結(jié)果是main(){inta-21,b=ll;printf("%d'n”,—a+b,—b+a);)3031C)32

D)33正確答案:A3.22假設(shè)整型變量a,b,c的值均為5,則表達式 ++的值為17161514正確答案:C23已知inta=6;則執(zhí)行a+=a-=a*a;語句后,a的值為360-24-60正確答案:D3.24設(shè)變量n為float類型,m為int類型,則以下能實現(xiàn)將n中的數(shù)值保留小數(shù)點后兩位,第三位進行四舍五入運算的表達式是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正確答案:B3.25sizeof(float)是一個雙精度型表達式一個整型表達式一種函數(shù)調(diào)用一個不合法的表達式正確答案:B3.26在C語言中,int,char和short三種類型數(shù)據(jù)在內(nèi)存中所占用的字節(jié)數(shù)A)由用戶自己定義B)均為2個字節(jié)C)是任意的D)由所用機器的機器字長決定正確答案:D3.27以下變量x,y,z均為double類型且已正確賦值,不能正確表示數(shù)學式子x+y+z的C語言表達式是x/y*zx*(1/(y*z))x/y*l/zx/y/z正確答案:A3.28下列關(guān)于復合語句和空語句的說法錯誤的是A)復合語句是由“{”開頭,由“}”結(jié)尾的

B)復合語句在語法上視為一條語句C)復合語句內(nèi),可以有執(zhí)行語句,不可以有定義語句部分D)C程序中的所有語句都必須由一個分號作為結(jié)束正確答案:C3.29下列關(guān)于字符串的說法中錯誤的是A)在C語言中,字符串是借助于字符型一維數(shù)組來存放的,并規(guī)定以字符'\0'作為字符串結(jié)束標志B)''0'作為標志占用存儲空間,計入串的實際長度C)在表示字符串常量的時候不需要人為在其末尾加入''0'D)在C語言中,字符串常量隱含處理成以''0'結(jié)尾正確答案:B30以下程序的輸出結(jié)果是[1].inta=1234;printf(*-\n*,a);正確答案:12343.31在計算機中,字符的比較是時它們的【2】進行比較。正確答案:ASCII碼3.32在內(nèi)存中,存儲字符'X,要占用1個字節(jié),存儲字符串"X"要占用【3】個字節(jié)。正確答案:23.33在C語言中(以16位PC機為例),一個float型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為4;一個double型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為【41正確答案:834以下程序段的輸出結(jié)果是[5】。main(){inta-2,b=3,c=4;a*=16+(b++)-(++c);printfa);)正確答案:283.35以下程序段的輸出結(jié)果是[6】ointx=17,y=26;printf y/=(x%=6));正確答案:53.36下列y的值是[7】。inty:y=sizeof(2.25*4);正確答案:83.37以下程序的輸出結(jié)果是【8】.main(){inti=010,j=10;pirntf(*%d,%d\n*,i,j);正確答案:8,10

3.38已知字母a的ASCII碼為十進制數(shù)97,且設(shè)ch為字符型變量,則表達式ch='a1+'8'3Z的值為[9].正確答案:f3.39如下語句printf("猊\n",'B'+40);在執(zhí)行后的輸出結(jié)果是【10】。正確答案:j40定義inta=5,b=20;若執(zhí)行語句printf(飛d\n”,++a*—b/5);后,輸出的結(jié)果為[11]。正確答案:91若變量已正確說明為float型,要通過語句scanf(" ",&a,&b,&c);給@賦予10.0,b賦予22.0,c賦予33.0,下列不正確的輸入形式是10〈回車〉22〈回車>33〈回車〉10.0,22.0,33.0〈回車〉10.0〈回車>22.033.0〈回車〉1022(回車>33〈回車〉正確答案:B現(xiàn)有以下程序段ttincludemain(){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型變量,若從鍵盤給x,y,z輸入數(shù)據(jù),正確的輸入語句是INPUTx、y、z;scanf(&x,&y,&z);scanf("%d%d%d”,x,y,z);read("%d%d%d.,&x,&y,&z);正確答案:B4.4已有定義inta=-2;和輸出語句printf("%81x”,a);以下正確的敘述是A)整型變量的輸出形式只有%d一種B)小是格式符的一種,它可以適用于任何一種類型的數(shù)據(jù)%x是格式符的一種,其變量的值按十六進制輸出,但%81x是錯誤的%81x不是錯誤的格式符,其中數(shù)字8規(guī)定了輸出字段的寬度正確答案:D除了返回值類型int類型的函數(shù)外,函數(shù)必須先定義后使用。當函數(shù)沒有返回值,就必須把函數(shù)定義成void類型除了返回值類型int類型的函數(shù)外,函數(shù)必須先定義后使用。當函數(shù)沒有返回值,就必須把函數(shù)定義成void類型floatb=123.456;doublec=12345.54321;printf(*-,%2.If,%2.If*,a,b,c);A)無輸出B)12,123.5,12345.5C)1234,123.5,12345.5D)1234,123.4,1234.5正確答案:c執(zhí)行下列程序時輸入:123〈空格>456〈空格>789〈回車〉輸出結(jié)果是main(){chars[100];intc,i;scanf&c);scanf&i);scanfs);printf(*%c,%d,%s\n*,c,i,s);}A)123,456,7891,456,7891,23,456,789D)1,23,456正確答案:D4.7若已定義:inta=25,b=14,c=19;以下三目運算符(?:)所構(gòu)成語句的執(zhí)行后a〈=25&&b―<=2&&c?printf("***a=%d,b=%d,c=%d\n”,a,b,c):printf('###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=19###a=26,b=14,c=19正確答案:C請選出以下語句的輸出結(jié)果printf(*%d\n*,strlen("\t\"\065\xff'n"));5148D)輸出項不合法,無正常輸出正確答案:A下列程序的輸出結(jié)果是main(){doubled=3.2;intx,y;x=1.2;y=(x+3.8)/5.0;printf(*%d\n*,d*y);}A)33.2

03.07正確答案:C10調(diào)用gets和puts函數(shù)時,必須包含的頭文件是stdio.hstdlib.hdefineD)以上都不對正確答案:A11閱讀下面程序段#include"stdio.h"main(){charc;c=C」a')12+'A';putchar(c);)輸出結(jié)果為MN0Q正確答案:A二、填空題(請將每一個空的正確答案寫在答題卡相應(yīng)序號后。)4.12下列程序的輸出結(jié)果是16.00,請?zhí)羁铡ain(){inta=9,b=2;floatx=[1],y=l.1,z;z=a/2+b*x/y+1/2;printf("%5.2f\n',z);)正確答案:6.64.13在使用putchar和getchar函數(shù)處理字符時,必須在程序的開頭出現(xiàn)包含頭文件的命令行是[2]o正確答案:#include4.14下列程序的輸出結(jié)果是[3],[4]。#includemain(){floata=-l.3;b=l.3;printf(*%f,%f*,fabs(a),fabs(b);}正確答案:L300000正確答案:1.300000

4.15執(zhí)行程序時的輸入為123456789,則程序的運行結(jié)果為【5】。#include“stdio.h"main(){inta,b;scanf(&a,&b);printf("%d\n”,a-b);}正確答案:75.1在C程序中,判邏輯值時,用“非0”表示邏輯值“真”,又用“0”表示邏輯值“假”。在求邏輯值時,用()表示邏輯表達式值為“真”,又用()表示邏輯表達式值為“假”。A)10B)01C)非0非0D)11正確答案:A5.2已知intx=6,y=2,z;則執(zhí)行表達式z=x=x>y后,變量z的值為0145正確答案:B5.3能正確表示邏輯關(guān)系:“@210或8遼0”的C語言表達式是a>=10ora<=0a>=0|a<=10a>=10&&a<=0a>=10IIa<=0正確答案:D5.4若變量c為char類型,能正確判斷出c為小寫字母的表達式是'a'<=c<=fz'(c>=zaz)||(c<=zzz)('a'<=c)and('z'>=c)(c>='a')&&(c<=zz')正確答案:D5.5設(shè)intx=l,y=l;表達式(!x||y--)的值是012-1正確答案:B5.6有如下程序段ASCII碼A65B66...Z90a97b98...z122

inta=14,b=15,x;charc='A';x=(a&&b)&&(c<‘B');執(zhí)行該程序段后,K的值為turefalse01正確答案:D以下程序的輸出結(jié)果是main(){inta=4,b=5,c=0,d;d=!a&&!b||!c;printf d);}10C)非0的數(shù)D)-1正確答案:設(shè)有:inta=l,b=2,c=3,d=4,m=2,n=2;執(zhí)行(m=a〉b)&&(n=c>d)后n的值是1234正確答案:B已知x,y,z均為整型變量,且值均為1,則執(zhí)行語句++x||++y&&++z;后,表達式x+y的值為1234正確答案:C5.10表達式aII&<D)()正確答案:D1對表達式for(表達式1;;表達式3)可理解為for(表達式1;0;表達式3)

for(表達式1;1;表達式3)for(表達式1;表達式1;表達式3)for(表達式1;表達式3;表達式3)正確答案:B6.2在下列選項中,沒有構(gòu)成死循環(huán)的是inti=100;while(1){i=i+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)體語句,后判斷表達式C)在for循環(huán)中,不能用break語句跳出循環(huán)體D)for循環(huán)的循環(huán)體語句中,可以包含多條語句,但必須用花括號括起來正確答案:D若inti,j;,則for(i=j=0;i<10&&j<8;i++,j+=3)控制的循環(huán)體執(zhí)行的次數(shù)是9832正確答案:C閱讀下列程序段,則程序的輸出結(jié)果是ftinclude"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,考生答案:正確答案:B有一堆零件(100到200之間),如果分成4個零件一組的若干組,則多2個零件;若分成7個零件一組,則多3個零件;若分成9個零件一組,則多5個零件。下面程序是求這堆零件總

數(shù),請選擇填空。#includemain(){inti;for(i=100;i<200;i++)if((i-2)%4==0)if(!((i-3)%7))if()printfi);)i%9=5i%9!=5(i-5)%9!=0(i-5)%9=0正確答案:D下列程序的輸出結(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=4,b=4a=4,b=5a=5,b=4a=5,b=5正確答案:B閱讀下列程序,則執(zhí)行結(jié)果是^include"stdio.h"main(){inta=0,b=0,c=0,i;for(i=0;i<4;i++)switch(i){case0:a=i++;case1:b=i++;case2:c=i++;case3:i++;)printf(*%d,%d,%d,%d\n*,a,b,c,i);}

0,1,3,41,2,3,40,1,2,50,2,3,4正確答案:C閱讀下列程序,程序的輸出結(jié)果是#include"stdio.h"main()(intm,n;floatk;for(m=6;m>2;m--){k=0;for(n=m;n>l;n--)k=k+m*n;}printf("%f\n",k);)5.00000015.00000025.00000035.000000正確答案:B6.10下面程序的運行結(jié)果是#include"stdio.h"main(){intj,i,k=0;for(j=50;j<=60;j++){if(!(k))printf ;for(i=2;iif(!(j%i))break;if(i>=j-l){printfj);k++;}5359595335959535正確答案:A

11已知intt-0;while(t=l){...)則以下敘述正確的是A)循環(huán)控制表達式的值為0B)循環(huán)控制表達式的值為1C)循環(huán)控制表達式不合法D)以上說法都不對正確答案:B設(shè)有以下程序段intx=0,s=0;while(!x!=0)s+=++x;printfs);則A)運行程序段后輸出0B)運行程序段后輸出1C)程序段中的控制表達式是非法的D)程序段執(zhí)行無限次正確答案:B下列程序的輸出結(jié)果是ftinclude"stdio.h"main(){inti=6;while(i—)printf i);printf ;}531420C)654321D)死循環(huán)正確答案:B6.14對下I,II兩個語句描述正確的是1.while(1)II.for(;;)A)都是無限循環(huán)I是無限循環(huán),H錯誤I循環(huán)一次,H錯誤D)以上答案都錯正確答案:A6.15以下程序段的描述,正確的是

do{x=x*x;}while(!x);A)是死循環(huán)B)循環(huán)執(zhí)行兩次C)循環(huán)執(zhí)行一次D)有語法錯誤正確答案:C6.16若有如下語句intx=3;do{printf("%d\n”,x-=2);}while(!( x));則上面程序段A)輸出的是1B)輸出的是1和-2C)輸出的是3和0D)是死循環(huán)正確答案:B6.17下面程序的運行結(jié)果是#includemain(){inta=l,b=10;do{b=a;a++;}while(b <0);printf(*a=%d,b=%d\n*,a,b);)A)a=3,b=llB)a=2,b=8C)a=l,b=-lD)a=4,b=9正確答案:B6.18若運行以下程序時,從鍵盤輸入ADescriptor(表示回車),則下面程序的運行結(jié)果是#includemain(){charc;intvO=l,vl=0,v2=0;do{switch(c=getchar()){case'a':case'A,:case'e1:case'E':case'i,:case'r:case'o':case'O':case'u1:case'U':vl+=ldefault:vO+=l;v2+=l;}}while(c!=,\n');

printf(*vO=%d,vl=%d,v2=%d\n*,vO,vl,v2);}vO=7,vl=4,v2=7v0=8,vl=4,v2=8vO=ll,vl=4,v2=llv0=13,vl=4,v2=12正確答案:D6.19下面程序的功能是把316表示為兩個加數(shù)的和,使兩個加數(shù)分別能被13和11整除,請選擇填空。ttincludemain(){inti=0,j,k;do{i++;k=316-13*i;}while();j=k/ll;printf(*316=13*%d+U*%d*,i,j);}k/11kk/ll==0k==0正確答案:B20C語言中while和do-while循環(huán)的主要區(qū)別是do-while的循環(huán)體至少無條件執(zhí)行一次while的循環(huán)控制條件比do-while的循環(huán)控制條件更嚴格do-while允許從外部轉(zhuǎn)到循環(huán)體內(nèi)do-while的循環(huán)體不能是復合語句正確答案:A21下列說法中錯誤的是A)只能在循環(huán)體內(nèi)使用break語句B)在循環(huán)體內(nèi)使用break語句可以使流程跳出本層循環(huán)體,從而提前結(jié)束本層循環(huán)C)在while和do…while循環(huán)中,continue語句并沒有使整個循環(huán)終止D)continue的作用是結(jié)束本次循環(huán),即跳過本次循環(huán)體中余下尚未執(zhí)行的語句,接著再一次進行循環(huán)判斷正確答案:A二、填空題(請將每一個空的正確答案寫在答題卡相應(yīng)序號后。)6.22設(shè)i,j,k均為int型變量,則執(zhí)行完下面的for語句后,k的值為[11for(i=0,j=10;i<=j;i++,j--)k=i+j;正確答案:10

6.23下列程序的功能是輸入一個整數(shù),判斷是否是素數(shù),若為素數(shù)輸出1,否則輸出0,請?zhí)羁铡ain(){inti,x,y=l;scanf &x);for(i=2;i<=x/2;i++)if[2]{y=0;break;}printf y);}正確答案:(x%i==0)6.24以下程序的輸出結(jié)果是[3]0main(){inty=9;for(;y>0;y )if(y%3==0){printf —y);continue;})正確答案:8526.25閱讀下面程序段,則執(zhí)行后的輸出結(jié)果為【4】o#include“stdio.h"main(){inta=l;for(;a<=15;)if(++a%5!=2)continue;elseprintf("%d",a);printf('\n");}正確答案:2712閱讀下面語句,則執(zhí)行后的輸出結(jié)果為【5】#include"stdio.h"main(){chara,b;for(a='O',b='9’;aprintf("%c%c”,a,b);printf("\n");}正確答案:0918273645閱讀下面程序,則執(zhí)行后程序的結(jié)果為【6】#include“stdio.h"main(){inta=0,b=0;while(a<15)a++;while(b++<15);printf(*%d,%d\n*,a,b);}

正確答案:15,16一、選擇題(在下列各題的A)、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確選項填涂在答題卡相應(yīng)位置上。)若有說明inta[3][4];則a數(shù)組元素的非法引用是a[0][2*1]a[1][3]a[4-2][0]a[0][4]正確答案:D在C語言中,引用數(shù)組元素時,其數(shù)組卜標的數(shù)據(jù)類型允許是A)整型常量B)整型表達式C)整型常量或整型表達式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,inta[3][3]={9,8,7,6,5,4,3,2,1};則卜.面語句的輸出結(jié)果是for(k=0;k<3;k++)printf("%d",a[k][kA)753B)951 一 0963D)741正確答案:B7.5下列程序執(zhí)行后的輸出結(jié)果是main() /{chararr[2][4];strcpy(arr,"you");strcpy(arr[1] ;arr[0][3]=z;printf arr);009,018,027106,115,124]); 203,212,221 00Y,010,02U,03\010M,llEJ2\0,13\0A)you&meB)youC)meD)err7.6設(shè)有數(shù)組定義:chararray正確答案:7.6設(shè)有數(shù)組定義:chararrayA)B)C)A)B)C)D)5個字節(jié)6個字節(jié)7個字節(jié)正確答案:C以下不正確的定義語句是doublex[5]={2.0,4.0,6.0,8.0,10.0};inty[5]={0,1,3,5,7,9};charcl口={'1'J2'J3'J4'J5'};charc2口={'\xlOz,'\xa','\x8,};正確答案:B若有說明:inta口[3]={1,2,3,4,5,6,7};則a數(shù)組第一維的大小是三列1234567三列1234567 對以下說明語句的正確理解是inta[10]={6,7,8,9,10};A)將5個初值依次賦給a[門至a[5]B)將5個初值依次賦給a[0]至a[4]C)將5個初值依次賦給a[6]至a[10]D)因為數(shù)組長度與初值的個數(shù)不相同,所以此語句不正確正確答案:B10若有說明:inta口[4]={0,0};則下面正確的敘述是A)數(shù)組a的每個元素都可得到初值0B)二維數(shù)組a的第一維大小為1C)當初值的個數(shù)能被第二維的常量表達式的值除盡時,所得商數(shù)就是第一維的大小D)只有元素a[0][0]和a[0][1]可得到初值,其余元素均得不到確定的初值正確答案:D7.11有以下程序main(){chara口={'a','b','c','d','e','f','g','h','\Q'):inti,j;i=sizeof(a);j=strlen(a);printf(*%d,%d\b*,i,j);

程序運行后的輸出結(jié)果是9,98,91,89,8正確答案:D12假定int類型變量占用兩個字節(jié),其有定義:intx[10]={0,2,4};,則數(shù)組x在內(nèi)存中所占字節(jié)數(shù)是361020正確答案:D7.13以下能對二維數(shù)組c進行正確的初始化的語句是intc⑶口={⑶,⑶,⑷};intc[][3]={⑶,⑶,⑷};intc[3][2]={{3},⑶,⑷,{5}};一維數(shù)組的定義:類型說明符 數(shù)組名[常量表達式]數(shù)組名[下標]下標是整型常量或整型表達式一維數(shù)組的定義:類型說明符 數(shù)組名[常量表達式]數(shù)組名[下標]下標是整型常量或整型表達式Inta(3][3]={|l,2,3},{4,5.6},{7,8,9));分行賦初值正確答案:B14在C語言中,一維數(shù)組的定義方法為類型說明符數(shù)組名A)[常量表達式] /[常量]必須是整型B)[整型常量]C)[整型變量]D)[整型常量]或[整型表正式]正確答案:A若二維數(shù)組a有m列,則計算任一元素a[i][j]在數(shù)組中相對位置的公式為(假設(shè)a[0][0]位于數(shù)組的第一個位置上)i*m+jj*m+Ii*m+j+l正確答案:A卜.面程序輸出的結(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]);B)7530357D)591正確答案:B17以下不能對二維數(shù)組a進行正確初始化的語句是inta[2][3]={0};inta[][3]={{1,2},{0}};inta[2][3]={{1,2},{3,4},{5,6}};inta[][3]={1,2,3,4,5,6};正確答案:C18閱讀下面程序,則程序段的功能是ftinclude"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)對■數(shù)組元素的升序排列B)對數(shù)組元素的降序排列C)對數(shù)組元素的倒序排列D)對數(shù)組元素的隨機排列正確答案:B19下列選項中錯誤的說明語句是chara[]={'tz,'o','y','o','u'J\0"};chara[]={*toyou\0*};chara[]="toyou\0";chara[]='toyou\0';正確答案:D20下述對C語言字符數(shù)組的描述中錯誤的是A)字符數(shù)組的下標從0開始B)字符數(shù)組中的字符串可以進行整體輸入/輸出C)可以在賦值語句中通過賦值運算符“=”對字符數(shù)組整體賦值D)字符數(shù)組可以存放字符串正確答案:C閱讀下列程序,則在執(zhí)行后,程序的運行結(jié)果為Strcat(字符數(shù)組1,字符數(shù)組2);連接Eg:charstrl[]={"peoles"};charstr[]={"china"};printf{"%s",strcat(strl,str2)};

#include"stdio.h"#include“string』”main(){chara[30]="nicetomeetyou!strcpy(a+strlen(a)/2,"you");printf a);)nicetomeetyouyounicetomeetyouyounicetoyou正確答案:D現(xiàn)有如下程序段#include"stdio.h"main(){intk[30]={12,324,45,6,768,98,21,34,453,456);intcount=0,i=0;If語句執(zhí)行過程:表達式為真,執(zhí)行其后語句,然后再去執(zhí)行ifIf語句執(zhí)行過程:表達式為真,執(zhí)行其后語句,然后再去執(zhí)行if語句后面下一條的語句{if(k[i]%2==0IIk[i]%5==0)count++;i++;)printf(*%d,%d\n^,count,i);)則程序段的輸出結(jié)果為A)7,8B)8,8C)7,10D)8,10正確答案:D有如下定義語句:intaa口[3]={12,23,34,4,5,6,78,89,45}則45在數(shù)組aa中的行列坐標各為A)3,2B)3,1C)2,2D)2,1正確答案:C7.24現(xiàn)在有如下程序#include"stdio.h"main(){chars[80];inti,j;

gets(s);for(i=j=O;s[i]!='\0';i++)if(s[i]!='H')s[j]='\0z;puts(s);)這個程序段的功能是刪除輸入的字符串中字符'H',則空線上應(yīng)當添入的是s[j++]=s[i];j++;s[j]=s[i++]:j++;s[j++]=s[i];s[j]=s[i];正確答案:C7.25以下二維數(shù)組c的定義形式是intc[3][]floatc[3,4]doublec[3][4]floatc(3)(4)正確答案:C26已知:intc[3][4];則對數(shù)組元素引用正確的是c[1][4]c[1.5][0]c[1+0][0]D)以上表達都錯誤正確答案:C27若有以下語句,則正確的描述是chara[]="toyou”;charb[]={'t'o'y'o'u'};a數(shù)組和b數(shù)組的長度相同a數(shù)組長度小于b數(shù)組長度a數(shù)組長度大于b數(shù)組長度a數(shù)組等價于b數(shù)組正確答案:C7.28已知:chara[15],b[15]={"Ilovechina”};則在程序中能將字符串Ilovechina賦給數(shù)組a的正確語句是a=*Ilovechina”;strcpy(b,a);a=b;strcpy(a,b);正確答案:D7.29已知:chara[20]="abc”,b[20]="defghi”;則執(zhí)行下列語句后的輸出結(jié)果為printfstrlen(strcpy(a,b)));11

6C)5D)以上答案都不正確正確答案:B從左到右依次比較對應(yīng)字符完全相等返回零若不等則以第一對不等字符為準7.30閱讀如下程序段,則程序在先后輸入love和china后,輸出結(jié)果是#include#includemain()從左到右依次比較對應(yīng)字符完全相等返回零若不等則以第一對不等字符為準{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)沒有輸出結(jié)果正確答案:A7.31下面程序的功能是輸出數(shù)組s中最大元素的下標,請?zhí)羁?。main(){intk,p,s[]={1,-9,7,2,-10,3};for(p=0,k=p;p<6;p++)if(s[p]>s[k])[1]printf("%d\n”,k);}正確答案:k二p;7.32以下程序可把輸入的十進制數(shù)以十六進制數(shù)的形式輸出,請?zhí)羁?。main(){charb[17]:{"0123456789ABCDEF"};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:\nz,);for(-i;i>=0;-i){d=c[i];printfb[3]);)printf('\n");)正確答案:n°se[d]7.33以下程序的功能是:刪去一維數(shù)組中所有相同的數(shù),使之只剩一個。數(shù)組中的數(shù)已按由小到大的順序排列,函數(shù)返回刪除后數(shù)組中數(shù)據(jù)的個數(shù)。例如,若一維數(shù)組中的數(shù)據(jù)是:2223445666677899101010刪除后,數(shù)組中的內(nèi)容應(yīng)該是:2345678910o請?zhí)羁铡?include^defineN80intfun(inta[],intn){inti,j=l;for(i=l;iif(a[j-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;iprintfa[i]);n=fun(a,n);printf(*\nThedataafterdeleted:\n");for(i=0;iprintfa[i]);printf('\n\n");)正確答案:!=returnj7.34下列程序的輸出的結(jié)果是16],[7]omain(){inti,jrow,colum,m;staticintarray[3][3]={{100,200,300},{28,72,-30}{-850,2,6}};m=array[0][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,07.35下面程序是求出數(shù)組arr的兩條對角線上元素之和,請?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>=0;j—)if([10])b=b+arr[i][j];printf(*%d,%d\n*,a,b);}正確答案:i==jj=2i+j==28.1若已定義的函數(shù)有返|口|值,則以下關(guān)于該函數(shù)調(diào)用的敘述中錯誤的是A)函數(shù)調(diào)用可以作為獨立的語句存在B)函數(shù)調(diào)用可以作為一個函數(shù)的實參C)函數(shù)調(diào)用可以出現(xiàn)在表達式中D)函數(shù)調(diào)用可以作為一個函數(shù)的形參考生答案:正確答案:D8.2在調(diào)用函數(shù)時,如果實參是簡單的變量,它與對應(yīng)形參之間的數(shù)據(jù)傳遞方式是A)B)C)D)地址傳遞單向值傳遞山實參傳形參,再山形參傳實參傳遞方式由用戶指定考生答案:正確答案:B8.3以下正確的說法是一個源文件時一個編譯單位。以源文件為單位進行編譯,而不是以函數(shù)為單位進行編譯。一個C程序由一個或多個源程序組成。從main函數(shù)開始,調(diào)用后回歸main函數(shù)(系統(tǒng)定義)所有函數(shù)的部平行的相“獨立的不能嵌套號7但能嵌套調(diào)用用戶角度:庫函數(shù),用戶自定義函數(shù)A)B)C)定義函數(shù)時,形參的類型說明可以放在函數(shù)體內(nèi) 形式:無參,有參函數(shù)return后邊的值不能為表達式 類型標識符函數(shù)名()/函數(shù)名(形式參如果函數(shù)值的類型與返回值類型不一致,以函數(shù)值類型為準 數(shù)表列)聲明部分執(zhí)行部分D)如果形參與實參類型不一致,以實參類型為準考生答案:正確答案:C8.4以下正確的說法是A)用戶若需調(diào)用標準庫函數(shù),調(diào)用前必須重新定義B)用戶可以重新定義標準庫函數(shù),若如此,該函數(shù)將失去原有含義C)系統(tǒng)根本不允許用戶重新定義標準庫函數(shù)定義函數(shù)時的參數(shù)為形參不占內(nèi)存調(diào)用函數(shù)時的參數(shù)為實參D)用戶若需調(diào)用標準庫函數(shù),調(diào)用前不必使用預編譯命令將該函數(shù)所在文件包括到用戶源文件中,系統(tǒng)自動調(diào)用考生答案:正確答案:B8.5以下敘述正確的是定義函數(shù)時的參數(shù)為形參不占內(nèi)存調(diào)用函數(shù)時的參數(shù)為實參A)函數(shù)可以嵌套定義但不能嵌套調(diào)用B)函數(shù)既可以嵌套調(diào)用也可以嵌套定義C)函數(shù)既不可以嵌套定義也不可以嵌套調(diào)用D)函數(shù)可以嵌套調(diào)用但不可以嵌套定義考生答案:正確答案:D8.6下面對C語言的描述中,正確的是A)函數(shù)一定有返回值,否則無法使用函數(shù)B)C語言函數(shù)既可以嵌套定義又可以遞歸調(diào)用C)在C語言中,調(diào)用函數(shù)時,只能將實參的值傳遞給形參D)C語言程序中有調(diào)用關(guān)系的所有函數(shù)都必須放在同一源程序文件中考生答案:正確答案:C8.7下列說法中錯誤的是A)靜態(tài)局部變量的初值是在編譯時賦予的,在程序執(zhí)行期間不再賦予初值B)若全局變量和某一函數(shù)中的局部變量同名,則在該函數(shù)中,此全局變量被屏蔽C)靜態(tài)全局變量可以被其他的編輯單位所引用D)所有自動類局部變量的存儲單元都是在進入這些局部變量所在的函數(shù)體(或復合語句)時生成,退出其所在的函數(shù)體(或復合語句)時消失考生答案:正確答案:C8.8以下程序有語法錯誤,有關(guān)錯誤原因的正確說法是main(){intG=5,k;voidprt_char();k=prt_char(G);A)語句voidprtchar();有錯,它是函數(shù)調(diào)用語句,不能用void說明B)變量名不能使用大寫字母C)函數(shù)說明和函數(shù)調(diào)用語句之間有矛盾D)函數(shù)名不能使用下劃線考生答案:正確答案:C以下正確的函數(shù)頭定義形式是

doublefun(intx,inty)doublefun(intx;inty)doublefun(intx,inty);doublefun(intx,y);考生答案:正確答案:A以下所列的各函數(shù)首部中,正確的是voidplay(var:Integer,varb:Integer)voidplay(inta,b)voidplay(inta,intb)Subplay(aasinteger,basinteger)考生答案:正確答案:C8.11不合法的main函數(shù)命令行參數(shù)表示形式是A)main(inta,char*c[])main(intarc,char**arv)main(intargc,char*argv)main(intargv,char*argc口)考生答案:正確答案:C8.12下面函數(shù)調(diào)用語句含有實參的個數(shù)為func((expl,exp2),(exp3,exp4,exp5));1245考生答案:正確答案:B8.13設(shè)有如下函數(shù)fun(floatx){printf("\n%d”,x*x);)則函數(shù)的類型是A)與參數(shù)x的類型相同B)是voidC)是int型D)無法確定考生答案:正確答案: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)))程序運行后的輸出結(jié)果是A)編譯出錯9

219.0考生答案:正確答案:B8.15以下程序中函數(shù)sort的功能是對a數(shù)組中的數(shù)據(jù)進行由大到小的排序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("枇",st[i]);if(i<3){i+=2;func2(i);})voidfunc2(inti){printfst[i]);if(i<3){i+=2;funcl(i);}}main(){inti=0;fund(i);printf('\n");)hellohelhlohim考生答案:正確答案:C8.17以下函數(shù)返回a所指數(shù)組中最大值所在的下標值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]=a[i]p=j

p=I考生答案:正確答案:D8.18有以下程序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);)程序運行后的輸出結(jié)果是4321考生答案:正確答案:B19有如下程序:longfib(intn){if(n>2)return(fib(n-l)+fib(n-2));elsereturn(2);)main(){printf("%d\n”,fib(3));)該程序的輸出結(jié)果是2468考生答案:正確答案:B8.20下列函數(shù)的運行結(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=0;elsec="l;return(c);)-112D)編譯出錯,無法運行考生答案:正確答案:A8.21閱讀下列程序,當運行函數(shù)時,輸入asdafaaz67,則輸出為#include#include#includeintfun(char*str){inti,j=0;for(i=0;str[i]!='\0f;i++)if(str[i]!='')str[j++]=str[i];str[j]='\0,;)main(){charstr[81];intn;clrscr();printf(*Inputastring:;gets(str);puts(str);fun(str);printf(*%s\n*,str);)asdafaaz67asdafaaz67asdz67考生答案:正確答案:A22以下程序的輸出結(jié)果是longfun(intn)

{longs;if(n==l||n==2)s=2;elses=n-fun(n-l);returns;}main(){printf(*%ld\n*,fun(3));)1234考生答案:正確答案:A23已有變量定義和函數(shù)調(diào)用語句:inta=25;print_value(&a);下面函數(shù)的正確輸出結(jié)果是voidprint_value(int*x){printf(飛d\n”,++*x);}23242526考生答案:正確答案:D8.24卜.面程序應(yīng)能對兩個整型變量的值進行交換。以下正確的說法是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)該程序有錯,只要將語句swap(&a,&b);中的參數(shù)改為a,b即可C)該程序有錯,只要將swap()函數(shù)中的形參p和q以及t均定義為指針(執(zhí)行語句不變)即可D)以上說法都不對考生答案:正確答案: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編寫求兩個雙精度數(shù)之和的函數(shù),選項中正確的是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考生答案:正確答案:D29現(xiàn)有如下程序段#include“stdio.h"intaa(intx,inty);main(){inta=24,b=16,c;c=aa(a,b);printf c);}intaa(intx,inty){intw;while(y){w=x%y;x=y;y=w;

returnx;則程序段的輸出結(jié)果是8765考生答案:正確答案:A8.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é)果為^include"stdio.h"main(){fun3(funl(),fun2());}funl(){intk=20;returnk;)fun2(){inta=15;

returna;fun3(inta,intb){intk;k=(a-b)*(a+b);printf(*%d\n",k);)0184175D)編譯不通過考生答案:正確答案: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)隨機數(shù)B)80C)28D)14考生答案:正確答案:D8.34閱讀如下程序段,則程序段的執(zhí)行后的輸出結(jié)果為#include“stdio.h"main(){charc;inti;charcount();intp(char);for(i=0;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考生答案:正確答案:B8.36當調(diào)用函數(shù)時,實參是一個數(shù)組名,則向函數(shù)傳遞的是【1】。A考生答案:正確答案:數(shù)組的首地址8.37函數(shù)fun的功能是:根據(jù)以下公式求p的值,結(jié)果由函數(shù)值返回。m與n為兩個正數(shù)且要求m>no例如:m=12,n=8時,運行結(jié)果應(yīng)該是495.000000。請在題目的空白處填寫適當?shù)某绦蛘Z句,將該程序補充完整。ttinclude#includefloatfun(int叫intn){inti;doublep=L0;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é)果是voidfun()staticinta=0;a+=2;printf(飛d”,a);}main()intcc;for(cc=l;cc<4;cc++)fun();printf('\n");

}A考生答案:正確答案:2468.39以下程序運行結(jié)果是【5】。longfib(intg){switch(g){case0:return0;case1:case2:return1;}return(fib(g-1)+fib(g-2));)main(){longk;k=fib(5);printf("k=%(d\n)”,k);)A考生答案:正確答案:k=58.40以下程序的輸出結(jié)果是【61unsignedfun6(unsignednum){unsignedk=l;do{k*=num;num/=10;}while(num);returnk;)main(){unsignedn=26;printf("%d\n”,fun6(n));)A考生答案:正確答案:128.41以下函數(shù)的功能是[7Lfloatav(a,n)floata[];intn;{inti;floats;for(i=0,s=0;ireturns/n;}A考生答案:正確答案:求出數(shù)組元素平均值42下面的函數(shù)fun的功能是將形參x的值轉(zhuǎn)換成二進制數(shù),所得二進制數(shù)的每一位放在一維數(shù)組中返回,二進制的最低位放在下標為0的元素中,其他依次類推,清填空。

fun(intx,intb[]){intk=0,r;do{r=x%[8];b[[9]]=r;x/=[10];}while(x);)正確答案:2正確答案:k++正確答案:2下面函數(shù)的功能是將一個字符串的內(nèi)容顛倒過來,請?zhí)羁?。voidfun(charstr口){inti,j,[11];for(i=0,j=[12];i{k=str[i];str[i]=str[j];str[j]=k;))正確答案:k正確答案:strlen(str)-1現(xiàn)有如下程序段,則程序段的輸出結(jié)果為[13]o#include"stdio.h"intfun(){staticintk;returnk;)main(){intm;m=fun();printf m);}A考生答案:正確答案:08.45下面函數(shù)是一個求階乘的遞歸調(diào)用函數(shù)。請?zhí)羁?。intfun(intk){if(k=l)[14];elsereturn([15]);)正確答案:return1正確答案:k*fun(k-l)9.1有以下程序

#defineF(X,Y)(X)*(Y)main(){inta=3,b=4;printf("%d\n”,F(a++,b++));)程序運行后的輸出結(jié)果是A)12B)15C)16D)20正確答案:A9.2以下敘述中不正確的是A)預處理命令行都必須以#號開始B)在程序中凡是以#號開始的語句行都是預處理命令行C)宏替換不占用運行時間,只占編譯時間宏定義:#definemu(x,y)(x*y)帶形參宏名形參表字符串#defines3.141516不帶參include"文件名"D)在以下定義是正確的:#definePI3.宏定義:#definemu(x,y)(x*y)帶形參宏名形參表字符串#defines3.141516不帶參include"文件名"for(i=l;i〈=NUM;i++)printfC%d\n",i);}該程序中的for循環(huán)執(zhí)行的次數(shù)是A)5B)6C)7D)8正確答案:B以下程序的運行結(jié)果是#defineMIN(x,y)(x)<(y)?(x):(y)main(){inti=10,j=15,k;k=10*MIN(i,j);printf("%d\n',k);}A)10B)15C)100D)150

考生答案:正確答案:B有如下定義^defineD2intx=5;floaty=3.83;charc=/D';則下面選項中錯誤的是x++;y++;C++;D++;正確答案:D以下程序段的執(zhí)行結(jié)果為#definePLUS(X,Y)X+Ymain(){intx=l,y=2,z=3,sum;sum=PLUS(x+y,z)*PLUS(y,z);printf("SUM=%d”,sum);)A)SUM=9B)SUM=12C)SUM=18D)SUM=28正確答案:B下列程序的輸出結(jié)果是#include"stdio.h"#defineM(x,y)x%ymain(){inta,m=12,n=100;a=M(n,m);printf a—);}2345正確答案:C閱讀下列程序段,則程序的輸出結(jié)果為#include"stdio.h"^defineM(X,Y)(X)*(Y)^defineN(X,Y)(X)/(Y)main(){inta=5,b=6,c=8,k;k=N(M(a,b),c);\printf("%d\n”,k);

3568正確答案:A已知#defineM2;的宏定義,執(zhí)行語句1<=乂*5;后,k的值是1052D)以上答案都不對正確答案:D9.10以下關(guān)于宏替換敘述中,錯誤的是A)宏替換占用編譯時間B)替換文本中可以包含已定義過的宏名C)宏名可以由+號組成D)宏替換只能是字符替換正確答案:C11設(shè)有如下宏定義ttdefineMYSWAP(z,x,y){z=x;x=y;y=z;}以下程序段通過宏調(diào)用實現(xiàn)變量a,b內(nèi)容交換,請?zhí)羁?。floata=5,b=16,c;MYSWAP([1],a,b);正確答案:c9.12以下程序的輸出結(jié)果為[2]?ttdefineJFT(x)x*x\ ,main° K+1*K+1=9{inta,k=3;a=++JFT(k+1);printfa);}正確答案:913以下程序的輸出結(jié)果是[3】o^defineMAX(x,y)(x)>(y)?(x):(y)main(){inta=5,b=2,c=3,d=3,t;t=MAX(a+b,c+d)*10;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論