2021-2022年甘肅省慶陽(yáng)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第1頁(yè)
2021-2022年甘肅省慶陽(yáng)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第2頁(yè)
2021-2022年甘肅省慶陽(yáng)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第3頁(yè)
2021-2022年甘肅省慶陽(yáng)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第4頁(yè)
2021-2022年甘肅省慶陽(yáng)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩31頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2021-2022年甘肅省慶陽(yáng)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.

2.在一個(gè)無(wú)向圖中,所有頂點(diǎn)的度數(shù)之和等于所有邊數(shù)的()倍。

A.2B.3C.1D.1.5

3.對(duì)矩陣進(jìn)行壓縮存儲(chǔ)是為了()。

A.方便運(yùn)算B.方便存儲(chǔ)C.提高運(yùn)算速度D.減少存儲(chǔ)空間

4.下列敘述中正確的是()。

A.順序存儲(chǔ)結(jié)構(gòu)的存儲(chǔ)一定是連續(xù)的,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的存儲(chǔ)空間不一定是連續(xù)的

B.順序存儲(chǔ)結(jié)構(gòu)只針對(duì)線性結(jié)構(gòu),鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)只針對(duì)非線性結(jié)構(gòu)

C.順序存儲(chǔ)結(jié)構(gòu)能存儲(chǔ)有序表,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)不能存儲(chǔ)有序表

D.鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)比順序存儲(chǔ)結(jié)構(gòu)節(jié)省存儲(chǔ)空間

5.以下程序中函數(shù)reverse的功能是將a所指數(shù)組中的內(nèi)容進(jìn)行逆置。voidreverse(inta[],intn){inti,t;for(i=0;i<n/2;i++){t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}}main(){intb[10]={1,2,3,4,5,6,7,8,9,10};inti,s=0;reverse(b,8);for(i=6;i<10;i++)s+=b[i];printf("%d\n",s);}程序運(yùn)行后的輸出結(jié)果是

A.22B.10C.34D.30

6.若有以下程序段

intm=0xabc,n=0xabc;

m-=n;

printf("%x\n",m);

執(zhí)行后的輸出結(jié)果是A.A.0X0

B.0x0

C.0

D.0xABC

7.假設(shè)所有變量均為整型,則表達(dá)式(a=2,b=5,b++,a+b)的值是()。

A.7B.8C.6D.2

8.下列選項(xiàng)不符合良好程序設(shè)計(jì)風(fēng)格的是()。

A.源程序要文檔化B.數(shù)據(jù)說(shuō)明的次序要規(guī)范化C.避免濫用goto語(yǔ)句D.模塊設(shè)計(jì)原則是高耦合、高內(nèi)聚

9.有以下程序:#include<stdio.h>main(){FILE*pf;char*s1=“China”,*s2=“Beijing”;pf=fopen(“abc.dat”,“wb+”);fwrite(s2,7,1,pf);rewind(pf);/*文件位置指針回到文件開(kāi)頭*/fwrite(s1,5,1,pf);fclose(pf);}程序執(zhí)行后,abc.dat文件的內(nèi)容是()。

A.ChinaB.ChinangC.ChinaBeijingD.BeijingChina

10.下面結(jié)構(gòu)中最適于表示稀疏無(wú)向圖的是()。

A.鄰接矩陣B.逆鄰接表C.鄰接多重表D.十字鏈表

11.

12.下列程序執(zhí)行輸出的結(jié)果是()。#include<stdio.h>f(inta){intb=0;staticc=3;a=c++;b++;return(a);}main(){inta=2,i,k;for(i=0;i<2;i++)k=f(a++);printf("%d\n",k);}

A.3B.4C.5D.6

13.

14.

15.有以下程序#definef(x)x*xmain(){inti;i=f(4+4)/f(2+2);printf(“%d\n”,i);}執(zhí)行后輸出結(jié)果是()A.28B.22C.16D.4

16.在位運(yùn)算中,操作數(shù)每左移兩位,其結(jié)果相當(dāng)于()。

A.操作數(shù)乘以2B.操作數(shù)除以2C.操作數(shù)除以4D.操作數(shù)乘以4

17.下列關(guān)于數(shù)據(jù)結(jié)構(gòu)的敘述中,正確的是()。

A.數(shù)組是同類(lèi)型值的集合

B.遞歸算法的程序結(jié)構(gòu)比迭代算法的程序結(jié)構(gòu)更為精煉

C.樹(shù)是一種線性結(jié)構(gòu)

D.用一維數(shù)組存儲(chǔ)二叉樹(shù),總是以先序遍歷的順序存儲(chǔ)各結(jié)點(diǎn)

18.采用鄰接表存儲(chǔ)的圖的深度優(yōu)先遍歷算法類(lèi)似于二叉樹(shù)的()。

A.先序遍歷B.中序遍歷C.后序遍歷D.按層遍歷

19.下述程序的輸出結(jié)果是()。#include<stdio.h>voidmain(){chara=1,b=2;charc=a^b<<2;printf("\n%d",C);}

A.9B.10C.12D.2

20.下列敘述中正確的是()。

A.數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)必定是一一對(duì)應(yīng)的

B.由于計(jì)算機(jī)存儲(chǔ)空間是向量式的存儲(chǔ)結(jié)構(gòu),因此,數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)一定是線性結(jié)構(gòu)

