版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
清華c語言期末測試題第一部分單選題(50題)1、若inta[4]={1,2,3,4};則a[3]的值是?()
A.3
B.4
C.1
D.2
【答案】:答案解析:a[3]是第四個元素,值為4,故選B。2、以下函數(shù)定義中,參數(shù)為兩個int類型的是?()
A.voidfun(inta,floatb){}
B.voidfun(inta,intb){}
C.voidfun(floata,intb){}
D.voidfun(inta,charb){}
【答案】:答案解析:B中兩個參數(shù)均為int類型,其余選項參數(shù)類型不匹配,故選B。3、若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。4、以下哪個操作會導(dǎo)致野指針?()
A.指針未初始化
B.指針指向的內(nèi)存被釋放后未置空
C.指針越界訪問
D.以上都是
【答案】:答案解析:野指針是指向無效地址的指針,A、B、C均會導(dǎo)致野指針,故選D。5、以下switch語句中,default的作用是?()
A.匹配所有case
B.匹配除case外的所有情況
C.終止switch語句
D.無實際作用
【答案】:答案解析:default用于匹配所有case未覆蓋的情況,可選且位置靈活,故選B。6、以下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。7、定義整型變量x、y并均賦值10的語句是?()
A.intx=y=10;
B.intx=10,y=10;
C.intx=10;y=10;
D.intx=10;inty=10;
【答案】:答案解析:同一行定義多個變量用逗號分隔,A不能連續(xù)賦值,C缺少int,D是兩行定義,故選B。8、函數(shù)返回值通過______語句返回?()
A.printf
B.scanf
C.return
D.break
【答案】:答案解析:return語句用于函數(shù)返回值,printf輸出,scanf輸入,break跳出循環(huán)/switch,故選C。9、以下函數(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。10、若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。11、若inta=5,p=&a;則&p的值是?()
A.5
B.&a
C.p
D.無定義
【答案】:答案解析:*&p等價于p,即指針p自身的值(a的地址),故選C。12、以下switch語句中,case穿透的情況是?()
A.case后加break
B.case后不加break
C.有default
D.無default
【答案】:答案解析:case后不加break會繼續(xù)執(zhí)行下一個case的代碼(穿透),加break則跳出,故選B。13、數(shù)組作為函數(shù)參數(shù)時,函數(shù)中修改數(shù)組元素會影響主調(diào)函數(shù)中的數(shù)組嗎?()
A.會(指針傳遞)
B.不會(值傳遞)
C.取決于數(shù)組長度
D.不確定
【答案】:答案解析:數(shù)組名傳參是指針傳遞,函數(shù)中通過指針修改元素會同步到主調(diào)函數(shù)數(shù)組,故選A。14、指針作為函數(shù)返回值時,不能返回?()
A.靜態(tài)局部變量的地址
B.全局變量的地址
C.動態(tài)分配內(nèi)存的地址
D.局部變量的地址
【答案】:答案解析:局部變量在函數(shù)調(diào)用結(jié)束后釋放,返回其地址會導(dǎo)致野指針,故選D。15、以下函數(shù)返回值類型為int的是?()
A.voidfun(){return;}
B.intfun(){return3.14;}
C.floatfun(){return5;}
D.charfun(){return'a';}
【答案】:答案解析:A返回值類型void(不能return表達(dá)式),B返回類型int(3.14強制轉(zhuǎn)為3),C返回類型float,D返回類型char,故選B。16、以下循環(huán)中,循環(huán)次數(shù)為3次的是?()
A.for(i=1;i<=3;i++)
B.while(i=3)
C.do{i++;}while(i<3);
D.for(i=5;i>0;i--)
【答案】:答案解析:A執(zhí)行3次(1-3),B是無限循環(huán),C(i初始0)執(zhí)行3次,D執(zhí)行5次,題目問“3次”,A明確正確,故選A。17、putchar()函數(shù)的功能是?()
A.讀取一個字符
B.輸出一個字符
C.讀取字符串
D.輸出字符串
【答案】:答案解析:putchar()用于輸出單個字符,getchar()讀取單個字符,puts()輸出字符串,故選B。18、以下指針定義正確的是?()
A.int*p;
B.char*q;
C.float*r;
D.以上都正確
【答案】:答案解析:A指向int,B指向char,C指向float,均符合指針定義語法,故選D。19、以下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。20、函數(shù)聲明的作用是?()
A.告訴編譯器函數(shù)的存在
B.實現(xiàn)函數(shù)功能
C.分配函數(shù)內(nèi)存
D.調(diào)用函數(shù)
【答案】:答案解析:函數(shù)聲明用于向編譯器說明函數(shù)名、參數(shù)、返回類型(確保調(diào)用正確),定義才是實現(xiàn)功能,故選A。21、以下關(guān)于main函數(shù)的說法正確的是?()
A.main函數(shù)可無返回值
B.main函數(shù)可帶參數(shù)
C.main函數(shù)是程序入口
D.以上都正確
【答案】:答案解析:main函數(shù)可聲明為void(無返回值),可帶argc/argv參數(shù),是程序唯一入口,故選D。22、do-while循環(huán)的語法格式正確的是?()
A.do語句;while(條件);
B.do{語句}while(條件)
C.do語句while(條件);
D.do;語句;while(條件);
【答案】:答案解析:do-while格式為“do循環(huán)體;while(條件);”,循環(huán)體可是單條語句或代碼塊,B缺少分號,C缺少分號,D循環(huán)體為空,故選A。23、以下函數(shù)遞歸調(diào)用的例子是?()
A.計算階乘
B.循環(huán)輸出數(shù)字
C.數(shù)組遍歷
D.變量交換
【答案】:答案解析:階乘常用遞歸實現(xiàn)(n!=n*(n-1)!),B、C、D用循環(huán)更高效,故選A。24、若inta=4,b=6;則表達(dá)式a<b?a+b:a-b的結(jié)果是?()
A.10
B.-2
C.4
D.6
【答案】:答案解析:a<b為真,取a+b=4+6=10,故選A。25、若int*p=(int)malloc(sizeof(int));則p的值是?()
A.0
B.隨機值
C.1
D.無定義
【答案】:答案解析:malloc分配的內(nèi)存未初始化,值為隨機值,故選B。26、C語言程序編譯的正確順序是?()
A.預(yù)處理→編譯→匯編→鏈接
B.編譯→預(yù)處理→匯編→鏈接
C.預(yù)處理→匯編→編譯→鏈接
D.鏈接→編譯→匯編→預(yù)處理
【答案】:答案解析:C程序編譯流程為預(yù)處理(處理#命令)→編譯(生成匯編代碼)→匯編(生成目標(biāo)文件)→鏈接(生成可執(zhí)行文件),故選A。27、以下轉(zhuǎn)義字符表示換行的是?()
A.\t
B.\n
C.\
D.\r
【答案】:答案解析:\t是制表符,\n是換行符,\是反斜杠,\r是回車符,故選B。28、若inti=0;執(zhí)行while(1){printf("%d",i);i++;if(i==3)break;}輸出結(jié)果是?()
A.012
B.0123
C.無限循環(huán)
D.無輸出
【答案】:答案解析:while(1)無限循環(huán),i=3時break,輸出012,故選A。29、指針與字符串的關(guān)系,以下說法正確的是?()
A.字符串常量是字符數(shù)組,數(shù)組名是指針
B.字符串可通過指針遍歷
C.字符指針可指向字符串常量
D.以上都正確
【答案】:答案解析:A、B、C均是指針與字符串的基本關(guān)系,故選D。30、指針與結(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。31、以下指針與函數(shù)的關(guān)系正確的是?()
A.函數(shù)名是函數(shù)的地址
B.函數(shù)指針可指向函數(shù)
C.可通過函數(shù)指針調(diào)用函數(shù)
D.以上都正確
【答案】:答案解析:A、B、C均是函數(shù)與指針的基本關(guān)系,故選D。32、指針作為函數(shù)參數(shù)時,傳遞的是?()
A.指針的值
B.指針的地址
C.變量的值
D.變量的地址
【答案】:答案解析:指針傳參本質(zhì)是傳遞變量地址,函數(shù)中通過指針可修改實參值,故選D。33、若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,故選A。34、若inta[3][3]={{1,2,3},{4,5,6},{7,8,9}};則a[1][2]的值是?()
A.5
B.6
C.8
D.9
【答案】:答案解析:a[1][2]是第二行第三列,值為6,故選B。35、若intx=10;則表達(dá)式x%3的結(jié)果是?()
A.1
B.2
C.3
D.0
【答案】:答案解析:%是取余運算符,10除以3商3余1,故選A。36、以下if語句中,邏輯非運算符使用正確的是?()
A.if(!x)printf("yes");
B.if(!x==0)printf("yes");
C.if(!(x>0))printf("yes");
D.A和C
【答案】:答案解析:!x表示“x為假(0)”,!(x>0)表示“x不大于0”,均正確;B中!x==0等價于x!=0,邏輯不同,故選D。37、若inti;執(zhí)行for(i=0;i<5;i++)printf("%d",i);輸出結(jié)果是?()
A.01234
B.12345
C.012345
D.無輸出
【答案】:答案解析:for循環(huán)初始化i=0,條件i<5(成立時執(zhí)行),每次循環(huán)后i++,執(zhí)行5次,輸出01234,故選A。38、以下關(guān)于函數(shù)遞歸的說法錯誤的是?()
A.必須有終止條件
B.可能導(dǎo)致棧溢出
C.效率比循環(huán)高
D.代碼簡潔
【答案】:答案解析:遞歸調(diào)用會創(chuàng)建棧幀,效率低于循環(huán),A、B、D正確,C錯誤,故選C。39、若intx=10,y=20;則表達(dá)式x!=y的結(jié)果是?()
A.0
B.1
C.10
D.20
【答案】:答案解析:!=是不等于判斷,x!=y為真,C語言中真用1表示,故選B。40、若inti=0;執(zhí)行while(i<5){printf("%d",i);i++;if(i==3)break;}輸出結(jié)果是?()
A.012
B.0123
C.01
D.無輸出
【答案】:答案解析:i=3時break,輸出012,故選A。41、以下關(guān)于函數(shù)的說法錯誤的是?()
A.函數(shù)可嵌套調(diào)用
B.函數(shù)可遞歸調(diào)用
C.函數(shù)可重定義
D.函數(shù)可聲明多次
【答案】:答案解析:C函數(shù)名不能重定義(重復(fù)定義編譯報錯),A、B、D正確,故選C。42、以下函數(shù)聲明正確的是?()
A.intfun(intx,inty);
B.intfun(int,int);
C.intfun(intx;inty);
D.A和B
【答案】:答案解析:函數(shù)聲明可寫參數(shù)名或只寫類型,A、B正確,C用分號錯誤,故選D。43、執(zhí)行scanf("%d,%d",&a,&b);時,正確的輸入格式是?()
A.23
B.2;3
C.2,3
D.2和3
【答案】:答案解析:scanf格式串中含逗號分隔符,輸入需嚴(yán)格對應(yīng),故選C。44、函數(shù)定義在main函數(shù)之后時,必須先?()
A.調(diào)用函數(shù)
B.聲明函數(shù)
C.定義函數(shù)
D.無要求
【答案】:答案解析:main函數(shù)調(diào)用其他函數(shù)時,若函數(shù)定義在main之后,需先聲明(否則編譯器找不到函數(shù)),故選B。45、若inta[3][3]={{1,2},{3,4},{5,6}};則a[1][1]的
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c2安全考試題庫及答案
- 大學(xué)生心理知識競賽題及答案
- 阿斯利康(中國)校招面試題及答案
- 2026字節(jié)跳動秋招面筆試題及答案
- 初級倉管員考試題及答案
- 未來五年動物病毒檢驗服務(wù)企業(yè)ESG實踐與創(chuàng)新戰(zhàn)略分析研究報告
- 中國礦產(chǎn)資源集團2026校園招聘和所屬單位社會招聘參考題庫必考題
- 會昌縣2025年縣直事業(yè)單位公開選調(diào)一般工作人員參考題庫必考題
- 華鎣市總工會關(guān)于公開招聘工會社會工作者的備考題庫附答案
- 吉安市低空經(jīng)濟發(fā)展促進中心公開選調(diào)工作人員考試備考題庫必考題
- 2025年公務(wù)員考試題庫(含答案)
- 2025中國醫(yī)學(xué)科學(xué)院北京協(xié)和醫(yī)學(xué)院招聘26人備考題庫及答案詳解(奪冠系列)
- 2026年維修工崗位面試題庫含答案
- 2026年溫州市1.5模高三語文試題作文題目解析及3篇范文:打扮自己與打扮大地
- 2026年湘西民族職業(yè)技術(shù)學(xué)院單招職業(yè)技能筆試參考題庫含答案解析
- 2025-2026學(xué)年教科版(新教材)小學(xué)科學(xué)三年級下冊《昆蟲的一生》教學(xué)設(shè)計
- 2025年12月福建廈門市鷺江創(chuàng)新實驗室管理序列崗位招聘8人參考題庫附答案
- 化工工藝安全管理與操作手冊
- 規(guī)范外匯交易管理制度
- 2026年美麗中國全國國家版圖知識競賽考試題庫(含答案)
- 高考英語讀后續(xù)寫技巧總結(jié)
評論
0/150
提交評論