2022年湖北省鄂州市全國計算機等級考試C語言程序設(shè)計知識點匯總卷(含答案)_第1頁
2022年湖北省鄂州市全國計算機等級考試C語言程序設(shè)計知識點匯總卷(含答案)_第2頁
2022年湖北省鄂州市全國計算機等級考試C語言程序設(shè)計知識點匯總卷(含答案)_第3頁
2022年湖北省鄂州市全國計算機等級考試C語言程序設(shè)計知識點匯總卷(含答案)_第4頁
2022年湖北省鄂州市全國計算機等級考試C語言程序設(shè)計知識點匯總卷(含答案)_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2022年湖北省鄂州市全國計算機等級考試C語言程序設(shè)計知識點匯總卷(含答案)學(xué)校:________班級:________姓名:________考號:________一、單選題(20題)1.已知inta=2,b=3;則執(zhí)行表達式a=a<b后,變量a的值為()。

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

2.若進棧序列為1,2,3,4,進棧過程中可以出棧,則下列不可能的一個出棧序列是______。

A.1,4,3,2B.2,3,4,1C.3,1,4,2D.3,4,2,1

3.按照C語言規(guī)定的用戶標識符命名規(guī)則,不能出現(xiàn)在標識符中的是()。A.大寫字母B.下劃線C.數(shù)字字符D.連接符

4.以下敘述中錯誤的是()。

A.非零的數(shù)值型常量有正值和負值的區(qū)分

B.常量是在程序運行過程中值不能被改變的量

C.定義符號常量必須用類型名來設(shè)定常量的類型

D.用符號名表示的常量叫符號常量

5.設(shè)一組初始記錄關(guān)鍵字序列(5,2,6,3,8),以第一個記錄關(guān)鍵字5為基準進行一趟快速排序的結(jié)果為()。

A.2,3,5,8,6B.3,2,5,8,6C.3,2,5,6,8D.2,3,6,5,8

6.若已定義inta,則表達式a=10,a+10,a++的值是()。

A.20B.10C.21D.11

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

#include<stdio.h>

intb=2;

intfunc(int*A)

{b+=*a;retumb;}

main()

{inta=1,t=2;

t+=func(&A);

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

}

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

8.對n個元素的數(shù)組進行(),其平均時間復(fù)雜度和最壞情況下都為O(nlogn)。

A.希爾排序B.快速排序C.堆排序D.選擇排序

9.若希望下列的程序運行后輸出25,程序空白處的正確選項是()。

main()

{inti,j=50,a[]={7,4,10,5,8};

for()

j+=a[i];

primf("%d,j-40);

}

A.i=1;i<4;++iB.i=1;i<3;++iC.i=4;i>2;i--D.i=2;i<4;++i

10.

11.若在以下定義和賦值語句,則才s數(shù)組的第i行第j列(假設(shè)i,j已正確說明并賦值)元素地址的合法引用為ints[2][3]={0},(*p)[3];p=s;

A.*(*(p+i)+j)B.*(p[i]+j)C.(p+i)+jD.(*(p+i))[j]

12.若有定義“chara,b;”,則執(zhí)行表達式“a=3^2”和“b=~(5|2|0xf0)”后,a和b的十進制值分別是()。A.5和10B.9和14C.6和3D.1和8

13.若有下列定義(設(shè)int類型變量占2個字節(jié)):

inti=8;

則下列語句:

printf("i=%08d",i);

輸出的結(jié)果是()。A.A.i=8B.i=00000008C.i=08D.8

14.

15.有以下程序:#include<stdio.h>structtt{intx;structtt*y;}*p;structtta[4]={20,a+1,15,a+2,30,a+3,17,a};main(){inti;p=a;for(i=1;i<=2;i++){printf(“%d,”,p->x);p=p->y;}}程序的運行結(jié)果是()。

A.20,30,B.30,17,C.15,30,D.20,15,

16.設(shè)線性鏈表中結(jié)點的結(jié)構(gòu)為(data,next)。已知指針q所指結(jié)點是指針結(jié)點p的直接前驅(qū),若在*q與*p之間插入結(jié)點*s,則應(yīng)執(zhí)行下列()操作。

A.s->next=p->next;p->next=s;

B.q->next=s;s->next=p;

C.p->next=s->next;s->next=p;

D.p->next=s;s->next=q;

17.下列關(guān)于棧的描述中錯誤的是()。

A.棧是先進先出的線性表B.棧只能順序存儲C.棧具有記憶作用D.對棧的插入刪除操作中,不需要改變棧底指針

18.

19.有下列程序:intfunl(doublea){returna*=a;)intfun2(doublex,doubley){doublea=0,b=0;a=funl(x);b=funl(y);return(int)(a+h);}main{doublew;w=fun2(1.1,2.0),……)程序執(zhí)行后變量w中的值是()。A.5.21B.5C.5.0D.0.0

20.下列排序方法中,()方法的比較次數(shù)與記錄的初始排列狀態(tài)無關(guān)。

A.直接插入排序B.冒泡排序C.快速排序D.直接選擇排序

二、2.填空題(20題)21.數(shù)據(jù)庫設(shè)計分為以下6個設(shè)計階段:需求分析階段、______、邏輯設(shè)計階段、物理設(shè)計階段、實施階段、運行和維護階段。

22.數(shù)據(jù)結(jié)構(gòu)分為線性數(shù)據(jù)結(jié)構(gòu)和非線性數(shù)據(jù)結(jié)構(gòu),帶鏈的隊列屬于()。

23.關(guān)系數(shù)據(jù)庫管理系統(tǒng)能實現(xiàn)的專門關(guān)系運算包括選擇、連接和【】。

24.strcat函數(shù)的作用是【】。

25.匯編程序和編譯程序翻譯的目標程序需經(jīng)【】連接成可執(zhí)行的程序。

26.下面程序的功能是求整數(shù)m、n的最大公約數(shù),請?zhí)羁铡?/p>

