2021-2022年黑龍江省七臺(tái)河市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)真題二卷(含答案)_第1頁
2021-2022年黑龍江省七臺(tái)河市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)真題二卷(含答案)_第2頁
2021-2022年黑龍江省七臺(tái)河市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)真題二卷(含答案)_第3頁
2021-2022年黑龍江省七臺(tái)河市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)真題二卷(含答案)_第4頁
2021-2022年黑龍江省七臺(tái)河市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)真題二卷(含答案)_第5頁
已閱讀5頁,還剩34頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2021-2022年黑龍江省七臺(tái)河市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)真題二卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.在結(jié)構(gòu)化方法中,軟件功能分解屬于下列軟件開發(fā)中的階段是______。

A.詳細(xì)設(shè)計(jì)B.需求分析C.總體設(shè)計(jì)D.編程調(diào)試

2.有以下程序:#include<stdio.h>intf(intm){staticintn=0;n+=m;returnn;}main(){intn=0;printf("%d,"f(++n));printf("%d\n",f(n++));}程序運(yùn)行后的輸出結(jié)果是()。A.1,2B.1,1C.2,3D.3,3

3.

讀取二進(jìn)制文件的函數(shù)調(diào)用形式為:fread(buffersize,count,fp);,其中buffer代表的是()。

A.一個(gè)文件指針,指向待讀取的文件

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

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

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

4.有以下程序段charch;intk;ch='a';k=12;printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);已知字符a的ASCII十進(jìn)制代碼為97,則執(zhí)行上述程序段后輸出結(jié)果是()。A.因變量類型與格式描述符的類型不匹配輸出無定值

B.輸出項(xiàng)與格式描述符個(gè)數(shù)不符,輸出為零值或不定值

C.a,97,12k=12

D.a,97,k=12

5.有以下程序:

程序運(yùn)行后的輸出結(jié)果是()。A.34B.55C.10D.18

6.有以下程序:#include<stdio.h>main(){inta=2,b=3,c=4;a*=16+(b++)-(++c);printf(“%d\n”,a);}程序運(yùn)行后的輸出結(jié)果是()。

A.15B.30C.28D.14

7.有以下程序:#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

8.有以下程序:#include<stdio.h>int*f(int*s){s[1]+=6;*s=7;s+=2;returns;}main(){inta[5]={1,2,3,4,5},*p=a;P=f(P);printf(“%d,%d,%d\n”,a[0],a[1],*p);}程序運(yùn)行后的輸出結(jié)果是()。

A.9,8,9B.7,8,7C.7,8,3D.1,2,1

9.公司中有多個(gè)部門和多名職員,每個(gè)職員只能屬于一個(gè)部門,一個(gè)部門可以有多名職員。則實(shí)體部門和職員間的聯(lián)系是()。

A.1:m聯(lián)系B.m:n聯(lián)系C.1:1聯(lián)系D.m:1聯(lián)系

10.如下函數(shù)調(diào)用語句func(rec1,rec2+rec3,rec4,rec5);該函數(shù)調(diào)用語句中,含的實(shí)參個(gè)數(shù)是().

A.3B.4C.5D.有語法錯(cuò)誤

11.下列定義語句中錯(cuò)誤的是()。

A.intx[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};

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

C.intx[][3]={0},{1},{2},{3}};

D.intx[][3]={1,2,3,4};

12.用不帶頭結(jié)點(diǎn)的單鏈表存儲(chǔ)隊(duì)列,其頭指針指向隊(duì)頭結(jié)點(diǎn),尾指針指向隊(duì)尾結(jié)點(diǎn),則在進(jìn)行出隊(duì)操作時(shí)()。

A.僅修改隊(duì)頭指針B.僅修改隊(duì)尾指針C.隊(duì)頭、隊(duì)尾指針都可能要修改D.隊(duì)頭、隊(duì)尾指針都要修改

13.下列選項(xiàng)中,當(dāng)X為大于1的奇數(shù)時(shí),值為0的表達(dá)式是()。

A.x%2==0B.x/2C.x%2!=0D.x%2==1

14.在下列運(yùn)算符中,優(yōu)先級(jí)最低的是()。A.||B.!=C.<D.+

15.需求分析的主要任務(wù)是()。

A.確定軟件系統(tǒng)的功能B.確定軟件開發(fā)方法C.確定軟件開發(fā)工具D.確定軟件開發(fā)入員

16.有定義語句:inta=1,b=2,c=3,x;,則以下選項(xiàng)中各程序段執(zhí)行后,x的值不為3的是A.if(c<a)x=1;elseif(b<a)x=2;elsex=3;

B.if(a<3)x=3;elseif(b<a)x=2;elsex=1;

C.if(a<3)x=3;if(a<2)x=2;if(a<1)x=1;

D.if(a<b)x=b;if(b<c)x=c;if(c<a)x=a;

17.有以下程序:#include<stdio.h>main(){inta=0,b=0,c=0,d=0;if(a=1)b=1;c=2;elsed=3;printf(“%d,%d,%d,%d\n”,a,b,c,d);}程序輸出為()。

A.編譯有錯(cuò)B.0,0,0,3C.1,1,2,0D.0,1,2,0

18.C語言規(guī)定,程序中各函數(shù)之間()

A.既允許直接遞歸調(diào)用也允許間接遞歸調(diào)用

B.不允許直接遞歸調(diào)用也不允許間接遞歸調(diào)用

C.允許直接遞歸調(diào)用不允許間接遞歸調(diào)用

D.不允許直接遞歸調(diào)用允許間接遞歸調(diào)用

19.為了提高軟件的獨(dú)立性,模塊之間最好是()。

A.控制耦合B.公共耦合C.內(nèi)容耦合D.數(shù)據(jù)耦合

20.軟件開發(fā)模型包括Ⅰ.瀑布模型Ⅱ.扇形模型Ⅲ.快速原型法模型Ⅳ.螺旋模型

A.Ⅰ、Ⅱ、ⅢB.Ⅰ、Ⅱ、ⅣC.Ⅰ、Ⅲ、ⅣD.Ⅱ、Ⅲ、Ⅳ

