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

下載本文檔

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

文檔簡介

2021年黑龍江省雞西市全國計算機等級考試C語言程序設(shè)計知識點匯總卷(含答案)學校:________班級:________姓名:________考號:________

一、單選題(20題)1.

2.快速排序在_____情況下最易發(fā)揮其長處。

A.被排序數(shù)據(jù)中含有多個相同排序碼

B.被排序數(shù)據(jù)已基本有序

C.被排序數(shù)據(jù)完全無序

D.被排序數(shù)據(jù)中最大值和最小值相差懸殊

3.

有以下程序:

main

{intx,i;

for(i=l;i<=50;i++)

{x=i:

if(x%2=0)

if(x%3=0)

if(X%7=0)

printf(”%d,i)”;

}

}

輸出結(jié)果是()。

A.28B.27C.42D.4l

4.下列語句中存在語法錯誤的是()。

A.charss[6][20];ss[1]=“right?”;

B.charss[][20]={“right?”};

C.char*ss[6];ss[1]=“right?”;

D.char*ss={“right?”};

5.有下列程序:程序執(zhí)行后的輸出結(jié)果是()。A.11B.43C.57D.53

6.已知字母A的ASCII碼為十進制的65,下面程序main(){charch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}的輸出是_________。

A.67,DB.B,CC.C,DD.不確定的值

7.

8.有以下程序(提示:程序中fseek(fp-2L*sizeof(int),SEEK_END);語句的作用是使位置指針從文件末尾向前移2*sizeof(ing)字節(jié))#include<stdio.h>main(){FILE*fp;inti,a[4]={1,2,3,4},b;fp=fopen("data.dat","wb");for(i=0;i<4;i++)fwrite(&a[i],sizeof(int),1,fp);fclose(fp);fp=fopen("data.dat","rb");fseek(fp,-2L*sizeof(int),SEEK_END);fread(&b,sizeof(int),1,fp);/*從文件中讀取sizeof(int)字節(jié)的數(shù)據(jù)到變量b中*/fclose(fp);printf("%d\n",B);}執(zhí)行后輸出結(jié)果是

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

9.下列正確的實型常量是()。

A.E3.4B.-12345C.2.2eO.8D.4

10.下面關(guān)于求關(guān)鍵路徑的說法不正確的是()。

A.求關(guān)鍵路徑是以拓撲排序為基礎(chǔ)的

B.一個事件的最早開始時間同以該事件為尾的弧的活動最早開始時間相同

C.一個事件的最遲開始時間為以該事件為尾的弧的活動最遲開始時間與該活動的持續(xù)時間的差

D.關(guān)鍵活動一定位于關(guān)鍵路徑上

11.有以下程序:#include<stdio.h>intfun(intX,inty){if(X!=y)return((x+y)/2);elsereturn(x);}main(){inta=4,b=5,c=6;printf("%d/n",fun(2*a,fun(b,c)));}程序運行后的輸入結(jié)果是()。A.3B.6C.8D.12

12.

13.標準庫函數(shù)fgets(s,n,file)的功能是()。

A.從文件file中讀取長度為n的字符串存入字符數(shù)組s中

B.從文件file中讀取長度不超過n-1個字符的字符串放到字符數(shù)組s中

C.從文件file中讀取n個字符串存入字符數(shù)組s中

D.從文件file中讀取長度為n-1個字符的字符串存入字符數(shù)組s中

14.設(shè)intx=7,則~x的值是()。

A.-8B.7C.-1D.1

15.將發(fā)送端數(shù)字脈沖信號轉(zhuǎn)換成模擬信號的過程稱為

A.鏈路傳輸B.調(diào)制C.解調(diào)D.數(shù)字信道傳輸

16.若棧采用順序存儲方式存儲,現(xiàn)兩棧共享空間V[1m],top[1]、top[2]分別代表第1和第2個棧的棧頂,棧1的底在V[1],棧2的底在V[m],則棧滿的條件是()。

A.|top[2]-top[1]|=0

B.top[1]+1=top[2]

C.top[1]+top[2]=m

D.top[1]=top[2]

17.程序中若有如下說明和定義語句charfun(char*);main(){char*s="one",a[5]={0},(*f1)()=fun,ch;.....}以下選項中對函數(shù)Fun的正確調(diào)用語句是______。A.(*f1)(a);B.*f1(*s);C.fun(&a);D.ch=*f1(s);

18.設(shè)有關(guān)鍵碼初始化序列{Q,H,C,Y,P,A,M,S,R,D,F,X},新序列{F,H,C,D,P,A,M,Q,R,S,Y,X}是采用()方法對初始序列精細第一堂排序的結(jié)果。