main()

{intm,n,r;

scanf("%d,%d",m,n);

if(【】){r=m;m=n;n=r;}

while(【】)

{r=m%n;m=n;n=r;}

printf("%d",m);

}

27.fun函數(shù)的功能是:首先對a所指的N行N列的矩陣,找出各行中的最大的數(shù),再求這N個最大值中的最小的那個數(shù)作為函數(shù)值返回。請?zhí)羁铡?/p>

#include<stdio.h>

#defineN100

intfun(int(*a)[N])

{

introw,col,max,min;

for(row=0;row<N;row++

{

for(max=a[row][0],col=1;col<N;col++)

if(【】)max=a[row][col];

if(row==0)min=max;

elseif(【】)min=max;

}

returnmin;

}

28.以下程序運行時若從鍵盤輸入:102030<回車>。輸出結(jié)果是【】。

#include<stdio.h>

main()

{

inti=0,j=0,k=0;

scanf("%d%*d%d",&i,&j,&k);

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

}

29.以下程序的輸出是【】。

main()

{

charstr1[]="Howdoyoudo",*pl=str1;

strcpy(str1+strlen(str1)/2,"esshe");

intf("%s\n",p1);

30.在結(jié)構(gòu)化設(shè)計方法中,數(shù)據(jù)流圖表達了問題中的數(shù)據(jù)流與加工間的關(guān)系,并且每一個______實際上對應(yīng)一個處理模塊。

31.在C語言中,while和do…while循環(huán)的主要區(qū)別是______的循環(huán)至少被執(zhí)行一次。

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

33.以下程序中select函數(shù)的功能是:在N行M列的二維數(shù)組中,選出一個最大值作為函數(shù)值返回,并通過形參傳回此最大值所在的行下標。請?zhí)羁铡?/p>

#defineN3

#defineM3

select{inta[N][M],int*n;

{inti,j,row=l,eolum=l;

for(i=0;i<N;i++

forj=0;j<M;j++)

if(a[i][j]>a[row][colum]){row=i;colum=j:}

*n=______;

return______;

}

main()

{inta[N][M]={9,11,23.6,1,15,9,17,20},max,nj

max=select(a,&n);

printf("max=%d,line=%d\n",max.n;

}

34.設(shè)有如下宏定義

#defineMYSWAP(z,x,y)

{z=x;x=y;y=z;}

以下程序段通過宏調(diào)用實現(xiàn)變量a,b內(nèi)容交換,請?zhí)羁铡?/p>

floata=5,b=16,c;

MYSWAP(【】a,b);

35.以下sstrcpy()函數(shù)實現(xiàn)字符串復(fù)制,即將t所指字符串復(fù)制到s所指內(nèi)存空間中,形成一個新字符串s。請?zhí)羁铡?/p>

voidsstrcpy(char*s,char*t)

{while(*s++=【】);}

main()

{charstrl[100],str2[]="abcdefgh";

sstrcpy(str1,str2);

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

}

36.在算法的4個特性中,算法必須能在執(zhí)行有限個步驟之后終止指的是算法的______特性。

37.在面向?qū)ο蟮某绦蛟O(shè)計中,類描述的是具有相似性質(zhì)的一組【】。

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

main()

{inta=2,b=4,c=6;

int*p1=&a,*p2=&b,*p;

*(p=&c)=*p1*(*p2);

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

}