C.程序設(shè)計(jì)語(yǔ)言中的數(shù)組一般是順序存儲(chǔ)結(jié)構(gòu),因此,利用數(shù)組只能處理線性結(jié)構(gòu)

D.以上三種說(shuō)法都不對(duì)

二、2.填空題(20題)21.為了便于對(duì)照檢查,測(cè)試用例應(yīng)由輸入數(shù)據(jù)和預(yù)期的【】?jī)刹糠纸M成。

22.已知字符A的ACSII碼值為65,以下語(yǔ)句的輸出結(jié)果是______。

charch='B';

printf("%c%d\n",ch,ch);

23.數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)與()。

24.數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式分別為_(kāi)_____模式、內(nèi)部級(jí)模式與外部級(jí)模式。

25.以下程序運(yùn)行后的輸出結(jié)果是______。

main()

{

inti,n[]={0,0,0,0,0};

for(i=1;i<=4;i++)

n[i]=n[i-1]*2+1;

printf("%d",n[i]);

}

}

26.有以下程序:

#include<stdio.h>

main()

{inta[]={1,2,3,4,5,6,7,8,9,10,11,12},*p=a+5,*q=NULL;

*q=*(p+5);

printf("%d%d\n",*p,*q);

}

程序運(yùn)行后的輸出結(jié)果是【】。

27.軟件工程研究的內(nèi)容主要包括:【】技術(shù)和軟件工程管理。

28.請(qǐng)?jiān)谝韵鲁绦虻谝恍械南聞澗€處填寫(xiě)適當(dāng)內(nèi)容,使程序能正確運(yùn)行。

【】(double,double);

main()

{doublex,y;

scanf("%1f%1f",&x,&y);

printf("%1f\n",max(x,y));

}

doublemax(doublea,doubleB)

{return(a>b?a:b);}

29.下列程序的輸出結(jié)果是______。

#include<stdio.h>

intt(intx,inty,intcp,intdp)

{cp=x*x+y*y;

如:dp=x*-y*y;

}

main()

{inta=1,b=8,c=7,d=9;

t(a,b,c,D);

printf("%d%d\n",c,D);

}

30.數(shù)據(jù)庫(kù)保護(hù)分為:安全性控制、______、并發(fā)性控制和數(shù)據(jù)的恢復(fù)。

31.以下程序運(yùn)行后的輸出結(jié)果是【】。

main()

{intx,a=1,b=2,c=3,d=4;

x=(a<b)?a:b;x=(x<c)?x:c;x=(d>x)?x:d;

printf("%d\n",x);

}

32.當(dāng)先后輸入1、3、4、12、23時(shí),屏幕上出現(xiàn)【】;再輸入12時(shí),則屏幕上出現(xiàn)【】。

#include<stdio.h>

#defineN5

main()

{inti,j,number,top,bott,min,loca,a[N],flag;

charc;

printf("Pleaseinput5numbers(a[i]>a[i-1])\n");

scanf("%d",&a[0]);

i=1;

while(i<N)

{scanf("%d",&a[i]);

if(a[i]>=a[i-1))i++;

}

printf("\n");

for(i=0;i<N;i++)printf("%d",a[i]);

printf("\n");

flag=1;

while(flag)

{scanf("%d",&number);

loca=0;

top=0;

bott=N-1;

if((number<a[0])||(number>a[N-1]))loca=-1;

while((loca==0)&&(top<=bott))

{min=(bott+top)/2;

if(number==a[min])

{loca=min;

printf("%disthe%dthnumber\n",number,loca+1);

}

elseif(number<a[min])bott=min-1;

elsetop=min+1;

}

if(loca==0||loca==-1)printf("%disnotinthelist.\n",number);

c=getchar();

if(c=='N'||c=='n')flag=0;

}

}

33.以下程序的輸出結(jié)果是【】。

#defineMCRA(m)2*m

#defineMCRB(n,m)2*MCRA(n)+m

main()

{

inti=2,j=3;

printf("%d\n",MCRB(j,MCRA(i)));

}

34.數(shù)據(jù)流圖的類(lèi)型有【】和事務(wù)型。

35.在數(shù)據(jù)管理技術(shù)的發(fā)展過(guò)程中,經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫(kù)系統(tǒng)階段。其中數(shù)據(jù)獨(dú)立性最高的階段是【】。

36.算法的復(fù)雜度主要包括時(shí)間復(fù)雜度和______復(fù)雜度。

37.若有定義:inta[4][4]={{l,2,3,4},{0},{4,6,8,10},{1,3,5,7}},則初始化后,a[2][2]得到的初值是______。

38.表達(dá)式pow(2.8,sqrt(float(x)))值的數(shù)據(jù)類(lèi)型為_(kāi)_____型。

39.度為10的線性表進(jìn)行冒泡排序,最壞情況下需要比較的次數(shù)為_(kāi)_____。

40.下列程序的運(yùn)行結(jié)果是【】。

#include<stdio.h>

main

{intk=4,m=3,p;

p=func(k,m);

printf("%d",p);

p=func(k,m);

printf("%d\n",p);}

func(a,b)

inta,b;

{staticintm=0,i=2;

i+=m+1;

m=i+a+b;

return(m);}

三、1.選擇題(20題)41.排序方法中,將整個(gè)無(wú)序序列分割成若干小的子序列并分別進(jìn)行插入排序的力法,稱(chēng)為_(kāi)_____。

