2021-2022年福建省南平市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題二卷(含答案)_第1頁(yè)
2021-2022年福建省南平市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題二卷(含答案)_第2頁(yè)
2021-2022年福建省南平市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題二卷(含答案)_第3頁(yè)
2021-2022年福建省南平市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題二卷(含答案)_第4頁(yè)
2021-2022年福建省南平市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題二卷(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩33頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2021-2022年福建省南平市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題二卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.以下程序的輸出結(jié)果是______。

A.54321

B.12345

C.12345

D.543210main(){intw=5;fun(w);printf("\n");}fun(intk){if(k>0)fun(k-1);printf("%d"",k);}

2.以下敘述中錯(cuò)誤的是()。

A.在一個(gè)函數(shù)內(nèi)的復(fù)合語(yǔ)句中定義的變量在本函數(shù)范圍內(nèi)有效

B.在一個(gè)函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效

C.在不同的函數(shù)中可以定義相同名字的變量

D.函數(shù)的形參是局部變量

3.有以下程序:

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

A.357B.753C.369D.751

4.有以下程序:#include<stdio.h>main{intx=4,y;do{y=x;if(!y)printf(“x”);elseprintf(“y”):x--;}while(x);}程序的輸出結(jié)果是()。A.xyyxB.yyyyC.yyxxD.yxyx

5.

6.

7.一個(gè)無(wú)向連連通圖的生成樹(shù)是含有該連通圖的全部項(xiàng)點(diǎn)的_______。

A.極小連通子圖B.極小子圖C.極大連通子圖D.極大子圖

8.對(duì)長(zhǎng)度為n的線性表排序,在最壞情況下,比較次數(shù)不是n(n-1)/2的排序方法是()。

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

9.

10.以下敘述中錯(cuò)誤的是()。

A.可以通過(guò)typedef增加新的類型

B.可以typedef將已存在的類型用一個(gè)新的名字來(lái)代表

C.用typedef定義新的類型名后,原有類型名仍有效

D.用typedef可以為各種類型起別名,但不能為變量起別名

11.下列程序的輸出結(jié)果是()。#include<stdio.h>main{inta=0,i;for(i=1;i<5;i++){switch(i){case0:case3:a+=1;case1;case2:a+=2;default:a+=3;}}printf("%d",a);}A.19B.1C.6D.8

12.在銀行業(yè)務(wù)中,實(shí)體客戶和實(shí)體銀行之間的聯(lián)系是()。

A.—對(duì)一B.—對(duì)多C.多對(duì)一D.多對(duì)多

13.需求分析階段的任務(wù)是確定()

A.軟件開(kāi)發(fā)方法B.軟件開(kāi)發(fā)工具C.軟件開(kāi)發(fā)費(fèi)用D.軟件系統(tǒng)功能

14.

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

A.隊(duì)列B.棧C.雙向鏈表D.二叉樹(shù)

16.

17.設(shè)R是一個(gè)2元關(guān)系,有3個(gè)元組,S是一個(gè)3元關(guān)系,有3個(gè)元組。如T=R×S,則T的元組的個(gè)數(shù)為()。A.6B.8C.9D.12

18.以下程序的輸出結(jié)果是______。main(){inta[4][4]={{1,3,5},{2,4,6},{3,5,7}};printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1];a[3][0]);}

A.650B.1470C.5430D.輸出值不定

19.

20.程序中主函數(shù)的名字為()。

A.mainB.MAINC.MainD.任意標(biāo)識(shí)符

二、2.填空題(20題)21.若輸入5、9,以下程序的運(yùn)行結(jié)果為【】。

main()

{inta,b,*pt1,*pt2;

printf("inputa,b:");

scanf("%d%d",&a,&b);

pt1=&a;

pt2=&b;

if(a<b)swap(pt1,pt2);

printf("\n%d,%d\n",*pt1,*pt2);

}

swap(p1,p2)

int*p1,*p2;

{int*p;

p=p1;

p1=p2;

p2=p;

}

22.下列語(yǔ)句的輸出結(jié)果是______。

chars[20]="aaaa",*sp=s;

puts(strcat(sp,"AAAAA"));

23.在軟件測(cè)試中,動(dòng)態(tài)測(cè)試和靜態(tài)測(cè)試手段只能發(fā)現(xiàn)程序中的錯(cuò)誤,而不能證明程序中不存在錯(cuò)誤,只有【】證明才有可能證明程序的正確性。

24.排序是計(jì)算機(jī)程序設(shè)計(jì)中的一種重要操作,常見(jiàn)的排序方法有插入排序、【】和選擇排序等。

25.無(wú)論對(duì)于順序存儲(chǔ),還是鏈接存儲(chǔ)的棧和隊(duì)列來(lái)說(shuō),進(jìn)行插入或刪除運(yùn)算的時(shí)間復(fù)雜性均相同,則為【】。

26.下列程序執(zhí)行后輸出的結(jié)果是【】。

structs

{intx,y;}data[2]={10,100,20,200};

main()

{

structs*p=data;

printf("%d\n",++(p->x));

}

27.數(shù)據(jù)庫(kù)技術(shù)的主要特點(diǎn)為數(shù)據(jù)的集成性、數(shù)據(jù)的高【】和低冗余性、數(shù)據(jù)獨(dú)立性和數(shù)據(jù)統(tǒng)一管理與控制。

28.若有以下程序

main()

{inta=4,b=3,c=5,t=0;

if(a<b)t=a;a=b;b=t;

if(a<c)t=a;a=c;c=t;

printf("%d%d%dln",a,b,c);

}

執(zhí)行后輸出結(jié)果為_(kāi)_____。

29.不改變關(guān)系表中的屬性個(gè)數(shù)但能減少元組個(gè)數(shù)的是()。

30.\13'在內(nèi)存中占1個(gè)字節(jié),"\12"在內(nèi)存中占______個(gè)字節(jié)。

31.一個(gè)關(guān)系表的行稱為()。

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

voidfun(int*n)

{

while((*n)--);

printf("%d",++(*n));

}

main()

{inta=100;

fun(&a);

}

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

#include<stdio.h>

main()

{inti;

for(i='a';i<'f';i++,i++)printf("%c",i-'a'+'A');

printf("\n");

}

34.若定義#definePI3.14159,則執(zhí)行完下列程序后輸出結(jié)果是______。

#definePI3.14159;printf("PI=%f",PI);

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

main()

{

inta,b,c;

a=25;

b=025;

c=0x25;

printf("%d%d%d\n",a,b,C);

}

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

main()

{charc;intn=100;

floatf=10;doublex;

x=f*=n/=(c=50);

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

}

37.設(shè)在主函數(shù)中有以下定義和函數(shù)調(diào)用語(yǔ)句,且函數(shù)fun為void型,請(qǐng)寫(xiě)出函數(shù)fun的首部【】。要求形參名為b。

main()

}doubles[10][22];

