國家二級C語言機試(選擇題)模擬試卷23(共270題)_第1頁
國家二級C語言機試(選擇題)模擬試卷23(共270題)_第2頁
國家二級C語言機試(選擇題)模擬試卷23(共270題)_第3頁
國家二級C語言機試(選擇題)模擬試卷23(共270題)_第4頁
國家二級C語言機試(選擇題)模擬試卷23(共270題)_第5頁
已閱讀5頁,還剩71頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

家二級C語言機試(選擇題)模擬試

卷23(共9套)

(共270題)

家二級C語言機試(選擇題)模擬試

卷第1套

一、選擇題(本題共25題,每題1.0分,共25分。)

1、算法中,對需要執行的每一步操作,必須給出清楚、嚴格的規定。這屬于算法

A、正當性

B、可行性

C、確定性

D、有窮性

標準答案:C

知識點解析:本題考查算法的基本特征。算法的可行性表示算法中執行的任何步驟

都是可以被分解為基本的可執行的操作步:確定性是指算法的每一步驟必須有確切

的含義;有窮性是指算法必須能在執行有限個步驟之后終止。

2、在線性表的順序存儲結構中,其存儲空間連續,各個元素所占的字節數()。

A、不同,但元素的存儲順序與邏輯順序一致

B、不同,且其元素的存儲順序可以與邏輯順序不一致

C、相同,元素的存儲順序與邏輯順序一致

D、相同,但其元素的存儲順序可以與邏輯順序不一致

標準答案:C

知識點解析:在線性表的順序存儲結構中,其存儲空間連續,各個元素所占的字節

數相同,在存儲空間中是按邏輯順序依次存放的。

3、以下敘述中正確的是

A、C程序中的每…行只能寫一條語句

B、簡單C語句必須以分號結束

C、C語言程序中的注釋必須與語句寫在同一行

D、C語句必須在一行內寫完

標準答案:B

知識點解析:C語言的書寫格式自由,一行可寫多條語句,一條語句也可寫在不同

行上。C語言注釋是比較自由的,可以寫在一行或者多行。C語言規定每條語句和

數據定義的最后必須有一個分號,分號是C語句的必要組成部分。

4、下列四個敘述中,正確的是()。

A、C程序中的所有字母必須小寫

B、C程序中的關鍵字必須小寫,其他標識符不區分大小寫

C、C程序中的所有字母都不區分大小寫

D、C程序中的所有關鍵字必須小寫

標準答案:D

知識點解析:C語言只規定所有的關鍵字必須小寫,而標識符中的字母則既可以大

寫,也可以小寫,但大小寫是有區別的。例如,日se是關鍵字,而ELSE可以作為

標識符使用。

5、設循環隊列的存儲空間為Q(l:35),初始狀態為front=rear=35。現經過一系列

入隊與退隊運算后,Gonl=15,rear=l5,則循環隊列中的元素個數為

A、15

B、16

C、20

D、0或35

標準答案:D

知識點解析:循環隊列的隊頭指針和尾指針都等于15,此循環隊列中元素的個數

有兩種情況,第一種情況是隊頭指針和尾指針都是第一次到達15,此時元素個數

為0;第二種情況是隊頭指針第一次到達15,而尾指針第二次到達15,此時元素

個數為35o

6、以下不合法的字符常量是

A、

B、'\\'

C、'\018,

D、,\xcc,

標準答案:C

知識點解析:在C語言中,一個字符常量代表ASCII字符集中的一個字符,在程

序中用單引號把一個字符括起來用為字符常量。轉義字符常量也是必須括在。對單

引號內,以一個反斜線開頭后跟一個特定的字符,用來代表某一個特定的ASCH

字符。在選項C)中,1018,是用八進制數來代表一個字符常量,所以其中的數字

只能小于8,并不包括8。

B、2

C、3

D、n

標準答案:D

知識點解析:扇人是指調用一個給定模塊的模塊個數。本題中需要注意的是兩個省

略號的位置,第一個省略號表示第二層有n個模塊,第二個省略號表示模塊“功能

n.1”被第二層的n個模塊調用,故最大扇入數是n。

8、設順序表的長度為40,對該表進行冒泡排序。在最壞情況下需要的比較次數為

A、780

B、820

C、40

D、41

標準答案:A

知識點解析:冒泡排序(BubbleSort),是一種計算機科學領域的較簡單的排序算

法。冒泡排序算法的運作如下:比較相鄰的元素。如果第一個比第二個大,就交換