二、2.填空題(20題)21.函數(shù)sstrcmp()的功能是對(duì)兩個(gè)字符串進(jìn)行比較。當(dāng)s所指字符串和t所指字符串相等時(shí),返回值為0;當(dāng)s所指字符串大于t所指字符串時(shí),返回值大于0;當(dāng)s所指字符串小于t所指字符串時(shí),返回值小于0(功能等同于庫(kù)函數(shù)strcmp())。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

intsstrcmp(char*s,char*t)

{

while(*s&&*t&&*s==【】)

{s++;t++;}

rerurn【】;

}

22.數(shù)據(jù)庫(kù)設(shè)計(jì)分為以下6個(gè)設(shè)計(jì)階段:需求分析階段、______、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、實(shí)施階段、運(yùn)行和維護(hù)階段。

23.【】是數(shù)據(jù)庫(kù)設(shè)計(jì)的核心。

24.結(jié)構(gòu)化分析方法是面向______進(jìn)行分析的方法。

25.有以下程序:

main()

{charstr[]="xyz",*ps=str;

while(*ps)ps++;

for(ps--;ps-str>=0;ps--)puts(ps);

}

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

26.fseek函數(shù)的正確調(diào)用形式是【】。

27.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,用來請(qǐng)求對(duì)象執(zhí)行某一處理或回答某些信息的要求稱為【】。

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

intn='c':

switch(n++)

{default:printf("error");break;

case'a':printf("good");break;

case'c':printf("moming");

case'd':printf("class");

}

29.數(shù)據(jù)流的類型有______和事務(wù)型。

30.下面程序的運(yùn)行結(jié)果是______。

#defineDOUBLE(x,y)x/y

main()

{intx=4,y=2,t;

t=DOUBLE(x+y,x-y);

printf("%d",t);

}

31.順序存儲(chǔ)方法是把邏輯上相鄰的結(jié)點(diǎn)存儲(chǔ)在物理位置______的存儲(chǔ)單元中。

32.若按功能劃分,軟件測(cè)試的方法通常分為______測(cè)試方法和黑盒測(cè)試方法。

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

inti=9;

printf("%o\n",i);

34.數(shù)據(jù)庫(kù)的設(shè)計(jì)通??梢苑譃?個(gè)步驟:需求分析、概念設(shè)計(jì)、【】和物理設(shè)計(jì)。

35.若x和y都是double型變量,且x的初值為3.0,y的初值為2.0,則表達(dá)式pow(y,fabs(x))的值為【】。

36.執(zhí)行下面程序段后,k的值是【】。

r=1;n=203;k=1

do{k*=n%10*r;n/=10;r++;}while(n);

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

main()

{charm;

m='B'+32;printf("%c\n",m);

}

38.設(shè)有定義:

struct{inta;floatb;charc;}abc;*p_abc=&abc;

則對(duì)結(jié)構(gòu)體成員a的引用方法可以是abc.a和p_abc【】a。

39.以下程序的功能是:刪去一維數(shù)組中所有相同的數(shù),使相同的數(shù)只剩一個(gè)。數(shù)組中的數(shù)已按由小到大的順序排列,函數(shù)fun返回刪除后數(shù)組中數(shù)據(jù)的個(gè)數(shù)。

例如,若一維數(shù)組中的數(shù)據(jù)是:

2223445666677899101010

刪除后,數(shù)組中的內(nèi)容應(yīng)該是:2345678910。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

#defineN80

intfun(inta[],intn)

{inti,j=1;

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

if(a[j-1]【】a[i])a[j++]=a[i];

【】;

}

main()

{inta[N]={2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10},i,n=19;

printf("Theoriginaldata:\n");

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

n=fun(a,n);

printf("\nThedataafterdeleted:\n");

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

}

40.軟件生命周期可分為多個(gè)階段,一般分為定義階段、開發(fā)階段和維護(hù)階段。編碼和測(cè)試屬于【】階段。

三、1.選擇題(20題)41.有以下程序

voidf(int*q)

{inti=0;

for(;i<5;i++)(*q)++;

}

main()

{inta[5]={1,2,3,4,5},i;

f(a);

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

}

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

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

42.設(shè)有如下三個(gè)關(guān)系表:

下列操作中正確的是()。

A.T=R∩SB.T=R∪SC.T=R×SD.T=R/S

43.有以下程序floatfun(intx,inty){return(x+y);}main(){inta=2,b=5,c=8;printf("%3.0f\n",fun((int)fun(a+c,b),a-c));}程序運(yùn)行后的輸出結(jié)果是

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

44.下面程序的輸出結(jié)果是______。#include<stdio.h>main(){char*p[]="BOOL","OPK","H","SP"};inti;for(i=3;i>=0;i-,i-)printf("%c",*p[i]);printf("\n");}

A.SOB.SPC.SPOPKD.SHOB

45.待排序的關(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

46.有以下程序

intfun(intx[],intn)

{staticintsum=0,i;

for(i=0;i<n;i++)sum+=x[i];

returnsum;

}

main()

{inta[]={1,2,3,4,5},b[]={6,7,8,9},s=0;

s=fun(a,5)+fun(b,4);printf("%d\n",s);

}

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

A.45B.50C.60D.55

47.有以下程序:#include<stdio.h>main(){intnum[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13;14,15,16}},i,j;for(i=0;i<4;i++){for(j=0;j<=i;j++)printf("%4c",");for(j=______;j<4;j++)printf("%4d",hum[i][j]);printf("\n");}}若要按以下形式輸出數(shù)組右上半三角;1234678111216則在程序下劃線處應(yīng)填入的是()。

A.i-1B.iC.i+1D.4-i

48.詳細(xì)設(shè)計(jì)的結(jié)果基本決定了最終程序的()。

A.代碼的規(guī)模B.運(yùn)行速度C.質(zhì)量D.可維護(hù)性

49.下列數(shù)據(jù)結(jié)構(gòu)中,不是線性結(jié)構(gòu)的是()。

A.線性鏈表B.帶鏈的隊(duì)列C.帶鏈的棧D.二叉鏈表

50.下列程序的輸出結(jié)果是______。#includemain(){char*a="abcdefghi";intk;fun(a);puts(a);}fun(char*s){intx,y;charc;for(x=0,y=strlen(s)-1;x<y;x++,y--){c=s[y];s[y]=s[x];s[x]=c;}}

A.ihgfsdcbaB.abcdcfghiC.abcdedebaD.ihgfefghi

51.以下函數(shù)值的類型是_______。fun(floatx){floaty;y=3*x-4;returny;}

A.intB.不確定C.voidD.float

52.下列特征中不是面向?qū)ο蠓椒ǖ闹饕卣鞯氖?)。

