版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
算法與數(shù)據(jù)結(jié)構(gòu)—C語言描述第一部分單選題(50題)1、以下函數(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。2、若intx=3,y=5;則表達式x>y?x:y的結(jié)果是?()
A.3
B.5
C.true
D.false
【答案】:答案解析:三元運算符格式“條件?值1:值2”,x>y為假,取y=5,故選B。3、邏輯表達式!0的結(jié)果是?()
A.0
B.1
C.真
D.假
【答案】:答案解析:C語言中非0為真,!是邏輯非,!0(假)結(jié)果為1(真),故選B。4、C語言程序的入口函數(shù)是?()
A.main()
B.printf()
C.scanf()
D.main
【答案】:答案解析:所有C程序從main()函數(shù)開始執(zhí)行,必須有且僅有一個,故選A。5、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。6、下列字符串常量定義正確的是?()
A.'abc'
B."abc"
C.abc
D."a""b"
【答案】:答案解析:字符串常量用雙引號包裹,單引號用于字符常量,C是標(biāo)識符,D語法錯誤,故選B。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、函數(shù)返回值通過______語句返回?()
A.printf
B.scanf
C.return
D.break
【答案】:答案解析:return語句用于函數(shù)返回值,printf輸出,scanf輸入,break跳出循環(huán)/switch,故選C。9、以下if-elseif語句的執(zhí)行邏輯是?()if(x<0)printf("負");elseif(x==0)printf("零");elseprintf("正");
A.多個條件可同時滿足
B.僅執(zhí)行第一個滿足的條件分支
C.所有滿足的條件分支都執(zhí)行
D.無滿足條件則不執(zhí)行
【答案】:答案解析:if-elseif是互斥分支,僅執(zhí)行第一個滿足條件的分支,故選B。10、若inti=5,s=0;執(zhí)行while(i>0){s+=i;i--;}后s的值是?()
A.15
B.10
C.5
D.0
【答案】:答案解析:累加5+4+3+2+1=15,s=15,故選A。11、若int*p=(int)malloc(sizeof(int));則p的值是?()
A.0
B.隨機值
C.1
D.無定義
【答案】:答案解析:malloc分配的內(nèi)存未初始化,值為隨機值,故選B。12、以下指針運算中,結(jié)果為指針的是?()
A.*p
B.p+1
C.&a
D.B和C
【答案】:答案解析:p+1是指針偏移,&a是取地址,結(jié)果均為指針;*p是解引用(獲取值),故選D。13、邏輯表達式!5的結(jié)果是?()
A.0
B.1
C.5
D.真
【答案】:答案解析:5為真,!是邏輯非,真變假(0),故選A。14、以下數(shù)組初始化中,未賦值元素默認為0的是?()
A.inta[5]={1,2,3};
B.charstr[5];
C.inta[5];
D.以上都是
【答案】:答案解析:全局數(shù)組未初始化默認為0,局部數(shù)組未初始化是隨機值,A初始化部分元素,未賦值默認為0,故選A。15、以下函數(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。16、若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。17、若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。18、若floatx=3.14;則表達式(int)x的結(jié)果是?()
A.3
B.3.14
C.4
D.0
【答案】:答案解析:強制轉(zhuǎn)換為int取整數(shù)部分,3.14→3,故選A。19、C語言中,語句結(jié)束的標(biāo)志是?()
A.逗號
B.分號
C.冒號
D.句號
【答案】:答案解析:C語言單條語句以分號(;)結(jié)尾,復(fù)合語句用{}包裹,故選B。20、以下數(shù)組定義中,正確的是?()
A.inta[5];
B.inta[5]={1,2,3,4,5};
C.inta[]={1,2,3,4,5};
D.以上都是
【答案】:答案解析:A、B、C均符合數(shù)組定義規(guī)則,故選D。21、若inti=0,s=0;執(zhí)行for(i=0;i<4;i++)s+=i;后s的值是?()
A.6
B.10
C.4
D.0
【答案】:答案解析:累加0+1+2+3=6,s=6,故選A。22、以下轉(zhuǎn)義字符表示換行的是?()
A.\t
B.\n
C.\
D.\r
【答案】:答案解析:\t是制表符,\n是換行符,\是反斜杠,\r是回車符,故選B。23、函數(shù)調(diào)用時,實參的順序必須與形參的順序?()
A.一致
B.相反
C.無關(guān)
D.部分一致
【答案】:答案解析:實參和形參需按順序一一對應(yīng)(類型、個數(shù)、順序匹配),否則可能導(dǎo)致邏輯錯誤,故選A。24、以下定義指向數(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。25、若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。26、以下if語句語法正確的是?()
A.if(x>0)printf("yes");
B.ifx>0printf("yes");
C.if(x>0);printf("yes");
D.if(x>0){printf("yes")}
【答案】:答案解析:if后條件需加括號,B缺少括號,C分號導(dǎo)致語句結(jié)束,D缺少分號,故選A。27、若charstr[]="Clanguage";則字符串長度是?()
A.10
B.11
C.12
D.13
【答案】:答案解析:字符串長度以\0結(jié)束,"Clanguage"含10個字符(不含\0),故選A。28、以下函數(shù)定義正確的是?()
A.voidfun(){printf("hello");}
B.voidfun(inta){printf("%d",a);}
C.intfun(){return5;}
D.以上都正確
【答案】:答案解析:A無參無返回值,B有參無返回值,C無參有返回值,均符合語法,故選D。29、指針的自增運算(p++)的含義是?()
A.指針值加1
B.指針指向的變量值加1
C.指針指向地址偏移一個類型大小
D.指針指向地址偏移1字節(jié)
【答案】:答案解析:p++使指針指向地址偏移“指向類型大小”(如int指針+4字節(jié)),故選C。30、以下哪個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)三個表達式均省略時,條件恒為真,是無限循環(huán),A執(zhí)行5次,C、D初始條件不滿足(執(zhí)行0次),故選B。31、以下定義指向字符串的指針正確的是?()
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。32、若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。33、若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。34、若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。35、以下關(guān)于數(shù)組的說法正確的是?()
A.數(shù)組下標(biāo)從1開始
B.數(shù)組名可作為左值賦值
C.數(shù)組長度定義后不可修改
D.數(shù)組元素類型可不同
【答案】:答案解析:數(shù)組下標(biāo)從0開始,數(shù)組名是常量(不可賦值),元素類型必須相同,長度定義后固定,故選C。36、以下關(guān)于指針數(shù)組的定義正確的是?()
A.int*arr[5];
B.int(*arr)[5];
C.intarr[5];
D.intarr[];
【答案】:答案解析:A是指針數(shù)組(5個int指針),B是指向數(shù)組的指針,C是普通數(shù)組,D缺少長度,故選A。37、以下二維數(shù)組定義正確的是?()
A.inta[2][3];
B.inta[2][];
C.inta[][3]={1,2,3,4,5,6};
D.inta[2][3]={1,2,3,4,5,6,7};
【答案】:答案解析:B第二維不能省略,C第一維可省略(自動計算為2),D初始化元素超6個(2×3=6),A標(biāo)準(zhǔn)定義正確,故選A。38、若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。39、指針的核心優(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。40、以下指針運算正確的是?()
A.inta=10,*p=&a;p++;
B.inta=10,*p=&a;p=a;
C.inta=10,*p=&a;p=&5;
D.inta=10,*p=&a;*p=&a;
【答案】:答案解析:A指針p自增(指向a的下一個地址),B不能將int值賦給指針,C不能取常量地址,D不能將地址賦給int變量,故選A。41、以下函數(shù)參數(shù)為指針的是?()
A.voidfun(int*a){}
B.voidfun(inta){}
C.voidfun(inta[]){}
D.A和C
【答案】:答案解析:A是指針參數(shù),C數(shù)組名參數(shù)本質(zhì)是指針,B是值參數(shù),故選D。42、以下關(guān)于指針的說法正確的是?()
A.野指針是指向無效地址的指針
B.空指針是野指針的一種
C.避免野指針需初始化并及時置空
D.以上都正確
【答案】:答案解析:A、B、C均是野指針的核心知識點,故選D。43、若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。44、以下哪個數(shù)據(jù)類型用于存儲單個字符?()
A.int
B.char
C.float
D.double
【答案】:答案解析:char用于存儲單個字符(ASCII碼),int存儲整數(shù),float/double存儲浮點數(shù),故選B。45、以下哪個表達式可訪問數(shù)組a的第i個元素(i從1開始)?()
A.a[i]
B.a[i-1]
C.*(a+i)
D.*(a+i-1)
【答案】:答案解析:數(shù)組下標(biāo)從0開始,第i個元素對應(yīng)下標(biāo)i-1,a[i-1]正確,C、D是指針訪問(對應(yīng)下標(biāo)i),故選B。46、以下for循環(huán)中,用于計算1到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. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年幼兒故事會春節(jié)的快樂傳統(tǒng)
- 2025年中職汽車修理(變速箱維修)試題及答案
- 2025年高職國際貿(mào)易實務(wù)(進出口業(yè)務(wù)操作)試題及答案
- 2025年大學(xué)大三(新能源科學(xué)與工程)新能源利用技術(shù)開發(fā)階段測試題及答案
- 2025年大學(xué)護理學(xué)(婦產(chǎn)科用藥護理)試題及答案
- 2025年大學(xué)第三學(xué)年(食品添加劑)應(yīng)用技術(shù)階段測試題及答案
- 2025年大學(xué)三年級(食品科學(xué)與工程)食品質(zhì)量安全檢測試題及答案
- 2025年高職(旅游資源開發(fā))資源評估單元測試試題及答案
- 2025年大學(xué)醫(yī)學(xué)(臨床護理)試題及答案
- 2025年大學(xué)第三學(xué)年(歷史學(xué))世界古代史中世紀(jì)時期試題及答案
- 2026年鄉(xiāng)村醫(yī)生傳染病考試題含答案
- 新零售模式下人才培養(yǎng)方案
- 上海市徐匯區(qū)2026屆初三一?;瘜W(xué)試題(含答案)
- 2025年遼鐵單招考試題目及答案
- 醫(yī)療行業(yè)數(shù)據(jù)安全事件典型案例分析
- 2026年生物醫(yī)藥創(chuàng)新金融項目商業(yè)計劃書
- 湖南名校聯(lián)考聯(lián)合體2026屆高三年級1月聯(lián)考化學(xué)試卷+答案
- 龜?shù)慕馄收n件
- 山東省濰坊市2024-2025學(xué)年二年級上學(xué)期期末數(shù)學(xué)試題
- 空氣源熱泵供熱工程施工方案
- 工業(yè)管道施工與驗收規(guī)范
評論
0/150
提交評論