2021-2022年陜西省渭南市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第1頁(yè)
2021-2022年陜西省渭南市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第2頁(yè)
2021-2022年陜西省渭南市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第3頁(yè)
2021-2022年陜西省渭南市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第4頁(yè)
2021-2022年陜西省渭南市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩32頁(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ì)預(yù)測(cè)試題(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.用樹形結(jié)構(gòu)來(lái)表示實(shí)體之間聯(lián)系的模型稱為()。

A.關(guān)系模型B.層次模型C.網(wǎng)狀模型D.數(shù)據(jù)模型

2.

3.設(shè)x=011050,則x=x&01252的值是()。A.0000001000101000

B.1111110100011001

C.0000001011100010

D.1100000000101000

4.下列關(guān)于軟件測(cè)試的目的和準(zhǔn)則的敘述中,正確的是()

A.軟件測(cè)試是證明軟件沒有錯(cuò)誤

B.主要目的是發(fā)現(xiàn)程序中的錯(cuò)誤

C.主要目的是確定程序中錯(cuò)誤的位置

D.測(cè)試最好由程序員自己來(lái)檢查自己的程序

5.對(duì)線性表進(jìn)行折半查找時(shí),必須要求線性表()。

A.順序方式存儲(chǔ)B.鏈?zhǔn)椒绞酱鎯?chǔ)C.以順序方式存儲(chǔ),且結(jié)點(diǎn)按關(guān)鍵字有序排列D.以鏈?zhǔn)椒绞酱鎯?chǔ),且結(jié)點(diǎn)按關(guān)鍵字有序排列

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

A.系統(tǒng)結(jié)構(gòu)圖B.程序流程圖C.PAD圖D.數(shù)據(jù)流圖(DFD圖)

7.若定義下列結(jié)構(gòu)體,結(jié)構(gòu)體變量p的出生年份賦值正確的語(yǔ)句是()。structst{intx;inty;intz;}structworker{charname[20];charsex;structstbirth;}p;

A.x=1987B.birth.x=1987;C.p.birth.x=1987;D.p.x=1987;

8.命令“DIRA:*.*/W”的功能是()

A.寬行顯示A盤當(dāng)前目錄的所有文件

B.寬行顯示A盤所有目錄的所有文件

C.寬行顯示A盤的所有目錄

D.顯示A盤中的文件名,每滿一屏后停頓一下

9.

10.若某鏈表最常用的操作是在最后一個(gè)結(jié)點(diǎn)之后插入一個(gè)結(jié)點(diǎn)或刪除最后一個(gè)結(jié)點(diǎn)。則采用()存儲(chǔ)方式最節(jié)省運(yùn)算時(shí)間。

A.單鏈表B.雙鏈表C.單循環(huán)鏈表D.帶頭結(jié)點(diǎn)的雙循環(huán)鏈表

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

A.程序設(shè)計(jì)的任務(wù)就是編寫程序代碼并上機(jī)調(diào)試

B.程序設(shè)計(jì)的任務(wù)就是確定所用數(shù)據(jù)結(jié)構(gòu)

C.程序設(shè)計(jì)的任務(wù)就是確定所用算法

D.以上三種說(shuō)法都不完整

12.

13.下列程序的輸出結(jié)果是()。#include<stdio.h>main{structst{inty,x,z;};union{longi;intj;chark;}un;printf("%d,%d\n",sizeof(structst),sizeof(un))}A.6,2B.6,4C.8,4D.8,6

14.下列關(guān)于線性表、棧和隊(duì)列的敘述,錯(cuò)誤的是()。

A.線性表是給定的n(n必須大于零)個(gè)元素組成的序列

B.線性表允許在表的任何位置進(jìn)行插入和刪除操作

C.棧只允許在一端進(jìn)行插入和刪除操作

D.隊(duì)列允許在一端進(jìn)行插入在另一端進(jìn)行刪除

15.有以下程序:#include<stdio.h>#include<string.h>main(){charstr[][10]={“One”,“Three”,“Five”},*p=str[0];printf(“%s,”,p+10);printf(“%d\n”,strlen(p+=10));}程序運(yùn)行后的輸出結(jié)果是()。

A.Three,4B.出錯(cuò)C.Three,5D.Five,5

16.下列代碼的復(fù)雜度是多少?如果多于1個(gè)答案正確,選擇最小的那個(gè)。()A.O(n*m*m)B.O(n*log(m)*m)C.O(n+m+m)D.O(n*m)

17.給定數(shù)列(541,132,984,746,518,181,946,314,205,827)按照從小到大的順序排列,采用冒泡排序時(shí),第一趟掃描結(jié)果是()

A.(541,132,827,746,518,181,946,314,205,984)

B.(205,132,314,181,518,746,946,984,541,827)

C.(132,541,746,984,181,518,314,946,205,827)

D.(132,541,746,518,181,946,314,205,827,984)

18.下列標(biāo)識(shí)符不是關(guān)鍵字的是()。

A.breakB.charC.SwithchD.return

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

A.一個(gè)算法的空間復(fù)雜度打,則其時(shí)間復(fù)雜度也必定大

B.一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度也必定小

C.一個(gè)算法的時(shí)間復(fù)雜度大,則其空間復(fù)雜度也必定小