intn;

fun(s);

}

38.下列執(zhí)行后輸出的結(jié)果是【】。

main()

{intarr[10],i,k=0

for(i=0;i<10;i++)atr[i]=i

for(i=1,i<4;i++)k+=arr[i]+i;

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

}

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

main()

{inta=2,b=7,c=5;

switch(a>0)

{

case1:

switch(b<0)

{case1:printf("@");break;

case2:pnntf("!");break;

}

case0:

switch(c==5)

{case0:pnntf("*");break;

case1:printf("#");break;

case2:printf("$");break;

}

default:printf("&");

}

printf("\n");

}

40.下面程序段的輸出結(jié)果是【】。

intx=5;

do{printf("%d",x-=4);

}while(!(--x));

三、1.選擇題(20題)41.若運(yùn)行時(shí)給變量x賦值12,則以下程序的運(yùn)行結(jié)果是()。#include<stdio.h>main(){intx,y;scanf("%d",&x);y=x>12?x+10:x-12;printf("%d\n",y);}

A.0B.22C.12D.10

42.下列選項(xiàng)中不符合良好程序設(shè)計(jì)風(fēng)格的是A.源程序要文檔化B.數(shù)據(jù)說(shuō)明的次序要規(guī)范化C.避免濫用goto語(yǔ)句D.模塊設(shè)計(jì)要保證高耦合、高內(nèi)聚

43.已知下面的程序段,正確的判斷是______。#defineA3#defineB(A)((A+1)*a)inta=3;......X=3*(A+B(7));

A.程序錯(cuò)誤,不允許嵌套定義B.X=93C.X=81D.程序錯(cuò)誤,宏定義不允許有參數(shù)

44.有以下程序main(){inta=1,b;for(b=1;b<=10;b++){if(a>=8)break;if(a%2==1){a+=5;continue;}a-=3;}printf("%d\n",b);}程序運(yùn)行后的輸出結(jié)果是______。

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

45.有以下程序#include<stdio.h>main(){intk=5,n=0;while(k>0){switch(k){defhult:break;case1:n+=k:case2:case3:n+=k;}k--;}printf("%d\n",n);}程序運(yùn)行后的輸出結(jié)果是()

A.0B.4C.6D.7

46.已知形成鏈表的存儲(chǔ)結(jié)構(gòu)如下圖所示,則下述類型描述中的空白處應(yīng)填______。structlink{chardata;______,}node;

A.structlinknext

B.link*next

C.stuctnextlink

D.structlink*next

47.若有語(yǔ)句:char*line[5];,以下敘述中正確的是

A.定義line是一個(gè)數(shù)組,每個(gè)數(shù)組元素是一個(gè)基類型為char為指針變量

B.定義line是一個(gè)指針變量,該變量可以指向一個(gè)長(zhǎng)度為5的字符型數(shù)組

C.定義line是一個(gè)指針數(shù)組,語(yǔ)句中的*號(hào)稱為間址運(yùn)算符

D.定義line是一個(gè)指向字符型函數(shù)的指針

48.有如下程序floatfun(intx,inty){return(x+y);}main(){inta=2,b=5,c=8;printf("%3.Of\n",fun((int)fun(a+c,B),(a-C)))}程序運(yùn)行后的輸出結(jié)果為_(kāi)______。

A.編譯出錯(cuò)B.9C.21D.9

49.數(shù)據(jù)庫(kù)系統(tǒng)的核心是()。

A.數(shù)據(jù)模型B.數(shù)據(jù)庫(kù)管理系統(tǒng)C.數(shù)據(jù)庫(kù)D.數(shù)據(jù)庫(kù)管理員

50.有以下程序:#include<stdio.h>#include<string.h>#includevoidf(char*s,char*t){chark;k=*s;*s=*t;*t=k;s++;t--;if(*s)f(s,t):}main(){charstr[10]="abcdefg",*P;P=str+strlen(str)/2+1:f(p,p-2);printf("%s\n",str);}程序運(yùn)行后的輸出結(jié)果是()。