A.希爾排序B.冒泡排序C.插入排序D.選擇排序

42.下列對(duì)于線性鏈表的描述中正確的是______。

A.存儲(chǔ)空間不一定是連續(xù),且各元素的存儲(chǔ)順序是任意的

B.存儲(chǔ)空間不一定是連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面

C.存儲(chǔ)空間必須連續(xù),且各前件元素一定存儲(chǔ)在后件元素的前面

D.存儲(chǔ)空間必須連續(xù),且各元素的存儲(chǔ)順序是任意的

43.若有說(shuō)明語(yǔ)句:charc='\72'則變量c()。

A.包含1個(gè)字符B.包含2個(gè)字符C.包含3個(gè)字符D.說(shuō)明不合法,c的值不確定

44.C語(yǔ)言程序的基本單位是______。

A.程序行B.語(yǔ)句C.函數(shù)D.字符

45.在微機(jī)中,應(yīng)用最普遍的字符編碼是()

A.BCD碼B.ASCII碼C.漢字騙碼D.補(bǔ)碼

46.下列敘述中,不屬于結(jié)構(gòu)化分析方法的是()。A.A.面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法

B.面向數(shù)據(jù)結(jié)構(gòu)的Jackson方法

C.面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)開(kāi)發(fā)方法

D.面向?qū)ο蟮姆治龇椒?/p>

47.現(xiàn)在有以下定義,inta;doubleb;floatc;chark;則下面的表達(dá)式a/b+c-k值的類(lèi)型為:

A.intB.doubleC.floatD.char

48.有以下程序

#include<stdio.h>

main0

{inty=9;

for(;y>0;y--)

if(y%3==0)printf("%d",--y);

}

程序的運(yùn)行結(jié)果是

A.741B.963C.852D.875421

49.程序流程圖中帶有箭頭的線段表示的是()。

A.圖元關(guān)系B.數(shù)據(jù)流C.控制流D.調(diào)用關(guān)系

50.設(shè)變量均已正確定義,若要通過(guò)scanf("%d%c%d%c",&a1,&c1,&a2,&c2);語(yǔ)句為變量a1和a2賦數(shù)值10和20,為變量c1和c2賦字符X和Y。以下所示的輸入形式中正確的是(注:□代表空格字符)

A.10□X□20□Y<回車(chē)>

B.10□X20□Y<回車(chē)>

C.10□X<回車(chē)>20□Y<回車(chē)>

D.10X<回車(chē)>20Y<回車(chē)>

51.若變景均已正確定義井賦值,以下合法的C語(yǔ)言賦值語(yǔ)句是()

A.x=y==5;B.x=n%2.5;C.x+n=i;D.x=5=4+1;

52.對(duì)表達(dá)式for(表達(dá)式1;;表達(dá)式3)可理解為()。

A.for(表達(dá)式1;0;表達(dá)式3)

B.for(表達(dá)式1;1;表達(dá)式3)

C.for(表達(dá)式1;表達(dá)式1;表達(dá)式3)

D.for(表達(dá)式1;表達(dá)式3;表達(dá)式3)

53.以下對(duì)結(jié)構(gòu)體類(lèi)型變量td的定義中,錯(cuò)誤的是

A.typedefstructaa{intn;floatm;}AA;AAtd;

B.structaa{intn;floatm;}td;structaatd;

C.struct{intn;floatm;}aa;structaatd;

D.struct{intn;floatm;}td;

54.設(shè)a、b和c都是int型變量,且a=3、b=4、c=5,則下面的表達(dá)式中,值為0的表達(dá)式是______。

A.'a'&&'b'

B.a<=b

C.a||+c&&b-c

D.!((a<b)&&!c||1)

55.C語(yǔ)言規(guī)定,調(diào)用一個(gè)函數(shù)時(shí),實(shí)參變量和形參變量之間的數(shù)據(jù)傳遞是()。

A.地址傳遞B.值傳遞C.由實(shí)參傳給形參,并由形參傳回給實(shí)參D.由用戶(hù)指定傳遞方式

56.若在fopen函數(shù)中使用文件的方式是"wb+",該方式的含義是()

A.為讀/寫(xiě)打開(kāi)一個(gè)文本文件

B.為輸出打開(kāi)一個(gè)文本文件

C.為讀/寫(xiě)建立一個(gè)新的文本文件

D.為讀/寫(xiě)建立一個(gè)新的二進(jìn)制文件

57.下列程序的輸出結(jié)果是()。#include<stdio.h>main(){charch[2][5]={"1234","5678"},*p[2];inti,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>'\0';j+=2){s=p[i][j]-'0';printf("%d",s);}}

A.6357B.6135C.1357D.691357

58.待排序的關(guān)鍵碼序列為(33,18,9,25,67,82,53,95,12,70),要按關(guān)鍵碼值遞增的順序排序,采取以第一個(gè)關(guān)鍵碼為基準(zhǔn)元素的快速排序法,第一趟排序后關(guān)鍵碼33被放到第()個(gè)位置。

A.3B.5C.7D.9

59.已知函數(shù)的調(diào)用形式為fread(buf,size,count,fp),參數(shù)buf的含義是

A.一個(gè)整型變量,代表要讀入的數(shù)據(jù)項(xiàng)總數(shù)

B.一個(gè)文件指針,指向要讀的文件