D.算法的時(shí)間復(fù)雜度與空間復(fù)雜度沒有直接相關(guān)

20.

二、2.填空題(20題)21.以下程序運(yùn)行后的輸出結(jié)果是______。

intf(inta[],intn)

{

if(n>=l)

returnf(a,n-1)+a[n-1];

else

return0;

}

main{)

{

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

s=f(aa,5);

printf{'%d\n",s);

}

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

main()

{inty=9;

for(;y>0;y--)

if(y%3==0)

{printf("%d",--y);continue;}}

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

voidfun()

{staticinta=0;

a+=2;printf("%d",a);

}

main()

{intcc;

for(cc=1;cc<4;cc++)fun();

printf("\n");

}

24.下列程序?qū)⒍S數(shù)組a的行和列元素互換后存放到另一個(gè)二維數(shù)組b中。請(qǐng)?zhí)羁铡?/p>

main()

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

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

{for(j=0;j<3;j++)

}

}

25.已知head指向一個(gè)帶頭結(jié)點(diǎn)的單向鏈表,鏈表中每個(gè)結(jié)點(diǎn)包含數(shù)據(jù)域(data)和指針域(next),數(shù)據(jù)域?yàn)檎汀R韵潞瘮?shù)求出鏈表中所有鏈結(jié)點(diǎn)數(shù)據(jù)域的和值,作為函數(shù)值返回。請(qǐng)?jiān)谙聞澗€內(nèi)填入正確內(nèi)容。

{intdata;structlink*next;}

main()

{structlink*head;

sum(head);

┆}

sum(【】);

{structlink*p;ints=0;

p=head->next;

while(p){s+=p->data;p=p->next;}

return(s);}

26.對(duì)于圖書管理數(shù)據(jù)庫(kù),將圖書表中“人民郵電出版社”的圖書的單價(jià)漲價(jià)5%。請(qǐng)對(duì)下面的SQL語(yǔ)句填空:UPDATE圖書______WHERE出版單位="人民郵電出版社"

27.數(shù)據(jù)的邏輯結(jié)構(gòu)有線性結(jié)構(gòu)和______兩大類。

28.已有文本文件test.txt,其中的內(nèi)容為:Hello,everyone!。以下程序中,文件test.txt已正確為“讀”而打開,由此文件指針fr指向文件,則程序的輸出結(jié)果是______。

#include<stdio.h>main(){FILE*fr;charstr[40];

fgets(str,5,fr);

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

fclose(fr);}

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

main()

{

floata=1,b;

b=++a*++a;

printf("%f\n",b);

}

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

#include<stdio.h>

voidswap(int*a,int*b)

{int*t;

t=a;a=b;b=t;

}

main()

{inti=3,j=5,*p=&i,*q=&j;

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

}

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

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

#include<stdio.h>

main()

{intfun();fun();}

fun()

{staticinta[3]={0,1,2};

inti;

for(i=0;i<3;i++)a[i]+=a[i];

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

printf("\n");}

33.若有如下程序:

voidsub()

{staticintx=6;

x/=2;printf("%d",x);}

main()

{intm;

for(m=0;m<=2;m++)sub();}

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

34.用樹型結(jié)構(gòu)表示實(shí)體類型及實(shí)體間聯(lián)系的數(shù)據(jù)模型稱為【】。

35.閱讀下列程序,則程序的輸出結(jié)果為【】。

#include"stdio.h"

structty

{intdata;

charc;};

main()

{structtya={30,'x'};

fun(a);

printf("%d%c",a.data,a.c);}

fun(structtyb)

{b.data=20;

b.c='y';}

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

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

#include<stdio.h>

main()

{FILE*fp;inta[10]={1,2,3,0,0},i;

fp=fopen("d2.dat","wb");

fwtite(a,sizeof(int),5,fp);

fwrite(a,sizeof(int),5,fp);

fclose(fp);

fp=fopen("d2.dat","rb");

fread(a,sizeof(int),10,fp);

fclose(fp);

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

}

38.下面程序把從終端讀入的10個(gè)整數(shù)以二進(jìn)制方式寫入一個(gè)名為bi.dat的新文件中。

#include<stdio.h>

FILE*fp;

main()

{inti,j;

if(fp=fopen(【】)==NULL)exit(0);

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

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

fwrite(&j,sizeof(int),1,【】;

}

fclose(fp);

}

39.若從鍵盤輸入58,則以下程序輸出的結(jié)果是【】。

main()

{inta;

scanf("%d",&a);

if(a>50)printf("%d",a);

if(a>40)printf("%d",a);

if(a>30)printf("%d",a);}

40.若變量a,b已定義為int類型并賦值21和55,要求用printf函數(shù)以a=21,b=55的形式輸出,請(qǐng)寫出完整的的輸出語(yǔ)句()。

三、1.選擇題(20題)41.有以下程序main(){inti=0,s=0;for(;;){if(i==3‖i==5)continue;if(i==6)break;i++;s+=i};printf("%d\n",s)}程序運(yùn)行后的輸出結(jié)果是

A.10B.13C.21D.程序進(jìn)入死循環(huán)

42.以下能正確定義一維數(shù)組的選項(xiàng)是______。

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

B.chara[]={0,1,2,3,4,5);

C.chara={'A','B','C'};

D.inta[5]="0123";