A.abcdefgB.gfedcbaC.gbcdefaD.abedcfg

51.在面向?qū)ο笤O(shè)計(jì)中,對(duì)象有很多基本特點(diǎn),其中“從外面看只能看到對(duì)象的外部特性,而對(duì)象的內(nèi)部對(duì)外是不可見(jiàn)的”這一性質(zhì)指的是對(duì)象的

A.分類性B.標(biāo)識(shí)惟一性C.多態(tài)性D.封裝性

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

main()

{inta;

a=-4+4*5-6;printf("d",a);

a=4+4%5-6;printf("%d",a);

a=-3+4%6/5;printf("%d",a);

a=(7+6)%5/2;printf("%d",a);

}

A.102-31B.10-221C.11-221D.10221

53.算法的空間復(fù)雜度是指

A.算法程序的長(zhǎng)度B.算法程序中的指令條數(shù)C.執(zhí)行算法程序所占的存儲(chǔ)空間D.算法執(zhí)行過(guò)程中所需要的存儲(chǔ)空間

54.有以下程序

#include<stdio.h>

main()

{ints[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;

for(i=0;i<12;i++)c[s[i]]++;

for(i=1;i<5;i++)printf("%d",c[i]);

printf("\n");

}

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

A.1234B.2344C.4332D.1123

55.C語(yǔ)言庫(kù)函數(shù)fgets(str,n,fg)的功能是_______。

A.從中指向的文件中讀取長(zhǎng)度n的字符串存入str指向的內(nèi)存

B.從fp指向的文件中讀取長(zhǎng)度不超過(guò)n-1的字符串存入str指向的內(nèi)存

C.從fp指向的文件中讀取n個(gè)字符串存入str指向的內(nèi)存

D.從sb讀取至多n個(gè)字符到文件fp

56.以下程序的輸出結(jié)果是______。#include<stdio.h>#defineSQR(x)x*xmain(){inta,k=3;a=++SQR(k+1);printf((“%d\n”,a);}A.8B.9C.17D.20

57.有如下程序:#include<stdio.h>main(){FILE*fpl;fp1=fopen("ftxt","w");fpfinff(fp1,"abc");fclose(fp1);若文本文件f1.txt中原有內(nèi)容為:good,則運(yùn)行以上程序后文件f1.txt中的內(nèi)容為()。

A.goodabcB.abcdC.abcD.abegood

58.需求分析階段的任務(wù)是()

A.軟件開(kāi)發(fā)方法B.軟件開(kāi)發(fā)工具C.軟件開(kāi)發(fā)費(fèi)用D.軟件系統(tǒng)功能

59.關(guān)系表中的每一行記錄稱為一個(gè)()。

A.字段B.元組C.屬性D.關(guān)鍵碼

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

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

四、選擇題(20題)61.在數(shù)據(jù)管理技術(shù)發(fā)展的三個(gè)階段中,數(shù)據(jù)共享最好的是()。

A.人工管理階段B.文件系統(tǒng)階段C.數(shù)據(jù)庫(kù)系統(tǒng)階段D.三個(gè)階段相同

62.以下敘述中錯(cuò)誤的是()。

A.C語(yǔ)言源程序經(jīng)編譯后生成后綴為.obj的目標(biāo)程序

B.C程序經(jīng)過(guò)編譯、連接步驟之后才能形成一個(gè)真正可執(zhí)行的二進(jìn)制機(jī)器指令文件

C.用c語(yǔ)言編寫(xiě)的程序稱為源程序,它以ASCIl代碼形式存放在一個(gè)文本文件中

D.C語(yǔ)言中的每條可執(zhí)行語(yǔ)句和非執(zhí)行語(yǔ)句最終都將被轉(zhuǎn)換成二進(jìn)制的機(jī)器指令

63.軟件設(shè)計(jì)中,有利于提高模塊獨(dú)立性的一個(gè)準(zhǔn)則是______。A.低內(nèi)聚低耦合B.低內(nèi)聚高耦合C.高內(nèi)聚低耦合D.高內(nèi)聚高耦合

64.

有以下程序:

main()

{intk=5,n=0;

do

{switch(k)

{case1:

case3:n+=l;k--;break;

defalut:n=0;k--;

case2:

case4:n+=2;k--;break:

}

printf("%d",n);

}while(k>0&&n<5);

}

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

A.235B.0235C.02356D.2356

65.下列關(guān)于C語(yǔ)言的敘述錯(cuò)誤的是()。

A)大寫(xiě)字母和小寫(xiě)字母的意義相同

B)不同類型的變量可以在一個(gè)表達(dá)式中

C)在賦值表達(dá)式中等號(hào)(=)左邊的變量和右邊的值可以是不同類型

D)同一個(gè)運(yùn)算符號(hào)在不同的場(chǎng)合可以有不同的含義

66.

67.

68.有以下程序段:intx=3;do{printf("%d",x-=2);)while(!(--x));其輸出結(jié)果是()。A.1B.30C.1-2D.死循環(huán)

69.有兩個(gè)關(guān)系R和S如下:

則由關(guān)系R得到S的操作是()。

A.投影B.交C.選擇D.并

70.設(shè)有定義:

inta=1,b=2,C=3;

以下語(yǔ)句中執(zhí)行效果與其他三個(gè)不同的是()。