A.直接插入排序B.二路歸并排序C.快速排序D.基數(shù)排序

19.下列關(guān)于棧的描述中錯誤的是()。A.棧是先進后出的線性表B.棧只能順序存儲C.棧具有記憶作用D.對棧的插入與刪除操作中,不需要改變棧底指針

20.在具有n個結(jié)點的有序單鏈表中插入一個新結(jié)點并使鏈表仍然有序的時間復(fù)雜度是________

A.O(1)B.O(n)C.O(nlogn)D.O(n2)

二、2.填空題(20題)21.若fp已正確定義為—‘個文件指針,d1.dd為二進制文件,請?zhí)羁?,以便為“讀”而打開此文件:fp=fopen(______);。

22.樹中度為零的結(jié)點稱為______。

23.下面程序的輸出是【】。

main()

{intarr[10],i,k=0;

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

arr[i]=i;

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

k+=arr[i]+i;

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

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

main()

{charm;

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

}

25.以下函數(shù)把b字符串連接到a字符串的后面,并返回a中新字符串的長度。請?zhí)羁铡?/p>

strcen(chara[],charb[])

{intnum=0,n=0;

while(*(a+num)!=【】)num++;

while(b[n]){*(a+num)=b[n];num++;【】;}

return(num);

}

26.以下程序的功能是建立一個帶有頭結(jié)點的單向鏈表,鏈表結(jié)點中的數(shù)據(jù)通過鍵盤輸入,當輸入數(shù)據(jù)為-1時,表示輸入結(jié)束(鏈表頭結(jié)點的data域不放數(shù)據(jù),表空的條件是ph->next==NULL),請?zhí)羁铡?/p>

#include<stdio.h>

structlist{intdata;structlist*next;};

structlist*creatlist()

{structlist*p,*q,*ph;inta;ph=(structlist*)malloc(sizeof(structlist));

p=q=ph;printf("Inputanintegernumber;entre-1toend:\n");

scanf("%d",&a);

while(a!=-1)

{p=(structlist*)malloc(sizeof(structlist));

【】=a;q->next=p;【】=p;scanf("%d",&a);}

p->next=′\0;return(ph);}

main()

{structlist*head;head=creatlist();}

27.以下程序的功能是建立—個帶有頭結(jié)點的單向鏈表,鏈表結(jié)點中的數(shù)據(jù)通過鍵盤輸入,當輸入數(shù)據(jù)為-1時,表示輸入結(jié)束(鏈表頭結(jié)點的data域不放數(shù)據(jù),表空的條件是ph->next==NULL),請?zhí)羁铡?/p>

#include<stdio.h>

structlist{intdata;structlist*next;};

structlist*creatlist()