43.以下程序的輸出結(jié)果是______。main(){inti,a[10];for(i=9;i>=0;i-)a[i]=10-i;printf("%d%d%d",a[2],a[5],a[8]);}

A.258B.741C.852D.369

44.有以下程序:#include<stdio.h>main(){intm=3,n=4,x;x=-m++;x=x+8/++n;prinff("%d\n",x);}程序運(yùn)行后的輸出結(jié)果是()。

A.3B.5C.-1D.-2

45.有以下程序:#include<stdio.h>point(char*p){p+=3;}main()charb[4]={'a','b','c','d'},*p=b;point(p);printf("%c\n",*p);

A.aB.bC.cD.d

46.下列有關(guān)數(shù)據(jù)庫(kù)的描述,正確的是______。

A.數(shù)據(jù)庫(kù)是一個(gè)DBF文件B.數(shù)據(jù)庫(kù)是一個(gè)關(guān)系C.數(shù)據(jù)庫(kù)是一個(gè)結(jié)構(gòu)化的數(shù)據(jù)集合D.數(shù)據(jù)庫(kù)是一組文件

47.當(dāng)執(zhí)行下面兩個(gè)語(yǔ)句后,輸出的結(jié)果為()charcl=97,c2=98;printf("%d%c",c1,c2);

A.9798B.97bC.a98D.ab

48.下面程序的輸出結(jié)果為______。#include<string.h>main(){charp1[7]="abc",p2[]="ABC",str[50]="xyz";strcpy(str,strcat(p1,p2));printf("%s",str);}

A.xyzabcABCB.abcABCC.xyzabcD.xyzABC

49.下列敘述錯(cuò)誤的是()。

A.在C語(yǔ)言中的保留字必須小寫

B.變量的存儲(chǔ)類型決定了變量的存儲(chǔ)位置及其生存期

C.宏定義以#define開頭,行末必須加分號(hào)

D.在C語(yǔ)言中的注釋行可以出現(xiàn)在程序的任何位置

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

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)};

51.有以下程序:voidf(intb[]){inti;for(i=2;i<6;i++)b[i]*=2;}main(){inta[10]={1,2,3,4,5,6,7,8,9,10},i;f(A);for(i=0;i<10;i++)printf("%d,",a[i]);}程序運(yùn)行后的輸出結(jié)果是()。

A.1,2,3,4,5,6,7,8,9,10,

B.1,2,6,8,10,12,7,8,9,10,

C.1,2,3,4,10,12,14,16,9,10,

D.1,2,6,8,10,12,14,16,9,10,

52.有以下程序:main(){inti,t[][3]={9,8,7,6,5,4,3,2,1};for(i=0;i<3;i++)printf("%",t[2-i][i]);}程序執(zhí)行后的輸出結(jié)果是()。

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

53.下列數(shù)據(jù)結(jié)構(gòu)中,能用二分法進(jìn)行查找的是()。

A.順序存儲(chǔ)的有序線性表B.線性鏈表C.二叉鏈表D.有序線性鏈表

54.若定義staticinta[2][2]={1,2,3,4},則a數(shù)組的各數(shù)組元素分別為______。

A.a[0][0]=1、a[0][1]=2、at[1][0]=3、a[1][1]=4

B.a[0][0]=1、a[0][1]=3、a[1][0]=2、a[1][1]=4

C.a[0][0]=4、a[0][1]=3、a[1][0]=2、s[1][1]=1

D.a[0][0]=4、a[0][1]=2、a[1][0]=3、a[1][1]=1

55.當(dāng)說(shuō)明一個(gè)結(jié)構(gòu)體變量時(shí)系統(tǒng)分配給它的內(nèi)存是()。

A.各成員所需要內(nèi)存量的總和

B.結(jié)構(gòu)中第一個(gè)成員所需的內(nèi)存量

C.成員中占內(nèi)存最大者所需的容量

D.結(jié)構(gòu)中最后一個(gè)成員所需要的內(nèi)存量

56.定義int*swap()指的是______。

A.—個(gè)返回整型值的函數(shù)swap()

B.—個(gè)返回指向整型值指針的函數(shù)swap()

C.—個(gè)指向函數(shù)swap()的指針,函數(shù)返回一個(gè)整型值

D.以上說(shuō)法均錯(cuò)

57.設(shè)x,y和z都是int型變量,且x=3,y=4,z=5,則下面表達(dá)式中,值為0的表達(dá)式是

A.x&&y

B.x<=y

C.x||++y&&y-z

D.!(x<y&&!z||1)

58.以下程序運(yùn)行后,輸出結(jié)果是______。main(){char*d[]={"ab","cde"};printf("%x",d[1]);}

A.cdeB.字符c的AScII碼值C.字符c的地址D.出錯(cuò)

59.結(jié)構(gòu)化分析方法是面向()的自頂向下、逐步求精進(jìn)行需求分析的方法

A.對(duì)象B.數(shù)據(jù)結(jié)構(gòu)C.數(shù)據(jù)流D.目標(biāo)

60.有以下程序:#defmeP3voidP(intx){return(p*x*x);}main(){pritnf("%d\n",F(3+5);}程序運(yùn)行后的輸出結(jié)果是()。

A.192B.29C.25D.編譯出錯(cuò)

四、選擇題(20題)61.有以下程序