A.if(a>B.C=a,a=b,b=C;

B.if(a>B.{C=a,a=b,b=C;}

C.if(a>B.C=a;a=b;b=c;

D.if(a>B.{C=a;a=b;b=c;}

71.用數(shù)據(jù)流圖(DFD.作為描述工具的軟件開(kāi)發(fā)階段是()。

A.可行性分析B.需求分析C.概要設(shè)計(jì)D.詳細(xì)設(shè)計(jì)

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

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

73.

當(dāng)執(zhí)行下面的程序時(shí),如果輸入ABC,則輸出結(jié)罘是()。

#include<stdio.h>

#include<string.h>

main()

{charss[10]="1,2,3,4,5":

gets(ss);strcat(ss,"6789");printf("%s\n",ss);

}

A.ABC6789B.ABC67C.12345ABC6D.ABC456789

74.若函數(shù)調(diào)用時(shí)的實(shí)參為變量時(shí),以下關(guān)于函數(shù)形參和實(shí)參的敘述中正確的是()。

A.函數(shù)的形參和實(shí)參分別占用不同的存儲(chǔ)單元

B.形參只是形式上的存在,不占用具體存儲(chǔ)單元

C.同名的實(shí)參和形參占同一存儲(chǔ)單元

D.函數(shù)的實(shí)參和其對(duì)應(yīng)的形參共占同一存儲(chǔ)單元

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

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

76.若變量已正確定義為int型,要通過(guò)語(yǔ)句給a賦值l、+給b賦值2、給c賦值

3,以下輸入形式中錯(cuò)誤的是()(注:口代表一個(gè)空格符)。

77.

78.若intk=8;則執(zhí)行下列程序后,變量k的正確結(jié)果是

main()

{intk=8;

switch(k)

{case9:k+=1;

case10:k+=1;

default:k+=1;

case11:k+=1;break;

}

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

}

A.12B.1

C.10D.9

79.

80.

五、程序改錯(cuò)題(1題)81.程序改錯(cuò)題(共l8分)下列給定程序中,函數(shù)fun的功能是:傳人一個(gè)整數(shù)m,計(jì)算如下公式的值。例如,若輸入5,則應(yīng)輸出一0.283333。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:

六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開(kāi)考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,請(qǐng)編寫(xiě)函數(shù)其功能是移動(dòng)一維數(shù)組中的內(nèi)容,若數(shù)組中有n個(gè)整數(shù),要求把下標(biāo)為0~p(含p,p小于等于n-1)的數(shù)組元素平移到數(shù)組的最后。例如,一維數(shù)組中的原始內(nèi)容為1、2、3、4、5、6、7、8、9、10;P的值為3。移動(dòng)后,一維數(shù)組中的內(nèi)容應(yīng)為5、6、7、8、9、10、1、2、3、4。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。試題程序:#include<stdio.h>#defineN80voidfun(int*w,intp,intn){}main(){ inta[N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}; inti,p,n=15; printf(“Theoriginaldata:\n”); for(i=0;i<=""p=""> printf(“%3d”,a[i]); printf(“\n\nEnterp:”); scanf(“%d”,&p); fun(a,p,n); printf(“\nThedataaftermoving:\n”); for(i=0;i<=""p=""> printf(“%3d”,a[i]); printf(“\n\n”);}

參考答案

1.B

2.A在一個(gè)函數(shù)內(nèi)的復(fù)合語(yǔ)句中定義的變量在本復(fù)合語(yǔ)句塊范圍內(nèi)有效,選項(xiàng)A錯(cuò)誤,其他選項(xiàng)正確。本題答案為A選項(xiàng)。

3.A本題考查的是for循環(huán)與二維數(shù)組的定義和引用。當(dāng)定義二維數(shù)組的初始化列表只使用一重花括號(hào)時(shí),其中的每個(gè)值依次代表從第l行的第1個(gè)元素起,直到第l行滿,接著代表第2行、第3行……的每一個(gè)元素。程序中的循環(huán)將循環(huán)3次,循環(huán)變量i的值分別是0、1、2,所以3次循環(huán)中輸出的數(shù)分別是:t[2一O][D]、t[2-1][1]、t[2~2]121,即t[2][0]、t[1][l]、t[0][2],所以最后輸出的結(jié)果為357。故應(yīng)該選擇A)。

4.B本題考查do-while語(yǔ)句和if…else語(yǔ)句。do-while語(yǔ)句的功能是先執(zhí)行循環(huán)體再判斷條件,所以,先判斷if語(yǔ)句的條件,y=-4,!y為邏輯0,條件不成立,執(zhí)行下面的else語(yǔ)句,輸出y,然后將x的值減1,x=3,條件不成立,執(zhí)行下面的else語(yǔ)句,輸出Y,然后將X的值減1,x=2,滿足while循環(huán)條件,繼續(xù)循環(huán)。第三次循環(huán):先判斷if語(yǔ)句的條件,y=2,!y為邏輯0,條件不成立,執(zhí)行下面的else語(yǔ)句,輸出y,然后將X的值減1,x=l,滿足while循環(huán)條件,繼續(xù)循環(huán)。第四次循環(huán):先判斷if語(yǔ)句的條件,y=-1,!y為邏輯0,條件不成立,執(zhí)行下面的else語(yǔ)句,輸出Y,然后將x的值減1,x=0,不滿足while循環(huán)條件,結(jié)束循環(huán)。所以B正確。

5.D

6.B

7.A

8.D各種排序方法中最壞情況下需要比較的次數(shù)分別為:冒泡排序n(n-1)/2、快速排序n(n-1)/2、簡(jiǎn)單插入排序n(n-1)/2、希爾排序0(n1.5)、簡(jiǎn)單選擇排序n(n-1)/2、堆排序O(nlog2n)

9.B

10.A關(guān)鍵字typedet的作用只是將C語(yǔ)言中的已有的數(shù)據(jù)類型作了置換,并不是增加新的類型,所以A)錯(cuò)誤。

11.A本題考查switch語(yǔ)句。當(dāng)i一1時(shí),執(zhí)行case1,因?yàn)闆](méi)有遇到break語(yǔ)句,所以依次往下運(yùn)行,“a=a+2=2,a=a+3=5”;當(dāng)i=2時(shí),執(zhí)行case2,因?yàn)闆](méi)有遇到break語(yǔ)句,所以依次往下執(zhí)行,“a=a+2=7,a=a+3=10”;當(dāng)i=3時(shí),執(zhí)行case3,a=a+1=11,因?yàn)闆](méi)有遇到break語(yǔ)句,所以依次往下運(yùn)行,a—a+2—13,a—a+3一l6:當(dāng)i=4時(shí),執(zhí)行default,a=a+3=19,結(jié)束循環(huán)。

