數(shù)組c語言考試題庫(各地真題)_第1頁
數(shù)組c語言考試題庫(各地真題)_第2頁
數(shù)組c語言考試題庫(各地真題)_第3頁
數(shù)組c語言考試題庫(各地真題)_第4頁
數(shù)組c語言考試題庫(各地真題)_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

數(shù)組c語言考試題庫第一部分單選題(50題)1、以下二維數(shù)組定義正確的是?()

A.inta[2][3];

B.inta[2][];

C.inta[][3]={1,2,3,4,5,6};

D.inta[2][3]={1,2,3,4,5,6,7};

【答案】:答案解析:B第二維不能省略,C第一維可省略(自動計算為2),D初始化元素超6個(2×3=6),A標(biāo)準(zhǔn)定義正確,故選A。2、若inta=10;執(zhí)行if(a%2==0)printf("偶數(shù)");elseprintf("奇數(shù)");輸出結(jié)果是?()

A.偶數(shù)

B.奇數(shù)

C.10

D.無輸出

【答案】:答案解析:a=10%2=0,條件為真,輸出偶數(shù),故選A。3、若inti=0;執(zhí)行do{printf("%d",i);i++;}while(i<0);輸出結(jié)果是?()

A.0

B.無輸出

C.無限循環(huán)

D.01

【答案】:答案解析:do-while先執(zhí)行一次(輸出0,i=1),判斷i<0為假,循環(huán)結(jié)束,故選A。4、C語言中,宏定義的預(yù)處理命令關(guān)鍵字是?()

A.include

B.define

C.ifdef

D.endif

【答案】:答案解析:#define用于宏定義,#include用于包含頭文件,#ifdef/endif是條件編譯,故選B。5、若inta=10,b=20,*p=&a,q=&b;執(zhí)行p=q;后p的值是?()

A.10

B.20

C.&a

D.&b

【答案】:答案解析:p=q使p指向b,*p=b=20,故選B。6、以下哪個是C語言中的賦值運算符?()

A.==

B.=

C.+=

D.!=

【答案】:答案解析:=是賦值運算符,==是等于判斷,+=是復(fù)合賦值,!=是不等于判斷,故選B。7、以下關(guān)于指針的說法正確的是?()

A.指針可用于實現(xiàn)多返回值函數(shù)

B.指針可提高程序效率

C.指針可用于動態(tài)內(nèi)存分配

D.以上都正確

【答案】:答案解析:指針的核心用途包括多返回值、高效訪問、動態(tài)內(nèi)存分配,故選D。8、若inta[5]={10,20,30,40,50};則a[4]的值是?()

A.40

B.50

C.60

D.無定義

【答案】:答案解析:a[4]是第五個元素,值為50,故選B。9、若inta[4]={1,2,3,4};則a[3]的值是?()

A.3

B.4

C.1

D.2

【答案】:答案解析:a[3]是第四個元素,值為4,故選B。10、以下函數(shù)定義中,參數(shù)為兩個int類型的是?()

A.voidfun(inta,floatb){}

B.voidfun(inta,intb){}

C.voidfun(floata,intb){}

D.voidfun(inta,charb){}

【答案】:答案解析:B中兩個參數(shù)均為int類型,其余選項參數(shù)類型不匹配,故選B。11、若intx=5;執(zhí)行以下代碼后輸出結(jié)果是?()if(x>10)printf("A");elseif(x>6)printf("B");elseif(x>3)printf("C");elseprintf("D");

A.A

B.B

C.C

D.

【答案】:答案解析:x=5>3,執(zhí)行第三個分支,輸出C,故選C。12、若inta=4;執(zhí)行a-=2;后a的值是?()

A.2

B.4

C.6

D.0

【答案】:答案解析:a-=2等價于a=a-2,4-2=2,故選A。13、若inta=4;執(zhí)行if(a--<4)printf("A");elseprintf("B");輸出結(jié)果是?()

A.A

B.B

C.AB

D.無輸出

【答案】:答案解析:a--是后置自減,條件判斷時a=4,4<4為假,執(zhí)行else(輸出B),后a變?yōu)?,故選B。14、以下關(guān)于指針的說法錯誤的是?()

A.指針可指向變量、數(shù)組、函數(shù)

B.指針可進(jìn)行算術(shù)運算(如++、--)

C.指針可指向自身

D.指針可用于動態(tài)內(nèi)存分配

【答案】:答案解析:指針不能指向自身(類型不匹配),A、B、D說法正確,故選C。15、二維數(shù)組a[2][3]在內(nèi)存中存儲的順序是?()

A.a[0][0],a[0][1],a[0][2],a[1][0],a[1][1],a[1][2]

B.a[0][0],a[1][0],a[0][1],a[1][1],a[0][2],a[1][2]

C.隨機(jī)順序

D.按列存儲

【答案】:答案解析:二維數(shù)組按行優(yōu)先連續(xù)存儲,順序為第一行所有元素,再第二行,故選A。16、以下for循環(huán)的循環(huán)變量初始化表達(dá)式為“i=5”的是?()

A.for(i=0;i<5;i++)

B.for(i=5;i>0;i--)

