貴州大學(xué)c語言期末試題(達(dá)標(biāo)題)_第1頁
貴州大學(xué)c語言期末試題(達(dá)標(biāo)題)_第2頁
貴州大學(xué)c語言期末試題(達(dá)標(biāo)題)_第3頁
貴州大學(xué)c語言期末試題(達(dá)標(biāo)題)_第4頁
貴州大學(xué)c語言期末試題(達(dá)標(biāo)題)_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

貴州大學(xué)c語言期末試題第一部分單選題(50題)1、以下字符串常量定義正確的是?()

A.charstr[]="C";

B.charstr[1]='C';

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

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

【答案】:答案解析:A用雙引號(hào)定義字符串(自動(dòng)加\0),B單引號(hào)用于字符常量,C無\0,D長度2正確但A更簡潔,故選A。2、二維數(shù)組a[2][3]在內(nèi)存中存儲(chǔ)的順序是?()

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.按列存儲(chǔ)

【答案】:答案解析:二維數(shù)組按行優(yōu)先連續(xù)存儲(chǔ),順序?yàn)榈谝恍兴性?,再第二行,故選A。3、若floatx=3.14;則表達(dá)式(int)x的結(jié)果是?()

A.3

B.3.14

C.4

D.0

【答案】:答案解析:強(qiáng)制轉(zhuǎn)換為int取整數(shù)部分,3.14→3,故選A。4、若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)時(shí)continue,輸出奇數(shù)1、3,故選A。5、以下定義指向二維數(shù)組的指針正確的是?()

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列數(shù)組的指針(匹配二維數(shù)組a的行),B、C、D類型不匹配,故選A。6、函數(shù)返回值通過______語句返回?()

A.printf

B.scanf

C.return

D.break

【答案】:答案解析:return語句用于函數(shù)返回值,printf輸出,scanf輸入,break跳出循環(huán)/switch,故選C。7、以下數(shù)組定義中,可省略數(shù)組長度的是?()

A.inta[5];

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

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

D.inta[][3];

【答案】:答案解析:初始化時(shí)可省略長度(編譯器自動(dòng)計(jì)算),D二維數(shù)組第二維不能省略,故選B。8、函數(shù)參數(shù)為數(shù)組時(shí),形參的寫法錯(cuò)誤的是?()

A.inta[]

B.int*a

C.inta[5]

D.inta

【答案】:答案解析:D中inta是普通變量,不能接收數(shù)組名(地址),A、B、C均正確,故選D。9、以下switch語句語法錯(cuò)誤的是?()

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

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

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

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

【答案】:答案解析:case后常量不能重復(fù),D中case1重復(fù),編譯報(bào)錯(cuò),故選D。10、函數(shù)調(diào)用時(shí),實(shí)參和形參的個(gè)數(shù)必須?()

A.相等

B.實(shí)參多于形參

C.形參多于實(shí)參

D.無要求

【答案】:答案解析:函數(shù)調(diào)用時(shí)實(shí)參和形參個(gè)數(shù)、類型需匹配,否則編譯錯(cuò)誤,故選A。11、以下哪個(gè)條件表達(dá)式表示“x是奇數(shù)”?()

A.x%2==0

B.x%2!=0

C.x/2==0

D.x/2!=0

【答案】:答案解析:奇數(shù)除以2余數(shù)為1,x%2!=0表示奇數(shù),A是偶數(shù),故選B。12、以下關(guān)于函數(shù)參數(shù)的說法正確的是?()

A.形參是局部變量

B.實(shí)參是局部變量

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

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

【答案】:答案解析:形參是函數(shù)內(nèi)局部變量(調(diào)用時(shí)分配內(nèi)存,調(diào)用結(jié)束釋放),實(shí)參是主調(diào)函數(shù)中的變量(生命周期與主調(diào)函數(shù)一致),故選A。13、執(zhí)行scanf("%d,%d",&a,&b);時(shí),正確的輸入格式是?()

A.23

B.2;3

C.2,3

D.2和3

