版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
大一c語言期末試題第一部分單選題(50題)1、數(shù)組作為函數(shù)參數(shù)時,函數(shù)中修改數(shù)組元素會影響主調(diào)函數(shù)中的數(shù)組嗎?()
A.會(指針傳遞)
B.不會(值傳遞)
C.取決于數(shù)組長度
D.不確定
【答案】:答案解析:數(shù)組名傳參是指針傳遞,函數(shù)中通過指針修改元素會同步到主調(diào)函數(shù)數(shù)組,故選A。2、以下指針定義正確的是?()
A.int*p;
B.char*q;
C.float*r;
D.以上都正確
【答案】:答案解析:A指向int,B指向char,C指向float,均符合指針定義語法,故選D。3、若inta=6;執(zhí)行a/=3;后a的值是?()
A.2
B.3
C.6
D.18
【答案】:答案解析:a/=3等價于a=a/3=6/3=2,故選A。4、以下switch語句中,default的執(zhí)行時機是?()
A.所有case都不匹配時
B.第一個case不匹配時
C.最后一個case不匹配時
D.任何時候
【答案】:答案解析:default僅在所有case都不匹配時執(zhí)行,故選A。5、以下哪個操作會導(dǎo)致野指針?()
A.指針未初始化
B.指針指向的內(nèi)存被釋放后未置空
C.指針越界訪問
D.以上都是
【答案】:答案解析:野指針是指向無效地址的指針,A、B、C均會導(dǎo)致野指針,故選D。6、以下if-else語句的語法錯誤是?()
A.if(x>0)printf("a");elseprintf("b");
B.if(x>0){printf("a");}else{printf("b");}
C.if(x>0)printf("a");else;printf("b");
D.if(x>0){printf("a");}elseprintf("b");
【答案】:答案解析:else后不能直接加分號(否則else無作用),C中else;后printf獨立執(zhí)行,故選C。7、以下關(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。8、以下指針運算中,結(jié)果為指針的是?()
A.*p
B.p+1
C.&a
D.B和C
【答案】:答案解析:p+1是指針偏移,&a是取地址,結(jié)果均為指針;*p是解引用(獲取值),故選D。9、若inti=1;執(zhí)行while(i<=4){printf("%d",i);i+=3;}輸出結(jié)果是?()
A.14
B.1234
C.1
D.無輸出
【答案】:答案解析:i初始1,加3后4,執(zhí)行2次,輸出14,故選A。10、以下函數(shù)聲明錯誤的是?()
A.voidfun(int);
B.voidfun(inta);
C.voidfun(inta,intb);
D.voidfun(inta;intb);
【答案】:答案解析:函數(shù)聲明中參數(shù)用逗號分隔,不能用分號,D語法錯誤,故選D。11、指針與數(shù)組的關(guān)系,以下說法正確的是?()
A.數(shù)組名是常量指針,不能自增
B.指針可指向數(shù)組元素,通過指針遍歷數(shù)組
C.p[i]等價于*(p+i)
D.以上都正確
【答案】:答案解析:數(shù)組名是首元素地址(常量,不可自增),指針可遍歷數(shù)組,p[i]與*(p+i)等價,故選D。12、若inta=5,p=&a;執(zhí)行p=8;后a的值是?()
A.5
B.8
C.&a
D.無定義
【答案】:答案解析:*p=8通過指針修改指向變量a的值,a變?yōu)?,故選B。13、以下定義函數(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。14、函數(shù)的形參在______時分配內(nèi)存?()
A.函數(shù)定義
B.函數(shù)聲明
C.函數(shù)調(diào)用
D.程序編譯
【答案】:答案解析:形參是局部變量,函數(shù)調(diào)用時分配內(nèi)存,調(diào)用結(jié)束釋放,故選C。15、do-while循環(huán)中,循環(huán)體至少執(zhí)行幾次?()
A.0次
B.1次
C.2次
D.不確定
【答案】:答案解析:do-while“先執(zhí)行后判斷”,無論條件是否滿足,循環(huán)體至少執(zhí)行一次,故選B。16、函數(shù)參數(shù)傳遞中,值傳遞的特點是?()
A.形參修改影響實參
B.形參是實參的副本
C.傳遞的是變量地址
D.用于數(shù)組傳參
【答案】:答案解析:值傳遞時形參是實參的拷貝,修改形參不影響實參,地址傳遞才影響實參,故選B。17、以下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是標識符,C是字符串,D語法錯誤(多個case需分開),故選A。18、若inta[4]={1,2,3,4};則a[3]的值是?()
A.3
B.4
C.1
D.2
【答案】:答案解析:a[3]是第四個元素,值為4,故選B。19、若inta=7,*p=&a;執(zhí)行++*p;后a的值是?()
A.7
B.8
C.&a
D.無定義
【答案】:答案解析:++*p等價于++(*p),先解引用取a的值,再加1(a=8),故選B。20、以下函數(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。21、若inta=5,*p=&a;則&*p的值是?()
A.5
B.&a
C.p
D.無定義
【答案】:答案解析:&*p等價于p,即&a(a的地址),故選B。22、函數(shù)參數(shù)傳遞中,值傳遞適用于?()
A.簡單變量,無需修改實參
B.數(shù)組,需修改元素
C.指針,需修改實參
D.結(jié)構(gòu)體,需修改成員
【答案】:答案解析:值傳遞用于簡單變量(不修改實參),地址傳遞用于需修改實參的場景,故選A。23、以下函數(shù)定義錯誤的是?()
A.voidfun(){}
B.voidfun(inta){}
C.intfun(){}
D.intfun(){return;}
【答案】:答案解析:D返回類型int(必須return表達式),return無表達式錯誤,A、B、C正確,故選D。24、函數(shù)定義在main函數(shù)之后時,必須先?()
A.調(diào)用函數(shù)
B.聲明函數(shù)
C.定義函數(shù)
D.無要求
【答案】:答案解析:main函數(shù)調(diào)用其他函數(shù)時,若函數(shù)定義在main之后,需先聲明(否則編譯器找不到函數(shù)),故選B。25、C語言程序的入口函數(shù)是?()
A.main()
B.printf()
C.scanf()
D.main
【答案】:答案解析:所有C程序從main()函數(shù)開始執(zhí)行,必須有且僅有一個,故選A。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、若inta[3][4]={{1,2},{3,4,5},{6}};則a[0][1]的值是?()
A.1
B.2
C.3
D.4
【答案】:答案解析:a[0][1]是第一行第二列,值為2,故選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、若inta[5]={1,2,3,4,5};則*(a+4)的值是?()
A.4
B.5
C.1
D.2
【答案】:答案解析:a+4是第五個元素地址,*(a+4)=a[4]=5,故選B。30、指針的核心優(yōu)勢是?()
A.間接訪問變量,靈活操作內(nèi)存
B.提高程序效率,減少內(nèi)存開銷
C.支持動態(tài)內(nèi)存分配和函數(shù)回調(diào)
D.以上都正確
【答案】:答案解析:指針的核心優(yōu)勢包括間接訪問、高效、動態(tài)內(nèi)存、回調(diào)等,故選D。31、以下if-else語句中,代碼塊正確的是?()
A.if(x>0)printf("a");printf("b");elseprintf("c");
B.if(x>0){printf("a");printf("b");}elseprintf("c");
C.if(x>0)printf("a");{printf("b");}elseprintf("c");
D.if(x>0)printf("a");printf("b");else{printf("c");}
【答案】:答案解析:else需與最近的if匹配,A、C、D中else前有獨立printf,語法錯誤,B用{}包裹代碼塊正確,故選B。32、continue語句在循環(huán)中的作用是?()
A.終止整個循環(huán)
B.跳過本次循環(huán)剩余部分,繼續(xù)下一次
C.暫停循環(huán)
D.無作用
【答案】:答案解析:continue跳過本次循環(huán)剩余代碼,直接進入下一次循環(huán)條件判斷,故選B。33、若inta=4;執(zhí)行if(a--<4)printf("A");elseprintf("B");輸出結(jié)果是?()
A.A
B.B
C.AB
D.無輸出
【答案】:答案解析:a--是后置自減,條件判斷時a=4,4<4為假,執(zhí)行else(輸出B),后a變?yōu)?,故選B。34、以下函數(shù)返回值類型為int的是?()
A.voidfun(){return;}
B.intfun(){return3.14;}
C.floatfun(){return5;}
D.charfun(){return'a';}
【答案】:答案解析:A返回值類型void(不能return表達式),B返回類型int(3.14強制轉(zhuǎn)為3),C返回類型float,D返回類型char,故選B。35、若intx=5;則表達式x+++x的結(jié)果是?()
A.10
B.11
C.12
D.9
【答案】:答案解析:結(jié)合性從左到右,x+++x等價于(x++)+x=5+6=11,故選B。36、函數(shù)指針的作用是?()
A.存儲函數(shù)的地址
B.調(diào)用函數(shù)
C.實現(xiàn)回調(diào)函數(shù)
D.以上都正確
【答案】:答案解析:函數(shù)指針存儲函數(shù)地址,可通過指針調(diào)用函數(shù),常用于回調(diào)函數(shù),故選D。37、以下數(shù)組定義錯誤的是?()
A.inta[5];
B.inta[5]={1,2,3,4,5};
C.inta[5]={1,2,3,4,5,6};
D.inta[]={1,2,3,4,5};
【答案】:答案解析:C初始化元素超5個,編譯報錯,其余正確,故選C。38、若inti=0,s=0;執(zhí)行do{s+=i;i++;}while(i<5);后s的值是?()
A.10
B.15
C.5
D.0
【答案】:答案解析:do-while累加0+1+2+3+4=10,s=10,故選A。39、C語言中,語句結(jié)束的標志是?()
A.逗號
B.分號
C.冒號
D.句號
【答案】:答案解析:C語言單條語句以分號(;)結(jié)尾,復(fù)合語句用{}包裹,故選B。40、以下字符串?dāng)?shù)組定義正確的是?()
A.charstr[5][10]={"hello","world"};
B.charstr[5][]={"hello","world"};
C.charstr[][10]={"hello","world","!"};
D.charstr[5][10]={"hello","world","!"};
【答案】:答案解析:B第二維不能省略,A、C、D均正確?D最完整(5行10列,初始化3個字符串),故選D。41、do-while循環(huán)的特點是?()
A.先判斷條件,后執(zhí)行循環(huán)體
B.先執(zhí)行循環(huán)體,后判斷條件
C.條件不滿足時也不執(zhí)行循環(huán)體
D.只能執(zhí)行一次
【答案】:答案解析:do-while是“先執(zhí)行后判斷”,至少執(zhí)行一次循環(huán)體,for和while是“先判斷后執(zhí)行”,故選B。42、以下哪個運算符的優(yōu)先級最高?()
A.+
B.*
C.=
D.==
【答案】:答案解析:算術(shù)運算符中*(乘)優(yōu)先級高于+(加),賦值(=)和關(guān)系(==)優(yōu)先級更低,故選B。43、以下哪個關(guān)鍵字用于定義整型變量?()
A.char
B.int
C.float
D.double
【答案】:答案解析:int定義整型,char字符型,float單精度浮點型,double雙精度浮點型,故選B。44、以下關(guān)于數(shù)組的說法正確的是?()
A.數(shù)組下標從1開始
B.數(shù)組名可作為左值賦值
C.數(shù)組長度定義后不可修改
D.數(shù)組元素類型可不同
【答案】:答案解析:數(shù)組下標從0開始,數(shù)組名是常量(不可賦值),元素類型必須相同,長度定義后固定,故選C。45、若intx=1;執(zhí)行switch(x){case1:printf("1");break;case1:printf("2");break;}會出現(xiàn)什么情況?()
A.輸出1
B.輸出2
C.編譯錯誤
D.運行錯誤
【答案】:答案解析:case后常量不能重復(fù),編譯時會報錯,故選C。46、以下數(shù)組定義中,正確的是?()
A.inta[5];
B.inta[5]={1,2,3,4,5};
C.inta[]={1,2,3,4
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- (2026年)肛周膿腫術(shù)后切口護理課件
- (2026年)鼻腸管的應(yīng)用及護理課件
- NCCN臨床實踐指南:胃腸道間質(zhì)瘤(2026.V1) (1)課件
- 未來五年重組人促紅素企業(yè)ESG實踐與創(chuàng)新戰(zhàn)略分析研究報告
- 未來五年低溫壓力容器用鋼企業(yè)ESG實踐與創(chuàng)新戰(zhàn)略分析研究報告
- 未來五年雙孢蘑菇企業(yè)縣域市場拓展與下沉戰(zhàn)略分析研究報告
- 未來五年聚酯纖維企業(yè)縣域市場拓展與下沉戰(zhàn)略分析研究報告
- 素養(yǎng)導(dǎo)向的差異化教學(xué)探索:“觀察物體(二)”教學(xué)設(shè)計(人教版四年級下冊)
- 小學(xué)英語(五年級升六年級銜接) Module 1 Unit 2 教學(xué)設(shè)計:探訪時光隧道-Past and Present生活對比
- 高一生物《細胞的能量“貨幣”-ATP》精講習(xí)題精練教學(xué)設(shè)計
- 《筑牢安全防線 歡度平安寒假》2026年寒假安全教育主題班會課件
- 養(yǎng)老院老人生活設(shè)施管理制度
- 2026年稅務(wù)稽查崗位考試試題及稽查實操指引含答案
- (2025年)林業(yè)系統(tǒng)事業(yè)單位招聘考試《林業(yè)知識》真題庫與答案
- 2026版安全隱患排查治理
- 道路施工安全管理課件
- 2026年七臺河職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性考試備考題庫有答案解析
- 辦公樓電梯間衛(wèi)生管理方案
- 新生兒休克診療指南
- 專題學(xué)習(xí)活動 期末復(fù)習(xí)課件 新教材統(tǒng)編版八年級語文上冊
- VTE患者并發(fā)癥預(yù)防與處理
評論
0/150
提交評論