C.for(i=2;i<=5;i++)

D.for(i=5;i<10;i+=2)

【答案】:答案解析:初始化表達(dá)式是for循環(huán)第一個部分,B中i=5符合,其余初始化非5,故選B。17、以下函數(shù)遞歸調(diào)用的例子是?()

A.計算階乘

B.循環(huán)輸出數(shù)字

C.數(shù)組遍歷

D.變量交換

【答案】:答案解析:階乘常用遞歸實現(xiàn)(n!=n*(n-1)!),B、C、D用循環(huán)更高效,故選A。18、若inti;執(zhí)行for(i=0;i<5;i++)printf("%d",i);輸出結(jié)果是?()

A.01234

B.12345

C.012345

D.無輸出

【答案】:答案解析:for循環(huán)初始化i=0,條件i<5(成立時執(zhí)行),每次循環(huán)后i++,執(zhí)行5次,輸出01234,故選A。19、以下關(guān)于數(shù)組的說法錯誤的是?()

A.數(shù)組元素必須是同一類型

B.數(shù)組長度必須是常量

C.數(shù)組可在函數(shù)內(nèi)定義

D.數(shù)組可整體賦值

【答案】:答案解析:數(shù)組不能用“=”整體賦值,需逐個元素或循環(huán)賦值,A、B、C正確,故選D。20、以下哪個函數(shù)用于輸出字符串?()

A.putchar()

B.printf()

C.gets()

D.scanf()

【答案】:答案解析:printf()可輸出字符串(如printf("hello");),putchar()輸出單個字符,故選B。21、若charstr="hello";則str[1]的值是?()

A.'h'

B.'e'

C.'l'

D.'\0'

【答案】:答案解析:str是字符串首地址,str[1]等價于(str+1),值為'e',故選B。22、函數(shù)嵌套調(diào)用是指?()

A.函數(shù)調(diào)用自身

B.函數(shù)調(diào)用另一個函數(shù)

C.函數(shù)定義中包含另一個函數(shù)

D.多個函數(shù)互相調(diào)用

【答案】:答案解析:嵌套調(diào)用是函數(shù)A調(diào)用函數(shù)B,函數(shù)B調(diào)用函數(shù)C,遞歸是調(diào)用自身,故選B。23、以下定義指向字符串的指針正確的是?()

A.char*str="hello";

B.charstr[]="hello";

C.char(*str)[]="hello";

D.charstr[5]="hello";

【答案】:答案解析:A是指向字符串常量的指針,B是字符數(shù)組,C是數(shù)組指針(類型不匹配),D長度不足(含\0需6字節(jié)),故選A。24、以下switch語句中,case后的常量可以是?()

A.整數(shù)

B.字符

C.枚舉常量

D.以上都可以

【答案】:答案解析:switch的case后必須是整型常量(整數(shù)、字符、枚舉常量,字符本質(zhì)是ASCII碼整數(shù)),故選D。25、以下循環(huán)中,用于計算1到10的乘積的是?()

A.s=0;for(i=1;i<=10;i++)s+=i;

B.s=1;for(i=1;i<=10;i++)s*=i;

C.s=0;while(i<=10){s*=i;i++;}

D.s=1;do{s+=i;i++;}while(i<=10);

【答案】:答案解析:乘積初始值為1,累加初始值為0,B的邏輯是12...*10,正確,故選B。26、以下數(shù)組初始化錯誤的是?()

A.inta[5]={0};

B.inta[]={1,2,3};

C.inta[5]={1,2,3};

D.inta[5]={1,2,3,4,5,6};

【答案】:答案解析:D初始化元素個數(shù)超數(shù)組長度(5),編譯報錯,A、B、C正確,故選D。27、若intx=1;執(zhí)行switch(x){case1:printf("1");break;case1:printf("2");break;}會出現(xiàn)什么情況?()

A.輸出1

B.輸出2

C.編譯錯誤

D.運行錯誤

【答案】:答案解析:case后常量不能重復(fù),編譯時會報錯,故選C。28、以下if語句中,條件表達(dá)式正確的是?()

A.if(x=5)printf("yes");

B.if(x==5)printf("yes");

C.if(x=5;)printf("yes");

D.if(x==5;)printf("yes");

【答案】:答案解析:if條件需是判斷表達(dá)式(==),A是賦值,C、D多加分號,故選B。29、以下數(shù)組初始化中,未賦值元素默認(rèn)為0的是?()

A.inta[5]={1,2,3};

B.charstr[5];

C.inta[5];

D.以上都是

【答案】:答案解析:全局?jǐn)?shù)組未初始化默認(rèn)為0,局部數(shù)組未初始化是隨機(jī)值,A初始化部分元素,未賦值默認(rèn)為0,故選A。30、若inti=0,s=0;執(zhí)行for(i=0;i<4;i++)s+=i;后s的值是?()

A.6

B.10

C.4

D.0

【答案】:答案解析:累加0+1+2+3=6,s=6,故選A。31、若intx=2;執(zhí)行switch(x){case1:printf("a");case2:printf("b");case3:printf("c");}輸出結(jié)果是?()

A.b

B.bc

C.abc

D.無輸出

