期末c語言試題(培優(yōu))_第1頁
期末c語言試題(培優(yōu))_第2頁
期末c語言試題(培優(yōu))_第3頁
期末c語言試題(培優(yōu))_第4頁
期末c語言試題(培優(yōu))_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

期末c語言試題第一部分單選題(50題)1、函數(shù)定義在main函數(shù)之后時,必須先?()

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

B.聲明函數(shù)

C.定義函數(shù)

D.無要求

【答案】:答案解析:main函數(shù)調(diào)用其他函數(shù)時,若函數(shù)定義在main之后,需先聲明(否則編譯器找不到函數(shù)),故選B。2、函數(shù)參數(shù)的默認值在______指定?()

A.函數(shù)定義時

B.函數(shù)聲明時

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

D.C語言不支持默認參數(shù)

【答案】:答案解析:標準C語言不支持函數(shù)參數(shù)默認值(C++支持),故選D。3、C語言中基本數(shù)據(jù)類型不包括以下哪項?()

A.char

B.int

C.float

D.array

【答案】:答案解析:基本數(shù)據(jù)類型為char、int、float、double,array是數(shù)組(構(gòu)造類型),故選D。4、函數(shù)聲明的作用是?()

A.告訴編譯器函數(shù)的存在

B.實現(xiàn)函數(shù)功能

C.分配函數(shù)內(nèi)存

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

【答案】:答案解析:函數(shù)聲明用于向編譯器說明函數(shù)名、參數(shù)、返回類型(確保調(diào)用正確),定義才是實現(xiàn)功能,故選A。5、若inta=5,p=&a;執(zhí)行p=8;后a的值是?()

A.5

B.8

C.&a

D.無定義

【答案】:答案解析:*p=8通過指針修改指向變量a的值,a變?yōu)?,故選B。6、以下關于指針的說法錯誤的是?()

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

B.指針可進行算術運算(如++、--)

C.指針可指向自身

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

【答案】:答案解析:指針不能指向自身(類型不匹配),A、B、D說法正確,故選C。7、若inta[4]={1,2,3,4};則a[3]的值是?()

A.3

B.4

C.1

D.2

【答案】:答案解析:a[3]是第四個元素,值為4,故選B。8、以下switch語句中,default的執(zhí)行時機是?()

A.所有case都不匹配時

B.第一個case不匹配時

C.最后一個case不匹配時

D.任何時候

【答案】:答案解析:default僅在所有case都不匹配時執(zhí)行,故選A。9、shortint類型的有符號取值范圍是?()

A.0~65535

B.-32768~32767

C.-2147483648~2147483647

D.無固定范圍

【答案】:答案解析:16位shortint有符號取值標準為-32768~32767,無符號為0~65535,故選B。10、數(shù)組元素的下標從______開始?()

A.0

B.1

C.-1

D.任意

【答案】:答案解析:C語言數(shù)組下標從0開始,是固定規(guī)則,故選A。11、以下哪個數(shù)據(jù)類型的占用字節(jié)數(shù)最大?()

A.char

B.short

C.int

D.double

【答案】:答案解析:char(1字節(jié))、short(2字節(jié))、int(4字節(jié))、double(8字節(jié)),故選D。12、若inta=2,b=4;執(zhí)行if(a==b)a=0;elseb=0;后a和b的值分別是?()

A.0,4

B.2,0

C.0,0

D.2,4

【答案】:答案解析:a==b為假,執(zhí)行else,b=0,a保持2,故選B。13、若charc='A';執(zhí)行c=c+32后,c的值是?()

A.'a'

B.'B'

C.65

D.97

【答案】:答案解析:大寫字母ASCII碼比對應小寫字母小32,'A'(65)+32='a'(97),故選A。14、以下關于指針數(shù)組的定義正確的是?()

A.int*arr[5];

B.int(*arr)[5];

C.intarr[5];

D.intarr[];