{structlist*p,*q,*ph;inta;ph=(structlist*)malloc(sizeof(struct

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

voidswap(intx,inty)

{intt;

t=x;x=Y;Y=t;printf("%d%d",x,y);

}

main()

{inta=3,b=4;

swap(a,b);printf("%d%d",a,b);

}

29.設(shè)x和y均為int型變量,且x=1,y=2,則表達式double(1+x/y)的值為【】。

30.某二叉樹中度為2的節(jié)點有18個,則該二叉樹中有()個葉子節(jié)點。

31.下面程序有兩個printf語句,如果第一個printf語句輸出的是194,則第二個printf語句的輸出結(jié)果是【】。

main()

{inta[10]={1,2,3,4,5,6,7,8,9,0},*p;

p=a;

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

printf("%x\n,p+9);

}

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

33.數(shù)據(jù)庫恢復(fù)是將數(shù)據(jù)庫從______狀態(tài)恢復(fù)到某一已知的正確狀態(tài)。

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

35.下列程序的運行結(jié)果是______。

#include<stdio.h>

longfunc(intx)

{longp;

if(x==0||x==1)

return(1);

p=x*func(x-1);

return(p);

}

main()

{printf("%d\n",func(4));

}

36.數(shù)據(jù)元素之間______的整體稱為邏輯結(jié)構(gòu)。

37.在數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計中,常用的描述工具是【】。

38.以下程序的作用是:從名為filea.dat的文本文件中逐個讀入字符并顯示在屏幕上。請?zhí)羁铡?/p>

#include<stdio.h>

main()

{FILE*fp;charch;

fp=fopen(【】);

ch=fsetc(fp);

while(!feof(fp)){putchar(ch);ch=fgetc(fp);}

putchar('\n');fclose(fp);

}

39.下面程序有兩個printf語句,如果第一個printf語句輸出的是194,則第二個printf語句的輸出結(jié)果是【】。

main()

{inta[10]={1,2,3,4,5,6,7,8,9,0},*p;

p=a;

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

printf("%x\",p+9);

}

40.下面程序的運行結(jié)果是()。#include<stdio.h>main(){chara[80],*p"AbabCDcd";inti=0,j=0;while(*(p++)!='\0'){if(*p>='a'&&*p<='z'){a[i]=*p;i++;}}a[i]='\0';puts(A);}

三、1.選擇題(20題)41.檢查軟件產(chǎn)品是否符合需求定義的過程稱為()。

A.確認測試B.集成測試C.驗證測試D.驗收測試

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

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

43.設(shè)有如下定義,則以下敘述中正確的是______。int(*ptr)();

A.ptr是指向一維數(shù)組的指針變量

B.ptr是指向int型數(shù)據(jù)的指針變量

C.ptr是指向函數(shù)的指針,該函數(shù)返回一個int型數(shù)據(jù)

D.ptr是一個函數(shù)名,該函數(shù)的返回值是指向int型數(shù)據(jù)的指針

44.有以下程序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",num[i][j]);prrintf("\n");}}若要按以下形式輸出數(shù)組右上半三角1234678111216則在程序下劃線處應(yīng)填入的是

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

45.一棵二叉樹中共有70個葉子結(jié)點與80個度為1的結(jié)點,則該二叉樹中的總結(jié)點數(shù)為()。

A.221B.219C.231D.229

46.下列司用于C語言用戶標識符的一組是______。

A.voiddefineWORD

B.a3_b3_123Car

C.For_abcIFCase

D.2aDOsizeof

47.數(shù)據(jù)流圖用于抽象描述一個軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標識的圖符不屬于數(shù)據(jù)流圖合法圖符的是()

A.控制流B.加工C.數(shù)據(jù)存儲D.源和潭

48.在16位編譯系統(tǒng)上,若有定義inta[]={10,20,30},*p=&a;,當執(zhí)行p++;后,下列說法錯誤的是A.p向高地址移了一個字節(jié)B.p向高地址移了一個存儲單元C.p向高地址移了兩個字節(jié)D.p與a+1等價

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

A.存儲在外存中的數(shù)據(jù)B.數(shù)據(jù)所占的存儲空間量C.數(shù)據(jù)在計算機中的順序存儲方式D.數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機中的表示

50.在數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)語言中,負責數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建的是

A.數(shù)據(jù)定義語言B.數(shù)據(jù)轉(zhuǎn)換語言C.數(shù)據(jù)操縱語言D.數(shù)據(jù)控制語言

51.模塊獨立性是軟件模塊化所提出的要求,衡量模塊獨立性的度量標準則是模塊的

A.抽象和信息隱蔽B.局部化和封裝化C.內(nèi)聚性和耦合性D.激活機制和控制方法

52.下列二維數(shù)組初始化語句中,不正確的是()。

A.intb[][2]={1,2,3,4,5,6,7};

B.intb[3][5]={0,0,0};

C.intb[][4]={{1,2},{3,4,5},{6}};

D.intb[3][2]={(1,2),(3,4),(5,6)};

53.在C語言中,函數(shù)返回值的類型最終取決于()。

A.函數(shù)定義時在函數(shù)首部所說明的函數(shù)類型

B.return語句中表達式值的類型

C.調(diào)用函數(shù)時主調(diào)函數(shù)所傳遞的實參類型

D.函數(shù)定義時形參的類型

54.若有說明:int*p,m=5,n;,以下正確的程序段是()。

A.p=&m;scanf("%d",&p)

B.p=&n;scanf("%d",&p)

C.scsnf("%d",&p)p=&n;

D.p=&n;p=&m;

55.有以下程序intfa(intx){returnx*x;}intfb(intx){returnx*x*x;}intf(int(*f1)(),int(*f2)(),intx){returnf2(x)-f1(x);}main(){inti;i-f(fa,fb,2);printf("%d\n",i);}程序運行后的輸出結(jié)果是

A.4B.1C.4D.8

56.(49)A.*sB.sC.*s++D.(*s)++

57.若有以下定義和語句:inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;則不能表示a數(shù)組元素的表達式是______。

A.*pB.a[10]C.*aD.a[p-a]

58.以下能正確對整型數(shù)組賦初值的語句是______。

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

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

C.inta[4]={'1','2','3','4');

D.inta[3][]={1,2,3,4,5,6};

59.有以下函數(shù):charfun(char*p){returnP;}該函數(shù)的返回值是()。

A.無確切的值B.形參p中存放的地址值C.一個臨時存儲單元的地址D.形參p自身的地址值

60.下面判斷正確的是

A.char*a="china";等價于char*a;*a="china";

B.charstr[5]={"china"};等價于charstr[]={"china"};

C.char*s="china";等價于char*s;s="china";

D.charc[4]="abc",d[4]="abc";等價于charc[4]=d[4]="abc";

四、選擇題(20題)61.設(shè)x=011050,則x=x&01252的值是()。A.0000001000101000

B.1111110100011001

C.0000001011100010

D.1100000000101000

62.在數(shù)據(jù)管理技術(shù)發(fā)展的三個階段中,數(shù)據(jù)共享最好的是()。

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

63.(50)數(shù)據(jù)庫概念設(shè)計的過程中,視圖設(shè)計一般有三種設(shè)計次序,以下各項中不對的是()

A.自頂向下

B.由底向上

C.由內(nèi)向外

D.由整體到局部

64.

65.

66.下面不屬于軟件工程三個要素的是()。

A.工具B.過程C.方法D.環(huán)境

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

main()

{intk=8;

switch(k)

{case8:k+=1;

case10:k+=1;

case11:k+=1;break;

default:k+=1;

}

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

}

A.12B.11

C.10D.9

68.有以下程序:

以下敘述中正確的是()。

A.在給P和q數(shù)組置初值時,系統(tǒng)會自動添加字符串結(jié)束符,故輸出的長度都為3

B.由于P數(shù)組中沒有字符串結(jié)束符,長度不能確定;但q數(shù)組中字符長度為3

C.由于q數(shù)組中沒有字符串結(jié)束符,長度不能確定;但P數(shù)組中字符長度為3

D.由于P和q數(shù)組中沒有字符串結(jié)束符,故長度都不能確定

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

A.

B.

C.

D.

70.

71.

72.若變量已正確定義為int型,要通過語句給a賦值l、+給b賦值2、給c賦值

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

73.有以下程序:

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

A.61B.70C.63D.71

74.以下選項中正確的定義語句是()。

75.有以下程序:

#include<stdio.h>

main

{inta=1,b=2;

while(a<6){b+=a;a4+=2;b%=10;)

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

}

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

A.5,11B.7,1C.7,11D.6,1

76.

77.下列選項中不屬于結(jié)構(gòu)化程序設(shè)計原則的是()。

A.可封裝B.自頂向下C.模塊化D.逐步求精

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

A.break語句只能用于switch語句體中

B.continue語句的作用是使程序的執(zhí)行流程跳出包含它的所有循環(huán)

C.break語句只能用在循環(huán)體內(nèi)和switch語句體內(nèi)

D.在循環(huán)體內(nèi)使用break語句和continue語句的作用相同

79.C語言用_______表示邏輯“真”值。

A.trueB.t或yC.非零整型值D.整型值0

80.若變量已確定義,則以下語句的輸出結(jié)果是()。

五、程序改錯題(1題)81.下列給定程序中函數(shù)fun的功能是:將長整型數(shù)中各位上為奇數(shù)的數(shù)依次取出,構(gòu)成一個新數(shù)放在t中。高位仍在高位,低位仍在低位。

例如,當s中的數(shù)為87653142時,t中的數(shù)為7531。請改正程序中的錯誤,使它能得出正確的結(jié)果。注意:部分源程序在文件MODll.C中,不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

六、程序設(shè)計題(1題)82.請編寫一個函數(shù)proc(),它的功能是將一個數(shù)字字符串轉(zhuǎn)換為一個整數(shù)(不得調(diào)用C語言提供的將字符串轉(zhuǎn)為整數(shù)的函數(shù))。

例如,若輸入字符串“1234”,則函數(shù)把它轉(zhuǎn)換為整數(shù)值1234。

注意:部分源程序給出如下。

請勿改動main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號中填入所編寫的若干語句。

試題程序:

參考答案

1.B

2.C

3.C只有當3個if條件同時成立,即能夠同時被2、3、7整除時,才輸出i的值,而從0到50能夠同時被2、3、7整除的數(shù)只有42,故選擇C選項。

4.A數(shù)組定義后,不可以對數(shù)組整體賦值。ss是二維數(shù)組,因ss[1]是一維字符數(shù)組,相當于一維數(shù)組的數(shù)組名,是常量,不能重新賦值,A選項錯誤。B選項和D選項是定義時對數(shù)組初始化。在C選項中,將字符串在內(nèi)存中的首地址賦給指針數(shù)組的一個元素。故本題答案為A選項。

5.D函數(shù)f是一個遞歸函數(shù)。當x>=2時,遞歸調(diào)用自身,返回值為x*f(x-l)+(x-l)*f(x-2);3x<2時,返回值為1。main函數(shù)中,調(diào)用函數(shù)f傳入4,所以y的值是f(4)。f(4)等價于4*f(3)+3*f(2);f(3)等價于3*f(2)+2*f(1);f(2)等價于2*f(1)+1*f(0);f(0)、f(1)等價于1。綜上:f(2)等于3,f(3)等于11,f(4)等于53。本題答案為D選項。

6.A解析:由于字符“5”和“3”的ASCII碼相差為2,所以ch1經(jīng)過運算后的值應(yīng)為65+2=67;同理,ch2經(jīng)過運算后的值應(yīng)為65+3=68,即是字符“D”。

7.B

8.D解析:函數(shù)fopen(constchar*filename,constchar*mode)的功能是以mode指定的模式打開filename指定的磁盤文件:fclose(FILE*fp)的功能是關(guān)閉文件指針fp指向的文件;函數(shù)fscanf(FILE*fp,constchat\'*format1,address,--])的功能是根據(jù)format中的格式從中指向的文件中讀取數(shù)據(jù),并存入到相應(yīng)的address指向的變量中.函數(shù)fprintf(FILE*fp,constchar*format[,argument--])的功能是把argument列表中的表達式值寫到fp所指向的文件中;函數(shù)fwfite(void*ptr,intsize,intn,FILE*fp)的功能是把ptr指向的緩沖區(qū)中的size×n個字節(jié)寫到文件指針fp指向的文件中。本題中首先定義了一個文件指針fp,然后通過函數(shù)fopen以可'wb'的方式打開文件'data.daft',直接通過一個for循環(huán),每循環(huán)一次調(diào)用函數(shù)fwrite將數(shù)組中的元素a[i]的值寫進fp所指的文件中,該循環(huán)共循環(huán)4次,循環(huán)完后fp所指文件的內(nèi)容為123,然后通過fclose函數(shù)關(guān)閉fp所指文件.接著通過函數(shù)fopen以'rb”的方式打開文件'data.dat',通過fseek函數(shù)讓指針中從文件末尾向前移動2個int型大小字節(jié)的,然后通過函數(shù)fread從中所指的文件中讀取一個int型大小的數(shù)據(jù)到變量b中,故此時b的值為3,因此最后輸出的,b的值為3,所以,4個選項中選項D符合題意。

9.B解析:實型常量有兩種書寫形式:①小數(shù)形式,它由符號、整數(shù)部分、小數(shù)點及小數(shù)部分組成;②指數(shù)形式,由十進制小數(shù)形式加上指數(shù)部分組成,其形式為十進制小數(shù)e指數(shù)或十進制小數(shù)E指數(shù)。注:e或E后面的指數(shù)必須是整數(shù),并且在e或E的前面必須有數(shù)字。本題中,選項A)中E的前面沒有數(shù)字,因此錯誤。選項C)中0.8不是整數(shù),因此錯誤。選項D)中4是整型常量而不是實型常量。

10.C

11.B此題考查的是函數(shù)fun,fun(b,c)=5,然后fun(2*a,5)=fun(8,5)=6。

12.C

13.B解析:字符串輸入函數(shù)fgets()的調(diào)用形式為:fgets(s,n,fp)。fgets函數(shù)參數(shù)說明:“s”可以是一個字符數(shù)組名,也可以是指向字符串的指針;“n”為要讀取的最多的字符個數(shù);“fp”是指向該文件的文件型指針。fgets函數(shù)的功能是:從fp所指向的文件中讀取長度不超過n-1個字符的字符串,并將該字符串放到字符數(shù)組s中;讀入字符串后會自動在字符串末尾加入“'\\0'”結(jié)束符,表示字符串結(jié)束。

14.A本題主要考查按位求反運算和C語言正負數(shù)的表示,“O”代表正數(shù),“1”代表負數(shù);x=7的二進制為00111,第一個0代表正數(shù),~x為11000,第一個l代表負數(shù),值為8。

15.B

16.B

17.A解析:題中將函數(shù)fun的入口地址賦給了指針變量f1,這時f1和fun都指向函數(shù)的開頭,調(diào)用*f1就是調(diào)用函數(shù)fun。

18.C

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

20.B

21.d1.dat""rb"或"d1.dat""r+b”或"d1.dat""rb+"d1.dat','rb'或'd1.dat','r+b”或'd1.dat','rb+'解析:本題考查的知識點是二進制文件的打開方式。打開文件的函數(shù)為fopen('文件名''mode'),其中'mode'表示文件的打開方式.如果打開的是二進制文件,其mode字符串可以是:'rb''wb'、'ab'、'rb+'、'wb+'、'ab+'。'r'表示以只讀方式打開。'w'表示以寫方式打開,如果已有在該文件名的文件,文件中的內(nèi)容將被清空。若文件名不存在,則將創(chuàng)建該文件.'a'為追加方式打開。若文件存在時,將打開這個文件并且在文件的末尾進行追加.當文件不存在,將創(chuàng)建新文件。'r='打開一個已有在文件用于更新(可讀可寫)。'w+'創(chuàng)建一個新文件用于更新,如果文件存在,文件被重寫(可讀可寫)。'a+'打開用于追加,當文件不存在時,創(chuàng)建新文件,并在文件末尾進行追加(可讀可寫)。根據(jù)題意,應(yīng)該填'd1.dat','rb'或其他等價的表達法。

22.葉子結(jié)點葉子結(jié)點解析:樹中度為零的結(jié)點,也就是沒有后件的結(jié)點,稱為葉子結(jié)點。

23.1212解析:本題通過第一個for循坪將數(shù)組arr[0]-arr[9]分別賦值為0-9,通過第二個for循環(huán)的三次循環(huán)累加,求出結(jié)果為12,具體分析如下:

i=1:k=0+arr[1]+1即k=2;

i=2:k=2+arr[2]+2即k=6;

i=3:k=6+arr[3]+3即k=12;

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

25.0'或0或NULLn++或++n或n=n+1或n+=10'或0或NULL\r\nn++或++n或n=n+1或n+=1

26.p->dataqp->data,q解析:本題考查的是鏈表這一數(shù)據(jù)結(jié)構(gòu)對結(jié)構(gòu)體變量中數(shù)據(jù)的引用。鏈表的特點是結(jié)構(gòu)體變量中有兩個域,一個是數(shù)據(jù),另一個是指向該結(jié)構(gòu)體變量類型的指針,用以指明鏈表的下一個結(jié)點。

27.解析:本題考查的是鏈表這一數(shù)據(jù)結(jié)構(gòu)對結(jié)構(gòu)體變量中數(shù)據(jù)的引用。鏈表的特點是結(jié)構(gòu)體變量中有兩個域,一個是數(shù)據(jù),另一個是指向該結(jié)構(gòu)體變量類型的指針,用以指明鏈表的下一個結(jié)點。

28.43344334解析:函數(shù)的參數(shù)傳遞形參的改變不會影響實參的值。調(diào)用函數(shù)swap(x,y)時,將x,y進行交換再輸出,輸出為43,但主函數(shù)中的a、b值并沒有改變,最后輸出a、b的值,為34。

29.11解析:本題考查兩個知識點:一是x/y的值為整型,即為0;二是數(shù)1是double類型。

30.19

31.1a61a6解析:對于指針變量的運算,就是對地址的運算。本題中由于指針指向的是整型變量,所以,使指針變量移動9個位置也就是移動18個字節(jié)。注意,本題是以十六進制輸出的。

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

33.錯誤。錯誤。解析:數(shù)據(jù)庫恢復(fù)是將數(shù)據(jù)庫中的數(shù)據(jù)從錯誤狀態(tài)中恢復(fù)到某種邏輯一致的狀態(tài)。如果數(shù)據(jù)庫中包含成功事務(wù)提交的結(jié)果,則稱數(shù)據(jù)庫處于一致性狀態(tài)。

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

35.2424解析:本題考查函數(shù)的循環(huán)調(diào)用。p=x*func(x-1),當x=4時,不滿足if語句的條件,p=4*func(3),x=3也不滿足條件,則func(3)=3*func(2),func(2)=2*func(1),x=1滿足條件return(1),則輸出結(jié)果為4*3*2*1=24。

36.邏輯關(guān)系邏輯關(guān)系

37.E-R圖E-R圖解析:E-R圖是設(shè)計概念模型的有力工具。

38.filea.dat"r"filea.dat,'r'解析:fopen函數(shù)的調(diào)用方式通常為fopen(文件名,使用文件方式)。本題中要求程序可以打開filea.dat文件,并且是要讀取文件中的內(nèi)容,所以空白處應(yīng)當填入'filea.dat','r'。

39.1a61a6解析:對于指針變量的運算,就是對地址的運算。本題中由于指針指向的是整型變量,所以,使指針變量移動9個位置也就是移動18個字節(jié)。注意,本題是以十六進制輸出的。

40.babcdbabcd解析:c語言中\(zhòng)\0表示字符串的結(jié)束。程序?qū)指針指向字符串“AbabCDcd”的首地址,循環(huán)開始后,若指針當前不是指向字符串結(jié)束標志位,則進入循環(huán)體。循環(huán)中每次檢驗字符串中字母是否在a與z之間,若滿足則將當前值賦于數(shù)組a,最后給數(shù)組添加字符結(jié)束標志。此程序可以篩選出字符串中的小寫字母。

