版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
大一c語言期末試題第一部分單選題(50題)1、函數(shù)參數(shù)為數(shù)組時,形參的寫法錯誤的是?()
A.inta[]
B.int*a
C.inta[5]
D.inta
【答案】:答案解析:D中inta是普通變量,不能接收數(shù)組名(地址),A、B、C均正確,故選D。2、若inta[5]={10,20,30,40,50};則a[4]的值是?()
A.40
B.50
C.60
D.無定義
【答案】:答案解析:a[4]是第五個元素,值為50,故選B。3、以下關(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。4、以下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。5、若inta=10,*p=&a,q=p;則q的值是?()
A.10
B.&a
C.p
D.無定義
【答案】:答案解析:q=p使q指向a,*q=10,故選A。6、以下定義函數(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。7、以下關(guān)于數(shù)組的說法錯誤的是?()
A.數(shù)組元素必須是同一類型
B.數(shù)組長度必須是常量
C.數(shù)組可在函數(shù)內(nèi)定義
D.數(shù)組可整體賦值
【答案】:答案解析:數(shù)組不能用“=”整體賦值,需逐個元素或循環(huán)賦值,A、B、C正確,故選D。8、以下函數(shù)調(diào)用正確的是?()
A.fun();
B.fun(1,2);
C.fun("test");
D.取決于函數(shù)定義
【答案】:答案解析:函數(shù)調(diào)用是否正確取決于函數(shù)定義(參數(shù)類型、個數(shù)),A、B、C均可能正確,故選D。9、以下哪個運(yùn)算符的優(yōu)先級最高?()
A.+
B.*
C.=
D.==
【答案】:答案解析:算術(shù)運(yùn)算符中*(乘)優(yōu)先級高于+(加),賦值(=)和關(guān)系(==)優(yōu)先級更低,故選B。10、以下關(guān)于空指針的定義正確的是?()
A.#defineNULL0
B.#defineNULL(void*)0
C.int*p=NULL;
D.以上都正確
【答案】:答案解析:A、B是NULL的常見定義,C是定義空指針,均正確,故選D。11、以下關(guān)于函數(shù)遞歸的說法錯誤的是?()
A.必須有終止條件
B.可能導(dǎo)致棧溢出
C.效率比循環(huán)高
D.代碼簡潔
【答案】:答案解析:遞歸調(diào)用會創(chuàng)建棧幀,效率低于循環(huán),A、B、D正確,C錯誤,故選C。12、C語言程序的基本單位是?()
A.語句
B.函數(shù)
C.變量
D.表達(dá)式
【答案】:答案解析:C程序由函數(shù)構(gòu)成,main是入口函數(shù),其他函數(shù)實(shí)現(xiàn)功能,故選B。13、遞歸函數(shù)的優(yōu)點(diǎn)是?()
A.代碼簡潔,邏輯清晰
B.效率高,占用內(nèi)存少
C.避免棧溢出
D.適合所有問題
【答案】:答案解析:遞歸優(yōu)點(diǎn)是代碼簡潔(如階乘、斐波那契數(shù)列),缺點(diǎn)是效率低、占用??臻g多(可能溢出),故選A。14、若inta=10,b=20,*p=&a,q=&b;執(zhí)行p=q;后p的值是?()
A.10
B.20
C.&a
D.&b
【答案】:答案解析:p=q使p指向b,*p=b=20,故選B。15、以下函數(shù)遞歸調(diào)用的例子是?()
A.計算階乘
B.循環(huán)輸出數(shù)字
C.數(shù)組遍歷
D.變量交換
【答案】:答案解析:階乘常用遞歸實(shí)現(xiàn)(n!=n*(n-1)!),B、C、D用循環(huán)更高效,故選A。16、若charstr="abcde";則(str+4)的值是?()
A.'d'
B.'e'
C.'\0'
D.無定義
【答案】:答案解析:str+4指向第5個字符,值為'e',故選B。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、若intx=1;執(zhí)行switch(x){case1:printf("1");break;case1:printf("2");break;}會出現(xiàn)什么情況?()
A.輸出1
B.輸出2
C.編譯錯誤
D.運(yùn)行錯誤
【答案】:答案解析:case后常量不能重復(fù),編譯時會報錯,故選C。19、以下函數(shù)定義錯誤的是?()
A.intfun(inta,intb){returna+b;}
B.voidfun(){inta=5;printf("%d",a);}
C.intfun(){inta=3;returna;}
D.voidfun(inta){returna;}
【答案】:答案解析:D返回值類型void,不能return表達(dá)式a,語法錯誤,故選D。20、以下if語句中,條件表達(dá)式正確的是?()
A.if(x=5)printf("yes");
B.if(x==5)printf("yes");
C.if(x=5;)printf("yes");
D.if(x==5;)printf("yes");
【答案】:答案解析:if條件需是判斷表達(dá)式(==),A是賦值,C、D多加分號,故選B。21、若intx=4;執(zhí)行switch(x){case2:printf("2");break;default:printf("0");case4:printf("4");break;}輸出結(jié)果是?()
A.04
B.4
C.204
D.無輸出
【答案】:答案解析:x=4匹配case4,執(zhí)行輸出4,break跳出,故選B。22、若inti=0,s=0;執(zhí)行for(i=1;i<=4;i++)s+=i;后s的值是?()
A.10
B.9
C.8
D.7
【答案】:答案解析:累加1+2+3+4=10,s=10,故選A。23、函數(shù)參數(shù)傳遞中,值傳遞的特點(diǎn)是?()
A.形參修改影響實(shí)參
B.形參是實(shí)參的副本
C.傳遞的是變量地址
D.用于數(shù)組傳參
【答案】:答案解析:值傳遞時形參是實(shí)參的拷貝,修改形參不影響實(shí)參,地址傳遞才影響實(shí)參,故選B。24、若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。25、以下switch語句語法錯誤的是?()
A.switch(x){case1:printf("1");break;}
B.switch(x){case'a':printf("a");break;}
C.switch(x){case1.5:printf("1.5");break;}
D.switch(x){default:printf("0");}
【答案】:答案解析:case后必須是整型常量,1.5是浮點(diǎn)型,語法錯誤,故選C。26、若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。27、若inta=1,b=2;則表達(dá)式(a==b)的結(jié)果是?()
A.1
B.0
C.2
D.真
【答案】:答案解析:==是等于判斷,a==b為假,C語言中假用0表示,故選B。28、若inti=1;執(zhí)行do{printf("%d",i);i++;}while(i<=3);輸出結(jié)果是?()
A.123
B.1234
C.012
D.無輸出
【答案】:答案解析:do-while先執(zhí)行一次(輸出1,i=2),再判斷,共執(zhí)行3次,輸出123,故選A。29、以下if語句中,邏輯運(yùn)算符使用正確的是?()
A.if(x>3&&x<7)
B.if(x>3&x<7)
C.if(x>3|||x<7)
D.if(x>3||x<7)
【答案】:答案解析:邏輯與用&&,邏輯或用||,B是按位與,C多寫||,D邏輯錯誤(x>3或x<7恒為真),故選A。30、以下switch語句中,default的執(zhí)行時機(jī)是?()
A.所有case都不匹配時
B.第一個case不匹配時
C.最后一個case不匹配時
D.任何時候
【答案】:答案解析:default僅在所有case都不匹配時執(zhí)行,故選A。31、以下for循環(huán)中,用于計算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。32、若intx=3;執(zhí)行以下代碼后a的值是?()inta;if(x>5)a=10;elseif(x>2)a=20;elsea=30;
A.10
B.20
C.30
D.無定義
【答案】:答案解析:x=3>2,執(zhí)行第二個分支,a=20,故選B。33、指針變量的大小取決于?()
A.指向變量的類型
B.編譯器和系統(tǒng)(32位4字節(jié),64位8字節(jié))
C.指針變量的名稱
D.變量的值
【答案】:答案解析:指針大小與指向類型無關(guān),取決于系統(tǒng)位數(shù)(32位4B,64位8B),故選B。34、函數(shù)參數(shù)的默認(rèn)值在______指定?()
A.函數(shù)定義時
B.函數(shù)聲明時
C.函數(shù)調(diào)用時
D.C語言不支持默認(rèn)參數(shù)
【答案】:答案解析:標(biāo)準(zhǔn)C語言不支持函數(shù)參數(shù)默認(rèn)值(C++支持),故選D。35、函數(shù)定義和函數(shù)聲明的區(qū)別是?()
A.定義包含函數(shù)體,聲明不包含
B.聲明包含函數(shù)體,定義不包含
C.定義和聲明無區(qū)別
D.定義在程序開頭,聲明在結(jié)尾
【答案】:答案解析:函數(shù)定義是完整實(shí)現(xiàn)(含函數(shù)體),聲明是告訴編譯器函數(shù)名、參數(shù)、返回類型(不含函數(shù)體),故選A。36、以下關(guān)于void類型函數(shù)的說法正確的是?()
A.不能有return語句
B.可以有return語句(無表達(dá)式)
C.必須有return語句
D.可返回任意類型
【答案】:答案解析:void函數(shù)可寫return;(無表達(dá)式),用于提前結(jié)束函數(shù),不能返回表達(dá)式,故選B。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、以下函數(shù)調(diào)用錯誤的是?()
A.fun();
B.fun(5);
C.fun(3,4);
D.無錯誤(需看函數(shù)定義)
【答案】:答案解析:調(diào)用需匹配函數(shù)定義,A對應(yīng)無參函數(shù),B對應(yīng)單參函數(shù),C對應(yīng)雙參函數(shù),均可能正確,故選D。39、若intx=10,y=20;則表達(dá)式x!=y的結(jié)果是?()
A.0
B.1
C.10
D.20
【答案】:答案解析:!=是不等于判斷,x!=y為真,C語言中真用1表示,故選B。40、若intx=5;執(zhí)行以下代碼后輸出結(jié)果是?()if(x>10)printf("A");elseif(x>6)printf("B");elseif(x>3)printf("C");elseprintf("D");
A.A
B.B
C.C
D.
【答案】:答案解析:x=5>3,執(zhí)行第三個分支,輸出C,故選C。41、函數(shù)定義在main函數(shù)之后時,必須先?()
A.調(diào)用函數(shù)
B.聲明函數(shù)
C.定義函數(shù)
D.無要求
【答案】:答案解析:main函數(shù)調(diào)用其他函數(shù)時,若函數(shù)定義在main之后,需先聲明(否則編譯器找不到函數(shù)),故選B。42、函數(shù)參數(shù)傳遞中,值傳遞適用于?()
A.簡單變量,無需修改實(shí)參
B.數(shù)組,需修改元素
C.指針,需修改實(shí)參
D.結(jié)構(gòu)體,需修改成員
【答案】:答案解析:值傳遞用于簡單變量(不修改實(shí)參),地址傳遞用于需修改實(shí)參的場景,故選A。43、以下switch語句中,break語句的位置正確的是?()
A.case后任意位置
B.必須在case代碼最后
C.必須在default后
D.不能在default后
【答案】:答案解析:break可在case代碼任意位置(執(zhí)行到break即跳出),不一定在最后,default后也可加break,故選A。44、數(shù)組在內(nèi)存中的存儲方式是?()
A.隨機(jī)存儲
B.連續(xù)存儲
C.鏈?zhǔn)酱鎯?/p>
D.散列存儲
【答案】:答案解析:數(shù)組元素在內(nèi)存中連續(xù)存放,便于通過下標(biāo)訪問,故選B。45、若intx=5;則表達(dá)式++x的結(jié)果是?()
A.5
B.6
C.4
D.7
【答案】:答案解析:++x是前置自增,先自增(x變?yōu)?)再參與運(yùn)算,結(jié)果為6,故選B。46、若inti=0;執(zhí)行for(i=0;i<5;i++){if(i==3)break;printf("%d",i);}輸出結(jié)果是?()
A.012
B.0123
C.01234
D.無輸出
【答案】:答案解析:i=3時break,輸出012,
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年紅色歡慶-開工儀式策劃
- 2026年房地產(chǎn)成交中的談判策略
- 2025年高職電子信息工程技術(shù)(電子信息應(yīng)用)試題及答案
- 2025年高職第三學(xué)年(數(shù)字媒體技術(shù))動畫制作基礎(chǔ)測試題及答案
- 2025年大學(xué)工商管理(運(yùn)營管理)試題及答案
- 2025年中職水產(chǎn)養(yǎng)殖技術(shù)(水產(chǎn)動物營養(yǎng)與飼料)試題及答案
- 2025年高職第一學(xué)年(護(hù)理學(xué))兒科護(hù)理期末測試試題及答案
- 2025年中職(農(nóng)資營銷與服務(wù))農(nóng)資推廣階段測試題及答案
- 2025年大學(xué)中藥學(xué)(中藥炮制工程)試題及答案
- 2026年按摩推拿教學(xué)(推拿應(yīng)用)試題及答案
- 2026年陜西省森林資源管理局局屬企業(yè)公開招聘工作人員備考題庫及參考答案詳解1套
- 承包團(tuán)建燒烤合同范本
- 電力線通信技術(shù)
- 人工流產(chǎn)手術(shù)知情同意書
- 2025秋人教版七年級全一冊信息科技期末測試卷(三套)
- 教師三筆字培訓(xùn)課件
- 鋼鐵燒結(jié)機(jī)脫硫脫硝施工方案
- 中國醫(yī)藥行業(yè)中間體出口全景分析:破解政策難題深挖全球紅利
- 搶工補(bǔ)償協(xié)議書
- 山東省青島市城陽區(qū)2024-2025學(xué)年九年級上學(xué)期語文期末試卷(含答案)
- 孕婦尿液捐獻(xiàn)協(xié)議書
評論
0/150
提交評論