A.多態(tài)性B.繼承C.封裝性D.模塊化

53.設(shè)已定義i和k為int類型變量,則以下for循環(huán)語句______。for(i=0;k=-1,k=1;i++,k++)printf("****\n");

A.判斷循環(huán)結(jié)束的條件不合法B.是無限循環(huán)C.循環(huán)一次也不執(zhí)行D.循環(huán)只執(zhí)行一次

54.閱讀下列程序,則運(yùn)行結(jié)果為#include"stdio.h"fun(){staicintx=5;x++;returnx;}main(){inti,x;for(i=0;i<3;i++)x=fun();printf("%d\n",x);}

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

55.下列程序的輸出結(jié)果是()。intf1(intx,inty){returnx>y?x:y;}intf2(intx,inty){returnx>y?y:x;}main(){inta=4,b=3,e=5,d=2,e,f,g;e=f2(f1(a,b),f1(e,d));f=f1(f2(a,b),f2(e,d));g=a+b+c+d-e-f;printf("%d,%d,%d\n",e,f,g);}

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

56.閱讀下面程序,則程序段的功能是

#include"stdio.h"

main()

{intc[]={23,1,56,234,7,0,34},i,j,t;

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

{t=c[i];j=i-1;

while(j>=0&&t>c[j])

{c[j+1]=c[j];j--;}

c[j+1]=t;}

for(i=0;i<7;i++)

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

putchar(′\n′);}

A.對(duì)數(shù)組元素的升序排列B.對(duì)數(shù)組元素的降序排列C.對(duì)數(shù)組元素的倒序排列D.對(duì)數(shù)組元素的隨機(jī)排列

57.有以下程序:voidswap1(int*a,int*b){int*c=a;a=b,b=c;}voidswap2(int*a,int*b){intc=*a;*a=*b,*b=c;}main(){inta=10,b=15;swap1(&a,&b);printf("%d,%d,",a,b);a=10,b=15;swap2(&a,&b);printf("%d,%d",a,b);}其輸出結(jié)果為______。

A.15,10,10,15B.15,10,15,10C.10,15,10,15D.10,15,15,10

58.在軟件設(shè)計(jì)中,不屬于過程設(shè)計(jì)工具的是()。

A.PDL(過程設(shè)計(jì)語言)B.PAD圖C.N-S圖D.DFD圖

59.下列程序的執(zhí)行結(jié)果是______。#include<stdio.h>union{inti;charc[2];};voidmain(){unionunx;x.c[0]=10;x.c[1]=1;printf("\n%d",x.i);}

A.266B.11C.265D.138

60.下面函數(shù)的功能是()。sss(s,t)char*s,*t;{while((*s)&&(*t)&&(*t++==*s++));return(*s-*t):}

A.將字符串s復(fù)制到字符串t中B.比較兩個(gè)字符串的火小C.求字符串的長(zhǎng)度D.將字符書s接續(xù)到字符串t中

四、選擇題(20題)61.設(shè)有表示學(xué)生選課的三張表,學(xué)生s(學(xué)號(hào),姓名,性別,年齡,身份證號(hào)),課程c(課號(hào),課名),選課SC(學(xué)號(hào),課號(hào),成績(jī)),則表sc的關(guān)鍵字(鍵或碼)為()。

A.課號(hào),成績(jī)B.學(xué)號(hào),成績(jī)C.學(xué)號(hào),課號(hào)D.學(xué)號(hào),姓名,成績(jī)

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

A.?dāng)?shù)據(jù)庫(kù)系統(tǒng)B.文件系統(tǒng)C.人工管理D.?dāng)?shù)據(jù)項(xiàng)管理

63.閱讀以下程序:

#include<stdio.h>

main()

{intcase;floatprintF;

printf("請(qǐng)輸人2個(gè)數(shù):");

scanf("%d%fl"&case,&printF);

printf("%dofof\n",case,printF);

}

該程序在編譯時(shí)產(chǎn)生錯(cuò)誤,其出錯(cuò)原因是()。

A.定義語句出錯(cuò),case是關(guān)鍵字,不能用做用戶自定義標(biāo)識(shí)符

B.定義語句出錯(cuò),printF不能用做用戶自定義標(biāo)識(shí)符

C.定義語句無錯(cuò),scanf不能作為輸入函數(shù)使用

D.定義語句無錯(cuò),printf不能輸出case的值

64.

65.程序調(diào)試的任務(wù)是()。

A.設(shè)計(jì)測(cè)試用例B.驗(yàn)證程序的正確性C.發(fā)現(xiàn)程序中的錯(cuò)誤D.診斷和改正程序中的錯(cuò)誤

66.

設(shè)a、b、c、d、m、n均為int型變量,且a=5、b=6、c=7、d=8、m=2、n=2,則邏輯表達(dá)式(m=a>b)&&(n—c>d)運(yùn)算后,n的值是()n

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

67.

68.在ASP.NET中采用CodeBehind代碼隱藏技術(shù)分離HTML顯示代碼和業(yè)務(wù)邏輯代碼,在PHP中采用的技術(shù)是()。

A.模板技術(shù)B.靜態(tài)緩存技術(shù)C.PHP引擎技術(shù)D.后臺(tái)編譯技術(shù)

69.有以下程序main(){inti=0,s=0;do{if(i%2){i++;continue;}i++;s+=i;}while(i<7);printf("%d\n",s);}執(zhí)行后輸出結(jié)果是

A.16B.12C.28D.21

70.

71.若有以下程序段,w和k都是整型變量。

w=k;

LB:if(w==0)gotoLE;

w--;

printf("*");