62.

63.設(shè)有定義:intX=2;,以下表達(dá)式中,值不為6的是()。

A.2*x.x+=2B.x++,2*xC.x*=(1+x)D.x*!x+1

64.

65.

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

A.數(shù)據(jù)庫(kù)系統(tǒng)

B.文件系統(tǒng)

C.人工管理

D.數(shù)據(jù)項(xiàng)管理

67.在以下選項(xiàng)中,能IE確聲明數(shù)組并進(jìn)行初始化的語(yǔ)句是()。

A.str=newDimension(1,2,3);

B.str=newdimension(1,2,3);

C.str:newArray(1,2,3);

D.str=newarray(1,2,3);

68.

有以下程序:

main

{inti,n=0:

for(i=2;i<5;i++)

{do

{if(i%3)continue:

n++:

}while(!i);

n++:

}

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

}

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

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

69.以下程序段中的變量已正確定義

70.有下列程序:main{inty=10;do{y--;}while(--y);printf("%d\n",--y);)當(dāng)執(zhí)行程序時(shí),輸出的結(jié)果是()。A.-1B.1C.4D.0

71.數(shù)據(jù)庫(kù)管理系統(tǒng)是()。

A.操作系統(tǒng)的一部分B.在操作系統(tǒng)支持下的系統(tǒng)軟件C.一種編譯系統(tǒng)D.一種操作系統(tǒng)

72.若執(zhí)行以下程序時(shí)從鍵盤上輸入9,則輸出結(jié)果是()。main(){intn;scanf(”%d”,&n);if(n++<10)printf(”/%d\n”,n);elseprintf(”%d\n”,n--);}A.11B.10C.9D.8

73.設(shè)計(jì)軟件結(jié)構(gòu)是軟件生命周期的()。

A.軟件定義期B.軟件開發(fā)期C.軟件維護(hù)期D.以上3個(gè)都不是

74.

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

A.用E—R圖能夠表示實(shí)體集間一對(duì)一的聯(lián)系、一對(duì)多的聯(lián)系和多對(duì)多的聯(lián)系

B.用E—R圖只能表示實(shí)體集之間一對(duì)一的聯(lián)系

C.用E—R圖只能表示實(shí)體集之間一對(duì)多的聯(lián)系

D.用E—R圖表示的概念數(shù)據(jù)模型只能轉(zhuǎn)換為關(guān)系數(shù)據(jù)模型

76.(53)已知二叉樹后序遍歷序列是dabec,中序遍歷序列是debac,它的前序遍歷序列是()

A.cedba

B.acbed

C.decab

D.deabc

77.以下是正確C語(yǔ)言實(shí)型常量的是()。

A..e—1B.e一1C.一1eD.1e一1

78.以下程序的輸出結(jié)果為

main()

{

char*alpha[6]={"ABCD","EFGH","IJKL","MNOP","QRST","UVWX"};

char**p;

inti;

p=alpha;

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

printf("%s",p[i]);

printf("\n");

}

A.ABCDEFGHIJKLB.ABCD

C.ABCDEFGHIJKLMNOPD.AEIM

79.

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

main

{doubled=3.2;intx,Y;

x=1.2;v=(x+3.8)/5.0;

printf("%d\n",d*y);

}

A.3B.3.2C.0D.3.07

80.

五、程序改錯(cuò)題(1題)81.下列給定的程序中,函數(shù)proc的功能是:判斷字符ch是,與str所指字符串中的某個(gè)字符相同;若相同,則什么也不做,若不同,則將其插在串的最后。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。

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

試題程序:

#include<stdlib.h>

#include<conio.h>

#include<stdio.h>

#include<string.h>

//****found****

voidproc(charstr,charch)

{

while(*str&&*str!=ch)str++;

//****found****

if(*str==ch)

{str[0]=ch;

//****found****

str[1]=0:

}

}

voidmain

{

charstr[81],ch;

system("CLS");

printf("\nPleaseenterastring:");

gets(str);

printf("\nPleaseenterthecharacterto

search:");

ch=getchar;

proc(str,ch);

printf("\nTheresultis%s\n",str);

}

六、程序設(shè)計(jì)題(1題)82.

參考答案

1.B解析:在數(shù)據(jù)庫(kù)系統(tǒng)中,由于采用的數(shù)據(jù)模型不同,相應(yīng)的數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)也不同。目前常用的數(shù)據(jù)模型有3種:層次模型、網(wǎng)狀模型和關(guān)系模型。在層次模型中,實(shí)體之間的聯(lián)系是用樹結(jié)構(gòu)來(lái)表示的,其中實(shí)體集(記錄型)是樹中的結(jié)點(diǎn),而樹中各結(jié)點(diǎn)之間的連線表示它們之間的關(guān)系。所以,本題的正確答案是B。

2.A

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

4.BB)【解析】軟件側(cè)試的目的:

\n①軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程;

\n②一個(gè)好的測(cè)試用例能夠發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯(cuò)誤;

\n⑧一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯(cuò)誤。

\n軟件側(cè)試的準(zhǔn)則:

\n①所有測(cè)試都應(yīng)追溯到需求;

\n②嚴(yán)格執(zhí)行測(cè)試計(jì)劃,排除測(cè)試的隨意性;

\n③充分注意測(cè)試中的群集現(xiàn)象:

