軟件技術(shù)C語言基礎(chǔ)知識(shí)練習(xí)題及答案(奪冠)_第1頁
軟件技術(shù)C語言基礎(chǔ)知識(shí)練習(xí)題及答案(奪冠)_第2頁
軟件技術(shù)C語言基礎(chǔ)知識(shí)練習(xí)題及答案(奪冠)_第3頁
軟件技術(shù)C語言基礎(chǔ)知識(shí)練習(xí)題及答案(奪冠)_第4頁
軟件技術(shù)C語言基礎(chǔ)知識(shí)練習(xí)題及答案(奪冠)_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

軟件技術(shù)C語言基礎(chǔ)知識(shí)練習(xí)題第一部分單選題(50題)1、do-while循環(huán)中,循環(huán)體至少執(zhí)行幾次?()

A.0次

B.1次

C.2次

D.不確定

【答案】:答案解析:do-while“先執(zhí)行后判斷”,無論條件是否滿足,循環(huán)體至少執(zhí)行一次,故選B。2、數(shù)組名作為函數(shù)參數(shù)時(shí),傳遞的是?()

A.數(shù)組第一個(gè)元素的值

B.數(shù)組所有元素的值

C.數(shù)組第一個(gè)元素的地址

D.數(shù)組長(zhǎng)度

【答案】:答案解析:數(shù)組名傳參本質(zhì)是首元素地址(指針傳遞),函數(shù)中可通過指針訪問數(shù)組,故選C。3、邏輯表達(dá)式!0的結(jié)果是?()

A.0

B.1

C.真

D.假

【答案】:答案解析:C語言中非0為真,!是邏輯非,!0(假)結(jié)果為1(真),故選B。4、遞歸函數(shù)的優(yōu)點(diǎn)是?()

A.代碼簡(jiǎn)潔,邏輯清晰

B.效率高,占用內(nèi)存少

C.避免棧溢出

D.適合所有問題

【答案】:答案解析:遞歸優(yōu)點(diǎn)是代碼簡(jiǎn)潔(如階乘、斐波那契數(shù)列),缺點(diǎn)是效率低、占用??臻g多(可能溢出),故選A。5、若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時(shí)執(zhí)行continue,跳過printf,輸出0134,故選A。6、break語句不能用于以下哪種結(jié)構(gòu)?()

A.for循環(huán)

B.while循環(huán)

C.do-while循環(huán)

D.if語句

【答案】:答案解析:break可用于循環(huán)(for/while/do-while)和switch語句,不能用于if語句,故選D。7、若inta[4]={1,2,3,4},p=a;執(zhí)行p++后,*p的值是?()

A.1

B.2

C.3

D.4

【答案】:答案解析:*p++先解引用(值為1),再p自增(指向a[1]),*p=2,故選B。8、若intx=1;執(zhí)行switch(x){case1:printf("1");case2:printf("2");break;case3:printf("3");}輸出結(jié)果是?()

A.1

B.12

C.123

D.無輸出

【答案】:答案解析:x=1匹配case1,無break,穿透到case2(執(zhí)行后break),輸出12,故選B。9、以下if語句語法正確的是?()

A.if(x>0)printf("yes");

B.ifx>0printf("yes");

C.if(x>0);printf("yes");

D.if(x>0){printf("yes")}

【答案】:答案解析:if后條件需加括號(hào),B缺少括號(hào),C分號(hào)導(dǎo)致語句結(jié)束,D缺少分號(hào),故選A。10、以下函數(shù)定義錯(cuò)誤的是?()

A.voidfun(){}

B.voidfun(inta){}

C.intfun(){}

D.intfun(){return;}

【答案】:答案解析:D返回類型int(必須return表達(dá)式),return無表達(dá)式錯(cuò)誤,A、B、C正確,故選D。11、二維數(shù)組a[2][3]在內(nèi)存中存儲(chǔ)的順序是?()