39.需求分析的最終結(jié)果是產(chǎn)生【】。

40.以下程序運行后的輸出結(jié)果是()。

intf(inta[],intn)

{if(n>=1)returnf(a,n-1)+a[n-1];

elsereturn0;

}

main()

{intaa[5]={1,2,3,4,5),s;

s=f(aa,5);printf("%d\n",s);

}

三、1.選擇題(20題)41.設(shè)變量a是int型,f是float型,i是double型,則表達式10+′a′+i*f值的數(shù)據(jù)類型為

A.intB.floatC.doubleD.不確定

42.若有以下程序

#include<stdio.h>

inta[]={2,4,6,8};

main()

{inti;

int*p=a;

for(i=0;i<4;i++)a[i]=*p;

printf("%d\n",a[2]);}

上面程序的輸出結(jié)果是

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

43.軟件是指()。A.程序B.程序和文檔C.算法加數(shù)據(jù)結(jié)構(gòu)D.程序、數(shù)據(jù)與相關(guān)文檔的完整集合

44.下列程序的運行結(jié)果是______。main(){intx,*p,**q;x=10;p=&x;q=&p;printf("%d\n",**q);}

A.10B.9C.8D.11

45.設(shè)有定義語句:charc1=92,c2=92;,則以下表達式中值為零的是()。

A.c1c2

B.c1&c2C.~c2D.c1|c2

46.常采用的兩種存儲結(jié)構(gòu)是()。

A.順序存儲結(jié)構(gòu)和鏈式存儲結(jié)構(gòu)B.散列方法和索引方式C.鏈表存儲結(jié)構(gòu)和數(shù)組D.線性存儲結(jié)構(gòu)和非線性存儲結(jié)構(gòu)

47.在E-R圖中,用來表示實體的圖形是

A.矩形B.橢圓形C.菱形D.三角形

48.設(shè)有定義:intk=1,m=2;floatf=7;則以下選項中錯誤的表達式是()。

A.k=k>=kB.-k++C.k%int(f)D.k>=f>=m

49.在調(diào)用函數(shù)時,如果實參是簡單變量,它與對應(yīng)形參之間的數(shù)據(jù)傳遞方式是______。

A.地址傳遞B.單向值傳遞C.由實參傳遞給形參,再由形參傳遞給實參D.傳遞方式由用戶指定

50.結(jié)構(gòu)化程序設(shè)計的3種基本結(jié)構(gòu)是()。

A.過程、子程序和分程序B.順序、選擇和重復(fù)C.遞歸、堆棧和隊列D.調(diào)用、返回和轉(zhuǎn)移

51.下面程序的輸出是______。main(){intk=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}

A.k=11,k=12,k=11

B.k=11,k=13,k=13

C.k=11,k=013,k=0xb

D.k=11,k=13,k=B

52.棧和隊列的共同特點是()。

A.都是先進先出B.都是先進后出C.只允許在端點處插入和刪除元素D.沒有共同點

53.有下列程序:main(){inti;for(i=1;i<=40;i++){if(i++%5==0)if(++i%8==0)printf("%d",i);}printf("\n");}執(zhí)行后的輸出結(jié)果是()。

A.5B.24C.32D.40

54.在C語言中,合法的字符常量是______。

A.'\081B.'\x43'C.'ab'D.\0

55.有以下程序:#include<string.h>voidf(charp[][10],intn)/*字符串從小到大排序*/{chart[10];inti,j;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(strcmp(p[i],p[j])>0{strcpy(t,p[i]);strcpy(p[i],p[j]);strcpy([i],t);}}main(){charp[5][10]={"abc","aabdfg","abbd","dcdbe","cd";f(p,5);printf("%d\n",strlen(p[0]));}程序運行后的輸出結(jié)果()。

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

56.若執(zhí)行下面的程序時,從鍵盤上輸入5和2,則輸出結(jié)果是main(){inta,b,k;scanf("%d,%d",&a,&b);k=a;if(a<b)k=a%b;elsek=b%a;printf("%d\n",k);}

A.5B.3C.2D.0

57.有以下程序main(){inta[3][2]={0},(*ptr)[2],i,j;for(i=0;i<2;i++){ptr=a+i;scanf("%d",ptr);ptr++;}for(i=0;i<3;i++){for(j=0;j<2;j++)printf("%2d",a[i][j]);printf("\n");}}若運行時輸入:123<回車>,則輸出結(jié)果是

A.產(chǎn)生錯誤信息B.102000C.123000D.102030