\n④程序員應(yīng)避免檢查自己的程序;

\n⑤窮舉測(cè)試不可能;

\n⑥妥善保存測(cè)試計(jì)劃、測(cè)試用例、出錯(cuò)統(tǒng)計(jì)和最終分析報(bào)告,為維護(hù)提供方便。

5.C

6.D【答案】:D

【知識(shí)點(diǎn)】:軟件設(shè)計(jì)中使用的工具

【解析】:數(shù)據(jù)流圖是結(jié)構(gòu)化分析方法中使用的工具,它以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動(dòng)和處理的過程,由于它只反映系統(tǒng)必須完成的邏輯功能,所以它是一種功能模型,是在可行性研究階段用到的。PAD圖是問題分析圖(ProblemAnalysisDiagram)的英文縮寫,是在詳細(xì)設(shè)計(jì)階段用到的。系統(tǒng)結(jié)構(gòu)圖是對(duì)軟件系統(tǒng)結(jié)構(gòu)的總體設(shè)計(jì)的圖形顯示,是在概要設(shè)計(jì)階段用到的。程序流程圖是對(duì)程序流程的圖形表示,故選D。

7.C解析:本題主要考查怎樣為嵌套定義的結(jié)構(gòu)中的成員賦值:由于worker中的birth是一個(gè)st型的結(jié)構(gòu),在給birth賦值時(shí),不能將birth作為一個(gè)整體,要用“.”運(yùn)算再深入一層訪問到最基本的成員x、y、z。

8.A

9.D

10.D

11.D\n程序設(shè)計(jì)是指設(shè)計(jì)、編制、調(diào)試程序的方法和過程。內(nèi)容涉及有關(guān)的基本概念、工具、方法以及方法學(xué)等。程序設(shè)計(jì)通常分為問題建摸、算法設(shè)計(jì)、編寫代碼和編譯調(diào)試4個(gè)階段。

\n

12.B

13.B本題主要考查結(jié)構(gòu)和聯(lián)合內(nèi)存使用的一些區(qū)別:結(jié)構(gòu)中每個(gè)成員相互獨(dú)立,一個(gè)結(jié)構(gòu)所占內(nèi)存空間的大小是結(jié)構(gòu)中每個(gè)成員所占內(nèi)存空間大小的總和;聯(lián)合所占用內(nèi)存空間是指最長(zhǎng)的成員占用的空間。

14.A解析:線性表的插入和刪除允許在任何位置進(jìn)行,所以B選項(xiàng)的說(shuō)法是正確的;棧的操作只允許在棧頂進(jìn)行,因此,棧稱為先進(jìn)后出表(FILO,FirstInLastOut),或“后進(jìn)先出”表(LIFO,LastInFirstOut),所以C選項(xiàng)說(shuō)法也是正確的;隊(duì)列(queue)是只允許在一端刪除,在另一端插入的順序表,允許刪除的一端叫做隊(duì)頭(front),允許插入的一端叫做隊(duì)尾(rear),因此隊(duì)列亦稱作先進(jìn)先出(FIFO,FirstInFirstOut)的線性表,或后進(jìn)后出(LILO,LastInLastOut)的線性表。所以D選項(xiàng)說(shuō)法也是正確的。

15.Cmain函數(shù)定義一個(gè)二維字符數(shù)組str,它包含3個(gè)字符串,每個(gè)字符串存放在一個(gè)長(zhǎng)度為10的一維數(shù)組中。指針變量P指向str[0],即第1個(gè)字符串“One”。由于“One”存放在長(zhǎng)度為10的一維數(shù)組中,因此P+10指向下一個(gè)字符串“Three”,長(zhǎng)度為5。故本題答案為C選項(xiàng)。

16.D

17.D

18.C在C語(yǔ)言中,字母區(qū)分大小,所以break、char、return、switch都是C語(yǔ)言中的關(guān)鍵字,而Swithch不是。

19.D

20.A

21.1515解析:在函數(shù)f()中只有一條if語(yǔ)句,如果n不小于1,則返回f(a,n-1)+a[n-1);,否則返回0。所以f(aa,5)返回f(aa,4)+aa[4],而f(aa,4)返回f(aa,3)+aa[3]……直到f(aa,0)返回0.故f(aa,5)實(shí)際返回值是0+aa[1]+aa[2]+aa[3]+aa[4]+aa[5],所以本題最終輸出15。

22.852852解析:循環(huán)前,變量y的值為9,其中的循環(huán)語(yǔ)句在y大于0情況下循環(huán),每次循環(huán)后y的值減1。循環(huán)體是當(dāng)y能被3整除時(shí)輸出表達(dá)式--y,輸出的是減1后的y值。這樣,第一次循環(huán)因y為9,能被3整除,輸出8,y也變成8。又經(jīng)兩次循環(huán),y的值變?yōu)?,又讓y減1變成5,并輸出5;又經(jīng)兩次循環(huán),y的值變成3,讓y減1變成2,輸出2;再經(jīng)兩次循環(huán)后,y的值變成0,結(jié)束循環(huán)。所以程序輸出852。

23.246