他們兩個;對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最后一對。在

這一點,最后的元素應該會是最大的數;針對所有的元素重復以上的步驟,除了最

后一個;持續每次對越來越少的元素重復上面的步驟,直到沒有任何一對數字需要

比較八冒泡排序的最壞時間復雜度為(n*(n-1))/2=7?0.

9、在數據管理技術發展的三個階段中,數據共享最好的是()。

A、人工管理階段

B、文件系統階段

C、數據庫系統階段

D、三個階段相同

標準答案:C

知識點解析:數據管理技術的發展經歷了三個階段:人工管理階段、文件系統階段

和數據庫系統階段。人工管理階段無共享,冗余度大;文件管理階段共享性差,冗

余度大;數據庫系統管理階段共享性大,冗余度小。

10、若有以下程序程ncludemain(){inta=0,b=0,c=0?d;c=(a+=b,,b+=a);

/*第4行*/d=c;;第5行*/;/*第6行*/prinlf("%d,%d,%d\n",

a,b,c);/*第7行*/}編譯時出現錯誤,你認為出錯的是

A、第4行

B、第5行

C、第6行

D、第7行

標準答案:A

知識點解析:第4行出錯,在第4行括號中兩個逗號不可以為空。單獨的分號為C

語言的空語句,是編譯程序可以識別并且編譯的,因此第5、6行都是正確的。

11、有以下程序,程序運行后的輸出結果是main。{intm=12,n=34:printff4%

d%d”,m3*n);print*'%d%d\n”,n*,*m);|

A、12353514

B、12353513

C、12343514

D、12343513

標準答案:A

知識點解析:本題主要考查自加運算符,自加運算符++在變量前表示先增加然后

再使用,++在變量后表示先使用然再增加。本題中,第一個prinlf語句m++表

示先輸出m的值,然后m增加1,因此首先輸出的是12,然后m的值變成13,+

+n表示n首先增加1變成35然后輸出,囚此輸出的是35;在笫二個primf語句

中,n++是先輸出n的值然后增加,即輸出35,n的值變為36,++m表示先增

加m的值再輸出,m的值由13變成14,故最后輸出的是14。

I2N若有以下程序#includeVstdio.h>main(){inta=0,b=0>c=Oc=(a+=++b,

b+=4);printf("%d,%d,%d\n”,a,b,c);}則程序的輸出結果是

A、1,5,1

B、-1,4,4

C、1,5,5

D、-1.4.-1

標準答案:C

知識點解析:對于語句“c=(a+=++b,-=4);首先計算“a=a+(十+b)”,a,b初值為0,

則計算以后a為1,b為1,然后計算b+=4,得到b的值為5,此時表達式b+=4的

值為整個逗號表達式的值,因此c的值為5。

13、若有以下程序main。{inta=l,b=2,c=3,d=4,r=0;if(a!=l);elser=l;

if(b==2)r+=2;if(c!=3);r+=3:if(d==4)r+=4;printf("%d\n",r);)則程序的輸

出結果是

A、7

B、10

C、6

D、3

標準答案:B

知識點解析:程序代碼中有四條并列的if語句,第一條if表達式a!二l不成立,執

行else分支,r=l;第二條if表達式b==2成立,執行r+=2,r=3;第三條if語句

c!=3不成立,執行語句r+=3,r=6:第四條if分支d=4成立,執行該if分支語句,

r+=4,r=10o

14、有以下程序#includeVstdio.h>#include<sting-h>voidfun(int*pl,int*p2,

int*s){s=(int*)calloc(l,sizeof(int));*s=*pl+*p2;free(s);}

main(){inta[21={l,2),b[2]={40,50),*q=a;fun(a,b,q);printf("%d\n'',

*q);)程序運行后的輸出結果是

A、41

B、42

C、0

D、1

標準答案:A

知識點解析:主函數定義數組a,b,q指向數組a,調用fun函數以后形參接收實

參的數據,pl和p2指向數組a和b,同時s指向數組a,在fun函數中改變了s的

指向和賦值,但是在程序調用結束之間形參空間全部釋放,因此對于s的指向改動

不會對主函數參數構成影響。因此主函數中數去+q的值仍然為lo

15、設有定義語句intx|6]={2,4,6,8,5,7},*p=x,i;要求依次輸出x數組

6個元素中的值不能完成此操作的語句是

A、for(i=0;i<6;i++)printf("%2d",*(p++));

