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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

數組c語言考試題庫第一部分單選題(50題)1、以下關于指針數組和數組指針的說法正確的是?()

A.指針數組是數組,元素為指針

B.數組指針是指針,指向數組

C.int*arr[5]是指針數組,int(*arr)[5]是數組指針

D.以上都正確

【答案】:答案解析:A、B、C均準確區(qū)分了指針數組和數組指針,故選D。2、若intx=3,y=5;則表達式x>y?x:y的結果是?()

A.3

B.5

C.true

D.false

【答案】:答案解析:三元運算符格式“條件?值1:值2”,x>y為假,取y=5,故選B。3、若inti=0;執(zhí)行for(i=0;i<5;i++){if(i==2)continue;printf("%d",i);}輸出結果是?()

A.0134

B.01234

C.01

D.無限循環(huán)

【答案】:答案解析:i=2時執(zhí)行continue,跳過printf,輸出0134,故選A。4、函數返回值通過______語句返回?()

A.printf

B.scanf

C.return

D.break

【答案】:答案解析:return語句用于函數返回值,printf輸出,scanf輸入,break跳出循環(huán)/switch,故選C。5、函數調用時,實參的順序必須與形參的順序?()

A.一致

B.相反

C.無關

D.部分一致

【答案】:答案解析:實參和形參需按順序一一對應(類型、個數、順序匹配),否則可能導致邏輯錯誤,故選A。6、以下函數參數為指針的是?()

A.voidfun(int*a){}

B.voidfun(inta){}

C.voidfun(inta[]){}

D.A和C

【答案】:答案解析:A是指針參數,C數組名參數本質是指針,B是值參數,故選D。7、若inta=10,p=&a;則p的值是?()

A.10

B.&a

C.p

D.無定義

【答案】:答案解析:*p是解引用,->用于結構體指針訪問成員,.用于結構體變量訪問成員,故選B。8、若inti=0;執(zhí)行for(i=0;i<5;i++){if(i==3)break;printf("%d",i);}輸出結果是?()

A.012

B.0123

C.01234

D.無輸出

【答案】:答案解析:i=3時break,輸出012,故選A。9、若charstr="Clanguage";則(str+2)的值是?()

A.'C'

B.''

C.'l'

D.'a'

【答案】:答案解析:str+2指向第三個字符,值為'l',故選C。10、函數參數傳遞中,值傳遞適用于?()

A.簡單變量,無需修改實參

B.數組,需修改元素

C.指針,需修改實參

D.結構體,需修改成員

【答案】:答案解析:值傳遞用于簡單變量(不修改實參),地址傳遞用于需修改實參的場景,故選A。11、函數參數傳遞中,地址傳遞的特點是?()

A.形參是實參的副本

B.形參修改不影響實參

C.傳遞的是變量地址

D.用于簡單變量傳參

【答案】:答案解析:地址傳遞(指針)傳遞變量地址,形參通過地址修改實參值,值傳遞是副本,故選C。12、以下函數調用正確的是?()

A.fun();

B.fun(1,2);

C.fun("test");

D.取決于函數定義

【答案】:答案解析:函數調用是否正確取決于函數定義(參數類型、個數),A、B、C均可能正確,故選D。13、以下關于函數的說法錯誤的是?()

A.函數可嵌套調用

B.函數可遞歸調用

C.函數可重定義

D.函數可聲明多次

【答案】:答案解析:C函數名不能重定義(重復定義編譯報錯),A、B、D正確,故選C。14、若inta[5];則數組a的元素個數是?()

A.4

B.5

C.6

D.不確定

【答案】:答案解析:數組a[5]定義5個元素(下標0-4),故選B。15、若inta=3,b=4;則表達式ab++的值是?()

A.12

B.15

C.16

D.7

【答案】:答案解析:b++是后置自增,先參與運算(ab=3*4=12),再自增(b變?yōu)?),故選A。16、若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。17、以下if語句中,賦值表達式作為條件的是?()

A.if(x==3)

B.if(x=3)

C.if(x>3)

D.if(x!=3)

【答案】:答案解析:x=3是賦值表達式,結果為3(非0,真),其余是判斷表達式,故選B。18、若intx=5;執(zhí)行以下代碼后輸出結果是?()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。19、若inta=5,p=&a;執(zhí)行p=8;后a的值是?()

A.5

B.8

C.&a

D.無定義

【答案】:答案解析:*p=8通過指針修改指向變量a的值,a變?yōu)?,故選B。20、下列變量定義語法正確的是?()

A.inta=5;

B.inta=b=5;

C.int5a;

D.inta;b;

【答案】:答案解析:B不能連續(xù)賦值定義,C標識符開頭錯誤,D分號分隔需分別定義(inta;intb;),故選A。21、以下定義指向數組的指針正確的是?()

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

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

C.inta[5],p=a;

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

【答案】:答案解析:a是數組名(首元素地址),p=a等價于p=&a[0],B&a是數組地址(類型不匹配),Cp是普通變量,Dp不能賦a[0]的值,故選A。22、指針變量的大小取決于?()

A.指向變量的類型

B.編譯器和系統(tǒng)(32位4字節(jié),64位8字節(jié))

C.指針變量的名稱

D.變量的值

【答案】:答案解析:指針大小與指向類型無關,取決于系統(tǒng)位數(32位4B,64位8B),故選B。23、以下關于函數參數的說法正確的是?()

A.形參是函數定義時的變量

B.實參是函數調用時的變量/常量

C.形參和實參類型需匹配

D.以上都正確

【答案】:答案解析:A、B、C均是函數參數的基本規(guī)則,故選D。24、do-while循環(huán)的特點是?()