C.一個(gè)指針;指向要讀入數(shù)據(jù)的存放地址

D.一個(gè)存儲(chǔ)區(qū),存放要讀的數(shù)據(jù)項(xiàng)

60.若a為int類(lèi)型,且其值為3,則執(zhí)行完表達(dá)式a+=a-=a*a后,a的值是()。

A.-3B.9C.-12D.6

四、選擇題(20題)61.有下列程序:fun(intx,inty){staticintm=0,i=2;i+=m+1;m=i+x+y;returnm;}main(){intj=1,m=1,k;k=fun(j,m);printS(”%d,”,k);k=fun(j,m);printf(”%d\n”,k);)執(zhí)行后的輸出結(jié)果是()。A.5,5B.5,11C.11,11D.11,5

62.已知inta=1,b=-1;則語(yǔ)句printf("%d\n",(a--,++b));的輸出結(jié)果是

A.-1B.0C.1D.語(yǔ)句錯(cuò)誤

63.

64.要求通過(guò)while循環(huán)不斷讀入字符,當(dāng)讀人字母N時(shí)結(jié)束循環(huán),若變量已正確定義,下列正確的程序段是()。A.B.C.D.A.A.AB.BC.CD.D

65.若有以下程序段(n所賦的是八進(jìn)制數(shù))

intm=32767,n=032767;

printf("%d,%o\n",m,n);

執(zhí)行后的輸出結(jié)果是

A.32767,32767B.32767,032767

C.32767,77777D.32767,077777

66.

67.有以下程序程序運(yùn)行后的輸出結(jié)果是()。

A.3B.0C.7D.8

68.有以下程序:

若運(yùn)行時(shí)輸入:246<;回車(chē)>;,則輸出結(jié)果為()。

A.204B.200C.240D.246

69.若有定義語(yǔ)句:“intyear=2009,*p=&year;”,以下不能使變量year中的值增至2010的語(yǔ)句是()。

A.*p+=1;

B.(*p)++;

C.++(*p);

D.*++P

70.

71.

72.

73.

74.

75.下列判斷正確的是()。A.A.chara="ABCD":等價(jià)于char*a;*a="ABCD":

B.charstr[10]={"ABCD"}:等價(jià)于charstr[10];str[]={"ABCD"};

C.char*s="ABCD":等價(jià)于chars;*s="ABCD";

D.charc[5]="ABCD",d[5]="ABCD":等價(jià)于charc[5]-d[5]="ABCD";

76.下列程序的輸出結(jié)果是()。

char*p1="abcd",*p2="ABCD",str[50]="xyz";

strcpy(str+2,strcat(p1+2,p2+1));

printf("%s",str);

A.xyabcABB.abcABzC.ABabczD.xycdBCD

77.有以下程序:

#include<stdio.h>

intfun

{staticintx=1;

x+=1;returnX;

}

main

{inti,S=1;

for(i=1;i<=S;i++)s+=fun;

printf("%d\n",s);

}

程序運(yùn)行后的輸出結(jié)果是()。

A.11B.21C.6D.120

78.以下定義語(yǔ)句中正確的是()。

79.

80.設(shè)p1和p2是指向同一個(gè)int型一維數(shù)組的指針變量,k為int型變量,則下列不能正確執(zhí)行的語(yǔ)句是_______。

A.k=*p1+*p2;B.p2=k;C.p1=p2;D.k=*p1*(*p2);

五、程序改錯(cuò)題(1題)81.下列給定程序中proc()函數(shù)的功能是:將n個(gè)無(wú)序整數(shù)按從小到大排序。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.規(guī)定輸入的字符串中只包含字母和。號(hào)。請(qǐng)編寫(xiě)函數(shù)fun,其功能是:將字符串尾部的。號(hào)全部刪除,前面和中間的*號(hào)不動(dòng)。

參考答案

1.D

2.A

3.D

4.A解析:順序存儲(chǔ)結(jié)構(gòu)就是用一組地址連續(xù)的存儲(chǔ)單元依次存儲(chǔ)該線性表中的各個(gè)元素,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)序號(hào)是不連續(xù)的,并且各結(jié)點(diǎn)在存儲(chǔ)空間中的位置關(guān)系與邏輯關(guān)系也不一致,所以選項(xiàng)A是正確的。兩者都可以存儲(chǔ)線性的、有序的邏輯結(jié)構(gòu),所以選項(xiàng)B、C不正確。順序結(jié)構(gòu)使用的是連續(xù)物理空間,鏈?zhǔn)浇Y(jié)構(gòu)可以使用零散的物理空間存儲(chǔ),鏈?zhǔn)浇Y(jié)構(gòu)更靈活,不存在誰(shuí)節(jié)約空間的說(shuō)法,所以選項(xiàng)D不正確。

5.A解析:本題考查的知識(shí)點(diǎn)是數(shù)組名作為函數(shù)參數(shù)及函數(shù)調(diào)用。reverse()數(shù)的功能是將具有n個(gè)元素的數(shù)組a反序存放。在主函數(shù)中調(diào)用語(yǔ)句是“reverse(b,8);”,實(shí)現(xiàn)的功能是把b數(shù)組的前八個(gè)元素逆置,所以b數(shù)組中依次存放的值為“8,7,6,5,4,3,2,1,9,10”。for循環(huán)了4次,分別把b[6]、b[7]、b[8]和b[9]的值(分別是2、1、9、10)加到了s中,s的結(jié)果是22,所以最后輸出的s值為22。所以4個(gè)選項(xiàng)中A正確。