【答案】:答案解析:scanf格式串中含逗號(hào)分隔符,輸入需嚴(yán)格對(duì)應(yīng),故選C。14、若inta[5]={1,2,3,4,5},p=a;執(zhí)行p+=2;后p的值是?()

A.2

B.3

C.4

D.5

【答案】:答案解析:p+=2使p指向a[2],*p=3,故選B。15、若inta[5];執(zhí)行a[0]=1;a[1]=2;則a[2]的值是?()

A.0

B.3

C.隨機(jī)值

D.無定義

【答案】:答案解析:全局?jǐn)?shù)組默認(rèn)0,局部數(shù)組未初始化是隨機(jī)值?題目未說明存儲(chǔ)類別,通常默認(rèn)全局,a[2]=0,故選A。16、以下關(guān)于數(shù)組的說法正確的是?()

A.數(shù)組長度可動(dòng)態(tài)修改

B.數(shù)組元素可不同類型

C.數(shù)組在內(nèi)存中連續(xù)存儲(chǔ)

D.數(shù)組名可作為左值賦值

【答案】:答案解析:A數(shù)組長度定義后固定,B元素必須同類型,D數(shù)組名是常量(不可賦值),C正確,故選C。17、以下關(guān)于指針的說法正確的是?()

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

B.指針可提高程序效率

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

D.以上都正確

【答案】:答案解析:指針的核心用途包括多返回值、高效訪問、動(dòng)態(tài)內(nèi)存分配,故選D。18、若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。19、若intx=0;執(zhí)行if(x)printf("A");elseprintf("B");輸出結(jié)果是?()

A.A

B.B

C.AB

D.無輸出

【答案】:答案解析:x=0為假,執(zhí)行else分支,輸出B,故選B。20、函數(shù)定義的格式是?()

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

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

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

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

【答案】:答案解析:函數(shù)定義標(biāo)準(zhǔn)格式為“返回類型函數(shù)名(參數(shù)列表){函數(shù)體}”,故選A。21、以下關(guān)于指針的說法正確的是?()

A.野指針是指向無效地址的指針

B.空指針是野指針的一種

C.避免野指針需初始化并及時(shí)置空

D.以上都正確

【答案】:答案解析:A、B、C均是野指針的核心知識(shí)點(diǎn),故選D。22、以下哪個(gè)是NULL指針?()

A.void*p=0;

B.int*p=NULL;

C.charp=(char)0;

D.以上都正確

【答案】:答案解析:NULL指針是不指向任何有效地址的指針,三種寫法均正確,故選D。23、函數(shù)參數(shù)的默認(rèn)值在______指定?()

A.函數(shù)定義時(shí)

B.函數(shù)聲明時(shí)

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

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

【答案】:答案解析:標(biāo)準(zhǔn)C語言不支持函數(shù)參數(shù)默認(rèn)值(C++支持),故選D。24、以下關(guān)于空指針的定義正確的是?()

A.#defineNULL0

B.#defineNULL(void*)0

C.int*p=NULL;

D.以上都正確

【答案】:答案解析:A、B是NULL的常見定義,C是定義空指針,均正確,故選D。25、若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。26、若intx=3,y=5;執(zhí)行if(x>y)printf("x大");elseif(x==y)printf("相等");elseprintf("y大");輸出結(jié)果是?()

A.x大

B.相等

C.y大

D.無輸出

【答案】:答案解析:x=3<y=5,執(zhí)行else,輸出y大,故選C。27、以下哪個(gè)運(yùn)算符的優(yōu)先級(jí)最高?()

A.+

B.*

C.=

D.==

【答案】:答案解析:算術(shù)運(yùn)算符中*(乘)優(yōu)先級(jí)高于+(加),賦值(=)和關(guān)系(==)優(yōu)先級(jí)更低,故選B。28、數(shù)組名作為函數(shù)參數(shù)時(shí),函數(shù)形參的正確寫法是?()

A.inta[]

B.int*a

C.inta[5]

D.以上都是

【答案】:答案解析:數(shù)組形參可寫為inta[]、int*a(指針)、inta[5](長度可忽略),本質(zhì)均為指針,故選D。29、若inta=10,*p=&a,q=p;則q的值是?()

A.10

B.&a