58.有如下程序#include<stdio.h>main(){intv1=0,v2=0;charch;while((ch=getchar())!='#')switch(ch){case'a';casff'h';default:v1++;case'0';v2++;}printf("%d,%d\n",v1,v2);}如果從鍵盤上輸入china#<回車>,則程序運行結(jié)果為()

A.2,0B.5,0C.5,5D.2,5

59.有以下程序;charfun(charx,chary){if(x<y)returnx;returny;}main(){inta='9',b='8',c='7';printf("%c\n",fun(fun(a,B),fun(b,C)));}程序的執(zhí)行結(jié)果是

A.函數(shù)調(diào)用出錯B.8C.9D.7

60.線性表的鏈式存儲結(jié)構(gòu)是一種______的存儲結(jié)構(gòu)。

A.隨機存儲B.順序存儲C.索引結(jié)構(gòu)D.散列結(jié)構(gòu)

四、選擇題(20題)61.讀取二進制文件的函數(shù)調(diào)用形式為:fread(buffersize,count,fp);,其中buffer代表的是()。

A.一個文件指針,指向待讀取的文件

B.一個整型變量,代表待讀取的數(shù)據(jù)的字節(jié)數(shù)

C.一個內(nèi)存塊的首地址,代表讀人數(shù)據(jù)存放的地址

D.一個內(nèi)存塊的字節(jié)數(shù)

62.下列定義數(shù)組的語句中,正確的是()。

63.

64.以下數(shù)組定義中錯誤的是()。

A.intx[2][3]=|1,2,3,4,5,6|;

B.intx[][3]=|0|

C.intx[][3]={|1,2,3|,|4,5,6|}

D.intx[2][3]=||1,2|,|3,4|,|5,6||

65.待排序的關(guān)鍵碼序列為15,20,9,30,67,65,45,90,要按關(guān)鍵碼值遞增的順序排序,采取簡單選擇排序法,第一趟排序后關(guān)鍵碼15被放到第()個位置。

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

66.有如下說明inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;則數(shù)值為9的表達式是()

A.*p+9B.*(p+8)C.*p+=9D.p+8

67.以下敘述中錯誤的是()。

A.getehar函數(shù)用于從磁盤文件讀入字符

B.gets匿數(shù)用于從終端讀入字符串

C.取ns函數(shù)用于把字符串輸出到文件

D.fwrite函數(shù)用于以二進制形式輸出數(shù)據(jù)到文件

68.

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

A.軟件測試應(yīng)該由程序開發(fā)者來完成

B.程序經(jīng)調(diào)試后一般不需要測試

C.軟件維護只包括對程序代碼的維護

D.以上三種說法都不對

70.

71.在面向?qū)ο蠓椒ㄖ?,一個對象請求另一對象為其服務(wù)的方式是通過發(fā)送()。A.調(diào)用語句B.命令C.口令D.消息

72.下列關(guān)于棧的描述中錯誤的是()。

A.棧是先進先出的線性表B.棧只能順序存儲C.棧具有記憶作用D.對棧的插入刪除操作中,不需要改變棧底指針

73.下面描述中,不屬于軟件危機表現(xiàn)的是()A.軟件過程不規(guī)范B.軟件開發(fā)生產(chǎn)率低C.軟件質(zhì)量難以控制D.軟件成本不斷提高

74.按照“先進后出”原則組織數(shù)據(jù)的結(jié)構(gòu)是()。

A.隊列B.棧C.雙向鏈表D.二叉樹

75.

76.在軟件設(shè)計中不使用的工具是()。

A.系統(tǒng)結(jié)構(gòu)圖

B.程序流程圖

C.PAD圖

D.數(shù)據(jù)流圖(DFD圖)

77.有如下程序段:inta=14,b=15,x;charc=A;x=(a&&b)&&(c<B):執(zhí)行該程序后,x的值為()。A.trueB.falseC.0D.1

78.結(jié)構(gòu)化程序設(shè)計的3種結(jié)構(gòu)是()。

A.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、轉(zhuǎn)移結(jié)構(gòu)

B.分支結(jié)構(gòu)、等價結(jié)構(gòu)、循環(huán)結(jié)構(gòu)

C.多分支結(jié)構(gòu)、賦值結(jié)構(gòu)、等價結(jié)構(gòu)

D.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)

79.(15)在軟件生命周期中,能準確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是()

A.概要設(shè)計

B.詳細設(shè)計

C.可行性分析

D.需求分析

80.設(shè)有定義:

doublea[10],*s=a;

以下能夠代表數(shù)組元素a[3]的是()。

A.($s)[3]B.}(s+3)C.*s[3]D.}s+3

