版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
算法與數(shù)據(jù)結(jié)構(gòu)—C語言描述第一部分單選題(50題)1、以下哪個for循環(huán)是無限循環(huán)?()
A.for(i=0;i<5;i++)
B.for(;;)
C.for(i=0;i<5;i--);
D.for(i=5;i>0;i--)
【答案】:答案解析:for循環(huán)三個表達(dá)式均省略時,條件恒為真,是無限循環(huán),A執(zhí)行5次,C、D初始條件不滿足(執(zhí)行0次),故選B。2、以下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。3、以下if-elseif語句的執(zhí)行邏輯是?()if(x<0)printf("負(fù)");elseif(x==0)printf("零");elseprintf("正");
A.多個條件可同時滿足
B.僅執(zhí)行第一個滿足的條件分支
C.所有滿足的條件分支都執(zhí)行
D.無滿足條件則不執(zhí)行
【答案】:答案解析:if-elseif是互斥分支,僅執(zhí)行第一個滿足條件的分支,故選B。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、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。6、以下關(guān)于二維數(shù)組的說法正確的是?()
A.二維數(shù)組是數(shù)組的數(shù)組
B.二維數(shù)組元素在內(nèi)存中按列存儲
C.二維數(shù)組長度必須是常量
D.二維數(shù)組不能作為函數(shù)參數(shù)
【答案】:答案解析:二維數(shù)組本質(zhì)是數(shù)組的數(shù)組,內(nèi)存按行存儲,可作為函數(shù)參數(shù),長度需常量,故選A。7、若inti=0;執(zhí)行for(i=0;i<5;i++){if(i%2==0)continue;printf("%d",i);}輸出結(jié)果是?()
A.13
B.024
C.01234
D.無輸出
【答案】:答案解析:i為偶數(shù)(0、2、4)時continue,輸出奇數(shù)1、3,故選A。8、以下函數(shù)參數(shù)為指針的是?()
A.voidfun(int*a){}
B.voidfun(inta){}
C.voidfun(inta[]){}
D.A和C
【答案】:答案解析:A是指針參數(shù),C數(shù)組名參數(shù)本質(zhì)是指針,B是值參數(shù),故選D。9、下列字符串常量定義正確的是?()
A.'abc'
B."abc"
C.abc
D."a""b"
【答案】:答案解析:字符串常量用雙引號包裹,單引號用于字符常量,C是標(biāo)識符,D語法錯誤,故選B。10、以下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。11、以下指針運(yùn)算錯誤的是?()
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是地址常量,不能進(jìn)行算術(shù)運(yùn)算(&a+1錯誤),A、B、D均正確,故選C。12、遞歸函數(shù)的終止條件是?()
A.函數(shù)調(diào)用自身
B.函數(shù)返回值為0
C.不再調(diào)用自身的條件
D.無終止條件
【答案】:答案解析:遞歸函數(shù)必須有終止條件(否則無限遞歸棧溢出),終止條件是不再調(diào)用自身的判斷,故選C。13、以下哪個操作會導(dǎo)致野指針?()
A.指針未初始化
B.指針指向的內(nèi)存被釋放后未置空
C.指針越界訪問
D.以上都是
【答案】:答案解析:野指針是指向無效地址的指針,A、B、C均會導(dǎo)致野指針,故選D。14、若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。15、指針的核心優(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。16、以下if-else語句中,代碼塊執(zhí)行順序正確的是?()
A.先執(zhí)行if條件,滿足則執(zhí)行if代碼塊,否則執(zhí)行else代碼塊
B.先執(zhí)行else代碼塊,再執(zhí)行if條件
C.同時執(zhí)行if和else代碼塊
D.僅執(zhí)行else代碼塊
【答案】:答案解析:if-else邏輯為“條件判斷→滿足執(zhí)行if,否則執(zhí)行else”,互斥執(zhí)行,故選A。17、若int*p=(int)malloc(sizeof(int));則p的值是?()
A.0
B.隨機(jī)值
C.1
D.無定義
【答案】:答案解析:malloc分配的內(nèi)存未初始化,值為隨機(jī)值,故選B。18、若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。19、指針作為函數(shù)參數(shù)時,傳遞的是?()
A.指針的值
B.指針的地址
C.變量的值
D.變量的地址
【答案】:答案解析:指針傳參本質(zhì)是傳遞變量地址,函數(shù)中通過指針可修改實(shí)參值,故選D。20、以下轉(zhuǎn)義字符表示換行的是?()
A.\t
B.\n
C.\
D.\r
【答案】:答案解析:\t是制表符,\n是換行符,\是反斜杠,\r是回車符,故選B。21、若inti=1;執(zhí)行while(i<5){printf("%d",i);i+=2;}輸出結(jié)果是?()
A.13
B.135
C.1234
D.無輸出
【答案】:答案解析:i初始1,每次加2,執(zhí)行2次(1、3),輸出13,故選A。22、若inta[5]={10,20,30,40,50},p=a+3;則p的值是?()
A.30
B.40
C.50
D.無定義
【答案】:答案解析:a+3指向a[3],*p=40,故選B。23、若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。24、若inta=7,*p=&a;執(zhí)行++*p;后a的值是?()
A.7
B.8
C.&a
D.無定義
【答案】:答案解析:++*p等價于++(*p),先解引用取a的值,再加1(a=8),故選B。25、以下數(shù)組定義中,可省略數(shù)組長度的是?()
A.inta[5];
B.inta[]={1,2,3};
C.inta[5]={1,2,3};
D.inta[][3];
【答案】:答案解析:初始化時可省略長度(編譯器自動計算),D二維數(shù)組第二維不能省略,故選B。26、以下for循環(huán)中,循環(huán)變量更新表達(dá)式為“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的更新表達(dá)式正確,故選A。27、C語言中,語句結(jié)束的標(biāo)志是?()
A.逗號
B.分號
C.冒號
D.句號
【答案】:答案解析:C語言單條語句以分號(;)結(jié)尾,復(fù)合語句用{}包裹,故選B。28、以下哪個字符串的長度是3?()
A."abc"
B."a\0b"
C."ab\n"
D."ab"
【答案】:答案解析:字符串長度以\0結(jié)束,"abc"含a、b、c(3個字符),"a\0b"長度為1,故選A。29、以下數(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。30、以下函數(shù)遞歸調(diào)用的例子是?()
A.計算階乘
B.循環(huán)輸出數(shù)字
C.數(shù)組遍歷
D.變量交換
【答案】:答案解析:階乘常用遞歸實(shí)現(xiàn)(n!=n*(n-1)!),B、C、D用循環(huán)更高效,故選A。31、若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。32、若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。33、若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。34、若intx=2;執(zhí)行switch(x){default:printf("0");case1:printf("1");break;case2:printf("2");case3:printf("3");}輸出結(jié)果是?()
A.01
B.23
C.0123
D.無輸出
【答案】:答案解析:x=2匹配case2,無break,穿透到case3,輸出23,故選B。35、指針變量的作用是存儲?()
A.變量的值
B.變量的地址
C.函數(shù)的地址
D.數(shù)組的元素
【答案】:答案解析:指針變量專門存儲其他變量的內(nèi)存地址,故選B。36、邏輯表達(dá)式!5的結(jié)果是?()
A.0
B.1
C.5
D.真
【答案】:答案解析:5為真,!是邏輯非,真變假(0),故選A。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、以下哪個條件表達(dá)式表示“x大于等于5且小于等于10”?()
A.5<=x<=10
B.x>=5&&x<=10
C.x>=5||x<=10
D.5<=x&&<=10
【答案】:答案解析:C語言中連續(xù)比較不合法,需用邏輯與連接兩個判斷,A語法錯誤,C邏輯錯誤,D語法錯誤,故選B。39、若inta[5]={1,2,3,4,5};則a[5]是?()
A.5
B.0
C.越界訪問
D.無定義
【答案】:答案解析:a[5]下標(biāo)超出0-4范圍,屬于越界訪問(可能導(dǎo)致程序錯誤),故選C。40、以下函數(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。41、函數(shù)定義在main函數(shù)之后時,必須先?()
A.調(diào)用函數(shù)
B.聲明函數(shù)
C.定義函數(shù)
D.無要求
【答案】:答案解析:main函數(shù)調(diào)用其他函數(shù)時,若函數(shù)定義在main之后,需先聲明(否則編譯器找不到函數(shù)),故選B。42、轉(zhuǎn)義字符\的作用是?()
A.表示反斜杠
B.表示換行
C.表示空格
D.表示制表符
【答案】:答案解析:\用于表示字符反斜杠(\),避免與轉(zhuǎn)義字符沖突,故選A。43、若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。44、C語言程序的入口函數(shù)是?()
A.main()
B.printf()
C.scanf()
D.main
【答案】:答案解析:所有C程序從main()函數(shù)開始執(zhí)行,必須有且僅有一個,故選A。45、以下定義指向數(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ù)組地址(類型不匹配
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 河南省洛陽市宜陽縣2025-2026學(xué)年九年級(上)期末化學(xué)試卷(含答案)
- 北京市朝陽區(qū)2025-2026學(xué)年高三上學(xué)期期末數(shù)學(xué)試卷(含答案)
- 2025-2026學(xué)年新疆吐魯番市八年級(上)期末道德與法治試卷含答案
- 化工企業(yè)安全培訓(xùn)
- 2026年利率債投資策略報告:名義GDP增速回升下的再平衡
- 鋼結(jié)構(gòu)制孔技術(shù)操作要點(diǎn)
- 2026年人力資源管理師人才招募渠道管理知識練習(xí)(含解析)
- 2026年菏澤市定陶區(qū)事業(yè)單位公開招聘初級綜合類崗位人員(10人)參考考試題庫及答案解析
- 室內(nèi)裝潢設(shè)計咨詢公司經(jīng)營管理制度
- 2026廣西崇左市本級城鎮(zhèn)公益性崗位招聘37人備考考試試題及答案解析
- 《中華人民共和國危險化學(xué)品安全法》全套解讀
- 推拿按摩腰背部課件
- 散養(yǎng)土雞養(yǎng)雞課件
- 戰(zhàn)略屋策略體系roadmapPP T模板(101 頁)
- 2025年醫(yī)療輔助崗面試題及答案
- T-CI 1078-2025 堿性電解水復(fù)合隔膜測試方法
- 新入職小學(xué)教師如何快速成長個人專業(yè)發(fā)展計劃
- 門診導(dǎo)診工作流程
- 2025云南保山電力股份有限公司招聘(100人)筆試歷年參考題庫附帶答案詳解
- 寫字樓物業(yè)安全管理實(shí)務(wù)操作手冊
- 2025年及未來5年中國飲料工業(yè)行業(yè)競爭格局分析及發(fā)展趨勢預(yù)測報告
評論
0/150
提交評論