gotoLB;

LE:

M

則不能與上面程序段等價(jià)的循環(huán)語句是

A.for(w=k;w!=0;w--)printf("*");

B.w=k;<CR>while(w--!=0)printf("*");w++;

C.w=k;<CR>do{w--;printf("*");}while(w!=0);

D.for(w=k;w;--w)printf("*");

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

A.可以給指針變量賦一個(gè)整數(shù)作為地址值

B.函數(shù)可以返回地址值

C.改變函數(shù)形參的值,不會(huì)改變對(duì)應(yīng)實(shí)參的值

D.當(dāng)在程序的開頭包含頭文件stdi0.h時(shí),可以給指針變量賦NULL、、、

73.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指()。

A.數(shù)據(jù)所占的存儲(chǔ)空間

B.數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的存放形式

C.數(shù)據(jù)在計(jì)算機(jī)中的順序存儲(chǔ)方式

D.存儲(chǔ)在計(jì)算機(jī)外存中的數(shù)據(jù)

74.

75.

76.

77.

78.若有以下說明:inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;則值為6的表達(dá)式是_______。

A.*p+6B.*(p+6)C.*p+=5D.p+5

79.合法的數(shù)組定義是()。

A.

B.

C.

D.

80.

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:將str所指字符串中的字母轉(zhuǎn)換為按字母序列的后續(xù)字母(但Z轉(zhuǎn)化為A,z轉(zhuǎn)化為a),其他字符不變。

請(qǐng)修改函數(shù)proc()中的錯(cuò)誤,使它能得出正確的結(jié)果。

注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。

試題程序:

六、程序設(shè)計(jì)題(1題)82.規(guī)定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫函數(shù)fun,其功能是:除了字符串前導(dǎo)的*號(hào)之外,將串中其他*號(hào)全部刪除。在編寫函數(shù)時(shí),不得使用c語言提供的字符串函數(shù)。

例如,字符串中的內(nèi)容為:****A*BC*DEF*G*******,刪除后,字符串中的內(nèi)容應(yīng)當(dāng)是:

****ABCDEFG。

注意:部分源程序在文件PROGl.C中。

請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語句。

參考答案

1.C解析:軟件系統(tǒng)結(jié)構(gòu)的總體設(shè)計(jì)包括:基于功能層次結(jié)構(gòu)建立系統(tǒng)、按功能劃分成模塊的層次結(jié)構(gòu)、確定每個(gè)模塊的功能、建立與已確定的軟件需求的對(duì)應(yīng)關(guān)系、確定模塊間的調(diào)用關(guān)系和模塊間的接口、評(píng)估模塊劃分的質(zhì)量等方面。詳細(xì)設(shè)計(jì)的任務(wù)是:在使用程序設(shè)計(jì)語言編制程序以前,對(duì)所采用算法的邏輯關(guān)系進(jìn)行分析,設(shè)計(jì)出全部必要的過程細(xì)節(jié),并給予清晰的表達(dá)。需求分析是指用戶對(duì)目標(biāo)軟件系統(tǒng)在功能、行為、性能、設(shè)計(jì)約束等方面的期望。需求分析的任務(wù)是發(fā)現(xiàn)需求、求精、建模和定義需求,通常包括:功能需求、性能需求、環(huán)境需求、可靠性需求、安全保密要求、用戶界面需求、資源使用需求、成本消耗需求、開發(fā)進(jìn)度需求等。編程調(diào)試的任務(wù)是診斷和改正程序中潛在的錯(cuò)誤。綜上所述。軟件功能分解只能發(fā)生在總體設(shè)計(jì)階段。

2.A解析:static變量用于局部變量中有記憶功能和全局生存期。函數(shù)中的靜態(tài)變量的特點(diǎn)是每次調(diào)用函數(shù),靜態(tài)變量的值是上次調(diào)用完該函數(shù)后的靜態(tài)變量值,所以在此題中,第一調(diào)用函數(shù),返回1,此時(shí)函數(shù)中的靜態(tài)變量n的值為l,所以第二次調(diào)用函數(shù)時(shí),返回值為2。

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

4.D解析:在用基本輸出函數(shù)printf時(shí),格式說明與輸出項(xiàng)的個(gè)數(shù)應(yīng)該相同。如果格式說明的個(gè)數(shù)少于輸出項(xiàng)的個(gè)數(shù),多余的輸出項(xiàng)不予輸出;如果格式說明個(gè)數(shù)多于輸出項(xiàng)個(gè)數(shù),則對(duì)于多余的格式項(xiàng)輸出不定值或0。

5.D題干中,函數(shù)fun的功能是通過遞歸,將數(shù)組a中下標(biāo)為0~n-1位置的元素累加,作為函數(shù)返回值返回。main函數(shù)調(diào)用fun時(shí),傳入的a+2作為數(shù)組參數(shù),傳入n的值是4,所以函數(shù)返回值是元素a[2]、a[3]、a[4]、a[5]的和,程序輸出18。本題答案為D選項(xiàng)。

6.C單目運(yùn)算符“++”的優(yōu)先級(jí)高于賦值運(yùn)算符。表達(dá)式“a*=16+(b++)-(++C);”可轉(zhuǎn)化為“a=a*(16+b-(c+1));b=b+1;”,代入值計(jì)算可得a=28。故本題答案為C選項(xiàng)。

7.B本題考查靜態(tài)變量,C語言中靜態(tài)變量的生存期是從程序的開始到結(jié)束。本題中靜態(tài)變量x,隨著每次進(jìn)入循環(huán)不斷增長(zhǎng)5次,返回的值分別為2、3、4、5、6。所以S=1+2+3+4+5+6=21,選B。

8.C在main函數(shù)中調(diào)用了f函數(shù)使形參s指向數(shù)組a。執(zhí)行“S[1]+=6”;語句,則“a[1]=8;”執(zhí)行“*s=7;”語句,則“a[0]=7”;執(zhí)行“s+=2;”語句,則s指向數(shù)組的第3個(gè)元素并返回s。調(diào)用后,函數(shù)返回值賦給指針P,則*P=3,因此輸出的結(jié)果為7,8,3。故本題答案為C選項(xiàng)。

