c語言理論考試題及1套參考答案_第1頁
c語言理論考試題及1套參考答案_第2頁
c語言理論考試題及1套參考答案_第3頁
c語言理論考試題及1套參考答案_第4頁
c語言理論考試題及1套參考答案_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

c語言理論考試題第一部分單選題(50題)1、指針與字符串的關(guān)系,以下說法正確的是?()

A.字符串常量是字符數(shù)組,數(shù)組名是指針

B.字符串可通過指針遍歷

C.字符指針可指向字符串常量

D.以上都正確

【答案】:答案解析:A、B、C均是指針與字符串的基本關(guān)系,故選D。2、以下哪個(gè)不是C語言的關(guān)鍵字?()

A.if

B.else

C.then

D.for

【答案】:答案解析:then不是C語言關(guān)鍵字,if(條件)、else(否則)、for(循環(huán))均是,故選C。3、若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。4、數(shù)組元素的下標(biāo)從______開始?()

A.0

B.1

C.-1

D.任意

【答案】:答案解析:C語言數(shù)組下標(biāo)從0開始,是固定規(guī)則,故選A。5、C語言程序的基本單位是?()

A.語句

B.函數(shù)

C.變量

D.表達(dá)式

【答案】:答案解析:C程序由函數(shù)構(gòu)成,main是入口函數(shù),其他函數(shù)實(shí)現(xiàn)功能,故選B。6、若intx=3,y=5;則表達(dá)式x>y?x:y的結(jié)果是?()

A.3

B.5

C.true

D.false

【答案】:答案解析:三元運(yùn)算符格式“條件?值1:值2”,x>y為假,取y=5,故選B。7、以下關(guān)于return語句的說法正確的是?()

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

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

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

D.return語句只能返回一個(gè)值

【答案】:答案解析:A函數(shù)中可有多條return(如條件判斷后返回),Bvoid函數(shù)可無return,Creturn可在任意位置,Dreturn只能返回一個(gè)值(返回多個(gè)值需用指針/數(shù)組),故選A。8、指針作為函數(shù)參數(shù)時(shí),傳遞的是?()

A.指針的值

B.指針的地址

C.變量的值

D.變量的地址

【答案】:答案解析:指針傳參本質(zhì)是傳遞變量地址,函數(shù)中通過指針可修改實(shí)參值,故選D。9、以下指針運(yùn)算中,結(jié)果為值的是?()

A.*p

B.p+1

C.&a

D.p-2

【答案】:答案解析:*p是解引用,獲取指針指向變量的值,B、C、D結(jié)果均為指針,故選A。10、指針與數(shù)組的關(guān)系,以下說法正確的是?()

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

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

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

D.以上都正確

【答案】:答案解析:數(shù)組名是首元素地址(常量,不可自增),指針可遍歷數(shù)組,p[i]與*(p+i)等價(jià),故選D。11、以下函數(shù)返回值類型為int的是?()

A.voidfun(){return;}

B.intfun(){return3.14;}

C.floatfun(){return5;}

D.charfun(){return'a';}

【答案】:答案解析:A返回值類型void(不能return表達(dá)式),B返回類型int(3.14強(qiáng)制轉(zhuǎn)為3),C返回類型float,D返回類型char,故選B。12、以下switch語句中,default的作用是?()

A.匹配所有case

B.匹配除case外的所有情況

C.終止switch語句

D.無實(shí)際作用

【答案】:答案解析:default用于匹配所有case未覆蓋的情況,可選且位置靈活,故選B。13、若charstr[]="helloworld";則字符串長(zhǎng)度是?()

A.10

B.11

C.12

D.13

【答案】:答案解析:"helloworld"含11個(gè)字符(不含\0),長(zhǎng)度為11,故選B。14、函數(shù)中局部變量的作用域是?()

A.整個(gè)程序

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

C.函數(shù)外部

D.所有函數(shù)

【答案】:答案解析:局部變量定義在函數(shù)內(nèi),僅在函數(shù)內(nèi)部有效,故選B。15、以下哪個(gè)關(guān)鍵字用于定義整型變量?()

A.char

B.int

C.float

D.double

【答案】:答案解析:int定義整型,char字符型,float單精度浮點(diǎn)型,double雙精度浮點(diǎn)型,故選B。16、以下循環(huán)中,用于計(jì)算1到10的乘積的是?()

A.s=0;for(i=1;i<=10;i++)s+=i;

B.s=1;for(i=1;i<=10;i++)s*=i;

C.s=0;while(i<=10){s*=i;i++;}

D.s=1;do{s+=i;i++;}while(i<=10);

【答案】:答案解析:乘積初始值為1,累加初始值為0,B的邏輯是12...*10,正確,故選B。17、若inta=5,p=&a;則&p的值是?()

A.5

B.&a

C.p

D.無定義

【答案】:答案解析:*&p等價(jià)于p,即指針p自身的值(a的地址),故選C。18、continue語句在循環(huán)中的作用是?()

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

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

C.暫停循環(huán)

D.無作用

【答案】:答案解析:continue跳過本次循環(huán)剩余代碼,直接進(jìn)入下一次循環(huán)條件判斷,故選B。19、函數(shù)調(diào)用的一般格式是?()

A.函數(shù)名(實(shí)參列表);

B.函數(shù)名實(shí)參列表;

C.返回類型函數(shù)名(實(shí)參列表);

D.函數(shù)名=實(shí)參列表;

【答案】:答案解析:函數(shù)調(diào)用格式為“函數(shù)名(實(shí)參列表);”,實(shí)參與形參匹配,故選A。20、以下函數(shù)無返回值的是?()

A.intfun(){return0;}

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