6.C本題考查C語(yǔ)言中的數(shù)據(jù)輸出格式。

題目中定義了兩個(gè)整型變量m、n,對(duì)這兩個(gè)變量賦值,輸入的數(shù)值為十六進(jìn)制整數(shù),并且有m=n。進(jìn)行m-n運(yùn)算后,將減法所得到的值賦給m,并將m值輸出。其中printf的格式字符選用的格式字符為x,即以十六進(jìn)制形式輸出整數(shù)。注意,0x是表示該數(shù)為十六進(jìn)制的標(biāo)志,輸出數(shù)據(jù)時(shí),數(shù)據(jù)前面不會(huì)自動(dòng)加上進(jìn)制的標(biāo)志。

7.B

8.D在程序設(shè)計(jì)中,對(duì)于軟件設(shè)計(jì)中的模塊設(shè)計(jì)要保證高內(nèi)聚和低耦合,源程序要有文檔說(shuō)明,同時(shí)對(duì)程序中數(shù)據(jù)的說(shuō)明要規(guī)范化。而goto語(yǔ)句破壞程序的結(jié)構(gòu),要盡量避免使用。所以選項(xiàng)D不正確。

9.B題目中先是將s2字符串寫(xiě)入adc.dat中,然后執(zhí)行rewind函數(shù)將寫(xiě)指針?lè)胖糜谖募_(kāi)頭,寫(xiě)入s1字符串。s1字符串將前5個(gè)字符覆蓋,所以最終結(jié)果為Chinang。故本題答案為B選項(xiàng)。

10.C

11.D

12.B解析:本題考查函數(shù)調(diào)用時(shí)的參數(shù)傳遞。在函數(shù)調(diào)用時(shí),static變量在函數(shù)調(diào)用結(jié)束后所做的所有變化均保持(即上次調(diào)用結(jié)束時(shí)的值)。

在主函數(shù)中,第一次循環(huán),i=0,調(diào)用k-f(a++)=f(2),調(diào)用完之后才將a加1,a變?yōu)?,在f(2)中,先將c=3賦值給a返回,然后將c加1,得到k=a=3,c=4。

第二次循環(huán),i=1,調(diào)用k=f(a++)=f(3),調(diào)用完之后才將a加1,a變?yōu)?,在f(3)中,先將c=4賦值給a返回,然后將c加1,得到k=a=4,c=5。

13.B

14.C

15.A解析:f(4+4)/f(2+2)=4+4*4+4/2+2*2+2=28。

16.D解析:本題主要考查左移、右移對(duì)數(shù)據(jù)值的影響,左移n位相當(dāng)于乘以2的n次冪,右移n位相當(dāng)于除以2的n次冪。

17.B

18.A

19.A

20.D解析:一般來(lái)說(shuō),一種數(shù)據(jù)的邏輯結(jié)構(gòu)根據(jù)需要可以表示成多種存儲(chǔ)結(jié)構(gòu),因此,數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)不一定是一一對(duì)應(yīng)的。選項(xiàng)A中的說(shuō)法是錯(cuò)誤的。雖然計(jì)算機(jī)的存儲(chǔ)空間是向量式的存儲(chǔ)結(jié)構(gòu),但由于一種數(shù)據(jù)的邏輯結(jié)構(gòu)根據(jù)需要可以表示成多種存儲(chǔ)結(jié)構(gòu),例如,線性鏈表是線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。一般來(lái)說(shuō),性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中,各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)序號(hào)是不連續(xù)的,并且各結(jié)點(diǎn)在存儲(chǔ)空間中的位置關(guān)系與邏輯關(guān)系也不一致。性鏈表中,各數(shù)據(jù)元素之間的前后件關(guān)系是由各結(jié)點(diǎn)的指針域來(lái)指示的。因此,數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)不一定是線性結(jié)構(gòu)。選項(xiàng)B中的說(shuō)法也是錯(cuò)誤的。雖然程序設(shè)計(jì)語(yǔ)言中的數(shù)組一般是順序存儲(chǔ)結(jié)構(gòu),但是,利用數(shù)組也能處理非線性結(jié)構(gòu)。例如,滿二叉樹(shù)與完全二叉樹(shù)是非線性結(jié)構(gòu),但對(duì)于滿二叉樹(shù)與完全二叉樹(shù)來(lái)說(shuō),根據(jù)完全二叉樹(shù)的性質(zhì)6,可以按層序進(jìn)行順序存儲(chǔ),即利用程序設(shè)計(jì)語(yǔ)言中的數(shù)組來(lái)存儲(chǔ),這樣,不僅節(jié)省了存儲(chǔ)空間,又能方便地確定每一個(gè)結(jié)點(diǎn)的父結(jié)點(diǎn)與左右子結(jié)點(diǎn)的位置。對(duì)于一般的二叉樹(shù)來(lái)說(shuō),也可以將二叉樹(shù)中每一個(gè)結(jié)點(diǎn)的左指針、右指針以及數(shù)據(jù)域分別用三個(gè)數(shù)組中的對(duì)應(yīng)元素來(lái)存儲(chǔ),即實(shí)際上也是利用了程序設(shè)計(jì)語(yǔ)言中的數(shù)組來(lái)處理二叉樹(shù)這樣的非線性結(jié)構(gòu)。選項(xiàng)C中的說(shuō)法也是錯(cuò)誤的。綜上所述,選項(xiàng)A、B與C中的說(shuō)法都是錯(cuò)誤的。