9.A部門到職員是一對(duì)多的,職員到部門是多對(duì)一的,因此,實(shí)體部門和職員間的聯(lián)系是l:m聯(lián)系。

10.B

11.B二維數(shù)組定義的一般形式是:類型說明符數(shù)組名[常量表達(dá)式1][常量表達(dá)式2]。其中常量表達(dá)式1表示第1維長(zhǎng)度,常量表達(dá)式2表示第2維長(zhǎng)度。若對(duì)二維數(shù)組的全部元素賦初值,第1維長(zhǎng)度可以不給出。但如果只確定行數(shù),而不確定列數(shù),就無法正確賦值。故本題答案為B選項(xiàng)。

12.C

13.A算術(shù)運(yùn)算符的優(yōu)先級(jí)高于關(guān)系運(yùn)算符的優(yōu)先級(jí)。所以當(dāng)x為大于1的奇數(shù)時(shí),A選項(xiàng)的值為假,即0。B選項(xiàng)的值為不定值,但絕對(duì)不是0。C選項(xiàng)的值為真,即1。0選項(xiàng)的值為真,即1。故本題答案為A選項(xiàng)。

14.A

15.A需求分析是軟件開發(fā)之前必須要做的準(zhǔn)備工作之一。需求是指用戶對(duì)目標(biāo)軟件系統(tǒng)在功能、行為、性能、設(shè)計(jì)約束等方面的期望。故需求分析的主要任務(wù)是確定軟件系統(tǒng)的功能。本題答案為A選項(xiàng)。

16.C解析:選項(xiàng)A),B)考查了多分支結(jié)構(gòu)的用法,選項(xiàng)A)中的程序段執(zhí)行時(shí),c<a,b<a條件均不成立,故執(zhí)行else后的語句,x值為3;選項(xiàng)B)中a<3條件成立,執(zhí)行x=3;而選項(xiàng)C),D)是單分支結(jié)構(gòu)的用法,選項(xiàng)C)中程序段執(zhí)行時(shí),a<3條件成立,x=3,但條件a<2也成立,此時(shí)執(zhí)行x=2,下一個(gè)條件不成立,不再執(zhí)行其后的語句。

17.AC語言中規(guī)定else總是和之前與其最近的且不帶else的if配對(duì)。題目中,“if(a=1)b=1;c=2;”默認(rèn)省略了else,導(dǎo)致下一句else沒有匹配語句。故本題答案為A選項(xiàng)。

18.A解析:C語言規(guī)定,程序中各函數(shù)之間既允許直接遞歸調(diào)用也允許間接遞歸調(diào)用。

19.D在程序設(shè)計(jì)中,各模塊間的內(nèi)聚性越強(qiáng),則耦合性越弱。一般較優(yōu)秀的軟件設(shè)計(jì),應(yīng)盡量做到高內(nèi)聚、低耦合,以有利于提高模塊的獨(dú)立性。耦合性與內(nèi)聚性是模塊獨(dú)立的兩個(gè)定性標(biāo)準(zhǔn),是互相關(guān)聯(lián)的。

20.C解析:軟件開發(fā)模型包括瀑布模型、快速原型法模型和螺旋模型。

21.*t或t[0]*s-*t或*s-t[0]或s[0]-*t或s[0]-t[0]*t或t[0]\r\n*s-*t或*s-t[0]或s[0]-*t或s[0]-t[0]解析:比較兩個(gè)字符串的大小方法是:從第一個(gè)字符開始依次向后比較,若對(duì)應(yīng)的字符相等則接著比較下一個(gè)字符,一直到兩個(gè)字符串中對(duì)應(yīng)字符不等,或者有一個(gè)為“\\0”,此對(duì)應(yīng)字符的ASCII碼大的字符串就大。故循環(huán)條件是*s和*t不為“\\0”,且*s和*t相同,第一處應(yīng)填“*t”或其他等價(jià)形式。根據(jù)題意可知第二處應(yīng)填“*s-*t”或其等價(jià)形式。

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

23.數(shù)據(jù)模型數(shù)據(jù)模型

24.數(shù)據(jù)流數(shù)據(jù)流解析:結(jié)構(gòu)化分析方法的實(shí)質(zhì)是著眼于數(shù)據(jù)流,自頂向下,逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。

25.zyzXyzzyzXyz解析:本題考查字符型指針變量的應(yīng)用。程序中字符指針變量ps指向字符串'xyz',while循環(huán)語句的作用使ps指向字符串結(jié)尾,for循環(huán)的執(zhí)行過程如下。

第一次循環(huán):ps指向字符串'z',輸出z。

第二次循環(huán):ps指向字符串'yz',輸出yz。

第三次循環(huán):ps指向字符串'xyz',輸出xyz。

26.fseek(文件指針位移量起始點(diǎn))fseek(文件指針,位移量,起始點(diǎn))解析:本題考查函數(shù)fseek的用法。fseek函數(shù)的調(diào)用形式為:

fseek(文件指針,位移量,起始點(diǎn))

“起始點(diǎn)”用0,1或2代替,其中,0代表“文件開始”;1為“當(dāng)前位置”;2為“文件末尾”?!拔灰屏俊敝敢浴捌鹗键c(diǎn)”為基點(diǎn),向前移動(dòng)的字節(jié)數(shù)。ANSIC和大多數(shù)C版本要求位移量是long型數(shù)據(jù),這樣當(dāng)文件的長(zhǎng)度大于64k時(shí)不致出現(xiàn)問題。ANSIC標(biāo)準(zhǔn)規(guī)定在數(shù)字的末尾加一個(gè)字母L,就表示long型。

27.消息消息解析:消息是一個(gè)實(shí)例與另一個(gè)實(shí)例之間傳遞的信息,它請(qǐng)求對(duì)象執(zhí)行某一處理或回答某一要求的信息,它統(tǒng)一了數(shù)據(jù)流和控制流。