B、for(i=0;i<6;i++)printf("%2d",*(p+i));

C、for(i=0;i<6;i++)printf("%2d'\*p++);

D、for(i=0;i<6;i++)printf("%2d",(*p)++);

標準答案:D

知識點解析:指針p指向數組x,因此可以使用n來輸出數組x的值。選項A中,

*(1)++)表示先取出P指句的元素的值.然后pH指向下一個元素.滿足要求:選項

B中*(p+i)每次i的值發生變化,(p+i)指向x數組的x國元素,因此*(p+i)是取出數

組x的x[i]元素的值,滿足耍求;選項C和選項A相比,少了括號,由于,運算符

的優先級比++要求,因此,因此*n++表示先取出p指向的元素的值,然后p再++

指向下一個元素,滿足要求;選項D中(加)++表示先取出p指向的元素的值,然后

該值++,p沒有增加,每次循環都*p取出的x[0]的值,不滿足耍求。

16、若有以下程序#includemain(){chara[20],b[]="Theskyisblue.";inti;for(i=0;

i<7;i++)scanf("%c”,&b|i]);gets(a);printf("%s%s\n",a,b);}加行時若輸入:(其中表示

回車符)Figflowerisred.則輸出結果是()。

A、werisrcd.Figfloisblue.

B、werisred.Figflo

C、werisred.Theskyisblue.

D、Figflowerisred.Theskyisblue.

標準答案:A

知識點解析:該程序段中,輸入函數scanf()讀入共7個字符,分別是Figflo,這些

字符覆蓋掉數組b中的前7個字符,所以for循環結束后,b中元素為“Figflois

blue.%gets。函數則會將剩余的字符串讀入到字符數組a中,所以a中存入的字符

串為”werisred,所以答案選A。

17、有以下程序main(){inta=l,b=2,c=3,d=0;if(a==l&&b++==2)if(b!=2||c—!=3)

printf("%d,%d,%d\n",a,b.c);elseprintf("%d,%d,%d\nH,a,b,c);else

printf("%d,%d,%d\n",a,b.c);)程序運行后的輸出結果是

A、1,3,2

B、1,2,3

C、1,3,3

D、3,2』

標準答案:C

知識點解析:a,b,c,d初始值分別為123,0。嵌套的if語句中,第一個if中,表達式

a==l&&b++==2值為1,執行嵌套的if分支,此時b=3,b!=2成立,由于運算符是

II,不管后面一個表達式的值是不是1,其整個表達式的值總是1,c-!=3表達式不

執行,最后打印出a,b,c的值是1,3,3。

18、若有以下定義和語句charsi[10]="ahcd!'\*s2="\nl?.3\V;

printf("%d%d\n",strlcn(sl),strlcn(s2));則輸出結果是

A、105

B、107

C、55

D、58

標準答案:c

知識點解析:本題要注意的是轉義字符的問題,在字符串s2中,有兩個轉義字

符,分別是回車換行符和反斜線。所以其字符串長度等于5。

19、若實體A和B是一對多的聯系,實體B和C是一對一的聯系,則實體A和C

的聯系是

A、一對一

B、一對多

C、多對一

D、多對多

標準答案:B

知識點解析:A和B為一對多的聯系,則對于A中的每一個實體,B中有多個實

體與之聯系,而B與C為一對一聯系,則對于B中的每一個實體,C中之多有一

個實體與之聯系,則可推出對于A中的每一個實體,C中有多個實體與聯系,所

以為一對多聯系。

*

lloc(2

t*)ma

t=(in

*t;

{int

*s)

int

l,

t*p

un(in

oidf

udev

#incl

clude

序#in

下程

有以

20、

{0};

[2]=

2},b

{l,

2]=

inta[

(){

main

=t;}

*pl;s

pl+

l)=*

*(t+

++;

*pl

*pl+

);*t=

f(int)

sizeo

)。

是(

結果

的輸出

運行后

}程序

]);

],b[l

”,b[O

d\n

d,%

("%

ntf

pri

b);

(a,

fun

0,0

A、

2,6

B、

2,4

C、

1,2

D、

:A

答案

標準

果形

,如

個副本

參的一

只是實

,形參

程中

傳遞過

參數

時的

調用

函數

解析:

知識點

函數

向。

針的指

實參指

影響到

化不能

向的變

指針指

則形參

地址,

為兩個

和實參

向的地

針[指

后將指

值,之

元素賦

給t中

針pl

溫馨提示

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

評論

0/150

提交評論