41.A本題主要考查軟件測試的基本知識。軟件測試的步驟可分為單元測試(模塊測試)、集成測試、確認測試和系統(tǒng)測試。

(1)單元測試是針對每個模塊進行的測試,它可從程序的內(nèi)部結(jié)構(gòu)出發(fā)設(shè)計測試用例,多個模塊可以平行、對立地測試。單元測試主要用于發(fā)現(xiàn)詳細設(shè)計和編程時犯下的錯誤。單元測試多采用白盒測試,輔之以黑盒測試。

(2)集成測試是在單元測試的基礎(chǔ)上,根據(jù)模塊結(jié)構(gòu)圖將各個模塊連接起來,必須精心計劃,應(yīng)提交集成測試計劃、集成測試規(guī)格說明和集成測試分析報告。主要目標是發(fā)現(xiàn)與接口有關(guān)的問題。集成測試可以發(fā)現(xiàn)概要設(shè)計時犯的錯誤。

(3)確認測試用于驗證軟件的功能和性能及其他特性是否與用戶的要求一致。確認測試主要用于發(fā)現(xiàn)需求分析時犯下的錯誤,一般使用黑盒法測試,以表明軟件符合需求說明書的要求,應(yīng)該仔細設(shè)計測試用例和測試過程。確認測試必須有用戶參加,或以用戶為主,用戶應(yīng)參與設(shè)計測試用例,通常情況下,主要使用生產(chǎn)中的實際數(shù)據(jù)進行測試,測試數(shù)據(jù)通過用戶接口輸入。