28.morningclassmorningclass解析:本題考查了兩個(gè)知識(shí)點(diǎn):①“++、--”運(yùn)算后綴形式是先使用變量原來的值,使用完后再使其增1或減1;②在switch語句中,當(dāng)n=\'c\'時(shí),執(zhí)行“case\'c\':”,輸出morning;因?yàn)榇司渲袥]有break語句,因此接著執(zhí)行'case\'d\':”,輸出class,最終輸出結(jié)果為morningclass。

29.變換型變換型

30.2

31.相鄰相鄰

32.白盒白盒解析:軟件測(cè)試的方法分為白盒測(cè)試方法和黑盒測(cè)試方法.

33.1111解析:本題考核的知識(shí)點(diǎn)是printf()函數(shù)的輸出格式。本題中定義了一個(gè)整型變量i并賦初值為9,然后要求以八進(jìn)制輸出i的值,9的八進(jìn)制數(shù)的表示為11。

34.邏輯設(shè)計(jì)邏輯設(shè)計(jì)解析:數(shù)據(jù)庫(kù)設(shè)計(jì)的4個(gè)階段為:需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)。

35.88解析:fabs函數(shù)功能是求x的絕對(duì)值,計(jì)算結(jié)果為double型。pow功能是計(jì)算x的y次方的值,計(jì)算結(jié)果同樣為double型。所以本題表達(dá)式相當(dāng)于2.0的3.0次方,結(jié)果為8.000000。

36.00解析:本題考查的是do厀hile循環(huán)。第一次執(zhí)行循環(huán)體,因?yàn)閗=1,r=1,n=20,所以k=1*20%10*1=0,n=20/10=2,r=2;第二次執(zhí)行循環(huán)體,k=0*2%10*2=0,n=10/10=1,r=3;第三次執(zhí)行循環(huán)體,k=0*1%10*3=0,n=1/10=0,r=4,所以k的值為0。

37.BB解析:字符類型的數(shù)據(jù)在內(nèi)存中以相應(yīng)的ASCII碼存放,另外,字符數(shù)據(jù)還可以作為整數(shù)參加運(yùn)算。格式控制參數(shù)中的格式字符用以指定輸出項(xiàng)的數(shù)據(jù)類型和輸出格式,輸出字符與其對(duì)應(yīng)的輸出項(xiàng)的類型要一致。本題中,“b”的ASCII碼為98,字符類型m的ASCII碼為98+32=130,所以最后輸出為b。

38.->->解析:結(jié)構(gòu)變量abc有成員a,并有指針pabc指向結(jié)構(gòu)變量abc,則引用變量abc成員a的形式有abc.a和p_abc->a。

39.!=returnj!=returnj解析:函數(shù)fun中,變量j用于控制刪除后剩下的數(shù)中的下標(biāo),i用于搜索原數(shù)組中的元素。j始終是新數(shù)組已有元素中最后一個(gè)元素的下一個(gè)元素的下標(biāo),所以訂語句中的條件是a[j-1]!=a[i],其中a[j-1]就是新數(shù)組中的最后一個(gè)元素,若條件成立則表示出現(xiàn)了不同的值,a[i]要添加到新數(shù)組中。該算法只能用于數(shù)組已排序的題目中。

40.開發(fā)開發(fā)解析:軟件生命周期(SDLC,軟件生存周期)是軟件的產(chǎn)生直到報(bào)廢的生命周期,周期內(nèi)有問題定義、可行性分析、總體描述、系統(tǒng)設(shè)計(jì)、編碼、調(diào)試和測(cè)試、驗(yàn)收與運(yùn)行、維護(hù)升級(jí)到廢棄等階段,其中的編碼和測(cè)試屬于開發(fā)階段。

41.B解析:調(diào)用函數(shù)f()時(shí),將數(shù)組a的地址傳遞給了指針q,此時(shí)q指向的就是數(shù)組a的第一個(gè)元素a[0]。在5次循環(huán)過程中,q始終指向a[0],因此a[0]的值增加了5。最后的輸出結(jié)果為'6,2,3,4,5'。

42.C解析:本題考查數(shù)據(jù)庫(kù)的關(guān)系代數(shù)運(yùn)算。R表中只有一個(gè)域名A,有兩個(gè)記錄(也叫元組),分別是m和n;S表中有兩個(gè)域名,分別是B和C,其所對(duì)應(yīng)的記錄分別為1和3。注意觀察表T,它是由R的第一個(gè)記錄依次與S的所有記錄組合,然后再由R的第二個(gè)記錄與S的所有記錄組合,形成的一個(gè)新表。上述運(yùn)算恰恰符合關(guān)系代數(shù)的笛卡兒積運(yùn)算規(guī)則。關(guān)系代數(shù)中,笛卡兒積運(yùn)算用“×”來表示。因此,上述運(yùn)算可以表示為T=R×S。因此,本題的正確答案為C。

43.B解析:本題考查函數(shù)的綜合知識(shí)。首先,我們可以利用強(qiáng)制轉(zhuǎn)換類型轉(zhuǎn)換運(yùn)算符將一個(gè)表達(dá)式轉(zhuǎn)換成所需類型。如:(double)a是將a轉(zhuǎn)換成double類型;(int)(x+y)是將x+y的值轉(zhuǎn)換成整型。

本題可按部就班地逐步運(yùn)算:

fun((int)fun(a+c,b),a-c)

fun((int)fun(10,5),2-8)

fun((int)15.000000,-6)

fun(15,-6)

9

44.A解析:p[0]存放的是“BOOL\\0”的首地址;p[1]存放的是“OPK\\0”的首址等。在printf語句中輸出的*p[i]表示p[i]字符串的第—個(gè)字符。在for循環(huán)中,i的初值為3,那么輸出的第—個(gè)字符為“S”,接著兩次i-,則輸出的值為*p[1],即字符“O”,所以本題的輸出為SO。

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

46.C解析:內(nèi)部靜態(tài)變量是始終存在的,當(dāng)函數(shù)被調(diào)用退出后,內(nèi)部靜態(tài)變量會(huì)保存數(shù)據(jù),再次調(diào)用該函數(shù)時(shí),以前調(diào)用時(shí)的數(shù)值仍然保留著。Fun(a,5)的值是15,再次調(diào)用后sum=15,所以Fun(b,4)=45,s=45+15=60。