24.b[j][i]=a[i][j]b[j][i]=a[i][j]解析:本題考查二維數(shù)組的基本知識(shí)。它是要將一個(gè)二維數(shù)組,的行和列元素互換后存放到另一個(gè)二維數(shù)組b中,只要將數(shù)組a的行標(biāo)和列標(biāo)互換,然后賦給數(shù)組b即可。

25.structlink*headstructlink*head解析:因?yàn)楸绢}中是用結(jié)構(gòu)體變量構(gòu)成了鏈表,所以要從鏈表頭節(jié)點(diǎn)逐個(gè)節(jié)點(diǎn)的引用結(jié)構(gòu)體的數(shù)據(jù)域,需要有個(gè)指向結(jié)構(gòu)體變量的指針依次指向各個(gè)節(jié)點(diǎn),即p=p->next,而用指針引用結(jié)構(gòu)體成員數(shù)據(jù)的方法為:p->data。注意:結(jié)構(gòu)體變量和共用體變量之間的區(qū)別為聯(lián)系。

26.更新表中元組的值,使用UPDATE命令,一次可以更新表中的一個(gè)或多個(gè)屬性值。UPDATE短語(yǔ)之后指定更新數(shù)據(jù)所屬的表,將新的屬性值或表達(dá)式賦值給對(duì)應(yīng)的屬性名(SET單價(jià)=單價(jià)*1.05),并置于SET短語(yǔ)之后。要求對(duì)人民郵電出版社的圖書漲5%,需要用WHERE短語(yǔ)對(duì)元組進(jìn)行限制,即對(duì)符合條件的元組進(jìn)行更新。\r\n\r\n

27.非線性結(jié)構(gòu)非線性結(jié)構(gòu)

28.HellHell解析:該函數(shù)有3個(gè)參數(shù),第三個(gè)參數(shù)是文件指針指向要讀取數(shù)據(jù)的文件,第二個(gè)參數(shù)是一個(gè)整數(shù)(假設(shè)為n),表示從文件中讀n-1個(gè)字符并在其后加一個(gè)'\\0',第一個(gè)參數(shù)為存放讀取的字符串的內(nèi)存區(qū)的起始地址,讀取得數(shù)據(jù)保存在其中。可見本題的輸出結(jié)果為:Hell。

29.66解析:++的優(yōu)先級(jí)高于*,先作自加運(yùn)算,b=++a*++a=2.0*3.0=6.0。b按實(shí)型輸出6.000000。

30.3535解析:函數(shù)swap(int*a,int*b)的功能是實(shí)現(xiàn)*a和*b中兩個(gè)數(shù)據(jù)的交換,在主函數(shù)中調(diào)用swap(p,q)后,形參指針變量a和b分別指向i和j,在swap(int*a,int*b)執(zhí)行完后,指針變量a和b分別指向j和i,而指針變量p,q所指向變量的值沒有發(fā)生變化,所以輸出結(jié)果為35。

31.O(2)

32.0240480,2,4\r\n0,4,8解析:本題主要考查了for循環(huán)語(yǔ)句的使用以及靜態(tài)局部變量的特點(diǎn)。

33.310

34.層次模型用樹型結(jié)構(gòu)表示實(shí)體類型及實(shí)體間聯(lián)系的數(shù)據(jù)模型稱為層次模型,用有向圖結(jié)構(gòu)表示實(shí)體類型及實(shí)體間聯(lián)系的數(shù)據(jù)模型稱為網(wǎng)狀模型,用二維表格結(jié)構(gòu)表示實(shí)體及其聯(lián)系的數(shù)據(jù)模型稱為關(guān)系模型。

35.30x30x解析:本題的參數(shù)傳遞屬于值傳遞,所以函數(shù)內(nèi)不能改變調(diào)用函數(shù)中的數(shù)據(jù)。

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

37.12300123001,2,3,0,0,1,2,3,0,0,解析:本題考查文件讀寫函數(shù)fread和fwrite的用法。fwrite函數(shù)將數(shù)組a的前5個(gè)元素輸出到文件fp中兩次,共10個(gè)字節(jié),再調(diào)用fread函數(shù)從文件fp中讀取這10個(gè)字節(jié)的數(shù)據(jù)到數(shù)組a中,此時(shí)數(shù)組a的內(nèi)容就變?yōu)閧1,2,3,0,0,1,2,3,0,0},最后的輸出結(jié)果為“1,2,3,0,0,1,2,3,0,0”。

38."bi.dat"fp'bi.dat'\r\nfp解析:打開文件函數(shù)fopen的參數(shù)是文件名,因此有fopen('bi.dat');而寫文件的參數(shù)是文件指針,因此有fwrite(&j,sizeof(int),1,fp);

39.585858585858解析:本題考查對(duì)if語(yǔ)句的掌握,當(dāng)輸入58以后,程序中的3個(gè)if語(yǔ)句都成立,所以分別輸出58。

40.printf(“a=%db=%d”aB);printf(“a=%d,b=%d”,a,B);解析:printf函數(shù)的一般格式為:“printf(格式控制,輸出表列)”。

