c語言算法考試題庫完美版_第1頁
c語言算法考試題庫完美版_第2頁
c語言算法考試題庫完美版_第3頁
c語言算法考試題庫完美版_第4頁
c語言算法考試題庫完美版_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

c語言算法考試題庫第一部分單選題(50題)1、若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。2、若inta=10,p=&a;則p的值是?()

A.10

B.&a

C.p

D.無定義

【答案】:答案解析:*p是解引用,->用于結(jié)構(gòu)體指針訪問成員,.用于結(jié)構(gòu)體變量訪問成員,故選B。3、若inta=10,*p=&a,q=p;則q的值是?()

A.10

B.&a

C.p

D.無定義

【答案】:答案解析:q=p使q指向a,*q=10,故選A。4、若intx=4;執(zhí)行if(x++>4)printf("A");elseprintf("B");輸出結(jié)果是?()

A.A

B.B

C.AB

D.無輸出

【答案】:答案解析:x++是后置自增,條件判斷時x=4,4>4為假,執(zhí)行else(輸出B),后x變?yōu)?,故選B。5、C語言中,注釋的正確寫法是?()

A.//單行注釋

B./*多行注釋/

C.--注釋

D.A和B

【答案】:答案解析:C語言支持//單行注釋和/...*/多行注釋,--不是注釋符號,故選D。6、二維數(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.隨機順序

D.按列存儲

【答案】:答案解析:二維數(shù)組按行優(yōu)先連續(xù)存儲,順序為第一行所有元素,再第二行,故選A。7、若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。8、若inti=0;執(zhí)行for(i=0;i<5;i++){if(i%2==0)continue;printf("%d",i);}輸出結(jié)果是?()

A.13

B.024

C.01234

D.無輸出

【答案】:答案解析:i為偶數(shù)(0、2、4)時continue,輸出奇數(shù)1、3,故選A。9、指針變量的大小取決于?()

A.指向變量的類型

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

C.指針變量的名稱

D.變量的值

【答案】:答案解析:指針大小與指向類型無關(guān),取決于系統(tǒng)位數(shù)(32位4B,64位8B),故選B。10、以下函數(shù)定義正確的是?()

A.voidfun(){printf("hello");}

B.voidfun(inta){printf("%d",a);}

C.intfun(){return5;}

D.以上都正確

【答案】:答案解析:A無參無返回值,B有參無返回值,C無參有返回值,均符合語法,故選D。11、函數(shù)定義在main函數(shù)之后時,必須先?()

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

B.聲明函數(shù)

C.定義函數(shù)

D.無要求

【答案】:答案解析:main函數(shù)調(diào)用其他函數(shù)時,若函數(shù)定義在main之后,需先聲明(否則編譯器找不到函數(shù)),故選B。12、數(shù)組元素的下標從______開始?()

A.0

B.1

C.-1

D.任意

【答案】:答案解析:C語言數(shù)組下標從0開始,是固定規(guī)則,故選A。13、若inti=0;執(zhí)行for(;i<5;){printf("%d",i);i++;}輸出結(jié)果是?()

A.01234

B.12345

C.無限循環(huán)

D.無輸出

【答案】:答案解析:for循環(huán)初始化和條件省略,循環(huán)體中i自增,執(zhí)行5次,輸出01234,故選A。14、若inta[3][4]={{1,2},{3,4,5},{6}};則a[0][1]的值是?()

A.1

B.2

C.3

D.4

【答案】:答案解析:a[0][1]是第一行第二列,值為2,故選B。15、以下字符串常量定義正確的是?()

A.charstr[]="C";

B.charstr[1]='C';

C.charstr[]={'C'};

D.charstr[2]={'C','\0'};

【答案】:答案解析:A用雙引號定義字符串(自動加\0),B單引號用于字符常量,C無\0,D長度2正確但A更簡潔,故選A。16、以下關(guān)于函數(shù)參數(shù)的說法正確的是?()

A.形參是局部變量

B.實參是局部變量

C.形參在函數(shù)調(diào)用后釋放

D.實參在函數(shù)調(diào)用后釋放

【答案】:答案解析:形參是函數(shù)內(nèi)局部變量(調(diào)用時分配內(nèi)存,調(diào)用結(jié)束釋放),實參是主調(diào)函數(shù)中的變量(生命周期與主調(diào)函數(shù)一致),故選A。17、若inta[4]={1,2,3,4},p=a;執(zhí)行p++后,*p的值是?()

A.1

B.2

C.3

D.4

【答案】:答案解析:*p++先解引用(值為1),再p自增(指向a[1]),*p=2,故選B。18、函數(shù)參數(shù)傳遞中,值傳遞的特點是?()

A.形參修改影響實參

B.形參是實參的副本

C.傳遞的是變量地址

D.用于數(shù)組傳參

【答案】:答案解析:值傳遞時形參是實參的拷貝,修改形參不影響實參,地址傳遞才影響實參,故選B。19、break語句不能用于以下哪種結(jié)構(gòu)?()

A.for循環(huán)

B.while循環(huán)

C.do-while循環(huán)

D.if語句

【答案】:答案解析:break可用于循環(huán)(for/while/do-while)和switch語句,不能用于if語句,故選D。20、以下關(guān)于函數(shù)遞歸的說法錯誤的是?()

A.必須有終止條件

B.可能導(dǎo)致棧溢出

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

D.代碼簡潔

【答案】:答案解析:遞歸調(diào)用會創(chuàng)建棧幀,效率低于循環(huán),A、B、D正確,C錯誤,故選C。21、以下關(guān)于空指針的定義正確的是?()

A.#defineNULL0

B.#defineNULL(void*)0

C.int*p=NULL;

D.以上都正確

【答案】:答案解析:A、B是NULL的常見定義,C是定義空指針,均正確,故選D。22、邏輯表達式!0的結(jié)果是?()

A.0

B.1

C.真

D.假

【答案】:答案解析:C語言中非0為真,!是邏輯非,!0(假)結(jié)果為1(真),故選B。23、若inti=0,s=0;執(zhí)行while(i<=3){s+=i2;i++;}后s的值是?()

A.12

B.6

C.8

D.10

【答案】:答案解析:累加02+12+22+3*2=0+2+4+6=12,s=12,故選A。24、以下關(guān)于函數(shù)的說法正確的是?()

A.函數(shù)必須有返回值

B.函數(shù)可嵌套定義

C.函數(shù)可遞歸調(diào)用

D.函數(shù)名可重定義

【答案】:答案解析:A函數(shù)可無返回值(void),B不能嵌套定義(可嵌套調(diào)用),D函數(shù)名不能重定義,C遞歸調(diào)用正確,故選C。25、若intx=10,y=20;則表達式x!=y的結(jié)果是?()

A.0

B.1

C.10

D.20

【答案】:答案解析:!=是不等于判斷,x!=y為真,C語言中真用1表示,故選B。26、若inta=6;執(zhí)行a/=3;后a的值是?()

A.2

B.3

C.6

D.18

【答案】:答案解析:a/=3等價于a=a/3=6/3=2,故選A。27、以下if語句中,賦值語句和判斷語句混淆的是?()

A.if(x==5)

B.if(x=5)

C.if(x!=5)

D.if(x>5)

【答案】:答案解析:x=5是賦值(將5賦給x),x==5是判斷(x是否等于5),B混淆了兩者,故選B。28、函數(shù)定義的格式是?()

A.返回類型函數(shù)名(參數(shù)列表){函數(shù)體}

B.函數(shù)名(返回類型,參數(shù)列表){函數(shù)體}

C.函數(shù)名(參數(shù)列表)返回類型{函數(shù)體}

D.返回類型函數(shù)名{參數(shù)列表,函數(shù)體}

【答案】:答案解析:函數(shù)定義標準格式為“返回類型函數(shù)名(參數(shù)列表){函數(shù)體}”,故選A。29、若inta=7,b=3;執(zhí)行if(a%b==1)a=0;elseb=0;后a和b的值分別是?()

A.0,3

B.7,0

C.0,0

D.7,3

【答案】:答案解析:7%3=1,條件為真,a=0,b保持3,故選A。30、以下for循環(huán)中,循環(huán)變量更新表達式為“i-=2”的是?()

A.for(i=10;i>0;i-=2)

B.for(i=0;i<10;i+=2)

C.for(i=10;i>0;i--)

D.for(i=0;i<10;i=2)

【答案】:答案解析:i-=2等價于i=i-2,A的更新表達式正確,故選A。31、若inta=3;執(zhí)行if(++a==4)printf("A");elseprintf("B");輸出結(jié)果是?()

A.A

B.B

C.AB

D.無輸出

【答案】:答案解析:++a使a=4,條件為真,輸出A,故選A。32、以下if-else語句的語法錯誤是?()

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

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

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

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

【答案】:答案解析:else后不能直接加分號(否則else無作用),C中else;后printf獨立執(zhí)行,故選C。33、若inta[5]={10,20,30,40,50};則a[2]的值是?()

A.10

B.20

C.30

D.40

【答案】:答案解析:數(shù)組下標從0開始,a[2]是第三個元素30,故選C。34、若inta[3][3]={{1},{2,3},{4,5,6}};則a[1][0]的值是?()

A.2

B.3

C.4

D.5

【答案】:答案解析:a[1][0]是第二行第一列,值為2,故選A。35、函數(shù)返回值通過______語句返回?()

A.printf

B.scanf

C.return

D.break

【答案】:答案解析:return語句用于函數(shù)返回值,printf輸出,scanf輸入,break跳出循環(huán)/switch,故選C。36、函數(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。37、若charstr[]="helloworld";則字符串長度是?()

A.10

B.11

C.12

D.13

【答案】:答案解析:"helloworld"含11個字符(不含\0),長度為11,故選B。38、以下if-else語句中,代碼塊正確的是?()

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

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

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

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

【答案】:答案解析:else需與最近的if匹配,A、C、D中else前有獨立printf,語法錯誤,B用{}包裹代碼塊正確,故選B。39、函數(shù)調(diào)用時,實參的順序必須與形參的順序?()

A.一致

B.相反

C.無關(guān)

D.部分一致

【答案】:答案解析:實參和形參需按順序一一對應(yīng)(類型、個數(shù)、順序匹配),否則可能導(dǎo)致邏輯錯誤,故選A。40、以下哪個是C語言中的賦值運算符?()

A.==

B.=

C.+=

D.!=

【答案】:答案解析:=是賦值運算符,==是等于判斷,+=是復(fù)合賦值,!=是不等于判斷,故選B。41、putchar()函數(shù)的功能是?()

A.讀取一個字符

B.輸出一個字符

C.讀取字符串

D.輸出字符串

【答案】:答案解析:putchar()用于輸出單個字符,getchar()讀取單個字符,puts()輸出字符串,故選B。42、數(shù)組名作為函數(shù)參數(shù)時,傳遞的是?()

A.數(shù)組第一個元素的值

B.數(shù)組所有元素的值

C.數(shù)組第一個元素的地址

D.數(shù)組長度

【答案】:答案解析:數(shù)組名傳參本質(zhì)是首元素地址(指針傳遞),函數(shù)中可通過指針訪問數(shù)組,故選C。43、函數(shù)返回值的類型與return語句中表達式類型不一致時,會?()

A.編譯錯誤

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

C.程序崩潰

D.無影響

【答案】:答案解析:編譯器會將return表達式類型強制轉(zhuǎn)換為函數(shù)返回類型(可能丟失精度),不報錯,故選B。44、以下循環(huán)中,無限循環(huán)的是?()

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

B.while(i=5)

C.do{i++;}while(i<5);

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

【答案】:答案解析:while(i=5)是賦值(i=5,非0,條件恒真),無限循環(huán);A執(zhí)行5次,C(i初始0)執(zhí)行5次,D執(zhí)行5次,故選B。45、以下哪個運算符的優(yōu)先級最高?()

A.+

B.*

C.=

D.==

【答案】:答案解析:算術(shù)運算符中*(乘)優(yōu)先級高于+(加),賦值(=)和關(guān)

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論