【答案】:答案解析:A是指針數(shù)組(5個int指針),B是指向數(shù)組的指針,C是普通數(shù)組,D缺少長度,故選A。15、以下關于數(shù)組的說法錯誤的是?()

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

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

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

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

【答案】:答案解析:數(shù)組不能用“=”整體賦值,需逐個元素或循環(huán)賦值,A、B、C正確,故選D。16、若inta[3][3]={{1,2},{3,4},{5,6}};則a[1][1]的值是?()

A.2

B.4

C.5

D.6

【答案】:答案解析:a[1][1]是第二行第二列,值為4,故選B。17、以下哪個if語句的條件是“x是偶數(shù)且x大于10”?()

A.if(x%2==0&&x>10)

B.if(x%2=0&&x>10)

C.if(x%2==0||x>10)

D.if(x%2=0||x>10)

【答案】:答案解析:偶數(shù)判斷用x%2==0,邏輯與用&&,B是賦值,C、D是邏輯或,故選A。18、若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。19、函數(shù)指針的作用是?()

A.存儲函數(shù)的地址

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

C.實現(xiàn)回調(diào)函數(shù)

D.以上都正確

【答案】:答案解析:函數(shù)指針存儲函數(shù)地址,可通過指針調(diào)用函數(shù),常用于回調(diào)函數(shù),故選D。20、二維數(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。21、以下函數(shù)定義錯誤的是?()

A.voidfun(){}

B.voidfun(inta){}

C.intfun(){}

D.intfun(){return;}

【答案】:答案解析:D返回類型int(必須return表達式),return無表達式錯誤,A、B、C正確,故選D。22、若inta=3;執(zhí)行if(++a==4)printf("A");elseprintf("B");輸出結(jié)果是?()

A.A

B.B

C.AB

D.無輸出

【答案】:答案解析:++a使a=4,條件為真,輸出A,故選A。23、若inta=3,b=4;則表達式ab++的值是?()

A.12

B.15

C.16

D.7

【答案】:答案解析:b++是后置自增,先參與運算(ab=3*4=12),再自增(b變?yōu)?),故選A。24、指針變量的大小取決于?()

A.指向變量的類型

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

C.指針變量的名稱

D.變量的值

【答案】:答案解析:指針大小與指向類型無關,取決于系統(tǒng)位數(shù)(32位4B,64位8B),故選B。25、若inti=0;執(zhí)行for(;;){if(i==4)break;printf("%d",i);i++;}輸出結(jié)果是?()

A.0123

B.01234

C.無限循環(huán)

D.無輸出

【答案】:答案解析:for(;;)是無限循環(huán),i=4時break,輸出0123,故選A。26、若intx=6;執(zhí)行if(x<5)printf("A");else{printf("B");printf("C");}輸出結(jié)果是?()

A.A

B.BC

C.ABC

D.無輸出

【答案】:答案解析:x=6不滿足if,執(zhí)行else代碼塊,輸出BC,故選B。27、以下for循環(huán)的循環(huán)次數(shù)是?()for(inti=2;i<=8;i+=2)

A.3次

B.4次

C.5次

D.6次

【答案】:答案解析:i取值2、4、6、8,共4次,故選B。28、以下關于函數(shù)的說法錯誤的是?()

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

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

C.函數(shù)可重定義

D.函數(shù)可聲明多次

【答案】:答案解析:C函數(shù)名不能重定義(重復定義編譯報錯),A、B、D正確,故選C。29、若inta[3][3]={{1,2,3},{4,5,6},{7,8,9}},(p)[3]=a;則((p+1)+2)的值是?()

A.5

B.6

C.8

D.9

【答案】:答案解析:p是指向3列數(shù)組的指針,p+1指向第二行,(p+1)+2指向第二行第三列,值為6,故選B。30、continue語句只能用于以下哪種結(jié)構(gòu)?()

A.循環(huán)語句

B.switch語句