12.D一個(gè)客戶可以在多家銀行辦理業(yè)務(wù),一家銀行也有多個(gè)客戶辦理業(yè)務(wù),因此,實(shí)體客戶和實(shí)體銀行之間的聯(lián)系是多對(duì)多。本題選擇D選項(xiàng)。

13.D解析:結(jié)構(gòu)化分析方法,數(shù)據(jù)流圖,數(shù)據(jù)字典,軟件需求規(guī)格說(shuō)明書(shū)

評(píng)析,需求分析是軟件定義時(shí)期的最后一個(gè)階段,它的基本任務(wù)就是詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對(duì)象(組織,部門(mén)、企業(yè)等),充分了解原系統(tǒng)的工作概況,明確用戶的各種需求,然后在此基礎(chǔ)上確定新系統(tǒng)的功能.選項(xiàng)A)軟件開(kāi)發(fā)方法是在總體設(shè)計(jì)階段完成的任務(wù);選項(xiàng)B)軟件開(kāi)發(fā)工具是在實(shí)現(xiàn)階段需完成的任務(wù):選項(xiàng)C)軟件開(kāi)發(fā)費(fèi)用是在可行性研究階段需完成的任務(wù)。

14.A

15.B棧是線性表的一種,其插入和刪除運(yùn)算都只在表的一端進(jìn)行。進(jìn)行插入、刪除的一端稱為棧頂,封閉的一端稱為棧底。棧頂元素是最后被插入的元素,不是最后被刪除的元素,是按先進(jìn)后出的原則組織數(shù)據(jù)的。

16.C

17.CC。R為n元關(guān)系,有P個(gè)元組S為m元關(guān)系,有q個(gè)元組。兩個(gè)關(guān)系笛卡兒積是一個(gè)n+m元的關(guān)系,元組個(gè)數(shù)是q×p。所以T的元組的個(gè)數(shù)為9個(gè)。

18.A解析:對(duì)未給出初始值的整數(shù)數(shù)組元素,被默認(rèn)初始化為零。

19.D

20.A

21.59

22.aaaaAAAAAaaaaAAAAA解析:函數(shù)strcat(sp,'AAAAA')的作用是將字符中“AAAAA”連接到字符串sp的末尾,并自動(dòng)覆蓋字符數(shù)組sp末尾的\'\\0\'。

23.程序正確性程序正確性

24.交換排序交換排序解析:常見(jiàn)的排序方法有插入排序(包括簡(jiǎn)單插入排序法和希爾排序法等)、交換排序(包括冒泡排序和快速排序法等)和選擇排序(包括簡(jiǎn)單選擇排序和堆排序等)。注意:常見(jiàn)的排序方法及其作用機(jī)制和區(qū)別。

25.O(2)

26.1111解析:程序中結(jié)構(gòu)體數(shù)組data首地址(即&data[0])賦值給結(jié)構(gòu)體指針變量p,++(P->x)表示先將p所指向的結(jié)構(gòu)體變量的成員x值加1,然后將此x(即data[0].x)輸出。

27.共享性共享性解析:數(shù)據(jù)庫(kù)技術(shù)的主要特點(diǎn)有以下幾個(gè)方面:數(shù)據(jù)的集成性,數(shù)據(jù)的高共享性與低冗余性,數(shù)據(jù)的獨(dú)立性,數(shù)據(jù)統(tǒng)一管理與控制。

28.503503解析:此處需注意的是:如果if后面的條件為真,只執(zhí)行其后的一條語(yǔ)句或一條復(fù)合語(yǔ)句,如果if后面的條件為假,只執(zhí)行else后面的一條語(yǔ)句或一條復(fù)合語(yǔ)句。先判斷表達(dá)式“a<b”為假,不執(zhí)行“t=a”,但執(zhí)行“a=b;b=t;”,s的值為3,b的值為0。在判斷表達(dá)式“a<c”,值為真,所以執(zhí)行后面的3條語(yǔ)句“t=a;a=c;c=t”,結(jié)果a的值為5,c的值為3,所以最后輸出的結(jié)果為5、0和3。