(4)系統(tǒng)測試是將已經(jīng)通過確認測試的軟件,作為整個計算機系統(tǒng)的元素與計算機硬件、外設(shè)和網(wǎng)絡(luò)等其他因素結(jié)合在一起,進行一系列的組裝測試和確認測試。系統(tǒng)測試的目的是通過與系統(tǒng)的需求定義做比較,發(fā)現(xiàn)軟件與系統(tǒng)的定義不符合的地方。系統(tǒng)測試可以發(fā)現(xiàn)問題定義時犯下的錯誤。

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

43.C解析:“int(*ptr)();”說明ptr是一個指向函數(shù)的指針,返回值是整型。*ptr兩邊的括號非常關(guān)鍵,表示*和ptr組合成一個指針變量,然后再和后邊的圃括號結(jié)合,表示該指針變量*ptr是一個指向函數(shù)的指針變量。如果沒有*ptr兩邊的括號,“int*ptr();”表示ptr是個函數(shù),該函數(shù)返回指向整型數(shù)據(jù)的指針。

44.B解析:本題考查循環(huán)嵌套,外層循環(huán)控制每一行的輸出,內(nèi)層循環(huán)的第一個for循環(huán)控制空格的輸出,第二個for循環(huán)控制的輸出。而在第i行,輸出的第一個元素是num[i][i],所以下劃線處應(yīng)填i。