五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc()的功能是:從字符串str中,刪除所有小寫字母c。請修改程序中的錯誤,使它能得出正確的結(jié)果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計題(1題)82.編程將文件read.txt中的字符讀出顯示到屏幕上。

參考答案

1.B解析:先計算關(guān)系表達式a<b=2<3為真(表達式為真時,如果變量為int型變量則真用1表示,假用0表示),即a=1。

2.C解析:棧是一種后進先出表,選項C中,先出棧的是3,說明此時棧內(nèi)必然有1,2,由于1先于2進淺,所以1不可能在2之前出棧,故選項C這種出棧序列是不可能的。

3.D[解析]C語言中標識符由字母、下劃線、數(shù)字組成,且開頭必須是字母或下劃線。所以D)選項中的連接符不合法。

4.C在C語言中,可以用一個標識符來表示一個常量,稱之為符號常量。符號常量在使用之前必須先定義,其一般形式為:#define標識符常量。

5.C

6.B

7.B解析:本題考查函數(shù)調(diào)用時的參數(shù)傳遞。在執(zhí)行函數(shù)func時,由于全局定義了一個變量b,所以在函數(shù)體中執(zhí)行時b=2+1=3,最終t=2+3=5。

8.C

9.D解析:要想使程序輸出是25,則j-40=25,j=65,而j初值是50,所以填入for循環(huán)中的語句,使引用的數(shù)組元素累加為65-50=15即可。

10.A

11.A解析:p+i是數(shù)組s的第i+1行的首地址,而*(p+i)則是數(shù)組第i+1行第1列的元素的地址,*(p+i)+j則是第i+1行的第j+1列的地址,*(*(p+i)+j)引用的是數(shù)組元素s[i][j]的值。注意:通過建立一個指針數(shù)組來引用二維數(shù)組元素。

12.D是按位異或運算,其功能是參與運算的兩個操作數(shù)中相對應(yīng)的二進制位上,若數(shù)相同,則運算結(jié)果為0,否則該位的結(jié)果為1;“|”是按位或運算,其功能是參加運算的兩個操作數(shù)中,只要兩個相應(yīng)的二進制位中有一個為1,那么該位的運算結(jié)果為1,只有當兩個相應(yīng)位的數(shù)都為0時,該位的運算結(jié)果才為0;“~”是按位取反運算,其功能是將操作數(shù)的二進制位內(nèi)容按位取反。題干中3^2等價于00000011^00000010,結(jié)果為00000001,十進制為1。5|2等價于00000101|00000010,結(jié)果為00000111,再與0xf0按位或運算,等價于00000111|11110000,結(jié)果為11110111,再按位取反:00001000,結(jié)果為8。所以a=1,b=8。故本題答案為D選項。

13.B解析:本題考查printf函數(shù)的格式?!?08”格式符中的“0”表示在指定數(shù)據(jù)輸出寬度的同時,在數(shù)據(jù)前面的多余空格處加“0”;“8”表示指定數(shù)據(jù)的輸出寬度為8位。

14.D

15.D結(jié)構(gòu)體指針變量p指向a數(shù)組的第1個元素,所以“p->x”為20。執(zhí)行“p=p->y”后,p指向數(shù)組a的第2個元素,所以輸出15。故本題答案為D選項。

16.B

17.B

\n棧是線性表的一種,它的特點是先進后出,并且只能在表的一端進行插入和刪除操作的線性表,入棧和出棧都是在棧頂進行,因此具有記憶作用,??梢圆捎庙樞虼鎯?,也可以采用鏈式存儲。

\n

18.C

19.C子函數(shù)fun1(doublea)的功能是返回a的平方值的整數(shù)部分。子函數(shù)fun2(doublex,doubley)的功能是返回X的平方值的整數(shù)部分與Y的平方值的整數(shù)部分的和。又因為題中變量w的定義為double型,函數(shù)fun(2)的定義為int型,按照各類數(shù)值型數(shù)據(jù)間的混合運算,整型數(shù)據(jù)被轉(zhuǎn)換為實型數(shù)據(jù)。所以雙精度型變量w的值為5.0。

20.D

21.概念設(shè)計階段(數(shù)據(jù)庫概念設(shè)計階段)概念設(shè)計階段(數(shù)據(jù)庫概念設(shè)計階段)

22.線性數(shù)據(jù)結(jié)構(gòu)線性數(shù)據(jù)結(jié)構(gòu)解析:隊列的鏈式存儲稱為鏈隊列,它屬于線性數(shù)據(jù)結(jié)構(gòu)。

23.投影專門關(guān)系運算包括對單個關(guān)系進行垂直分解(投影操作)或水平分解(選擇操作)和對多個關(guān)系的結(jié)合(連接操作)等。