A.a[0][0],a[0][1],a[0][2],a[1][0],a[1][1],a[1][2]

B.a[0][0],a[1][0],a[0][1],a[1][1],a[0][2],a[1][2]

C.隨機(jī)順序

D.按列存儲(chǔ)

【答案】:答案解析:二維數(shù)組按行優(yōu)先連續(xù)存儲(chǔ),順序?yàn)榈谝恍兴性?,再第二行,故選A。12、以下if語句中,邏輯非運(yùn)算符使用正確的是?()

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等價(jià)于x!=0,邏輯不同,故選D。13、以下哪個(gè)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)三個(gè)表達(dá)式均省略時(shí),條件恒為真,是無限循環(huán),A執(zhí)行5次,C、D初始條件不滿足(執(zhí)行0次),故選B。14、若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。15、若intx=4;執(zhí)行if(x++>4)printf("A");elseprintf("B");輸出結(jié)果是?()

A.A

B.B

C.AB

D.無輸出

【答案】:答案解析:x++是后置自增,條件判斷時(shí)x=4,4>4為假,執(zhí)行else(輸出B),后x變?yōu)?,故選B。16、以下關(guān)于數(shù)組越界的說法正確的是?()

A.編譯時(shí)會(huì)報(bào)錯(cuò)

B.運(yùn)行時(shí)一定會(huì)崩潰

C.可能導(dǎo)致程序錯(cuò)誤

D.無影響

【答案】:答案解析:數(shù)組越界屬于未定義行為,編譯時(shí)不報(bào)錯(cuò),運(yùn)行時(shí)可能正?;虮罎?,故選C。17、以下定義指向二維數(shù)組的指針正確的是?()

A.inta[2][3],(*p)[3]=a;

B.inta[2][3],*p=a;

C.inta[2][3],p=a[0];

D.inta[2][3],*p=&a;

【答案】:答案解析:A是指向3列數(shù)組的指針(匹配二維數(shù)組a的行),B、C、D類型不匹配,故選A。18、以下關(guān)于指針的說法正確的是?()

A.指針可用于實(shí)現(xiàn)多返回值函數(shù)

B.指針可提高程序效率

C.指針可用于動(dòng)態(tài)內(nèi)存分配

D.以上都正確

【答案】:答案解析:指針的核心用途包括多返回值、高效訪問、動(dòng)態(tài)內(nèi)存分配,故選D。19、若inta=8;執(zhí)行if(a%4==0)a=a/2;elsea=a+2;后a的值是?()

A.4

B.10

C.8

D.6

【答案】:答案解析:8%4=0,條件為真,a=8/2=4,故選A。20、指針變量的作用是存儲(chǔ)?()

A.變量的值

B.變量的地址

C.函數(shù)的地址

D.數(shù)組的元素

【答案】:答案解析:指針變量專門存儲(chǔ)其他變量的內(nèi)存地址,故選B。21、以下函數(shù)調(diào)用時(shí),實(shí)參為常量的是?()

A.fun(5);

B.fun(a);

C.fun(&a);

D.fun("abc");

【答案】:答案解析:A中5是常量,B是變量,C是變量地址,D是字符串常量,題目問“常量”,A正確,故選A。22、以下關(guān)于函數(shù)遞歸的說法錯(cuò)誤的是?()

A.必須有終止條件

B.可能導(dǎo)致棧溢出

C.效率比循環(huán)高

D.代碼簡(jiǎn)潔

【答案】:答案解析:遞歸調(diào)用會(huì)創(chuàng)建棧幀,效率低于循環(huán),A、B、D正確,C錯(cuò)誤,故選C。23、若intx=6;執(zhí)行以下代碼后輸出結(jié)果是?()if(x<5){printf("A");}elseif(x<8){printf("B");}else{printf("C");}

A.A

B.B

C.C

D.無輸出

