版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
清華c語言期末測試題第一部分單選題(50題)1、函數(shù)的形參在______時分配內(nèi)存?()
A.函數(shù)定義
B.函數(shù)聲明
C.函數(shù)調(diào)用
D.程序編譯
【答案】:答案解析:形參是局部變量,函數(shù)調(diào)用時分配內(nèi)存,調(diào)用結(jié)束釋放,故選C。2、若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。3、shortint類型的有符號取值范圍是?()
A.0~65535
B.-32768~32767
C.-2147483648~2147483647
D.無固定范圍
【答案】:答案解析:16位shortint有符號取值標準為-32768~32767,無符號為0~65535,故選B。4、若inta=4;執(zhí)行a-=2;后a的值是?()
A.2
B.4
C.6
D.0
【答案】:答案解析:a-=2等價于a=a-2,4-2=2,故選A。5、以下關(guān)于函數(shù)參數(shù)的說法正確的是?()
A.形參是局部變量
B.實參是局部變量
C.形參在函數(shù)調(diào)用后釋放
D.實參在函數(shù)調(diào)用后釋放
【答案】:答案解析:形參是函數(shù)內(nèi)局部變量(調(diào)用時分配內(nèi)存,調(diào)用結(jié)束釋放),實參是主調(diào)函數(shù)中的變量(生命周期與主調(diào)函數(shù)一致),故選A。6、若inti=0;執(zhí)行for(i=0;i<5;i++){if(i==2)continue;printf("%d",i);}輸出結(jié)果是?()
A.0134
B.01234
C.01
D.無限循環(huán)
【答案】:答案解析:i=2時執(zhí)行continue,跳過printf,輸出0134,故選A。7、指針與數(shù)組的關(guān)系,以下說法正確的是?()
A.數(shù)組名是常量指針,不能自增
B.指針可指向數(shù)組元素,通過指針遍歷數(shù)組
C.p[i]等價于*(p+i)
D.以上都正確
【答案】:答案解析:數(shù)組名是首元素地址(常量,不可自增),指針可遍歷數(shù)組,p[i]與*(p+i)等價,故選D。8、以下定義指向數(shù)組的指針正確的是?()
A.inta[5],*p=a;
B.inta[5],*p=&a;
C.inta[5],p=a;
D.inta[5],*p=a[0];
【答案】:答案解析:a是數(shù)組名(首元素地址),p=a等價于p=&a[0],B&a是數(shù)組地址(類型不匹配),Cp是普通變量,Dp不能賦a[0]的值,故選A。9、以下函數(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表達式a,語法錯誤,故選D。10、以下關(guān)于main函數(shù)的說法正確的是?()
A.main函數(shù)可無返回值
B.main函數(shù)可帶參數(shù)
C.main函數(shù)是程序入口
D.以上都正確
【答案】:答案解析:main函數(shù)可聲明為void(無返回值),可帶argc/argv參數(shù),是程序唯一入口,故選D。11、以下數(shù)組定義中,可省略數(shù)組長度的是?()
A.inta[5];
B.inta[]={1,2,3};
C.inta[5]={1,2,3};
D.inta[][3];
【答案】:答案解析:初始化時可省略長度(編譯器自動計算),D二維數(shù)組第二維不能省略,故選B。12、若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。13、若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。14、以下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。15、若inta[5]={10,20,30,40,50};則a[2]的值是?()
A.10
B.20
C.30
D.40
【答案】:答案解析:數(shù)組下標從0開始,a[2]是第三個元素30,故選C。16、以下哪個不是C語言的關(guān)鍵字?()
A.if
B.else
C.then
D.for
【答案】:答案解析:then不是C語言關(guān)鍵字,if(條件)、else(否則)、for(循環(huán))均是,故選C。17、以下if-elseif語句的執(zhí)行邏輯是?()if(x<0)printf("負");elseif(x==0)printf("零");elseprintf("正");
A.多個條件可同時滿足
B.僅執(zhí)行第一個滿足的條件分支
C.所有滿足的條件分支都執(zhí)行
D.無滿足條件則不執(zhí)行
【答案】:答案解析:if-elseif是互斥分支,僅執(zhí)行第一個滿足條件的分支,故選B。18、以下哪個函數(shù)用于輸出字符串?()
A.putchar()
B.printf()
C.gets()
D.scanf()
【答案】:答案解析:printf()可輸出字符串(如printf("hello");),putchar()輸出單個字符,故選B。19、若inta=3;執(zhí)行if(++a>3)printf("A");elseprintf("B");輸出結(jié)果是?()
A.A
B.B
C.AB
D.無輸出
【答案】:答案解析:++a是前置自增,a變?yōu)?>3,條件為真,輸出A,故選A。20、以下switch語句中,default的執(zhí)行時機是?()
A.所有case都不匹配時
B.第一個case不匹配時
C.最后一個case不匹配時
D.任何時候
【答案】:答案解析:default僅在所有case都不匹配時執(zhí)行,故選A。21、以下for循環(huán)的循環(huán)變量初始化表達式為“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)
【答案】:答案解析:初始化表達式是for循環(huán)第一個部分,B中i=5符合,其余初始化非5,故選B。22、定義整型變量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。23、以下函數(shù)定義錯誤的是?()
A.voidfun(){}
B.voidfun(inta){}
C.intfun(){}
D.intfun(){return;}
【答案】:答案解析:D返回類型int(必須return表達式),return無表達式錯誤,A、B、C正確,故選D。24、以下函數(shù)調(diào)用正確的是?()
A.fun();
B.fun(1,2);
C.fun("test");
D.取決于函數(shù)定義
【答案】:答案解析:函數(shù)調(diào)用是否正確取決于函數(shù)定義(參數(shù)類型、個數(shù)),A、B、C均可能正確,故選D。25、函數(shù)返回值的類型由______決定?()
A.return語句中的表達式類型
B.函數(shù)定義時的返回類型
C.函數(shù)調(diào)用時的參數(shù)類型
D.編譯器默認類型
【答案】:答案解析:函數(shù)返回類型在定義時指定,return表達式類型需與返回類型匹配(不匹配則強制轉(zhuǎn)換),故選B。26、以下哪個數(shù)據(jù)類型的占用字節(jié)數(shù)最大?()
A.char
B.short
C.int
D.double
【答案】:答案解析:char(1字節(jié))、short(2字節(jié))、int(4字節(jié))、double(8字節(jié)),故選D。27、數(shù)組名作為函數(shù)參數(shù)時,傳遞的是?()
A.數(shù)組第一個元素的值
B.數(shù)組所有元素的值
C.數(shù)組第一個元素的地址
D.數(shù)組長度
【答案】:答案解析:數(shù)組名傳參本質(zhì)是首元素地址(指針傳遞),函數(shù)中可通過指針訪問數(shù)組,故選C。28、若inti=1,s=0;執(zhí)行while(i<=5){s+=i;i++;}后s的值是?()
A.15
B.10
C.5
D.0
【答案】:答案解析:循環(huán)累加1+2+3+4+5=15,s=15,故選A。29、若inti=0;執(zhí)行for(i=0;i<5;i++){printf("%d",i);if(i==2)break;}輸出結(jié)果是?()
A.012
B.01
C.01234
D.無輸出
【答案】:答案解析:i=2時break,輸出012,故選A。30、以下關(guān)于指針的說法正確的是?()
A.指針可用于遍歷數(shù)組
B.指針可用于字符串操作
C.指針可用于函數(shù)參數(shù)傳遞
D.以上都正確
【答案】:答案解析:指針在數(shù)組遍歷、字符串處理、參數(shù)傳遞中均有核心作用,故選D。31、若intx=3,y=5;則表達式x>y?x:y的結(jié)果是?()
A.3
B.5
C.true
D.false
【答案】:答案解析:三元運算符格式“條件?值1:值2”,x>y為假,取y=5,故選B。32、若inta=3;執(zhí)行a+=aa;后a的值是?()
A.12
B.6
C.9
D.15
【答案】:答案解析:優(yōu)先級先乘后加,a+=aa等價于a=a+(aa)=3+(33)=12,故選A。33、以下for循環(huán)中,循環(huán)變量初始化、條件判斷、更新表達式均正確的是?()
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)的三個表達式均合法,循環(huán)邏輯正確,故選D。34、若inti=0;執(zhí)行for(;i<5;){printf("%d",i);i++;}輸出結(jié)果是?()
A.01234
B.12345
C.無限循環(huán)
D.無輸出
【答案】:答案解析:for循環(huán)初始化和條件省略,循環(huán)體中i自增,執(zhí)行5次,輸出01234,故選A。35、若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。36、C語言程序的基本單位是?()
A.語句
B.函數(shù)
C.變量
D.表達式
【答案】:答案解析:C程序由函數(shù)構(gòu)成,main是入口函數(shù),其他函數(shù)實現(xiàn)功能,故選B。37、若charstr[]="helloworld";則字符串長度是?()
A.10
B.11
C.12
D.13
【答案】:答案解析:"helloworld"含11個字符(不含\0),長度為11,故選B。38、以下關(guān)于main函數(shù)的說法錯誤的是?()
A.程序從main開始執(zhí)行
B.main函數(shù)可帶參數(shù)
C.main函數(shù)必須有返回值
D.main函數(shù)可調(diào)用其他函數(shù)
【答案】:答案解析:main函數(shù)可聲明為void(無返回值),C說法錯誤,A、B、D正確,故選C。39、若inta[3][2]={{1,2},{3,4},{5,6}};則a[2][1]的值是?()
A.5
B.6
C.3
D.4
【答案】:答案解析:a[2][1]是第三行第二列,值為6,故選B。40、若inta=10,p=&a;則p的值是?()
A.10
B.&a
C.p
D.無定義
【答案】:答案解析:*p是解引用,->用于結(jié)構(gòu)體指針訪問成員,.用于結(jié)構(gòu)體變量訪問成員,故選B。41、若charstr[10]="abcde";則str[5]的值是?()
A.'e'
B.'\0'
C.隨機值
D.無定義
【答案】:答案解析:字符串自動在末尾加\0,str[5]是\0,故選B。42、若charstr[]="Clanguage";則字符串長度是?()
A.10
B.11
C.12
D.13
【答案】:答案解析:字符串長度以\0結(jié)束,"Clanguage"含10個字符(不含\0),故選A。43、以下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。44、以下關(guān)于指針的說法正確的是?()
A.指針可用于實現(xiàn)多返回值函數(shù)
B.指針可提高程序效率
C.指針可用于動態(tài)內(nèi)存分配
D.以上都正確
【答案】:答案解析:指針的核心用途包括多返回值、高效訪問、動態(tài)內(nèi)存分配,故選D。45、以下指針運算中,結(jié)果為值的是?()
A.*p
B.p+1
C.&a
D.p-2
【答案】:答案解析:*p是解引用,獲取指針指向變量的值,B、C、D結(jié)果均為指針,故選A。46、以下哪個賦值語句是正確的?()
A.inta=5;
B.a=5;
C.inta=b=5;
D.a=b=5;
【答
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中職第二學(xué)年(計算機應(yīng)用技術(shù))辦公自動化階段測試試題及答案
- 2025年中職工程造價(工程造價核算)試題及答案
- 2025年大學(xué)生態(tài)學(xué)(生態(tài)調(diào)查實驗)試題及答案
- 2025年高職影視化妝造型(化妝造型設(shè)計)試題及答案
- 癌癥防治科普大賽
- 渠道開發(fā)談判話術(shù)
- 2025年法治政府建設(shè)工作要點
- 祛痘醫(yī)美知識培訓(xùn)課件
- 2025四川廣安市廣安區(qū)穿石鎮(zhèn)人民政府招聘公益性崗位人員2人備考題庫完整參考答案詳解
- 2026安徽合肥海恒控股集團有限公司招聘18人備考題庫完整答案詳解
- 建筑工程決算編制標準及實例
- 電力工程項目預(yù)算審核流程
- 疊合板專項施工方案(完整版)
- 2025年智能眼鏡行業(yè)分析報告及未來發(fā)展趨勢預(yù)測
- 繪本閱讀應(yīng)用于幼小銜接的實踐研究
- 2025??低曒p網(wǎng)管交換機使用手冊
- 翻車機工安全規(guī)范考核試卷及答案
- 水利工程單元工程施工質(zhì)量驗收常用表格(建筑工程)單元工程施工質(zhì)量驗收表
- 地源熱泵工程施工方案
- 雙臂操作助行器 要求和試驗方法 第2輪式助行器
- 兒童樂園合伙協(xié)議書合同
評論
0/150
提交評論