29.選擇選擇解析:關(guān)系數(shù)據(jù)庫(kù)的專門(mén)關(guān)系運(yùn)算包括選擇、投影和連接3種,其中選擇不改變關(guān)系表中的屬性個(gè)數(shù)但能減少元組個(gè)數(shù)。

30.22解析:'\\13':表示八進(jìn)制數(shù)13表示的ASCII字符,是一個(gè)字符,占一個(gè)字節(jié);而”\\12”是個(gè)字符串,除了八進(jìn)制數(shù)12表示的ASCII字符占一個(gè)字節(jié)外,還有在字符串的末尾加上串結(jié)束標(biāo)志“'\\0'”,所以共有2個(gè)字節(jié)。

31.元組元組解析:一個(gè)關(guān)系表中的行稱為元組,列稱為屬性。

32.00解析:在函數(shù)fun()中,while((*n)-)是先引用*n的值,再做(*n)--運(yùn)算,所以循環(huán)結(jié)束時(shí)*n的值為0,再做(*n)--運(yùn)算后,*n的值為-1;執(zhí)行++(*n)后,*n的值是0。

33.ACEACE解析:在本題中,for循環(huán)體每執(zhí)行完一次,變量i的值自加兩次。i的初值為“a”,執(zhí)行一次循環(huán)后變?yōu)椤癱”,之后再變成“e”,當(dāng)其變?yōu)椤癵”時(shí),循環(huán)條件若不滿足,循環(huán)終止,故本題共輸出3個(gè)字符。表達(dá)式“i-'a'+'A'”即表示輸出i對(duì)應(yīng)的大寫(xiě)字母,結(jié)果為ACE。

34.PI=3.14159PI=3.14159解析:本題先定義了一個(gè)宏名PI,以后在程序中出現(xiàn)PI都用3.14159替代,但是C語(yǔ)言規(guī)定:雙引號(hào)中的宏名是不進(jìn)行替換的。

35.252137252137解析:本題中先定義了整型變量a、b和c,然后分別給賦值a為25,b為八進(jìn)制的025,c為十六進(jìn)制0x25。然后調(diào)用pruntf()函數(shù)將a、b和c分別用十進(jìn)制輸出,且中間用空格隔開(kāi),八進(jìn)制025轉(zhuǎn)換為十進(jìn)制的值為21,十六進(jìn)制的0x25轉(zhuǎn)換為十進(jìn)制的值為37,故最后的輸出結(jié)果為252137。

36.220.000000220.000000解析:注意區(qū)分運(yùn)算符的優(yōu)先級(jí)。先是給c賦值,然后計(jì)算x=f*=n/=50,得x=f*=2,最后有x=20。x輸出是按浮點(diǎn)數(shù)的形式輸出的,小數(shù)點(diǎn)后的0不能少。

37.voidfun(double*b)或voidfun(doubleb[10][12])voidfun(double*b)或voidfun(doubleb[10][12])解析:本題考查數(shù)組名作函數(shù)參數(shù)。程序中被調(diào)用函數(shù)fun(s)的實(shí)參s是數(shù)組名,而s為double型數(shù)組名,所以函數(shù)fun的形參類型為double*。

38.1212解析:本題的第—個(gè)for循環(huán)用于始數(shù)組arr賦初值,第二個(gè)for循環(huán)用于求和運(yùn)算。由于第二個(gè)for循環(huán)初始值為1,而循環(huán)條件為i<4,所以求的是arr[1]到arr[3]及i的和,所以輸出結(jié)果為12。

39.#&#&解析:首先看最外面的switch,其表達(dá)式為a>0,結(jié)果為真(即1),從case1:標(biāo)號(hào)處開(kāi)始執(zhí)行。這里又是一個(gè)switch語(yǔ)句,其表達(dá)式為b<00,結(jié)果為假(即0),由于沒(méi)有case0:或default:標(biāo)號(hào),所以直接跳過(guò)此switch語(yǔ)句。因?yàn)闆](méi)有遇到break;語(yǔ)句,所以繼續(xù)執(zhí)行進(jìn)入內(nèi)部第2個(gè)switch語(yǔ)句,其表達(dá)式為c==5,結(jié)果為真,從case1:標(biāo)號(hào)處開(kāi)始執(zhí)行,輸出一個(gè)#,遇到break;語(yǔ)句,跳出該內(nèi)部switch語(yǔ)句,最后執(zhí)行default:標(biāo)號(hào)后的輸出語(yǔ)句輸出一個(gè)&后,整個(gè)外部switch語(yǔ)句執(zhí)行完畢。程序最后輸出的換行符不會(huì)顯示,所以本題應(yīng)該填#&。

40.1-41-4解析:題目中首先讓x=5,然后進(jìn)入do-while循環(huán)體,輸出x-4的值1,此時(shí)x為1,表達(dá)式!(--x)的值為!(0)為真(此時(shí)x變?yōu)?),所以再次執(zhí)行循環(huán)體,輸出x-4的值-4,此時(shí)x為-4,表達(dá)式!(--x)的值為!(—5)為假,退出循環(huán)。故輸出結(jié)果是1-4。

41.A解析:條件運(yùn)算符“?:”是三目運(yùn)算符,其形式為:

表達(dá)式17表達(dá)式2:表達(dá)式3