【答案】:答案解析:x=6<8,執(zhí)行第二個(gè)分支,輸出B,故選B。24、二維數(shù)組a[3][4]的元素個(gè)數(shù)是?()

A.7

B.12

C.3

D.4

【答案】:答案解析:3行4列,共3×4=12個(gè)元素,故選B。25、若inta=5,b=3;執(zhí)行if(a>b){a--;b++;}后a和b的值分別是?()

A.4,4

B.5,3

C.4,3

D.5,4

【答案】:答案解析:a>b為真,執(zhí)行代碼塊,a=5-1=4,b=3+1=4,故選A。26、以下數(shù)組初始化正確的是?()

A.charstr[]="hello";

B.charstr[5]="hello";

C.charstr[]={'h','e','l','l','o'};

D.charstr[5]={'h','e','l','l','o','\0'};

【答案】:答案解析:A字符串自動(dòng)加\0,B長(zhǎng)度5不足以存hello(含\0共6個(gè)字符),C無\0(字符串不完整),D長(zhǎng)度5超,故選A。27、以下if-elseif語句的執(zhí)行邏輯是?()if(x<0)printf("負(fù)");elseif(x==0)printf("零");elseprintf("正");

A.多個(gè)條件可同時(shí)滿足

B.僅執(zhí)行第一個(gè)滿足的條件分支

C.所有滿足的條件分支都執(zhí)行

D.無滿足條件則不執(zhí)行

【答案】:答案解析:if-elseif是互斥分支,僅執(zhí)行第一個(gè)滿足條件的分支,故選B。28、以下關(guān)于函數(shù)參數(shù)的說法正確的是?()

A.形參是局部變量

B.實(shí)參是局部變量

C.形參在函數(shù)調(diào)用后釋放

D.實(shí)參在函數(shù)調(diào)用后釋放

【答案】:答案解析:形參是函數(shù)內(nèi)局部變量(調(diào)用時(shí)分配內(nèi)存,調(diào)用結(jié)束釋放),實(shí)參是主調(diào)函數(shù)中的變量(生命周期與主調(diào)函數(shù)一致),故選A。29、邏輯表達(dá)式3&&0的結(jié)果是?()

A.0

B.1

C.3

D.真

【答案】:答案解析:邏輯與&&只要有一個(gè)operand為0則結(jié)果為0,3為真,0為假,故選A。30、以下數(shù)組定義中,可省略數(shù)組長(zhǎng)度的是?()

A.inta[5];

B.inta[]={1,2,3};

C.inta[5]={1,2,3};

D.inta[][3];

【答案】:答案解析:初始化時(shí)可省略長(zhǎng)度(編譯器自動(dòng)計(jì)算),D二維數(shù)組第二維不能省略,故選B。31、C語言程序編譯的正確順序是?()

A.預(yù)處理→編譯→匯編→鏈接

B.編譯→預(yù)處理→匯編→鏈接

C.預(yù)處理→匯編→編譯→鏈接

D.鏈接→編譯→匯編→預(yù)處理