47.B解析:本程序?yàn)槎匮h(huán),外循環(huán)控制輸出數(shù)據(jù)的行數(shù),內(nèi)循環(huán)控制輸出數(shù)據(jù)的列數(shù)。本題需要輸出4行4列,外層循環(huán)語句for(i=0;i<4;i++)控制輸出4行,內(nèi)層的第一條for循環(huán)控制每行輸出的空格數(shù),第二條for循環(huán)用于控制每行的數(shù)字輸出,由于每一行的數(shù)字個(gè)數(shù)比前一行少1個(gè),所以內(nèi)層的第二條for循環(huán)每次循環(huán)的次數(shù)需要遞減1,那么j的初始值應(yīng)該遞增,因?yàn)榈谝恍休敵龅氖?個(gè)數(shù),所以空格中應(yīng)填i。

48.C解析:詳細(xì)設(shè)計(jì)階段的根本目標(biāo)是確定應(yīng)該怎樣具體的實(shí)現(xiàn)所要求的系統(tǒng),但詳細(xì)設(shè)計(jì)階段的任務(wù)還不是具體的編寫程序,而是要設(shè)計(jì)出程序的“藍(lán)圖”,以后程序員將根據(jù)這個(gè)藍(lán)圖寫出實(shí)際的程序代碼,因此,詳細(xì)設(shè)計(jì)階段的結(jié)果基本上就決定了最終的程序代碼的質(zhì)量。

49.D解析:線性鏈表是線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),帶鏈的棧與帶鏈的隊(duì)列分別是棧與隊(duì)列的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。線性表屬于線性結(jié)構(gòu),棧與隊(duì)列是特殊的線性表,因此也屬于線性結(jié)構(gòu)。二叉鏈表是二叉樹的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),二叉樹屬于非線性結(jié)構(gòu)。

50.A

51.A解析:函數(shù)定義時(shí)如果數(shù)據(jù)類型默認(rèn),則默認(rèn)為int。函數(shù)中如果有“retum(表達(dá)式):”語句,表達(dá)式的類型可能與函數(shù)的類型不一致,但它并不能改變函數(shù)的類型,實(shí)際情況是把表達(dá)式轉(zhuǎn)換為函數(shù)值的類型作為返回值,因此本題的函數(shù)值類型是int。

52.DD?!窘馕觥棵嫦?qū)ο笤O(shè)計(jì)方法與面向過程設(shè)計(jì)方法有本質(zhì)的不同,其基本原理是:使用現(xiàn)實(shí)世界的概念抽象地思考問題從而自然地解決問題。其特點(diǎn)包括:分類性、多態(tài)性、封裝性、模塊獨(dú)立性、繼承和多態(tài)性等。模塊化是結(jié)構(gòu)化程序設(shè)計(jì)的特點(diǎn)。

53.B解析:本題定義了一個(gè)for循環(huán),循環(huán)變量是i,但由于本題并沒有設(shè)置循環(huán)條件,所以循環(huán)的條件永遠(yuǎn)默認(rèn)為真,即無限次執(zhí)行循環(huán)。

54.D解析:在整個(gè)程序運(yùn)行期間,靜態(tài)局部變量在內(nèi)存的靜態(tài)存儲(chǔ)區(qū)中占據(jù)著永久的存儲(chǔ)單元,即使退出函數(shù)以后,下次再進(jìn)入該函數(shù)時(shí),靜態(tài)局部變量仍使用原來的存儲(chǔ)單元,靜態(tài)局部變量的初值是在編譯的時(shí)候賦予的,在程序執(zhí)行期間不再賦予初值。本題由于連續(xù)三次調(diào)用函數(shù)fun(),三次對(duì)靜態(tài)變量x進(jìn)行操作,x的值應(yīng)依次為6,7,8。

55.A解析:根據(jù)函數(shù)intf1(intx,inty){returnx>y?x:y;)和intf2(intx,inty){returnx>y?y:x;}的定義可知,如果x>y成立,則函數(shù)f1返回x的值,函數(shù)f2返回y的值。所以f1(a,b)=4,f1(c,d)=5,f2(a,b)=3,f2(c,d)=2故e=f2(4,5)=4,f=f1(3,2)=3,g=4+3+5+2-4-3=7。

56.B解析:讀懂兩個(gè)循環(huán)的關(guān)系,是解這個(gè)題目的關(guān)鍵,本題的第一個(gè)for循環(huán)的作用是實(shí)現(xiàn)對(duì)數(shù)組元素的遍歷,第二個(gè)循環(huán)的作用是排序。while(j>=0&&t>c[j]),這個(gè)語句是控制排序的關(guān)鍵語句,它即實(shí)現(xiàn)了比較兩個(gè)元素大小的作用,又實(shí)現(xiàn)了元素向后移動(dòng)的作用,不斷地把大的數(shù)據(jù)向前移動(dòng),直到找到一個(gè)比它小的,或到數(shù)據(jù)的上界為止。

57.D解析:C語言規(guī)定,實(shí)參變量對(duì)形參變量的數(shù)據(jù)傳遞是“值傳遞”,只由實(shí)參傳給形參,而不能由形參傳回來給實(shí)參。在內(nèi)函數(shù)調(diào)用結(jié)束后,形參單元被釋放,實(shí)參單元仍保留并維持原值。本題中swapl()函數(shù)中,雖然改變了形參指針的值,但實(shí)參指針的值并沒有改變,所以執(zhí)行第一個(gè)printf后應(yīng)輸出10,15,swap2()函數(shù)實(shí)現(xiàn)了交換兩個(gè)變量a和b的值,因此執(zhí)行第三個(gè)printf后輸出交換后的值15,10,所以本題答案為D。