41.D解析:本題考核的知識(shí)點(diǎn)是for循環(huán),continue語(yǔ)句和break語(yǔ)句的運(yùn)用。程序中for循環(huán)中省略了判斷退出循環(huán)的表達(dá)式,for循環(huán)將由里面的break語(yǔ)句控制是否結(jié)束循環(huán),第一次循環(huán),第一條if語(yǔ)句后面括號(hào)里的表達(dá)式的值為假,所以該if語(yǔ)句不被執(zhí)行,執(zhí)行下面的第二條語(yǔ)句,此時(shí)該if語(yǔ)句表達(dá)式的值為假,所以該if語(yǔ)句也不執(zhí)行,執(zhí)行下面的語(yǔ)句,i++、s+=i,執(zhí)行完畢后i的值為1,s的值為1,如此循環(huán),直到第三次之后i,s的值都為3,繼續(xù)第四次循環(huán),顯然這時(shí)滿足第一條if語(yǔ)句的,執(zhí)行后面的continue;該次循環(huán)結(jié)束從頭開始下次循環(huán),而i的值為3一直沒有改變,所以第一條語(yǔ)句始終要執(zhí)行,因此for循環(huán)將一直循環(huán)下去,所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。

42.B解析:C語(yǔ)言一維數(shù)組的定義有兩種方式:一是指定數(shù)組長(zhǎng)度,如選項(xiàng)A“inta[5]={0,1,2,3,4,5};”,但此定義的賦初值個(gè)數(shù)為6,多于數(shù)組長(zhǎng)度,是錯(cuò)誤的。因?yàn)榻o數(shù)組賦初值,初值個(gè)數(shù)只能小于或等于數(shù)組長(zhǎng)度。二是不指定數(shù)組長(zhǎng)度,由賦初值的初值個(gè)數(shù)決定數(shù)組的長(zhǎng)度,如選項(xiàng)B的“chara[]={0,1,2,3,4,5};”,初值個(gè)數(shù)為6,因此數(shù)組長(zhǎng)度為6。所以能正確定義一維數(shù)組。選項(xiàng)C的定義中a是一個(gè)字符變量,不能正確定義一維數(shù)組。選項(xiàng)D“inta[5]=“0123”;”給int型數(shù)組賦字符串初值,顯然是錯(cuò)誤的。

43.C解析:在本題運(yùn)行時(shí)主要注意的是當(dāng)i=9時(shí),a[i]=10-9=1;i=8時(shí),a[i]=10-8=2;i=7時(shí),a[i]=10-7=3;……依此類推,直到i=0時(shí),a[i]=10-0=10;此時(shí),i的值已變?yōu)?1,判斷for的循環(huán)條件,不成立,然后輸出a[2],a[5],a[8],分別為8,5,2。

44.D解析:程序中x=-m++執(zhí)行后x=-3,執(zhí)行x=x+8/++n相當(dāng)于執(zhí)行x=-3+8/5,即n先增加1,再代入表達(dá)式運(yùn)算,結(jié)果為-2。

45.A解析:C函數(shù)的參數(shù)傳遞方式采用按值傳遞,不能通過調(diào)用函數(shù)改變形參指針本身的值,只能改變指針?biāo)缸兞康闹?。調(diào)用point函數(shù)時(shí),將實(shí)參指針p的值(b數(shù)組的首地址)傳給了形參指針P,P+=3運(yùn)算使形參指針指向字符d,但并不能改變main函數(shù)中p的值,所以本題正確答案應(yīng)該是選項(xiàng)A)。

46.C解析:數(shù)據(jù)庫(kù)(Database,簡(jiǎn)稱DB)是數(shù)據(jù)的集合,它具有統(tǒng)一的結(jié)構(gòu)形式并存放于統(tǒng)一的存儲(chǔ)介質(zhì)內(nèi),是多種應(yīng)用數(shù)據(jù)的集成,并可被各個(gè)應(yīng)用程序所共享。數(shù)據(jù)庫(kù)中的數(shù)據(jù)具有“集成”、“共事”之特點(diǎn)。

47.B

48.B解析:strcpy(str1,s1):作用是將字符串s1拷貝到字符數(shù)組str1中去。strcat(字符數(shù)組1,字符數(shù)組2):把字符串2接到字符串1的后面,結(jié)果放在字符數(shù)組1中,函數(shù)調(diào)用后返回字符數(shù)組1的地址。本題定義了三個(gè)字符數(shù)組p1,p2,sir,strcat(p1,p2)函數(shù)的作用是將字符串?dāng)?shù)組p2接到字符串p1的后面,結(jié)果放在字符數(shù)組p1中,再通過strcpy()函數(shù)將該字符串拷貝到str數(shù)組中,原str數(shù)組中的字符串xyz被覆蓋,因此打印輸出字符串str即可得到abcABC。

49.C解析:本題涉及C語(yǔ)言最基本的4個(gè)知識(shí)點(diǎn):①C語(yǔ)言的保留字必須小寫;②變量的存儲(chǔ)類型不同,其存儲(chǔ)位置和生存期也不一樣:③C語(yǔ)言允許其注釋部分出現(xiàn)在程序中的任何位置;④宏定義以#define開頭,行末不需要加分號(hào)。

50.D解析:在對(duì)二維數(shù)組元素賦初值時(shí),可以只對(duì)部分元素賦初值,未賦初值的元素自動(dòng)取0;C語(yǔ)言規(guī)定,對(duì)于二維數(shù)組,只可以省略第1個(gè)方括號(hào)中的常量表達(dá)式,而不能省略第2個(gè)方括號(hào)中的常量表達(dá)式;賦的初值不能多于事先定義好的數(shù)組元素個(gè)數(shù)。選項(xiàng)D賦值表達(dá)式中對(duì)每一維的元素賦初值應(yīng)用{},而不是0。