當(dāng)表達(dá)式1的值為真時(shí),則表達(dá)式2的值為整個(gè)表達(dá)式的值;如果表達(dá)式1的值為假,則表達(dá)式3的值為整個(gè)表達(dá)式的值。題中,表達(dá)式x>12的結(jié)果為假,所以將表達(dá)式x-12的值0作為y的值。

42.D解析:編程風(fēng)格是在不影響性能的前提下,有效地編排和組織程序,以提高可讀性和可維護(hù)性。更直接地說(shuō),風(fēng)格就是意味著要按照規(guī)則進(jìn)行編程。這些規(guī)則包括:(1)程序文檔化。就是程序文檔包含恰當(dāng)?shù)臉?biāo)識(shí)符、適當(dāng)?shù)淖⒔夂统绦虻囊曈X(jué)組織等。(2)數(shù)據(jù)說(shuō)明。出于閱讀理解和維護(hù)的需要,最好使模塊前的說(shuō)明語(yǔ)句次序規(guī)范化。此外,為方便查找,在每個(gè)說(shuō)明語(yǔ)句的說(shuō)明符后,數(shù)據(jù)名應(yīng)按照字典順序排列。(3)功能模塊化。即把源程序代碼按照功能劃分為低耦合、高內(nèi)聚的模塊。(4)注意goto語(yǔ)句的使用。合理使用goto語(yǔ)句可以提高代碼的運(yùn)行效率,但goto語(yǔ)句的使用會(huì)破壞程序的結(jié)構(gòu)特性。因此,除非確實(shí)需要,否則最好不使用goto語(yǔ)句。因此,本題的正確答案是D。

43.C解析:本題的宏定義是合法的,宏定義展開(kāi)為3*(3+((A+1)*a))=3*(3+((7+1)*3))=81。

44.B解析:本題是考查手工模擬執(zhí)行程序的能力。a初值是1,循環(huán)開(kāi)始時(shí)b值為1,由于a>=8為假,不執(zhí)行break,但a%2==1為真,執(zhí)行a+=5,a值變?yōu)?,再執(zhí)行continue跳過(guò)不執(zhí)行a-=3語(yǔ)句,而立即開(kāi)始下一次循環(huán)。這時(shí)b值為2,由于a值為6,a>=8仍為假,不執(zhí)行break,但a%2==1為假,不執(zhí)行復(fù)合語(yǔ)句“{a+=5;continue;}”而執(zhí)行a-=3,a值變?yōu)?。再開(kāi)始下一次循環(huán),這時(shí)b值為3。由于a值為3,a>=8仍為假,不執(zhí)行break,但a%2==1為真,執(zhí)行a+=5,a值變?yōu)?,再執(zhí)行continue跳過(guò)不執(zhí)行a-=3語(yǔ)句,而立即開(kāi)始下一次循環(huán)。這時(shí)b值為4。由于a值為8,a>=8為真,執(zhí)行break,停止for循環(huán)。此時(shí)輸出的b值應(yīng)為4。

45.D解析:因?yàn)闆](méi)有break語(yǔ)句,當(dāng)k=2的時(shí)候,會(huì)順序執(zhí)行兩條語(yǔ)句,k=1的時(shí)候,會(huì)順序執(zhí)行3條語(yǔ)句。

46.D解析:在單向鏈表中,由于每個(gè)結(jié)點(diǎn)需要存儲(chǔ)下一個(gè)結(jié)點(diǎn)的地址,且下—個(gè)結(jié)點(diǎn)的數(shù)據(jù)類型與前—個(gè)結(jié)點(diǎn)的數(shù)據(jù)類型完全相同,故應(yīng)為structlink*next。

47.A解析:C語(yǔ)言中[]比*優(yōu)先級(jí)高,因此line先與[5]結(jié)合,形成line[5]形式,這是數(shù)組形式,它有5個(gè)元素,然后再與line前面的'*'結(jié)合,表示此數(shù)組是一個(gè)指針數(shù)組,每個(gè)數(shù)組元素都是一個(gè)基類型為char的指針變量。

48.B解析:本題中先執(zhí)行(int)fun(a+c,b)函數(shù)的調(diào)用,值為整型數(shù)值15;然后再執(zhí)行fun(15,(a-c))函數(shù)調(diào)用,值為單精度實(shí)型數(shù)值9.000000。輸出為%3.of,即有效數(shù)長(zhǎng)度為3,沒(méi)有小數(shù)位數(shù),所以最后結(jié)果為9。

49.B解析:數(shù)據(jù)庫(kù)管理系統(tǒng)是數(shù)據(jù)庫(kù)系統(tǒng)的核心,是負(fù)責(zé)數(shù)據(jù)庫(kù)的建立、使用和維護(hù)的軟件。數(shù)據(jù)庫(kù)管理系統(tǒng)建立在操作系統(tǒng)之上,實(shí)施對(duì)數(shù)據(jù)庫(kù)的統(tǒng)一管理和控制。用戶使用的各種數(shù)據(jù)庫(kù)命令以及應(yīng)用程序的執(zhí)行,最終都必須通過(guò)數(shù)據(jù)庫(kù)管理系統(tǒng)。另外,數(shù)據(jù)庫(kù)管理系統(tǒng)還承擔(dān)著數(shù)據(jù)庫(kù)的安全保護(hù)工作,按照數(shù)據(jù)庫(kù)管理員所規(guī)定的要求,保證數(shù)據(jù)庫(kù)的完整性和安全性。