58.D解析:PDL一種設(shè)計(jì)性語言,用于書寫軟件設(shè)計(jì)規(guī)約。它是軟件設(shè)計(jì)中廣泛使用的語言之一。N-S圖是無線的流程圖,是算法描述工具;PAD圖是問題分析圖,它用二維樹狀結(jié)構(gòu)的圖表示程序的控制流,將這種圖轉(zhuǎn)換為程序代碼比較容易。此3類均是過程設(shè)計(jì)工具,數(shù)據(jù)流圖(DataFunctionDiagram):又名數(shù)據(jù)功能圖表,簡(jiǎn)稱DFD,是采用圖形方式來表達(dá)系統(tǒng)的邏輯功能、數(shù)據(jù)在系統(tǒng)內(nèi)部的邏輯流向和邏輯變換過程,是結(jié)構(gòu)化系統(tǒng)分析方法的主要表達(dá)工具及用于表示軟件模型的一種圖示方法。

59.A解析:由于本題定義的是共用體,所以成員表列中的整型變量x與字符數(shù)組c共占用同—個(gè)存儲(chǔ)單元,且此存儲(chǔ)單元為2個(gè)字節(jié),通常c[0]位于低字節(jié),c[1]位于高字節(jié),所以兄i的值為266。

60.B

61.C學(xué)號(hào)是學(xué)生表S的主鍵,課號(hào)是課程表C的主鍵,所以選課表SC的關(guān)鍵字就應(yīng)該是與前兩個(gè)表能夠直接聯(lián)系且能唯一定義的學(xué)號(hào)和課號(hào),所以選擇C項(xiàng)。

62.A本題考查數(shù)據(jù)庫(kù)中的數(shù)據(jù)管理技術(shù)相關(guān)知識(shí)。

數(shù)據(jù)管理技術(shù)的發(fā)展大體可以歸為三個(gè)階段:人工管理、文件系統(tǒng)和數(shù)據(jù)庫(kù)管理系統(tǒng)。

人工管理階段:計(jì)算機(jī)主要用于科學(xué)計(jì)算。外部存儲(chǔ)器只有磁帶、卡片和紙帶等還沒有磁盤等直接存取存儲(chǔ)設(shè)備。軟件只有匯編語言,尚無數(shù)據(jù)管理方面的軟件。數(shù)據(jù)處理方式基本是批處理。這個(gè)階段有幾個(gè)特點(diǎn):數(shù)據(jù)不保存;應(yīng)用程序中包含自己要用到的全部數(shù)據(jù);數(shù)據(jù)不共享;數(shù)據(jù)不具有獨(dú)立性。

文件系統(tǒng)階段:計(jì)算機(jī)不僅用于科學(xué)計(jì)算,還用在信息管理方面。隨著數(shù)據(jù)量的增加,數(shù)據(jù)的存儲(chǔ)、檢索和維護(hù)問題成為緊迫的需要,數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)管理技術(shù)迅速發(fā)展起來。此時(shí),外部存儲(chǔ)器已有磁盤、磁鼓等直接存取的存儲(chǔ)設(shè)備。軟件領(lǐng)域出現(xiàn)了操作系統(tǒng)和高級(jí)軟件。操作系統(tǒng)中的文件系統(tǒng)是專門管理外存的數(shù)據(jù)管理軟件,文件是操作系統(tǒng)管理的重要資源之一。數(shù)據(jù)處理方式有批處理,也有聯(lián)機(jī)實(shí)時(shí)處理。在文件系統(tǒng)支持下,數(shù)據(jù)開始從程序中逐步獨(dú)立出來,數(shù)據(jù)文件可以獨(dú)立、長(zhǎng)期地存儲(chǔ),數(shù)據(jù)的邏輯結(jié)構(gòu)和物理結(jié)構(gòu)有了一定的區(qū)別。數(shù)據(jù)的邏輯結(jié)構(gòu)是指呈現(xiàn)在用戶面前的數(shù)據(jù)結(jié)構(gòu)形式。數(shù)據(jù)的物理結(jié)構(gòu)是指數(shù)據(jù)在計(jì)算機(jī)存儲(chǔ)設(shè)備上的實(shí)際存儲(chǔ)結(jié)構(gòu)。文件系統(tǒng)對(duì)計(jì)算機(jī)數(shù)據(jù)管理能力的提高雖然起了很大的作用,但是仍然存在許多根本性問題。主要表現(xiàn)在:數(shù)據(jù)文件是為滿足特定業(yè)務(wù)領(lǐng)域某一部門的專門需要而設(shè)計(jì),數(shù)據(jù)和程序相互依賴,數(shù)據(jù)缺乏足夠的獨(dú)立性;數(shù)據(jù)沒有集中管理的機(jī)制,其安全性和完整性無法保障,數(shù)據(jù)維護(hù)業(yè)務(wù)仍然由應(yīng)用程序來承擔(dān);數(shù)據(jù)冗余度大;對(duì)現(xiàn)有數(shù)據(jù)文件不易擴(kuò)充,不易移植,難以通過增、刪數(shù)據(jù)項(xiàng)來適應(yīng)新的應(yīng)用要求;各數(shù)據(jù)文件之間缺乏聯(lián)系,互相獨(dú)立,不能反映現(xiàn)實(shí)世界中事物之間的聯(lián)系。文件系統(tǒng)管理數(shù)據(jù)有如下特點(diǎn):數(shù)據(jù)可以長(zhǎng)期保存;由文件系統(tǒng)管理數(shù)據(jù);數(shù)據(jù)共享性差,冗余度大;數(shù)據(jù)獨(dú)立性差。

數(shù)據(jù)庫(kù)管理系統(tǒng)階段:數(shù)據(jù)管理技術(shù)進(jìn)入數(shù)據(jù)庫(kù)系統(tǒng)階段。數(shù)據(jù)庫(kù)系統(tǒng)克服了文件系統(tǒng)的缺陷,提供了對(duì)數(shù)據(jù)更高級(jí)、更有效的管理。這個(gè)階段的程序和數(shù)據(jù)的聯(lián)系通過數(shù)據(jù)庫(kù)管理系統(tǒng)來實(shí)現(xiàn)(DBMS)。數(shù)據(jù)庫(kù)系統(tǒng)階段的數(shù)據(jù)管理具有以下特點(diǎn):

采用數(shù)據(jù)模型表示復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)模型不僅描述數(shù)據(jù)本身的特征,還要描述數(shù)據(jù)之間的聯(lián)系,這種聯(lián)系通過存取路徑實(shí)現(xiàn)。

溫馨提示

  • 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)論