51.B解析:本題在調(diào)用函數(shù)時(shí),實(shí)參是數(shù)組名也是把數(shù)組a的首地址傳遞給形參,由條件i=2且i<6得出函數(shù)將列以a[2]開始的4個(gè)元素(3、4、5、6)進(jìn)行乘2操作,結(jié)果分別是a[2]=6、a[3]=8、a[4]=10、a[5]=12。a[0]、a[1]、a[6]、a[7]、a[8]、a[9]的值沒有發(fā)生變化。

52.B解析:定義二維數(shù)組時(shí)第一維的長(zhǎng)度可以不指定,該程序中t[][3]通過賦初值等價(jià)于t[3][3],并且其數(shù)組按行進(jìn)行賦值,故通過for循環(huán)輸出的分別是t[2][0]、t[1][1]和t[0][2]。

53.A\r\n二分法又叫折半(對(duì)分)查找法,只適合于順序存儲(chǔ)的有序表(是指線性表中的元素按值非遞減排列)。二分法的基本思想是:設(shè)有序線性表的長(zhǎng)度為n,被查元素為X,則二分查找的方法如下:

將X與線性表的中間項(xiàng)進(jìn)行比較:若中間項(xiàng)的值等于x,則說(shuō)明找到,查找結(jié)束;若x小于中間項(xiàng)的值,則在線性表的前半部分(即中間項(xiàng)以前的部分)以相同的方法進(jìn)行查找;若X大于中間項(xiàng)的值,則在線性表的后半部分(即中間項(xiàng)以后的部分)以相同的方法進(jìn)行查找、這個(gè)過程-直進(jìn)行到查找成功或于表長(zhǎng)度為0,(說(shuō)明線性表中沒有這個(gè)元素為止)順序存儲(chǔ)的線性袁在計(jì)算機(jī)中-般用一個(gè)-維數(shù)組來(lái)表示,在數(shù)組中我們可以通過數(shù)組名和下標(biāo)來(lái)對(duì)數(shù)組中的任意一個(gè)元素進(jìn)行訪問,而在鏈表(不管是有序還是無(wú)序)中,要對(duì)元素進(jìn)行訪問必須從表頭結(jié)點(diǎn)開始,順著鏈條一個(gè)一個(gè)結(jié)點(diǎn)進(jìn)行搜索,因此選項(xiàng)A正確

54.A

55.A解析:本題主要考查結(jié)構(gòu)體的內(nèi)存使用:對(duì)結(jié)構(gòu)體而言,結(jié)構(gòu)中不同的成員分別使用不同的內(nèi)存空間,一個(gè)結(jié)構(gòu)所占內(nèi)存空間的大小是結(jié)構(gòu)中每個(gè)成員所占內(nèi)存空間大小的總和,結(jié)構(gòu)中每個(gè)成員相互獨(dú)立。

56.B解析:—個(gè)函數(shù)可以帶回—個(gè)整型值、字符值、實(shí)型值等,但也可以帶回指針型數(shù)據(jù),即地址。本題的定義中,包括括號(hào)和*號(hào),由于()優(yōu)先級(jí)高于*。故它是—個(gè)返回整型指針的函數(shù)。

57.D解析:該題考查邏輯與'&&'和邏輯或'||'以及邏輯非'!'符號(hào)的用法。選項(xiàng)A)即3&&4為真;選項(xiàng)B)即3<=4為真;選項(xiàng)C)是一個(gè)邏輯或與邏輯與的混合運(yùn)算,只要執(zhí)行了邏輯或左半部分,程序?qū)⒅苯油V箞?zhí)行邏輯或右半部分程序,因?yàn)閤的值為真;此時(shí)選項(xiàng)C)變?yōu)?&&-1為真。選項(xiàng)D)不用計(jì)算,括號(hào)內(nèi)邏輯或右邊的值為1,因而括號(hào)內(nèi)的值為1,再進(jìn)行邏輯非運(yùn)算得0。

58.C解析:指針數(shù)組中的每一個(gè)元素都相當(dāng)于一個(gè)指針變量。一維指針數(shù)組的定義形式為:類型名*數(shù)組名[數(shù)組長(zhǎng)度],在本題main函數(shù)中定義指針數(shù)組d,它有兩個(gè)元素,其初值分別是“ab”、“cde”的首地址。d[1]的值為“cde”的首地址。%x是指以十六進(jìn)制數(shù)形式輸出整數(shù)。

59.CC。【解析】結(jié)構(gòu)化分析方法是面向數(shù)據(jù)流進(jìn)行需求分析的方法,采用自頂向下、逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。

60.D解析:本題是一道陷阱題,考生如果沒注意到F()函數(shù)被定義為void類型的話,很容易錯(cuò)選為選項(xiàng)A,其實(shí)應(yīng)該選擇選項(xiàng)D,編譯出錯(cuò)。

61.A本題主要考查的是:數(shù)組名用作函數(shù)參數(shù)。數(shù)組名用作函數(shù)參數(shù)的情況類似于指針,屬于傳地址,故

溫馨提示

  • 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ù)覽,若沒有圖紙預(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)論