【答案】:答案解析:C程序編譯流程為預(yù)處理(處理#命令)→編譯(生成匯編代碼)→匯編(生成目標(biāo)文件)→鏈接(生成可執(zhí)行文件),故選A。32、以下函數(shù)參數(shù)傳遞方式中,能修改實(shí)參值的是?()

A.值傳遞

B.地址傳遞

C.都能

D.都不能

【答案】:答案解析:值傳遞修改的是形參(副本),不影響實(shí)參;地址傳遞通過指針修改實(shí)參值,故選B。33、以下函數(shù)參數(shù)為指針的是?()

A.voidfun(int*a){}

B.voidfun(inta){}

C.voidfun(inta[]){}

D.A和C

【答案】:答案解析:A是指針參數(shù),C數(shù)組名參數(shù)本質(zhì)是指針,B是值參數(shù),故選D。34、以下哪個(gè)條件表達(dá)式表示“x大于等于5且小于等于10”?()

A.5<=x<=10

B.x>=5&&x<=10

C.x>=5||x<=10

D.5<=x&&<=10

【答案】:答案解析:C語言中連續(xù)比較不合法,需用邏輯與連接兩個(gè)判斷,A語法錯(cuò)誤,C邏輯錯(cuò)誤,D語法錯(cuò)誤,故選B。35、以下函數(shù)定義正確的是?()

A.voidfun(){printf("hello");}

B.voidfun(inta){printf("%d",a);}

C.intfun(){return5;}

D.以上都正確

【答案】:答案解析:A無參無返回值,B有參無返回值,C無參有返回值,均符合語法,故選D。36、C語言中基本數(shù)據(jù)類型不包括以下哪項(xiàng)?()

A.char

B.int

C.float

D.array

【答案】:答案解析:基本數(shù)據(jù)類型為char、int、float、double,array是數(shù)組(構(gòu)造類型),故選D。37、指針的核心優(yōu)勢(shì)是?()

A.間接訪問變量,靈活操作內(nèi)存

B.提高程序效率,減少內(nèi)存開銷

C.支持動(dòng)態(tài)內(nèi)存分配和函數(shù)回調(diào)

D.以上都正確

【答案】:答案解析:指針的核心優(yōu)勢(shì)包括間接訪問、高效、動(dòng)態(tài)內(nèi)存、回調(diào)等,故選D。38、以下定義指向數(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等價(jià)于p=&a[0],B&a是數(shù)組地址(類型不匹配),Cp是普通變量,Dp不能賦a[0]的值,故選A。39、若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(成立時(shí)執(zhí)行),每次循環(huán)后i++,執(zhí)行5次,輸出01234,故選A。40、函數(shù)返回值的類型由______決定?()

A.return語句中的表達(dá)式類型

B.函數(shù)定義時(shí)的返回類型

C.函數(shù)調(diào)用時(shí)的參數(shù)類型

D.編譯器默認(rèn)類型

【答案】:答案解析:函數(shù)返回類型在定義時(shí)指定,return表達(dá)式類型需與返回類型匹配(不匹配則強(qiáng)制轉(zhuǎn)換),故選B。41、若inta[4]={10,20,30,40};則*(a+2)的值是?()

A.20

B.30

C.40

D.10

【答案】:答案解析:a+2是第三個(gè)元素地址,*(a+2)=a[2]=30,故選B。42、若inta=4;執(zhí)行a-=2;后a的值是?()

A.2

B.4

C.6

D.0

【答案】:答案解析:a-=2等價(jià)于a=a-2,4-2=2,故選A。43、指針的自增運(yùn)算(p++)的含義是?()

A.指針值加1

B.指針指向的變量值加1

C.指針指向地址偏移一個(gè)類型大小

D.指針指向地址偏移1字節(jié)

【答案】:答案解析:p++使指針指向地址偏移“指向類型大小”(如int指針+4字節(jié)),故選C。44、以下關(guān)于二維數(shù)組的說法正確的是?()

A.二維數(shù)組是數(shù)組的數(shù)組

B.二維數(shù)組元素在內(nèi)存中按列存儲(chǔ)

C.二維數(shù)組長(zhǎng)度必須是常量

D.二維數(shù)組不能作為函數(shù)參數(shù)

【答案】:答案解析:二維數(shù)組本質(zhì)是數(shù)組的數(shù)組,內(nèi)存按行存儲(chǔ),可作為函數(shù)參數(shù),長(zhǎng)度需常量,故選A。45、數(shù)組作為函數(shù)參數(shù)時(shí),函數(shù)中修改數(shù)組元素會(huì)影響主調(diào)函數(shù)中的數(shù)組嗎?()

A.會(huì)(指針傳遞)

B.不會(huì)(值傳遞)

C.取決于數(shù)組長(zhǎng)度

D.不確

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論