全國二級計算機C語言程序設(shè)計題庫完整參考答案_第1頁
全國二級計算機C語言程序設(shè)計題庫完整參考答案_第2頁
全國二級計算機C語言程序設(shè)計題庫完整參考答案_第3頁
全國二級計算機C語言程序設(shè)計題庫完整參考答案_第4頁
全國二級計算機C語言程序設(shè)計題庫完整參考答案_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

全國二級計算機C語言程序設(shè)計題庫第一部分單選題(50題)1、若intx=10,y=20;則表達(dá)式x!=y的結(jié)果是?()

A.0

B.1

C.10

D.20

【答案】:答案解析:!=是不等于判斷,x!=y為真,C語言中真用1表示,故選B。2、以下switch語句中,default的位置可以在?()

A.所有case之前

B.所有case之后

C.兩個case之間

D.以上都可以

【答案】:答案解析:default位置靈活,可在case前、后或中間,不影響執(zhí)行邏輯,故選D。3、若charstr[10];執(zhí)行strcpy(str,"hello");后str的長度是?()

A.5

B.6

C.10

D.不確定

【答案】:答案解析:strcpy復(fù)制字符串"hello"(含\0),長度為5(不含\0),故選A。4、以下哪個關(guān)鍵字用于定義整型變量?()

A.char

B.int

C.float

D.double

【答案】:答案解析:int定義整型,char字符型,float單精度浮點型,double雙精度浮點型,故選B。5、以下關(guān)于指針的說法正確的是?()

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

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

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

D.以上都正確

【答案】:答案解析:A、B、C均是野指針的核心知識點,故選D。6、以下哪個是合法的字符常量?()

A."a"

B.'ab'

C.'a'

D.a

【答案】:答案解析:字符常量用單引號包裹單個字符,A是字符串,B是兩個字符(錯誤),D是標(biāo)識符,故選C。7、以下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。8、以下指針運算中,結(jié)果為指針的是?()

A.*p

B.p+1

C.&a

D.B和C

【答案】:答案解析:p+1是指針偏移,&a是取地址,結(jié)果均為指針;*p是解引用(獲取值),故選D。9、以下轉(zhuǎn)義字符表示換行的是?()

A.\t

B.\n

C.\

D.\r

【答案】:答案解析:\t是制表符,\n是換行符,\是反斜杠,\r是回車符,故選B。10、若inta=3,b=5;執(zhí)行以下代碼后輸出結(jié)果是?()if(a>b)printf("A");elseprintf("B");

A.A

B.B

C.AB

D.無輸出

【答案】:答案解析:a=3<b=5,條件為假,執(zhí)行else分支,輸出B,故選B。11、函數(shù)返回值的類型與return語句中表達(dá)式類型不一致時,會?()

A.編譯錯誤

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

C.程序崩潰

D.無影響

【答案】:答案解析:編譯器會將return表達(dá)式類型強制轉(zhuǎn)換為函數(shù)返回類型(可能丟失精度),不報錯,故選B。12、若intx=3,y=5;則表達(dá)式x>y?x:y的結(jié)果是?()

A.3

B.5

C.true

D.false

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

A.01

B.012

C.01234

D.無限循環(huán)

【答案】:答案解析:i=2時執(zhí)行break,終止循環(huán),輸出01,故選A。14、若inta=5,p=&a;執(zhí)行p=8;后a的值是?()

A.5

B.8

C.&a

D.無定義

【答案】:答案解析:*p=8通過指針修改指向變量a的值,a變?yōu)?,故選B。15、若intx=1;執(zhí)行switch(x){case1:printf("1");case2:printf("2");break;case3:printf("3");}輸出結(jié)果是?()

A.1

B.12

C.123

D.無輸出

【答案】:答案解析:x=1匹配case1,無break,穿透到case2(執(zhí)行后break),輸出12,故選B。16、以下for循環(huán)中,循環(huán)變量初始化、條件判斷、更新表達(dá)式均正確的是?()

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

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

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

D.以上都正確

【答案】:答案解析:A(遞增)、B(遞減)、C(步長2)的三個表達(dá)式均合法,循環(huán)邏輯正確,故選D。17、若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。18、以下哪個函數(shù)用于輸出字符串?()

A.putchar()

B.printf()

C.gets()

D.scanf()

【答案】:答案解析:printf()可輸出字符串(如printf("hello");),putchar()輸出單個字符,故選B。19、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。20、以下定義函數(shù)指針正確的是?()

A.int(*fp)(int);

B.int*fp(int);

C.intfp(int);

D.int(fp)[];

【答案】:答案解析:A是指向int返回值、int參數(shù)的函數(shù)指針,B是返回int的函數(shù),C是普通函數(shù),D是指向數(shù)組的指針,故選A。21、若intx=5;則表達(dá)式x+++x的結(jié)果是?()

A.10

B.11

C.12

D.9

【答案】:答案解析:結(jié)合性從左到右,x+++x等價于(x++)+x=5+6=11,故選B。22、二維數(shù)組a[3][4]的元素個數(shù)是?()

A.7

B.12

C.3

D.4

【答案】:答案解析:3行4列,共3×4=12個元素,故選B。23、函數(shù)指針的作用是?()

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

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

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

D.以上都正確

【答案】:答案解析:函數(shù)指針存儲函數(shù)地址,可通過指針調(diào)用函數(shù),常用于回調(diào)函數(shù),故選D。24、shortint類型的有符號取值范圍是?()

A.0~65535

B.-32768~32767

C.-2147483648~2147483647