24.連接兩個字符數(shù)組中的字符連接兩個字符數(shù)組中的字符解析:strcat函數(shù)的作用是連接兩個字符數(shù)組中的字符串。

25.裝配程序裝配程序

26.m<nn!=0

27.a[row][col]>max或a[row][col]>=max或max<=a[row][col]或max<a[row][col)max<min或min>max或max<=min或min>=maxa[row][col]>max或a[row][col]>=max或max<=a[row][col]或max<a[row][col)\r\nmax<min或min>max或max<=min或min>=max解析:本題有兩層for循環(huán),主函數(shù)中定義了整型變量row、col、max和min,其中row用來存放外循環(huán)中的循環(huán)次數(shù),col用來存放內(nèi)循環(huán)中的次數(shù),max記錄每行中的最大值,min記錄所有行中最大值中的最小值。在內(nèi)循環(huán)中,首先給max賦初值為每行的第0列元素值,然后從第一列開始依次與max進行比較。如果大于max則將其值賦給max,當每一行循環(huán)結(jié)束,max記錄了每一行的最大值。所以第一個空應(yīng)該填a[row][col]>max或a[row][col]>=max。退出內(nèi)循環(huán),在第一次退出內(nèi)循環(huán)時,將min賦初值為第0行的max,然后在每次退出內(nèi)循環(huán)時,將min和每行的max比較,如果大于max,則將max值賦min,所以第二個空應(yīng)該填max>min或mm>max,當退出外循環(huán)時,min為所有行中的最大值的最小值。

28.1030010300解析:本題的scanf()函數(shù)要求用戶輸入三個十進制整數(shù),但只接受第一和第三個到函數(shù)的第二和第三個參數(shù)所指的內(nèi)存地址中。所以本題的輸出為:10300。

29.HowdoessheHowdoesshe解析:strcpy(str1,s1):字符串拷貝函數(shù),作用是將字符串s1拷貝到字符數(shù)組str1中去。strlen(str):測試字符串str的長度,函數(shù)的值為字符串中實際長度,不包括‘\\0’在內(nèi)。本題中strlen(strl)的值為13,則strcpy(strl+strlen(strl)/2,'esshe');相當于strqoy(strl+6,'esshe');因此可得答案為Howdoesshe。

30.加工加工解析:數(shù)據(jù)流圖是從數(shù)據(jù)傳遞和加工的角度,來刻畫數(shù)據(jù)流從輸入到輸出的移動變換過程。其中的每一個加工對應(yīng)一個處理模塊。

31.do…whiledo…while解析:考查while和do…while循環(huán)的主要區(qū)別。while循環(huán)的控制出現(xiàn)在循環(huán)體之前,只有當while后面的表達式的值為非零時,才可能執(zhí)行循環(huán)體;在do…while構(gòu)成的循環(huán)體中,總是先執(zhí)行一次循環(huán)體,然后再求表達式的值,因此無論表達式的值是否為零,循環(huán)體至少要被執(zhí)行一次。

32.軟件開發(fā)

33.rowa[row][colum]row\r\na[row][colum]解析:通過對題意的分析,在select()函數(shù)中,變量row的作用是用來記錄最大元素的行下標,column的作用是用來記錄最大元素的列下標。程序中通過一個循環(huán)求得數(shù)組元素中最大值的行列下標,分別存放在變量row和colmnn中,根據(jù)題意,應(yīng)該把行下標賦值給形參指針變量n指向的變量,把最大值a[row][columa]作為函數(shù)值返回。

34.cc解析:該題考查以下兩個知識點:

(1)用一個指定的標識符(即名字)來代表一個字符串,它的一般形式為#define標識符字符串

(2)在MYSWAP宏定義中,利用中間變量z來交換x和y的值,所以要實現(xiàn)a和b的交換,只需通過中間變量即可,所以,此處應(yīng)填c。

35.*t++*t++解析:要使sstrcpy函數(shù)實現(xiàn)字符串復(fù)制,必須將t字符串中的每個字符逐個復(fù)制到s字符串中,可以使用*s=*t;s++;t++,也可以寫成*s++=*t++,因此空格處填*t++。

36.有窮性有窮性解析:算法的4個基本特性包括:可靠性、確定性、有窮性和擁有足夠的情報,其中,算法的有窮性指的是算法必須在有限的時間內(nèi)完成,即算法必須在執(zhí)行有限個步驟之后終止。

37.對象對象解析:將屬性、操作相似的對象歸為類,也就是說,類是具有共同屬性、共同方法的對象的集合。