21.輸出結(jié)果輸出結(jié)果解析:注意:測(cè)試的基本方法和步驟。

22.B66B66解析:printf函數(shù)的功能是按照指定的格式,在標(biāo)準(zhǔn)輸出設(shè)備上輸出數(shù)據(jù),它有兩種參數(shù):格式控制參數(shù)和輸出項(xiàng)參數(shù)。本題中,printf('%c%d\\n',ch,ch)表示以字符格式和十進(jìn)制整數(shù)格式輸出ch,B的ACSII碼值為66,即在計(jì)算機(jī)中B的十進(jìn)制整數(shù)格式是66。所以,輸出為B66。

23.存儲(chǔ)結(jié)構(gòu)存儲(chǔ)結(jié)構(gòu)解析:數(shù)據(jù)結(jié)構(gòu)是指相互之間存在一種或多種特定關(guān)系的數(shù)據(jù)元素的集合,即數(shù)據(jù)的組織形式。它分為數(shù)據(jù)的邏輯結(jié)構(gòu)和數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)。

24.概念(或概念級(jí))概念(或概念級(jí))

25.1371513715解析:本題中,定義了一個(gè)整型數(shù)組n并初始化,在for循環(huán)語(yǔ)句中,再對(duì)數(shù)組中各元素重新賦值。循環(huán)執(zhí)行第一次時(shí),n[1]=n[0]*2+1=0+1=1,pnntf函數(shù)輸出1,然后i的值加1,比較i<4成立,繼續(xù)執(zhí)行循環(huán)體語(yǔ)句,相應(yīng)輸出3、7、15,直至i<=4不成立,退出循環(huán)。所以最后輸出為1、3、7、15。

26.運(yùn)行后報(bào)錯(cuò)運(yùn)行后報(bào)錯(cuò)解析:指針q沒(méi)有指向確定的存儲(chǔ)單元,故不能賦值。

27.軟件開(kāi)發(fā)

28.doublemax或externdoublemaxdoublemax或externdoublemax解析:本題中main()函數(shù)需要調(diào)用max()函數(shù),在main()之前就需要聲明函數(shù)max(),并且可以用extern說(shuō)明符使變量的作用域擴(kuò)充到需要用到它的函數(shù),所以,填寫(xiě)doublemax(或externdoublemax)。

29.7979解析:因?yàn)樵谡{(diào)用子函數(shù)時(shí)進(jìn)行的是數(shù)值傳遞,調(diào)用子函數(shù)并不能改變實(shí)參的值,所以經(jīng)過(guò)調(diào)用子函數(shù),c、d的值并沒(méi)有發(fā)生變化還是原來(lái)的值。

30.完整性控制完整性控制

31.11解析:因?yàn)樵跅l件表達(dá)式(a<b)?a:b中,比較表達(dá)式a<b為真,所以x的值等于a的值等于1,后面兩個(gè)條件表達(dá)式中的比較表達(dá)式都為真,所以最終x的值等于1。

32.134122312isthe4thnumber.

33.1616解析:首先用j和MCRA(i)替換MCRB(n,m)中的參數(shù)n和m,變成2*MCRA(j)+MCRA(i),再用j和i替換MCRA(m)中的參數(shù)m,變成2*2*j+2*i=2*2*3+2*2=16。

34.變換型典型的數(shù)據(jù)流類(lèi)型有兩種:變換型和事務(wù)型。變換型是指信息沿輸入通路進(jìn)入系統(tǒng),同時(shí)由外部形式變換成內(nèi)部形式,進(jìn)入系統(tǒng)的信息通過(guò)變換中心,經(jīng)加工處理以后再沿輸出通路變換成外部形式離開(kāi)軟件系統(tǒng);在很多軟件應(yīng)用中,存在某種作業(yè)數(shù)據(jù)流,它可以引發(fā)一個(gè)或多個(gè)處理,這些處理能夠完成該作業(yè)要求的功能,這種數(shù)據(jù)流就叫做事務(wù)。

35.數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)解析:數(shù)據(jù)管理技術(shù)的發(fā)展過(guò)程中,經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫(kù)系統(tǒng)階段。(1)人工管理階段。這一階段的計(jì)算機(jī)主要用于科技計(jì)算。外存只有磁帶、卡片和紙帶等,軟件只有匯編語(yǔ)言,尚無(wú)數(shù)據(jù)管理方面的軟件。數(shù)據(jù)處理方式是批處理。(2)文件系統(tǒng)階段。文件系統(tǒng)是數(shù)據(jù)庫(kù)系統(tǒng)發(fā)展的初級(jí)階段,它提供了簡(jiǎn)單的數(shù)據(jù)共享與數(shù)據(jù)管理能力,但是它無(wú)法提供完整的、統(tǒng)一的管理和數(shù)據(jù)共享的能力。由于它的功能簡(jiǎn)單,因此它附屬于操作系統(tǒng)而不能成為獨(dú)立的軟件,目前一般將其看成僅是數(shù)據(jù)庫(kù)系統(tǒng)的雛形,而不是真正的數(shù)據(jù)庫(kù)系統(tǒng)。(3)數(shù)據(jù)庫(kù)系統(tǒng)階段。數(shù)據(jù)庫(kù)階段用數(shù)據(jù)模型表示復(fù)雜的數(shù)據(jù)模型,有較高的數(shù)據(jù)獨(dú)立性。數(shù)據(jù)庫(kù)系統(tǒng)為用戶(hù)提供了方便的用戶(hù)接口,用戶(hù)可使用查詢(xún)語(yǔ)言或終端命令操作數(shù)據(jù)庫(kù),也可以用程序方式(用COBOL、C一類(lèi)高級(jí)語(yǔ)言和數(shù)據(jù)庫(kù)語(yǔ)言編制的程序)操作數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)管理系統(tǒng)提供了數(shù)據(jù)控制功能。