【答案】:答案解析:x=2匹配case2,無break,穿透到case3,輸出bc,故選B。32、若inta=2;執(zhí)行a*=a+3;后a的值是?()

A.7

B.10

C.14

D.5

【答案】:答案解析:a*=a+3等價于a=a*(a+3)=2*(2+3)=10,故選B。33、以下轉(zhuǎn)義字符表示換行的是?()

A.\t

B.\n

C.\

D.\r

【答案】:答案解析:\t是制表符,\n是換行符,\是反斜杠,\r是回車符,故選B。34、數(shù)組作為函數(shù)參數(shù)時,函數(shù)中修改數(shù)組元素會影響主調(diào)函數(shù)中的數(shù)組嗎?()

A.會(指針傳遞)

B.不會(值傳遞)

C.取決于數(shù)組長度

D.不確定

【答案】:答案解析:數(shù)組名傳參是指針傳遞,函數(shù)中通過指針修改元素會同步到主調(diào)函數(shù)數(shù)組,故選A。35、以下定義指向數(shù)組的指針正確的是?()

A.inta[5],*p=a;

B.inta[5],*p=&a;

C.inta[5],p=a;

D.inta[5],*p=a[0];

【答案】:答案解析:a是數(shù)組名(首元素地址),p=a等價于p=&a[0],B&a是數(shù)組地址(類型不匹配),Cp是普通變量,Dp不能賦a[0]的值,故選A。36、以下switch語句中,break語句的位置正確的是?()

A.case后任意位置

B.必須在case代碼最后

C.必須在default后

D.不能在default后

【答案】:答案解析:break可在case代碼任意位置(執(zhí)行到break即跳出),不一定在最后,default后也可加break,故選A。37、以下關(guān)于指針數(shù)組的定義正確的是?()

A.int*arr[5];

B.int(*arr)[5];

C.intarr[5];

D.intarr[];

【答案】:答案解析:A是指針數(shù)組(5個int指針),B是指向數(shù)組的指針,C是普通數(shù)組,D缺少長度,故選A。38、若inti=1;執(zhí)行do{printf("%d",i);i++;}while(i<=0);輸出結(jié)果是?()

A.1

B.無輸出

C.無限循環(huán)

D.12

【答案】:答案解析:do-while先執(zhí)行一次(輸出1,i=2),再判斷i<=0為假,循環(huán)結(jié)束,故選A。39、以下函數(shù)調(diào)用錯誤的是?()

A.fun();

B.fun(5);

C.fun(3,4);

D.無錯誤(需看函數(shù)定義)

【答案】:答案解析:調(diào)用需匹配函數(shù)定義,A對應(yīng)無參函數(shù),B對應(yīng)單參函數(shù),C對應(yīng)雙參函數(shù),均可能正確,故選D。40、函數(shù)返回值的類型與return語句中表達(dá)式類型不一致時,會?()

A.編譯錯誤

B.自動強制轉(zhuǎn)換為函數(shù)返回類型

C.程序崩潰

D.無影響

【答案】:答案解析:編譯器會將return表達(dá)式類型強制轉(zhuǎn)換為函數(shù)返回類型(可能丟失精度),不報錯,故選B。41、C語言程序的基本單位是?()

A.語句

B.函數(shù)

C.變量

D.表達(dá)式

【答案】:答案解析:C程序由函數(shù)構(gòu)成,main是入口函數(shù),其他函數(shù)實現(xiàn)功能,故選B。42、若inti=0;執(zhí)行do{i++;printf("%d",i);}while(i<3);輸出結(jié)果是?()

A.123

B.012

C.12

D.無輸出

【答案】:答案解析:do-while先執(zhí)行,i從1到3,輸出123,故選A。43、若intx=3;執(zhí)行以下代碼后a的值是?()inta;if(x>5)a=10;elseif(x>2)a=20;elsea=30;

A.10

B.20

C.30

D.無定義

【答案】:答案解析:x=3>2,執(zhí)行第二個分支,a=20,故選B。44、指針作為函數(shù)參數(shù)時,傳遞的是?()

A.指針的值

B.指針的地址

C.變量的值

D.變量的地址

【答案】:答案解析:指針傳參本質(zhì)是傳遞變量地址,函數(shù)中通過指針可修改實參值,故選D。45、以下函數(shù)聲明中,返回類型為float的是?()

A.floatfun();

B.voidfun(floata);

C.intfun(floata);

D.charfun(floata);

【答案】:答案解析:A返回類型為float,B無返回值,C返回類型int,D返回類型char,故選A。46、以下關(guān)于二維數(shù)組的說法正確的是?()

A.二維數(shù)組是數(shù)組的數(shù)組

B.二維數(shù)組元素在內(nèi)存中按列存儲

C.二維數(shù)組長度必須是常量

D.二維數(shù)組不能作為函數(shù)參數(shù)

【答案】:答案解析:二維數(shù)組本質(zhì)是數(shù)組的數(shù)組,內(nèi)存按行存儲,可作為函數(shù)參數(shù),長度需常量,故選A。47、以下if-else語句中

溫馨提示

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

最新文檔

評論

0/150

提交評論