D.無固定范圍

【答案】:答案解析:16位shortint有符號取值標(biāo)準(zhǔn)為-32768~32767,無符號為0~65535,故選B。25、數(shù)組名作為函數(shù)參數(shù)時,函數(shù)形參的正確寫法是?()

A.inta[]

B.int*a

C.inta[5]

D.以上都是

【答案】:答案解析:數(shù)組形參可寫為inta[]、int*a(指針)、inta[5](長度可忽略),本質(zhì)均為指針,故選D。26、指針與結(jié)構(gòu)體的關(guān)系,以下說法正確的是?()

A.結(jié)構(gòu)體指針通過->訪問成員

B.結(jié)構(gòu)體變量通過。訪問成員

C.結(jié)構(gòu)體指針可指向結(jié)構(gòu)體變量

D.以上都正確

【答案】:答案解析:A、B、C均是結(jié)構(gòu)體與指針的基本規(guī)則,故選D。27、以下關(guān)于return語句的說法正確的是?()

A.函數(shù)中可有多條return語句

B.函數(shù)中必須有return語句

C.return語句必須在函數(shù)末尾

D.return語句只能返回一個值

【答案】:答案解析:A函數(shù)中可有多條return(如條件判斷后返回),Bvoid函數(shù)可無return,Creturn可在任意位置,Dreturn只能返回一個值(返回多個值需用指針/數(shù)組),故選A。28、若inta[5]={10,20,30,40,50},p=a+3;則p的值是?()

A.30

B.40

C.50

D.無定義

【答案】:答案解析:a+3指向a[3],*p=40,故選B。29、若intx=10;則表達(dá)式x%3的結(jié)果是?()

A.1

B.2

C.3

D.0

【答案】:答案解析:%是取余運算符,10除以3商3余1,故選A。30、以下指針與函數(shù)的關(guān)系正確的是?()

A.函數(shù)名是函數(shù)的地址

B.函數(shù)指針可指向函數(shù)

C.可通過函數(shù)指針調(diào)用函數(shù)

D.以上都正確

【答案】:答案解析:A、B、C均是函數(shù)與指針的基本關(guān)系,故選D。31、函數(shù)調(diào)用時,實參和形參的個數(shù)必須?()

A.相等

B.實參多于形參

C.形參多于實參

D.無要求

【答案】:答案解析:函數(shù)調(diào)用時實參和形參個數(shù)、類型需匹配,否則編譯錯誤,故選A。32、若charstr[10]="abcde";則str[5]的值是?()

A.'e'

B.'\0'

C.隨機值

D.無定義

【答案】:答案解析:字符串自動在末尾加\0,str[5]是\0,故選B。33、指針與數(shù)組的關(guān)系,以下說法正確的是?()

A.數(shù)組名是常量指針,不能自增

B.指針可指向數(shù)組元素,通過指針遍歷數(shù)組

C.p[i]等價于*(p+i)

D.以上都正確

【答案】:答案解析:數(shù)組名是首元素地址(常量,不可自增),指針可遍歷數(shù)組,p[i]與*(p+i)等價,故選D。34、若int*p=(int)malloc(sizeof(int));則p的值是?()

A.0

B.隨機值

C.1

D.無定義

【答案】:答案解析:malloc分配的內(nèi)存未初始化,值為隨機值,故選B。35、指針作為函數(shù)參數(shù)時,傳遞的是?()

A.指針的值

B.指針的地址

C.變量的值

D.變量的地址

【答案】:答案解析:指針傳參本質(zhì)是傳遞變量地址,函數(shù)中通過指針可修改實參值,故選D。36、以下哪個條件表達(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。37、以下定義指向二維數(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。38、以下switch語句中,break語句的位置正確的是?()

A.case后任意位置

B.必須在case代碼最后

C.必須在default后

D.不能在default后

【答案】:答案解析:break可在case代碼任意位置(執(zhí)行到break即跳出),不一定在最后,default后也可加break,故選A。39、若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。40、C語言中基本數(shù)據(jù)類型不包括以下哪項?()

A.char

B.int

C.float

D.array

【答案】:答案解析:基本數(shù)據(jù)類型為char、int、float、double,array是數(shù)組(構(gòu)造類型),故選D。41、以下關(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。42、以下數(shù)組初始化中,未賦值元素默認(rèn)為0的是?()

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

B.charstr[5];

C.inta[5];

D.以上都是

【答案】:答案解析:全局?jǐn)?shù)組未初始化默認(rèn)為0,局部數(shù)組未初始化是隨機值,A初始化部分元素,未賦值默認(rèn)為0,故選A。43、以下函數(shù)調(diào)用正確的是?()

A.fun(5);

B.fun(3,4);

C.fun("hello");

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

【答案】:答案解析:函數(shù)調(diào)用需匹配函數(shù)定義的參數(shù)類型和個數(shù),A、B、C是否正確取決于函數(shù)定義,故選D。44、若charstr="abcde";則(str+4)的值是?()

A.'d'

B.'e'

C.'\0'

D.無定義

【答案】:答案解析:str+4指向第5個字符,值為'e',故選B。45、以下關(guān)于數(shù)組的說法正確的是?()

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

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

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

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

【答案】:答案解析:A數(shù)組長度定義后固定,B元素必須同類型,D數(shù)組名是常量(不可賦值),C正確,故選C。46、以下定義指向字符串的指針正確的是?()

A.char*str="hello";

B.charstr[]="hello";

C.char(*str)[]="he

溫馨提示

  • 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

提交評論