A.先判斷條件,后執(zhí)行循環(huán)體

B.先執(zhí)行循環(huán)體,后判斷條件

C.條件不滿足時也不執(zhí)行循環(huán)體

D.只能執(zhí)行一次

【答案】:答案解析:do-while是“先執(zhí)行后判斷”,至少執(zhí)行一次循環(huán)體,for和while是“先判斷后執(zhí)行”,故選B。25、若intx=6;執(zhí)行if(x<5)printf("A");else{printf("B");printf("C");}輸出結果是?()

A.A

B.BC

C.ABC

D.無輸出

【答案】:答案解析:x=6不滿足if,執(zhí)行else代碼塊,輸出BC,故選B。26、C語言中基本數據類型不包括以下哪項?()

A.char

B.int

C.float

D.array

【答案】:答案解析:基本數據類型為char、int、float、double,array是數組(構造類型),故選D。27、函數參數的默認值在______指定?()

A.函數定義時

B.函數聲明時

C.函數調用時

D.C語言不支持默認參數

【答案】:答案解析:標準C語言不支持函數參數默認值(C++支持),故選D。28、若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。29、以下二維數組初始化正確的是?()

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

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

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

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

【答案】:答案解析:A行數超2,B元素不足6個(補0),C標準初始化,D元素超6個,故選C。30、以下if語句語法正確的是?()

A.if(x>0)printf("yes");

B.ifx>0printf("yes");

C.if(x>0);printf("yes");

D.if(x>0){printf("yes")}

【答案】:答案解析:if后條件需加括號,B缺少括號,C分號導致語句結束,D缺少分號,故選A。31、continue語句只能用于以下哪種結構?()

A.循環(huán)語句

B.switch語句

C.if語句

D.所有結構

【答案】:答案解析:continue僅用于循環(huán)語句(for/while/do-while),用于跳過本次循環(huán),故選A。32、若inta=8;執(zhí)行if(a%4==0)a=a/2;elsea=a+2;后a的值是?()

A.4

B.10

C.8

D.6

【答案】:答案解析:8%4=0,條件為真,a=8/2=4,故選A。33、若int*p=(int)malloc(sizeof(int));則p的值是?()

A.0

B.隨機值

C.1

D.無定義

【答案】:答案解析:malloc分配的內存未初始化,值為隨機值,故選B。34、以下switch語句中,break語句的位置正確的是?()

A.case后任意位置

B.必須在case代碼最后

C.必須在default后

D.不能在default后

【答案】:答案解析:break可在case代碼任意位置(執(zhí)行到break即跳出),不一定在最后,default后也可加break,故選A。35、while循環(huán)的語法格式正確的是?()

A.while(條件)語句;

B.while條件語句;

C.while(條件);語句;

D.while(條件){語句}

【答案】:答案解析:while后條件需加括號,語句可是單條(加分號)或代碼塊(用{}),D缺少分號,故選A。36、若inta[4]={10,20,30,40};則*(a+2)的值是?()

A.20

B.30

C.40

D.10

【答案】:答案解析:a+2是第三個元素地址,*(a+2)=a[2]=30,故選B。37、以下關于函數遞歸的說法錯誤的是?()

A.必須有終止條件

B.可能導致棧溢出

C.效率比循環(huán)高

D.代碼簡潔

【答案】:答案解析:遞歸調用會創(chuàng)建棧幀,效率低于循環(huán),A、B、D正確,C錯誤,故選C。38、以下if語句的語法正確的是?()

A.if(x>0){printf("a");elseprintf("b");}

B.if(x>0)printf("a");else{printf("b");}

C.if(x>0)printf("a");elseprintf("b");}

D.if(x>0){printf("a");}elseprintf("b");}

【答案】:答案解析:A缺少},C多},D多},B語法正確(else后{}可加可不加),故選B。39、若inta=10,*p=&a;則sizeof(p)的值是?()

A.4

B.8

C.取決于系統(tǒng)

D.10

【答案】:答案解析:sizeof(p)是指針大小,32位系統(tǒng)4字節(jié),64位8字節(jié),故選C。40、以下哪個不是C語言的關鍵字?()

A.if

B.else

C.then

D.for

【答案】:答案解析:then不是C語言關鍵字,if(條件)、else(否則)、for(循環(huán))均是,故選C。41、以下關于函數參數的說法正確的是?()

A.形參是局部變量

B.實參是局部變量

C.形參在函數調用后釋放

D.實參在函數調用后釋放

【答案】:答案解析:形參是函數內局部變量(調用時分配內存,調用結束釋放),實參是主調函數中的變量(生命周期與主調函數一致),故選A。42、下列字符串常量定義正確的是?()

A.'abc'

B."abc"

C.abc

D."a""b"

【答案】:答案解析:字符串常量用雙引號包裹,單引號用于字符常量,C是標識符,D語法錯誤,故選B。43、若charstr="hello";則str[1]的值是?()

A.'h'

B.'e'

C.'l'

D.'\0'

【答案】:答案解析:str是字符串首地址,str[1]等價于(str+1),值為'e',故選B。44、以下定義指向二維數組的指針正確的是?()

A.inta[2][3],(*p)[3]=a;

B.inta[2][3],*p=a;

C.inta[2][3],p=a[0];

D.inta[2][3],*p=&a;

【答案】:答案解析:A是指向3列數組的指針(匹配二維數組a的行),B、C、D類型不匹配,故選A。45、以下數組定義錯誤的是?()

A.inta[0];

B.inta[5];

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

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

【答案】:答案解析:數組長度不能為0,編譯報錯,其余正確,故選A。46、以下哪個for循環(huán)是無限循環(huán)?

溫馨提示

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

評論

0/150

提交評論