C.floatfun(){return3.14;}

D.charfun(){return'b';}

【答案】:答案解析:void類型函數(shù)無返回值,A、C、D均有返回值,故選B。21、預(yù)處理命令#definePI3.14159的作用是?()

A.定義變量

B.定義常量

C.函數(shù)聲明

D.包含頭文件

【答案】:答案解析:#define是宏定義,用于定義常量(無分號(hào),直接替換),故選B。22、若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。23、以下switch語句中,正確使用字符常量的是?()

A.switch(c){case'A':printf("A");break;}

B.switch(c){caseA:printf("A");break;}

C.switch(c){case"A":printf("A");break;}

D.switch(c){case'a':'b':printf("ab");break;}

【答案】:答案解析:字符常量用單引號(hào),B是標(biāo)識(shí)符,C是字符串,D語法錯(cuò)誤(多個(gè)case需分開),故選A。24、函數(shù)返回值通過______語句返回?()

A.printf

B.scanf

C.return

D.break

【答案】:答案解析:return語句用于函數(shù)返回值,printf輸出,scanf輸入,break跳出循環(huán)/switch,故選C。25、若inta=10,p=&a;則p的值是?()

A.10

B.&a

C.p

D.無定義

【答案】:答案解析:*p是解引用,->用于結(jié)構(gòu)體指針訪問成員,.用于結(jié)構(gòu)體變量訪問成員,故選B。26、以下函數(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。27、若inta[5]={1,2,3};則a[3]的值是?()

A.0

B.3

C.隨機(jī)值

D.無定義

【答案】:答案解析:初始化時(shí)未賦值的元素默認(rèn)為0,a[3]=0,故選A。28、若inti=0;執(zhí)行do{printf("%d",i);i++;}while(i<0);輸出結(jié)果是?()

A.0

B.無輸出

C.無限循環(huán)

D.01

【答案】:答案解析:do-while先執(zhí)行一次(輸出0,i=1),判斷i<0為假,循環(huán)結(jié)束,故選A。29、以下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(步長(zhǎng)2)的三個(gè)表達(dá)式均合法,循環(huán)邏輯正確,故選D。30、以下函數(shù)聲明正確的是?()

A.voidfun();

B.voidfun(inta);

C.intfun(int);

D.以上都正確

【答案】:答案解析:函數(shù)聲明可省略形參名(只留類型),A、B、C均符合語法,故選D。31、若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。32、下列變量定義語法正確的是?()

A.inta=5;

B.inta=b=5;

C.int5a;

D.inta;b;

【答案】:答案解析:B不能連續(xù)賦值定義,C標(biāo)識(shí)符開頭錯(cuò)誤,D分號(hào)分隔需分別定義(inta;intb;),故選A。33、若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。34、若inta=10;執(zhí)行if(a%2==0)printf("偶數(shù)");elseprintf("奇數(shù)");輸出結(jié)果是?()

A.偶數(shù)

B.奇數(shù)

C.10

D.無輸出

【答案】:答案解析:a=10%2=0,條件為真,輸出偶數(shù),故選A。35、以下函數(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。36、以下關(guān)于指針的說法正確的是?()

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

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

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

D.以上都正確

【答案】:答案解析:A、B、C均是野指針的核心知識(shí)點(diǎn),故選D。37、若charstr[]="Clanguage";則字符串長(zhǎng)度是?()

A.10

B.11

C.12

D.13

【答案】:答案解析:字符串長(zhǎng)度以\0結(jié)束,"Clanguage"含10個(gè)字符(不含\0),故選A。38、若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。39、以下關(guān)于二維數(shù)組的說法正確的是?()

A.二維數(shù)組是數(shù)組的數(shù)組

B.二維數(shù)組元素在內(nèi)存中按列存儲(chǔ)

C.二維數(shù)組長(zhǎng)度必須是常量

D.二維數(shù)組不能作為函數(shù)參數(shù)

【答案】:答案解析:二維數(shù)組本質(zhì)是數(shù)組的數(shù)組,內(nèi)存按行存儲(chǔ),可作為函數(shù)參數(shù),長(zhǎng)度需常量,故選A。40、以下for循環(huán)中,用于計(jì)算1到5的平方和的是?()

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

B.s=0;for(i=1;i<=5;i++)s+=i2;

C.s=1;for(i=1;i<=5;i++)s*=i;

D.s=0;for(i=1;i<=5;i++)s+=i+i;

【答案】:答案解析:平方和是12+22+32+42+52=1+4+9+16+25=55,A的邏輯正確,故選A。41、若floatf=5.9;強(qiáng)制轉(zhuǎn)換為整型的表達(dá)式是?()

A.int(f)

B.(int)f

C.intf

D.(float)f

【答案】:答案解析:強(qiáng)制類型轉(zhuǎn)換格式為(目標(biāo)類型)變量,(int)f結(jié)果為5(取整數(shù)部分),故選B。42、定義單精度浮點(diǎn)型變量y并賦值2.718的語句是?()

A.doubley=2.718;

B.floaty=2.718f;

C.floaty=2.718;

D.inty=2.718;

【答案】:答案解析:float是單精度,需加f后綴(否則默認(rèn)double),double是雙精度,故選B。43、若inta=10,*p=&a,q=p;則q的值是?()

A.10

B.&a

C.p

D.無定義

【答案】:答案解析:q=p使q指向a,*q=10,故選A。44、以下關(guān)于數(shù)組的說法錯(cuò)誤的是?()

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

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

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

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

【答案】:答案解析:數(shù)組不能用“=”整體賦值,需逐個(gè)元素或循環(huán)賦值,A、B、C正確,故選D。45、若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),

溫馨提示

  • 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)論