C.p

D.無定義

【答案】:答案解析:q=p使q指向a,*q=10,故選A。30、下列字符串常量定義正確的是?()

A.'abc'

B."abc"

C.abc

D."a""b"

【答案】:答案解析:字符串常量用雙引號(hào)包裹,單引號(hào)用于字符常量,C是標(biāo)識(shí)符,D語法錯(cuò)誤,故選B。31、若intx=10;則表達(dá)式x%3的結(jié)果是?()

A.1

B.2

C.3

D.0

【答案】:答案解析:%是取余運(yùn)算符,10除以3商3余1,故選A。32、以下函數(shù)定義中,參數(shù)為兩個(gè)int類型的是?()

A.voidfun(inta,floatb){}

B.voidfun(inta,intb){}

C.voidfun(floata,intb){}

D.voidfun(inta,charb){}

【答案】:答案解析:B中兩個(gè)參數(shù)均為int類型,其余選項(xiàng)參數(shù)類型不匹配,故選B。33、若intx=2;執(zhí)行switch(x){default:printf("0");case1:printf("1");break;case2:printf("2");case3:printf("3");}輸出結(jié)果是?()

A.01

B.23

C.0123

D.無輸出

【答案】:答案解析:x=2匹配case2,無break,穿透到case3,輸出23,故選B。34、以下哪個(gè)不是C語言的關(guān)鍵字?()

A.if

B.else

C.then

D.for

【答案】:答案解析:then不是C語言關(guān)鍵字,if(條件)、else(否則)、for(循環(huán))均是,故選C。35、以下switch語句中,case穿透的情況是?()

A.case后加break

B.case后不加break

C.有default

D.無default

【答案】:答案解析:case后不加break會(huì)繼續(xù)執(zhí)行下一個(gè)case的代碼(穿透),加break則跳出,故選B。36、以下函數(shù)調(diào)用錯(cuò)誤的是?()

A.fun();

B.fun(5);

C.fun(3,4);

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

【答案】:答案解析:調(diào)用需匹配函數(shù)定義,A對(duì)應(yīng)無參函數(shù),B對(duì)應(yīng)單參函數(shù),C對(duì)應(yīng)雙參函數(shù),均可能正確,故選D。37、以下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。38、以下關(guān)于指針的說法錯(cuò)誤的是?()

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

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

C.指針可指向自身

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

【答案】:答案解析:指針不能指向自身(類型不匹配),A、B、D說法正確,故選C。39、以下函數(shù)調(diào)用正確的是?()

A.fun();

B.fun(1,2);

C.fun("test");

D.取決于函數(shù)定義

【答案】:答案解析:函數(shù)調(diào)用是否正確取決于函數(shù)定義(參數(shù)類型、個(gè)數(shù)),A、B、C均可能正確,故選D。40、若inta[4]={1,2,3,4};則*(a+1)的值是?()

A.1

B.2

C.3

D.4

【答案】:答案解析:a是首地址,a+1是第二個(gè)元素地址,*(a+1)=a[1]=2,故選B。41、putchar()函數(shù)的功能是?()

A.讀取一個(gè)字符

B.輸出一個(gè)字符

C.讀取字符串

D.輸出字符串

【答案】:答案解析:putchar()用于輸出單個(gè)字符,getchar()讀取單個(gè)字符,puts()輸出字符串,故選B。42、以下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前有獨(dú)立printf,語法錯(cuò)誤,B用{}包裹代碼塊正確,故選B。43、以下switch語句中,default的位置可以在?()

A.所有case之前

B.所有case之后

C.兩個(gè)case之間

D.以上都可以

【答案】:答案解析:default位置靈活,可在case前、后或中間,不影響執(zhí)行邏輯,故選D。44、以下哪個(gè)字符串的長度是3?()

A."abc"

B."a\0b"

C."ab\n"

D."ab"

【答案】:答案解析:字符串長度以\0結(jié)束,"abc"含a、b、c(3個(gè)字符),"a\0b"長度為1,故選A。45、break語句在循環(huán)中的作用

溫馨提示

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

評(píng)論

0/150

提交評(píng)論