36.空間空間解析:算法的復(fù)雜度主要包括時(shí)間復(fù)雜度和空間復(fù)雜度。所謂算法的時(shí)間復(fù)雜度,是指執(zhí)行算法所需要的計(jì)算工作量。一個(gè)算法的空間復(fù)雜度,一般是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。

37.88解析:二維數(shù)組可以看成是按矩陣形式排列的,題目中給二維數(shù)組賦初值是按行分段賦值的,a[4][4]可以分解為4個(gè)一維數(shù)組,其數(shù)組名分別為a[0]、a[1]、a[2]、a[3],這4個(gè)一維數(shù)組都有,4個(gè)元素,a[0]的元素為a[0][0]、a[0][1]、a[O][2]、a[0][3]。

38.floatfloat解析:在此表達(dá)式中x是float類(lèi)型的變量,經(jīng)過(guò)開(kāi)方所得到的結(jié)果仍是float類(lèi)型,再和2.8進(jìn)行運(yùn)算時(shí),應(yīng)該先將2.8轉(zhuǎn)換成float類(lèi)型再運(yùn)算,最后結(jié)果仍是float型。

39.4545解析:對(duì)于長(zhǎng)度為N的線性表,在最壞情況下(即線性表中元素現(xiàn)在的順序與目標(biāo)順序正好相反),冒泡排序需要經(jīng)過(guò)N/2遍的從前往后的掃描和N/2遍的從后往前的掃描,需要的比較次數(shù)為N(N-1)/2。

40.10211021解析:此題主要考查了變量和函數(shù)的存儲(chǔ)類(lèi)別。函數(shù)的存儲(chǔ)范圍是從定義它的位置到文件結(jié)束為止,如果想在函數(shù)定義之前使用函數(shù),需要先對(duì)函數(shù)進(jìn)行聲明。靜態(tài)局部變量的生存期為整個(gè)程序的運(yùn)行期間,作用域卻為定義它的函數(shù)或局部范圍內(nèi)。

41.A解析:希爾排序法的基本思想是:將整個(gè)無(wú)序序列分割成若干小的子序列分別進(jìn)行插入排序。

42.A解析:線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)稱(chēng)為線性鏈表,是一種物理存儲(chǔ)單元上非連續(xù)、非順序的存儲(chǔ)結(jié)構(gòu),數(shù)據(jù)元素的邏輯順序是通過(guò)鏈表中的指針鏈接來(lái)實(shí)現(xiàn)的。

43.A解析:C語(yǔ)言的字符型常量中,允許用一種特殊形式的字符常量,就是以一個(gè)“\\”開(kāi)頭的字符。其中,“\\ddd”表示用ASCII碼(八進(jìn)制數(shù))表示一個(gè)字符,本題中的charc='\\72'H口表示占一個(gè)字符的變量c的ASCII碼值。

44.C解析:C語(yǔ)言是一個(gè)函數(shù)語(yǔ)言,C語(yǔ)言的主體就是一個(gè)主函數(shù),然后有庫(kù)函數(shù)和用戶(hù)自定義的函數(shù)來(lái)配合主函數(shù)完成一系列的任務(wù),所以說(shuō),C語(yǔ)言的基本單位是函數(shù)。

45.B

46.D解析:常見(jiàn)的需求分析方法有結(jié)構(gòu)化分析方法和面向?qū)ο蟮姆治龇椒▋深?lèi)。其中結(jié)構(gòu)化分析方法又包括面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法(SA-Structuredanalysis),面向數(shù)據(jù)結(jié)構(gòu)的Jackson方法(JSD-Jacksonsystemdevelopmentmethod)和面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)開(kāi)發(fā)方法(DSSD-Datastructuredsystemdevelopmentmethod)。

47.B解析:雙目運(yùn)算中兩邊運(yùn)算量類(lèi)型轉(zhuǎn)換規(guī)律:

運(yùn)算數(shù)1運(yùn)算數(shù)2轉(zhuǎn)換結(jié)果類(lèi)型

短整型長(zhǎng)整型短整型->長(zhǎng)整型

整型長(zhǎng)整型整型->長(zhǎng)整型

字符型整型字符型->整型

有符號(hào)整型無(wú)符號(hào)整型有符號(hào)整型->無(wú)符號(hào)整型

整型浮點(diǎn)型整型->浮點(diǎn)型

在a/b的時(shí)候,a,b的類(lèi)型不一致,根據(jù)類(lèi)型轉(zhuǎn)換規(guī)則,把整型轉(zhuǎn)換成double類(lèi)型,之后的加,減類(lèi)似。轉(zhuǎn)化規(guī)則為char,short→int→unsigned→long→double←float