38.88解析:本程序定義了3個指針變量p1、p2、p,并且將,、b的地址分別賦給P1、p2,則*p1=a=2,*p2=b=4,所以表達式*p1*(*p2)的值是8。在賦值語句的左邊是*(p=&c),即使指針p指向了變量c,因而*(p)代表了c的存儲單元,賦值語句“*(p=&c)=*p1*(*p2);”是把整數(shù)8賦給了變量c。

39.需求規(guī)格說明書需求規(guī)格說明書解析:軟件需求規(guī)格說明書是需求分析階段的最后成果,是軟件開發(fā)中的重要文檔之一。需求規(guī)格說明書包括正確性、無歧義性、完整性、可驗證性、一致性、可理解性、可修改性和可追蹤性等。

40.1515解析:通過遞歸調(diào)用f函數(shù)實現(xiàn)了數(shù)組各元素之和,即a[4]+a[2]+a[1]+a[0]=15。

41.C解析:根據(jù)混合運算規(guī)則,如果有一個數(shù)據(jù)是float型或double型,則其他數(shù)據(jù)類型先轉(zhuǎn)化為double型,運算的結(jié)果最終也是double型。

42.D解析:在C語言中,數(shù)組元素下標是從0開始的;指針變量p指向數(shù)組的首地址。for循環(huán)語句中,指針變量p始終指向數(shù)組的首地址,因而執(zhí)行循環(huán)賦值語句后數(shù)組各元素的值均變?yōu)?。

43.D軟件是計算機系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)及相關(guān)文檔的完整集合。其中,程序是軟件開發(fā)人員根據(jù)用戶需求開發(fā)的、用程序設(shè)計語言描述的、適合計算機執(zhí)行的指令(語句)序列;數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu);文檔是與程序開發(fā)、維護和使用有關(guān)的圖文資料。因此本題的正確答案是D。

44.A

45.A解析:選項A為異或運算符,如果參加運算的兩個位相同,結(jié)果為0,否則為1。顯然選項A中參加運算的c1和c2相同,故其值為0。選項B為位與運算,如果參加運算的兩位都為1,則結(jié)果為1,否則結(jié)果為0,選項B中參加運算的c1和c2都為真,所以該結(jié)果為1。選項C為取反運算,用來對一個二進制取反,顯然c2取反后不為0,選項D為位或運算,參加運算的兩位只要有一個為1,那么運算結(jié)果為1,顯然參加運算的c1和c2都不為0,故運算結(jié)果不為0。所以,4個選項中選項A符合題意。

46.AA。【解析】線性表的存儲通常分為兩種存儲結(jié)構(gòu):順序存儲結(jié)構(gòu)和鏈式存儲結(jié)構(gòu)。

\n

47.A解析:在E-R圖中,用三種圖框分別表示實體、屬性和實體之間的聯(lián)系,其規(guī)定如下:用矩形框表示實體,框內(nèi)標明實體名;用橢圓狀框表示實體的屬性,框內(nèi)標明屬性名;用菱形框表示實體間的聯(lián)系,框內(nèi)標明聯(lián)系名。所以,選項A正確。

48.C解析:A、D選項是關(guān)系運算表達式,在C語言中,只要關(guān)系運算符兩邊是合法的表達式就可以了。C選項中,%只能對整型進行運算,其中對f進行了強制類型轉(zhuǎn)換,但是轉(zhuǎn)換的表達式錯了,應(yīng)為:(int)(f)。

49.B解析:C語言以定,實參變量對形參變量的數(shù)據(jù)傳遞是“單向值傳遞”,只由實參傳紿形參。在內(nèi)存中,實參單元與形參單元是不同的單元。調(diào)用結(jié)束后,實參單元仍保留并維持原值。

50.BB?!窘馕觥砍绦虻娜N基本控制結(jié)構(gòu)包括:順序、選擇和重復(fù)(循環(huán)),這三種結(jié)構(gòu)就足以表達出各種其他形式的結(jié)構(gòu)。

51.D解析:在C語言格式字符的輸出中,“%d”是以帶符號的十進制形式輸出整數(shù);“%60”是以8進制無符號形式輸出整數(shù)(不輸出前導(dǎo)符o);“%x”是以16進制無符號形式輸出整數(shù)(不輸出前導(dǎo)符Ox)。