50.B

51.D解析:從外面看只能看到對(duì)象的外部特性,而對(duì)象的內(nèi)部,即處理能力的實(shí)行和內(nèi)部狀態(tài),指的是對(duì)象的封裝性。

52.A解析:本題考查%和/運(yùn)算符的使用。如果兩個(gè)數(shù)不能整除,只取結(jié)果的整數(shù)部分,小數(shù)部分全部舍去。運(yùn)算符“%”要求兩個(gè)運(yùn)算對(duì)象都為整型,其結(jié)果是整數(shù)除法的余數(shù)。表達(dá)式:a=-4+4*5-6=-4+20-6=10;表達(dá)式:a=4+4%5-6=4+4-6=2:表達(dá)式:a=-3+4%6/5=-3+0=-3:表達(dá)式:a=(7+6)%5/2=13%5/2=1。

53.D解析:算法的空間復(fù)雜度一般是指這個(gè)算法執(zhí)行時(shí)所需要的內(nèi)存空間,其中包括算法程序所占的空間、輸入的初始數(shù)據(jù)所占的存儲(chǔ)空間以及算法執(zhí)行旱災(zāi)程中所需要的額外空間,其中額外空間還包括算法程序執(zhí)行過(guò)程的工作單元以及某種數(shù)據(jù)結(jié)構(gòu)所需要的附加存儲(chǔ)空間。

54.C解析:在for(i=0;i<12;i++)c[s[i]]++中,數(shù)組元素s[i]的值作為數(shù)組c的下標(biāo),當(dāng)退出循環(huán)時(shí),數(shù)組c的4個(gè)元素的值分別為4、3、3、2。

55.B解析:fgets函數(shù)的作用是從指定的文件讀入一個(gè)字符串。fgets(str,n,fp);中的n為要求得到的字符的個(gè)數(shù),但只從fp指向的文件輸入n-1個(gè)字符,然后在最后加一個(gè)‘\\0’字符,因此得到的字符串共有n個(gè)字符。

56.B

57.C執(zhí)行語(yǔ)句fp1=fopen("f1.txt","w");以“只寫(xiě)”方式打開(kāi)了一個(gè)名為f1.txt的文件,執(zhí)行語(yǔ)句fPrintf(fp1,"abc",);向該文件寫(xiě)數(shù)據(jù)時(shí),如果文件f1.txt不存在,則新建一個(gè)f1.txt文件;如果f1.txt已存在,則在打開(kāi)該文件時(shí)重寫(xiě)文件內(nèi)容。所以執(zhí)行fprintf(fp1,"abc");時(shí),f1.txt中原有內(nèi)容good被刪除,而字符中”abc”被輸出到fpl指向的文件f1.txt中。

58.DD)【解析】需求分析是軟件定義時(shí)期的最后一個(gè)階

\n段,它的基本任務(wù)就是詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對(duì)象,充分了解原系統(tǒng)的工作概況,明確用戶的各種需求,然后在這些基礎(chǔ)上確定新系統(tǒng)的功能。

59.BB)【解析】在關(guān)系表中,每一列稱為一個(gè)屬性,對(duì)應(yīng)表中的一個(gè)字段;每一行稱為一個(gè)元組,對(duì)應(yīng)表中的一條記錄。

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

61.C數(shù)據(jù)管理發(fā)展至今已經(jīng)歷了三個(gè)階段:人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫(kù)系統(tǒng)階段。其中最后一個(gè)階段結(jié)構(gòu)簡(jiǎn)單,使用方便邏輯性強(qiáng)物理性少,在各方面的表現(xiàn)都最好,一直占據(jù)數(shù)據(jù)庫(kù)領(lǐng)域的主導(dǎo)地位,所以選擇C)。

62.D并不是源程序中的所有行都參加編譯。在條件編譯形式下,相關(guān)內(nèi)容只在滿足一定條件時(shí)才進(jìn)行編譯。選項(xiàng)D)中的非執(zhí)行語(yǔ)句不在其范圍內(nèi)。

63.C耦合是對(duì)一個(gè)軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量,耦合度越高,則模塊的獨(dú)立性越差。內(nèi)聚反映一個(gè)模塊內(nèi)各個(gè)元素彼此結(jié)合的緊密程度。高內(nèi)聚是指一個(gè)軟件模塊是由相關(guān)性很強(qiáng)的代碼組成,只負(fù)責(zé)一項(xiàng)任務(wù),也就是常說(shuō)的單一責(zé)任原則。低耦合是指不同軟件模塊之間通過(guò)穩(wěn)定的接口交互,而不需要關(guān)心模塊內(nèi)部的實(shí)現(xiàn)。

64.B

\n本題考查分支語(yǔ)句用法加個(gè)句號(hào)因?yàn)樽兞康某跏贾捣謩e為k一5、n一0,所以程序第1次進(jìn)入循環(huán)時(shí),執(zhí)行default語(yǔ)句,輸出0,k減1;這時(shí)n=0、k=4,程序進(jìn)行第2次循環(huán),執(zhí)行case4:這個(gè)分支,結(jié)果是n=2、k=3,打印出2;這時(shí)n=2、k=3,break跳出,程序進(jìn)行第3次循環(huán),執(zhí)行case3:這個(gè)分支,結(jié)果是n=3、k=2,打印出3;這時(shí)n一3、k

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(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)論