45.B解析:二叉樹有一個性質(zhì):在任意一棵二叉樹中,度為。的結(jié)點(即葉子結(jié)點)總是比度為2的結(jié)點多一個,由于本題中的二叉樹有70個葉子結(jié)點,因此有69個度為2的結(jié)點。

該二叉樹中總的結(jié)點數(shù)為

度為2的結(jié)點數(shù)+度為1的結(jié)點數(shù)+葉子結(jié)點數(shù)=69+80+70=219

46.B解析:C語言規(guī)定標識符只能由字母、數(shù)字和下劃線3種字符組成,且第一個字符必須為字母或下劃線,所以排除C和D。C語言坯規(guī)定標識符不能為C語言的關(guān)鍵字,從而選項A(void是關(guān)鍵字)是錯誤的。

47.A解析:數(shù)據(jù)流圖包括4個方面,即加工(轉(zhuǎn)換)(輸入數(shù)據(jù)經(jīng)加工變換產(chǎn)生輸出)、數(shù)據(jù)流(沿箭頭方向傳送數(shù)據(jù)的通道,一般在旁邊標注數(shù)據(jù)流名)、存儲文件(數(shù)據(jù)源)(表示處理過程中存放各種數(shù)據(jù)的文件)、源和潭(表示系統(tǒng)和環(huán)境的接口,屬系統(tǒng)之外的實體)。不包括選項中的控制流。