48.C解析:本題考察變量的自加'++'和自減'--'問(wèn)題。當(dāng)y的值為9、6或3時(shí),if語(yǔ)句的條件成立,執(zhí)行輸出語(yǔ)句,輸出表達(dá)式--y的值,y的自減要先于輸出語(yǔ)句執(zhí)行,故輸出結(jié)果為852。

49.C解析:程序流程圖是人們對(duì)解決問(wèn)題的方法、思路或算法的一種描述。其中,圖框表示各種操作的類(lèi)型,圖框中的文字和符號(hào)表示操作的內(nèi)容,流程線表示操作的先后次序。帶箭頭的線段在數(shù)據(jù)流程圖中表示數(shù)據(jù)流。帶箭頭的線段在程序流程圖中表示控制流。題中給出的選項(xiàng)中,在圖元之間用帶有箭頭的線段表示圖元關(guān)系。在模塊之間用帶有箭頭的線段表示調(diào)用關(guān)系。構(gòu)成程序流程圖的基本圖符及含義:→或↓表示控制流;□表示加工步驟;

表示邏輯條件。

50.D解析:本題中,scanf函數(shù)的格式控制沒(méi)有空格,所以,對(duì)于選項(xiàng)A)、B)、C),輸入的第一個(gè)空格會(huì)作為字符賦值給變量c1,而不會(huì)被解釋成分隔符。

51.A解析:“%”運(yùn)算符的作用是求模,意思是做除法求余,這就要求兩個(gè)運(yùn)算分量均為整數(shù)。選項(xiàng)B中,2.5不是整數(shù),故非法;選項(xiàng)C中,表達(dá)式x+n計(jì)算后得到的是一臨時(shí)值,臨時(shí)值不能做左值,故非法;選項(xiàng)D中,由于“=”運(yùn)算符的結(jié)合性是“從右到左”,故先計(jì)算5=4+1,5是常量不能做左值,故選項(xiàng)D也非法。選項(xiàng)A,y==5是一個(gè)邏輯表達(dá)式,其值為真或假,可以用做右值,所以是合法的。故本題應(yīng)該選擇A。

52.B在本題中,for循環(huán)結(jié)構(gòu)缺省了表達(dá)式2,而表達(dá)式2的作用是用來(lái)判斷循環(huán)是否結(jié)束,在缺省該語(yǔ)句的情況下,循環(huán)將無(wú)法結(jié)束,從題目給出的四個(gè)循環(huán)結(jié)構(gòu)我們可以看出,能構(gòu)成死循環(huán)的是選項(xiàng)B,該選項(xiàng)中for結(jié)構(gòu)的表達(dá)式2一直為1,即真,這樣循環(huán)就無(wú)法結(jié)束。因此,本題正確的答案選B。

53.C解析:選項(xiàng)t中,aa為結(jié)構(gòu)體變量,而不是結(jié)構(gòu)體名稱(chēng),不能再用來(lái)定義td。

54.D解析:選項(xiàng)A:'a'&&'b'是字符a與b的相與,不為0:選項(xiàng)B:a<=b,由題中變量賦值可知,結(jié)果為1。選項(xiàng)C:a||+c&&b-c,結(jié)果為1;選項(xiàng)D:!((a<B)&&!c||1),運(yùn)算結(jié)果為0。

55.B解析:本題考查函數(shù)調(diào)用時(shí)的參數(shù)傳遞。在函數(shù)調(diào)用時(shí),實(shí)參和其所對(duì)應(yīng)的形參分別占用不同的存儲(chǔ)單元,彼此之間只是實(shí)參將值傳遞給形參.

56.D

57.C解析:本題先將指針P指向二維數(shù)組ch[2][5],相當(dāng)于p[0]='1234',p[1]='5678',通過(guò)雙重for循環(huán),是要將p中的字符隔一個(gè)輸出一個(gè),通過(guò)s=p[i][j]-\'0\'這條語(yǔ)句是將所要輸出的字符轉(zhuǎn)換成相應(yīng)的十進(jìn)制數(shù)。

58.BB.【解析】快速排序的基本思想是:從表中選取一個(gè)元素(如本題中的33),將表中小于此元素的移到前面,大于此元素的移到后面,結(jié)果把線性表分割成兩部分(兩個(gè)子表),此元素插入到其分界線的位置處。然后分別對(duì)兩個(gè)子表再次分割……本題中33作為分割的中界線,第一趟排序后排在比它小的18、9、25、12后面。

59.C解析:這是一道考查fread函數(shù)的題。buf是一個(gè)指針,fread是讀入數(shù)據(jù)的存放地址;fwrite是輸出數(shù)據(jù)的地址(以上指的是起始地址)。

60.C解析:本題中首先定義一個(gè)整型變量a并給它賦初值為3,在表達(dá)式中,從右開(kāi)始執(zhí)行,即先執(zhí)行“a-=a*a;”等價(jià)于a=a-a*a即a=3-3*3=-6,此時(shí)a的值為-6,接著執(zhí)行“a+=a-;”相當(dāng)于執(zhí)行a=a+a即a=-6+(-6)=-12,此時(shí)a的值為-

溫馨提示

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

評(píng)論

0/150

提交評(píng)論