C.if語句

D.所有結(jié)構(gòu)

【答案】:答案解析:continue僅用于循環(huán)語句(for/while/do-while),用于跳過本次循環(huán),故選A。31、以下switch語句語法正確的是?()

A.switch(x){case1:printf("1");break;case2:printf("2");}

B.switch(x){case1:printf("1");case2:printf("2");break;}

C.switch(x){case1:printf("1");break;default:printf("0");}

D.以上都正確

【答案】:答案解析:switch語句case后可加break(跳出)或不加(穿透),default可選,A、B、C語法均正確,故選D。32、若inta=6;執(zhí)行a/=3;后a的值是?()

A.2

B.3

C.6

D.18

【答案】:答案解析:a/=3等價于a=a/3=6/3=2,故選A。33、以下函數(shù)定義中,參數(shù)為指針的是?()

A.voidfun(int*a){printf("%d",*a);}

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

C.voidfun(inta[]){printf("%d",a[0]);}

D.A和C

【答案】:答案解析:A是指針參數(shù),C數(shù)組名參數(shù)本質(zhì)是指針,B是值參數(shù),故選D。34、以下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。35、以下二維數(shù)組定義中,行數(shù)為2的是?()

A.inta[2][3];

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

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

D.以上都是

【答案】:答案解析:A行數(shù)2,B初始化6個元素(3列×2行),C行數(shù)2,故選D。36、若inta[5];執(zhí)行a[0]=1;a[1]=2;則a[2]的值是?()

A.0

B.3

C.隨機值

D.無定義

【答案】:答案解析:全局數(shù)組默認0,局部數(shù)組未初始化是隨機值?題目未說明存儲類別,通常默認全局,a[2]=0,故選A。37、以下哪個操作會導致野指針?()

A.指針未初始化

B.指針指向的內(nèi)存被釋放后未置空

C.指針越界訪問

D.以上都是

【答案】:答案解析:野指針是指向無效地址的指針,A、B、C均會導致野指針,故選D。38、若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。39、指針作為函數(shù)參數(shù)時,傳遞的是?()

A.指針的值

B.指針的地址

C.變量的值

D.變量的地址

【答案】:答案解析:指針傳參本質(zhì)是傳遞變量地址,函數(shù)中通過指針可修改實參值,故選D。40、若floatx=3.14;則表達式(int)x的結(jié)果是?()

A.3

B.3.14

C.4

D.0

【答案】:答案解析:強制轉(zhuǎn)換為int取整數(shù)部分,3.14→3,故選A。41、以下關于空指針的定義正確的是?()

A.#defineNULL0

B.#defineNULL(void*)0

C.int*p=NULL;

D.以上都正確

【答案】:答案解析:A、B是NULL的常見定義,C是定義空指針,均正確,故選D。42、函數(shù)中局部變量的作用域是?()

A.整個程序

B.函數(shù)內(nèi)部

C.函數(shù)外部

D.所有函數(shù)

【答案】:答案解析:局部變量定義在函數(shù)內(nèi),僅在函數(shù)內(nèi)部有效,故選B。43、遞歸函數(shù)的終止條件是?()

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

B.函數(shù)返回值為0

C.不再調(diào)用自身的條件

D.無終止條件

【答案】:答案解析:遞歸函數(shù)必須有終止條件(否則無限遞歸棧溢出),終止條件是不再調(diào)用自身的判斷,故選C。44、以下哪個函數(shù)用于輸出字符串?()

A.putchar()

B.printf()

C.gets()

D.scanf()

【答案】:答案解析:printf()可輸出字符串(如printf("hello");),putchar()輸出單個字符,故選B。45、continue語句在循環(huán)中的作用是?()

A.終止整個循環(huán)

B.跳過本次循環(huán)剩余部分,繼續(xù)下一次

C.暫停循環(huán)

D.無作用

【答案

溫馨提示

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

評論

0/150

提交評論