48.A解析:在16位編譯系統(tǒng)下,一個int型變量是用16位來存儲的,其占用兩個字節(jié),當執(zhí)行p++之后,相當于p向高位移動了一個存儲單元,也就是兩個字節(jié)。因此,本題的答案為選項A)。

49.D數(shù)據(jù)的邏輯結(jié)構(gòu)是指數(shù)據(jù)元素之間的邏輯關(guān)系的數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)的存儲結(jié)構(gòu)則是數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機中的物理實現(xiàn),有時也稱作數(shù)據(jù)的物理結(jié)構(gòu)。兩者的區(qū)別是數(shù)據(jù)的邏輯結(jié)構(gòu)只涉及到數(shù)據(jù)之間抽象的數(shù)學關(guān)系。存儲結(jié)構(gòu)則涉及到如何在計算機中通過對數(shù)據(jù)的物理存儲進行組織來表達數(shù)據(jù)元素之間的邏輯關(guān)系。比如在線性表的順序存儲中是利用物理存儲空間上的連續(xù)性來表達線性表中數(shù)據(jù)的前后件關(guān)系;在線性表的鏈式存儲中是通過指針域構(gòu)成的邏輯鏈條來表達數(shù)據(jù)的前后件關(guān)系。一般的,一種數(shù)據(jù)的邏輯結(jié)構(gòu)對應(yīng)的物理實現(xiàn),即數(shù)據(jù)的存儲結(jié)構(gòu)不止一種。因此選項D正確。