52.C解析:考查棧和隊列概念的掌握。棧和隊列都是一種特殊的操作受限的線性表,只允許在端點處進行插入和刪除。二者的區(qū)別是:棧只允許在表的一端進行插入或刪除操作,是一種'后進先出'的線性表;而隊列只允許在表的一端進行插入操作,在另一端進行刪除操作,是一種'先進先出'的線性表。模塊之間的耦合程度反映了模塊的獨立性,也反映了系統(tǒng)分解后的復(fù)雜程度。按照耦合程度從弱到強,可以將其分成5級,分別是:數(shù)據(jù)耦合、同構(gòu)耦合、控制耦合、公用耦合和內(nèi)容耦合。選項C),沒有這種耦合方式。

53.C解析:在for循環(huán)體中,首先判斷自變量i能否被5整除,然后再自加兩次,最后判斷i能否被8整除。當for循環(huán)執(zhí)行到第30次時,i的值為30能被5整除,然后i經(jīng)過兩次自加1運算,值變?yōu)?2,能被8整除,故執(zhí)行“printf('%d',i);”語句,即輸出32。本題的答案為選項C)。

54.B解析:選項A錯在表示轉(zhuǎn)義字符的三位八進制數(shù)中不能出現(xiàn)8,選項C錯在字符串要用雙引號括起,選項D錯在單個字符應(yīng)用單引號括起。選項B表示用兩位16進制數(shù)代表轉(zhuǎn)義字符。

55.D解析:strcmp(str1,str2)是比較字符串str1和str2,若str1>str2,返回值為正數(shù);f()函數(shù)的功能就是將字符串按照從小到大的順序進行排列,需要注意的是比較的足字符串中每個字符的ASCII值的大小,所以元素p[0]是“abc”,它的長度為3。

56.C解析:本題考查簡單的if...else語句。先執(zhí)行條件if(a<b),顯然不成立,則執(zhí)行else語句。

57.B解析:二維數(shù)組指針第一個for循環(huán)中,第一次循環(huán)ptr指向a[0][0]的首地址,所以經(jīng)過輸入語句,a[0][0]=1;第二次循環(huán)ptr指向a[1][0]的首地址,所以經(jīng)過輸入語句,a[1][0]=2。此時,除了這兩個元素,其他元素沒有改變,等于初值0。

58.C

59.D解析:本題考核的知識點是函數(shù)的返回值以及返回值作為函數(shù)的參數(shù)。經(jīng)過分析得出函數(shù)fun()的功能是比較形參x和形參y的大小,返回較小的一個.函數(shù)fun()有兩個參數(shù).本題中,首先定義了三個整型變量a、b和c,分別賦初值為9、8和7.然后執(zhí)行函數(shù)fun(fun(a,b),fun(b,c))。在該函數(shù)中分別將fun(a,b)和fun(b,C)函數(shù)的返回值作為該函數(shù)的兩個實參。在函數(shù)fun(a,b)中,由于a>b,故返回較小值b即8,在函數(shù)fun(b,C)中,由于b<c,故返回較小值c即為7,因此調(diào)用函數(shù)fun(fun(a,b),fun(b,C))相當于執(zhí)行函數(shù)fun(8,7),返回較小值即7。所以,4個選項中選項D符合題意。

60.B解析:線性表的鏈式存儲結(jié)構(gòu)中的每一個存儲結(jié)點不僅含有一個數(shù)據(jù)元素,還包括指針,每一個指針指向一個與本結(jié)點有邏輯關(guān)系的結(jié)點。此類存儲方式屬于順序存儲。

61.Cfread函數(shù)中的參數(shù)buffer是內(nèi)存塊的首地址,輸入的數(shù)據(jù)存入此內(nèi)存塊中。

62.A數(shù)組說明的一般形式為:類型說明符數(shù)組名[常量表達式]。B)中N是變量,不能用變量定義數(shù)組長度。(:)選項中數(shù)組長度是非法的一串數(shù)字,定義數(shù)組時必須為其指明長度。D)選項中數(shù)組長度為空,因此非法。故本題答案為A)。

63.C

64.DD選項中x[2][3]定義的是一個兩行三列的二維數(shù)組,而在給數(shù)組元素賦值時卻賦成了三行,所以錯誤。

65.A解析:選擇排序的基本思想是掃描整個線性表,從中選出最小的元素,將它交換到表的最前面,然后對剩下的子表采用同樣的方法,直到子表為空。所以第一趟排序后,將選出最小的元素9放在第一個位置,元素15則放在第二個位置。

66.B解析:在C語言的數(shù)組元素的引用方法,我們在前面已經(jīng)講過了,比如數(shù)組元素a[0],可以用表達式*(p+0),即*p來引用,對于數(shù)組元素a[1],可以用表達式*(p+1)來引用,在這里,p+1的值就是數(shù)組元素a[1]的地址,對此地址使用“間接訪問運算符”:*(p+1)就代表存儲單元a[1]

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論