版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
清華c語言期末測試題第一部分單選題(50題)1、以下for循環(huán)的語法錯誤是?()
A.for(inti=0;i<5;i++)printf("%d",i);
B.for(i=0;i<5;i++)printf("%d",i);
C.for(;i<5;i++)printf("%d",i);
D.for(i=0;;i++)printf("%d",i);
【答案】:答案解析:B中i未定義(需先聲明inti;),A(C99標(biāo)準(zhǔn)允許循環(huán)內(nèi)定義)、C(初始化省略)、D(條件省略,無限循環(huán))語法均正確,故選B。2、以下指針運算錯誤的是?()
A.inta=5,*p=&a;p++;
B.inta=5,*p=&a;*p++;
C.inta=5,*p=&a;p=&a+1;
D.inta=5,*p=&a;p=p+2;
【答案】:答案解析:&a是地址常量,不能進行算術(shù)運算(&a+1錯誤),A、B、D均正確,故選C。3、若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。4、函數(shù)參數(shù)傳遞中,值傳遞適用于?()
A.簡單變量,無需修改實參
B.數(shù)組,需修改元素
C.指針,需修改實參
D.結(jié)構(gòu)體,需修改成員
【答案】:答案解析:值傳遞用于簡單變量(不修改實參),地址傳遞用于需修改實參的場景,故選A。5、C語言中,宏定義的預(yù)處理命令關(guān)鍵字是?()
A.include
B.define
C.ifdef
D.endif
【答案】:答案解析:#define用于宏定義,#include用于包含頭文件,#ifdef/endif是條件編譯,故選B。6、若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。7、函數(shù)中局部變量的作用域是?()
A.整個程序
B.函數(shù)內(nèi)部
C.函數(shù)外部
D.所有函數(shù)
【答案】:答案解析:局部變量定義在函數(shù)內(nèi),僅在函數(shù)內(nèi)部有效,故選B。8、若inta[3][3]={{1},{2,3},{4,5,6}};則a[1][0]的值是?()
A.2
B.3
C.4
D.5
【答案】:答案解析:a[1][0]是第二行第一列,值為2,故選A。9、若inti=0;執(zhí)行for(i=1;i<=5;i++){if(i%3==0)continue;printf("%d",i);}輸出結(jié)果是?()
A.1245
B.12345
C.3
D.無輸出
【答案】:答案解析:i=3時continue,跳過printf,輸出1、2、4、5,故選A。10、以下指針與函數(shù)的關(guān)系正確的是?()
A.函數(shù)名是函數(shù)的地址
B.函數(shù)指針可指向函數(shù)
C.可通過函數(shù)指針調(diào)用函數(shù)
D.以上都正確
【答案】:答案解析:A、B、C均是函數(shù)與指針的基本關(guān)系,故選D。11、以下哪個不是C語言的關(guān)鍵字?()
A.if
B.else
C.then
D.for
【答案】:答案解析:then不是C語言關(guān)鍵字,if(條件)、else(否則)、for(循環(huán))均是,故選C。12、以下關(guān)于函數(shù)遞歸的說法錯誤的是?()
A.必須有終止條件
B.可能導(dǎo)致棧溢出
C.效率比循環(huán)高
D.代碼簡潔
【答案】:答案解析:遞歸調(diào)用會創(chuàng)建棧幀,效率低于循環(huán),A、B、D正確,C錯誤,故選C。13、若inta=5,p=&a;則&p的值是?()
A.5
B.&a
C.p
D.無定義
【答案】:答案解析:*&p等價于p,即指針p自身的值(a的地址),故選C。14、若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。15、以下二維數(shù)組初始化正確的是?()
A.inta[2][3]={{1},{2},{3}};
B.inta[2][3]={1,2,3,4,5};
C.inta[2][3]={{1,2,3},{4,5,6}};
D.inta[2][3]={1,2,3,4,5,6,7};
【答案】:答案解析:A行數(shù)超2,B元素不足6個(補0),C標(biāo)準(zhǔn)初始化,D元素超6個,故選C。16、函數(shù)嵌套調(diào)用是指?()
A.函數(shù)調(diào)用自身
B.函數(shù)調(diào)用另一個函數(shù)
C.函數(shù)定義中包含另一個函數(shù)
D.多個函數(shù)互相調(diào)用
【答案】:答案解析:嵌套調(diào)用是函數(shù)A調(diào)用函數(shù)B,函數(shù)B調(diào)用函數(shù)C,遞歸是調(diào)用自身,故選B。17、若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。18、定義整型變量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。19、若inta=4,b=6;則表達式a<b?a+b:a-b的結(jié)果是?()
A.10
B.-2
C.4
D.6
【答案】:答案解析:a<b為真,取a+b=4+6=10,故選A。20、以下二維數(shù)組定義中,行數(shù)為2的是?()
A.inta[2][3];
B.inta[][3]={1,2,3,4,5,6};
C.inta[2][3]={1,2,3,4,5};
D.以上都是
【答案】:答案解析:A行數(shù)2,B初始化6個元素(3列×2行),C行數(shù)2,故選D。21、shortint類型的有符號取值范圍是?()
A.0~65535
B.-32768~32767
C.-2147483648~2147483647
D.無固定范圍
【答案】:答案解析:16位shortint有符號取值標(biāo)準(zhǔn)為-32768~32767,無符號為0~65535,故選B。22、以下哪個關(guān)鍵字用于定義整型變量?()
A.char
B.int
C.float
D.double
【答案】:答案解析:int定義整型,char字符型,float單精度浮點型,double雙精度浮點型,故選B。23、若charstr[]="helloworld";則字符串長度是?()
A.10
B.11
C.12
D.13
【答案】:答案解析:"helloworld"含11個字符(不含\0),長度為11,故選B。24、若inta[5];則數(shù)組a的元素個數(shù)是?()
A.4
B.5
C.6
D.不確定
【答案】:答案解析:數(shù)組a[5]定義5個元素(下標(biāo)0-4),故選B。25、若charstr="abcde";則(str+4)的值是?()
A.'d'
B.'e'
C.'\0'
D.無定義
【答案】:答案解析:str+4指向第5個字符,值為'e',故選B。26、以下關(guān)于void類型函數(shù)的說法正確的是?()
A.不能有return語句
B.可以有return語句(無表達式)
C.必須有return語句
D.可返回任意類型
【答案】:答案解析:void函數(shù)可寫return;(無表達式),用于提前結(jié)束函數(shù),不能返回表達式,故選B。27、以下switch語句中,case穿透的情況是?()
A.case后加break
B.case后不加break
C.有default
D.無default
【答案】:答案解析:case后不加break會繼續(xù)執(zhí)行下一個case的代碼(穿透),加break則跳出,故選B。28、若intx=9;執(zhí)行以下代碼后輸出結(jié)果是?()if(x>10)printf("A");elseif(x>8)printf("B");elseif(x>6)printf("C");elseprintf("D");
A.A
B.B
C.C
D.
【答案】:答案解析:x=9>8,執(zhí)行第二個分支,輸出B,故選B。29、以下定義指向字符串的指針正確的是?()
A.char*str="hello";
B.charstr[]="hello";
C.char(*str)[]="hello";
D.charstr[5]="hello";
【答案】:答案解析:A是指向字符串常量的指針,B是字符數(shù)組,C是數(shù)組指針(類型不匹配),D長度不足(含\0需6字節(jié)),故選A。30、若inta[5]={1,2,3};則a[3]的值是?()
A.0
B.3
C.隨機值
D.無定義
【答案】:答案解析:初始化時未賦值的元素默認為0,a[3]=0,故選A。31、函數(shù)調(diào)用時,實參的類型必須與形參的類型?()
A.完全一致
B.兼容(可自動轉(zhuǎn)換)
C.無關(guān)
D.實參類型大于形參類型
【答案】:答案解析:實參和形參類型可兼容(如int→float),編譯器自動轉(zhuǎn)換,不兼容則編譯錯誤,故選B。32、若inta=10,*p=&a;則sizeof(p)的值是?()
A.4
B.8
C.取決于系統(tǒng)
D.10
【答案】:答案解析:sizeof(p)是指針大小,32位系統(tǒng)4字節(jié),64位8字節(jié),故選C。33、以下for循環(huán)中,循環(huán)變量更新表達式為“i-=2”的是?()
A.for(i=10;i>0;i-=2)
B.for(i=0;i<10;i+=2)
C.for(i=10;i>0;i--)
D.for(i=0;i<10;i=2)
【答案】:答案解析:i-=2等價于i=i-2,A的更新表達式正確,故選A。34、以下函數(shù)聲明正確的是?()
A.voidfun();
B.voidfun(inta);
C.intfun(int);
D.以上都正確
【答案】:答案解析:函數(shù)聲明可省略形參名(只留類型),A、B、C均符合語法,故選D。35、若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。36、以下if-elseif語句的執(zhí)行邏輯是?()if(x<0)printf("負");elseif(x==0)printf("零");elseprintf("正");
A.多個條件可同時滿足
B.僅執(zhí)行第一個滿足的條件分支
C.所有滿足的條件分支都執(zhí)行
D.無滿足條件則不執(zhí)行
【答案】:答案解析:if-elseif是互斥分支,僅執(zhí)行第一個滿足條件的分支,故選B。37、以下switch語句中,default的位置可以在?()
A.所有case之前
B.所有case之后
C.兩個case之間
D.以上都可以
【答案】:答案解析:default位置靈活,可在case前、后或中間,不影響執(zhí)行邏輯,故選D。38、以下關(guān)于指針的說法錯誤的是?()
A.指針可指向變量、數(shù)組、函數(shù)
B.指針可進行算術(shù)運算(如++、--)
C.指針可指向自身
D.指針可用于動態(tài)內(nèi)存分配
【答案】:答案解析:指針不能指向自身(類型不匹配),A、B、D說法正確,故選C。39、以下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。40、函數(shù)參數(shù)為數(shù)組時,形參的寫法錯誤的是?()
A.inta[]
B.int*a
C.inta[5]
D.inta
【答案】:答案解析:D中inta是普通變量,不能接收數(shù)組名(地址),A、B、C均正確,故選D。41、以下哪個轉(zhuǎn)義字符表示制表符?()
A.\n
B.\t
C.\b
D.\r
【答案】:答案解析:\t是制表符(Tab),\n換行,\b退格,\r回車,故選B。42、以下switch語句中,default的執(zhí)行時機是?()
A.所有case都不匹配時
B.第一個case不匹配時
C.最后一個case不匹配時
D.任何時候
【答案】:答案解析:default僅在所有case都不匹配時執(zhí)行,故選A。43、以下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;}
【答案】:答案解析:字符常量用單引號,B是標(biāo)識符,C是字符串,D語法錯誤(多個case需分開),故選A。44、以下if語句中,賦值表達式作為條件的是?()
A.if(x==3)
B.if(x=3)
C.if(x>3)
D.if(x!=3)
【答案】:答案解析:x=3是賦值表達式,結(jié)果為3(非0,真),其余是判斷表達式,故選B。45、以下關(guān)于指針數(shù)組的定義正確的是?()
A.int*arr[5];
B.int(*arr)[5];
C.intarr[5];
D.intarr[];
【答案】:答案解析:A是指針數(shù)組(5個int指針),B是指向數(shù)組的指針,C是普通數(shù)組
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025浙江衢州市屬國有企業(yè)冬季招聘19人備考題庫及參考答案詳解一套
- 2025江西南昌市安義縣城市建設(shè)投資發(fā)展集團有限公司招聘1人備考題庫及參考答案詳解1套
- 2026山東事業(yè)單位統(tǒng)考菏澤市牡丹區(qū)招聘備考題庫及參考答案詳解
- 2025至2030禮品包裝消費者行為洞察與品牌營銷戰(zhàn)略研究報告
- 2026吉林富維股份內(nèi)部招聘16人備考題庫及一套答案詳解
- 2025-2030面包產(chǎn)業(yè)發(fā)展分析及政府戰(zhàn)略規(guī)劃實施研究報告
- 2026安徽池州市青陽縣急需緊缺人才引進10人備考題庫及1套參考答案詳解
- 2026年合肥市東至路幼兒園保育員、廚房人員、保健員等工作人員招聘備考題庫完整答案詳解
- 2025-2030釀酒行業(yè)市場深度調(diào)研及發(fā)展趨勢和前景預(yù)測研究報告
- 2025-2030鄭州市公共交通系統(tǒng)運營效率提升性現(xiàn)態(tài)調(diào)研分析規(guī)劃報告
- 高中期末家長會
- 2023年度國家社科基金一般項目申請書(語言學(xué))立項成功范本,特珍貴
- 風(fēng)機系統(tǒng)巡檢內(nèi)容及標(biāo)準(zhǔn)
- 新生兒高血糖護理課件
- 熱食類食品制售管理制度
- 五金件外觀檢驗標(biāo)準(zhǔn)
- 香精概論第四章-芳香療法課件
- 電梯安裝調(diào)試工地EHS管理要求和交底
- 車輛考核制度6篇
- JJF 1487-2014超聲波探傷試塊校準(zhǔn)規(guī)范
- GB/T 39253-2020增材制造金屬材料定向能量沉積工藝規(guī)范
評論
0/150
提交評論