50.A解析:在數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)語言中,數(shù)據(jù)定義語言負責數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建。

51.C解析:模塊的獨立程序是評價設(shè)計好壞的重要度量標準。衡量軟件的模塊獨立性使用耦合性和內(nèi)聚性這兩個定性的度量標準。

52.D解析:在對二維數(shù)組元素賦初值時,可以只對部分元素賦初值,未賦初值的元素自動取0;C語言規(guī)定,對于二維數(shù)組,只可以省略第1個方括號中的常量表達式,而不能省略第2個方括號中的常量表達式;賦的初值不能多于事先定義好的數(shù)組元素個數(shù)。

在選項D)賦值表達式中,對每一維的元素賦初值應(yīng)用{},而不是()。

53.A解析:在C語言中,應(yīng)當在定義函數(shù)時指定函數(shù)值的類型。凡不加類型說明的函數(shù),默認按整型處理。在定義函數(shù)時對函數(shù)值說明的類型一般應(yīng)該和return語句中的表達式類型一致。如果函數(shù)值的類型和return語句中的表達式類型不一致,則以函數(shù)值的類型為準,由系統(tǒng)自動進行轉(zhuǎn)換,即函數(shù)類型決定返回值的類型。

54.D解析:p為指針型變量,在輸入函數(shù)的地址列表中不用&,當給指針變量賦值時是取變量的地址賦給指針變量,&為取地址運算符,因此只有選項D正確。

55.C解析:函數(shù)f()有3個形式參數(shù)f1、f2和x,其中f1、f2是指向函數(shù)的指針變量。在main()函數(shù)中執(zhí)行了函數(shù)調(diào)用“f(fa,fb,2)”,從而使f()的形式參數(shù)f1指向了fa,形式參數(shù)f2指向了fb,把實參2傳給了行參變量x。函數(shù)f()中的return語句中的相當于“fb(2)-fa(2)”(fb(2)的返回值為2*2*2=8,fa(2)返回值為2*2=4)即(8-4),值為4.函數(shù)f()執(zhí)行后把返回值4賦給了i,輸出i的值是4.所以4個選項中C正確。

56.A解析:結(jié)構(gòu)體node的數(shù)據(jù)成員data的類型為char型,而s為傳入的字符串.

57.B解析:程序中定義了數(shù)組a[10],則其元素的下標范圍為0~9,而B選項中的a[10]所表示的元素已經(jīng)超出a數(shù)組元素的范圍,故應(yīng)該選擇B。

58.C解析:A、B定義的數(shù)組長度小于花括號中數(shù)據(jù)的個數(shù),C是將數(shù)字字符的ASCII碼值作為整數(shù)賦給整型數(shù)組的各元素,D是定義二維數(shù)組,第二維的長度不能缺省。

59.B解析:本題考查函數(shù)返回值的知識。函數(shù)返回值是通過函數(shù)中的return語句獲得,return語句中的表達式的值就是所求函數(shù)的值。此表達式的值必須與函數(shù)首部所說明的類型一致。若類型不一致,則以函數(shù)值的類型為準,由系統(tǒng)進行轉(zhuǎn)換。

60.C解析:選項A)char*a;*a=“china”應(yīng)改為a=china;,選項B)應(yīng)該是charstr[6];D)項表述方法有錯誤。

61.A本題考查按位與運算,按位與就是相同為1,不同為0,把x=011050化成二進制為0001001000101000,把01252化成二進制為0000001010101010,兩者相與得0000001000101000。

62.C數(shù)據(jù)管理

溫馨提示

  • 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

提交評論