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è),還剩31頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(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.軟件生命周期是指()。A.軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過(guò)程

B.軟件從需求分析、設(shè)計(jì)、實(shí)現(xiàn)到測(cè)試完成的過(guò)程

C.軟件的開(kāi)發(fā)過(guò)程

D.軟件的運(yùn)行維護(hù)過(guò)程

2.有以下程序voidf(int*x,int*y){intt;t=*x;*x=*y;*y=t;}main(){inta[8]={1,2,3,4,5,6,7,8},i,*p,*q;p=a;q=&a[7];while(p<q){f(p,q);p++;q--;}for(i=0;i<8;i++)printf("%d,",a[i]);}程序運(yùn)行后的輸出結(jié)果是

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

B.5,6,7,8,1,2,3,4,

C.1,2,3,4,5,6,7,8,

D.8,7,6,5,4,3,2,1

3.在一個(gè)有頭結(jié)點(diǎn)的鏈隊(duì)列中,假設(shè)f和r分別為隊(duì)首和隊(duì)尾指針,則插入s所指的結(jié)點(diǎn)的運(yùn)算是()。

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

B.r->next=s;r=s;

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

D.s->next=f;f=s;

4.對(duì)于只在表的首、尾兩端進(jìn)行插入操作的線性表,宜采用的存儲(chǔ)結(jié)構(gòu)為()。

A.順序表B.用頭指針表示的循環(huán)單鏈表C.用尾指針表示的循環(huán)單鏈表D.單鏈表

5.下述函數(shù)功能是______。intfun(char*x){char*y=x;while(*y++);returny-x-1;}

A.求字符串的長(zhǎng)度B.求字符串存放的位置C.比較兩個(gè)字符串的大小D.將字符串x連接到字符串y后面

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

A.a是實(shí)型變量,C允許進(jìn)行賦值a=10,但不可以這樣說(shuō):實(shí)型變量中允許存放整型值

B.在賦值表達(dá)式中,賦值號(hào)左邊既可以是變量也可以是任意表達(dá)式

C.執(zhí)行表達(dá)式a=b后,在內(nèi)存中a和b存儲(chǔ)單元中的原有值都將被改變,a的值已由原值改變?yōu)閎的值,b的值由原值變?yōu)?

D.已有a=3,b=5,當(dāng)執(zhí)行了表達(dá)式a=b,b=a之后,使a中的值為5,b中的值為3

7.下述程序向文件輸出的結(jié)果是______。#include<stdio.h>voidmain(){FILE*fp=fopen("TESY","wb");fprintf(fp,"%d%5.0f%c%d",58,76273.0,'-',2278);fclose(fp);}

A.5876273-2278

B.5876273.000000-2278

C.5876273-2278

D.因文件為二進(jìn)制文件而不可讀

8.一個(gè)隊(duì)列的入隊(duì)序列是a,b,c,d,則出隊(duì)序列是()。

A.a,b,c,dB.a,c,b,dC.d,c,b,aD.a,c,b,d

9.下列運(yùn)算符中優(yōu)先級(jí)最低的算符是()。

A.||B.!=C.<;=D.十

10.下列關(guān)于C語(yǔ)言數(shù)據(jù)文件的敘述中正確的是A.文件由ASCII碼字符序列組成,C語(yǔ)言只能讀寫(xiě)文本文件

B.文件由二進(jìn)制數(shù)據(jù)序列組成,C語(yǔ)言只能讀寫(xiě)二進(jìn)制文件

C.文件由記錄序列組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件

D.文件由數(shù)據(jù)流形式組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件

11.算法分析的兩個(gè)主要方面是()。

A.空間復(fù)雜性和時(shí)間復(fù)雜性B.正確性和簡(jiǎn)明性C.可讀性和文檔性D.數(shù)據(jù)復(fù)雜性和程序復(fù)雜性

12.在線索化樹(shù)中,每個(gè)結(jié)點(diǎn)必須設(shè)置一個(gè)標(biāo)志來(lái)說(shuō)明它的左、右鏈指向的是樹(shù)結(jié)構(gòu)信息,還是線索化信息,若0標(biāo)識(shí)樹(shù)結(jié)構(gòu)信息,1標(biāo)識(shí)線索,對(duì)應(yīng)葉結(jié)點(diǎn)的左右鏈域,應(yīng)標(biāo)識(shí)為()。

A.00B.01C.10D.11

13.數(shù)據(jù)處理的最小單位是()。

A.數(shù)據(jù)B.數(shù)據(jù)元素C.數(shù)據(jù)項(xiàng)D.數(shù)據(jù)結(jié)構(gòu)

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

A.C程序中注釋部分可以出現(xiàn)在程序中任意合適的地方

B.花括號(hào)"{"和"}"只能作為函數(shù)體的定界符

C.構(gòu)成C程序的基本單位是函數(shù),所有函數(shù)名都可以由用戶(hù)命名

D.分號(hào)是C語(yǔ)句之間的分隔符,不是語(yǔ)句的一部分

15.假設(shè)整型數(shù)i的地址為0x12345678,指針ip地址為0x21850043,則執(zhí)行以下后,k的值為()。A.0x12345678B.0x21850043C.100D.不確定

16.最小堆[0,3,2,5,7,4,6,8],在刪除堆頂元素0之后,其結(jié)果是()

A.[3,2,5,7,4,6,8]

B.[2,3,5,7,4,6,8]

C.[2,3,4,5,7,8,6]

D.[2,3,4,5,6,7,8]

17.有如下程序:#include<stdio.h>msin(){chars[]="ABCD",*P;for(p=s+1;p<s+4;p++)Printf("%s\n",p);}該程序的輸出結(jié)果是()。

A.ABCDBCDCDDB.ABCDC.BCDD.BCDCDD

18.設(shè)一棵二叉樹(shù)有3個(gè)葉子節(jié)點(diǎn),有8個(gè)度為1的節(jié)點(diǎn),則該二叉樹(shù)中總的節(jié)點(diǎn)數(shù)為()

A.12B.13C.14D.15E.16F.17

19.有以下程序#include<stdio.h>structst{intx,y;}data[2]={1,10,2,20};main(){structst*p=data;printf("%d,",p->y);printf("%d\n",(++p)->x);}程序的運(yùn)行結(jié)果是______。A.10,1B.20,1C.10,2D.20,2

20.有以下程序:

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

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

二、2.填空題(20題)21.數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu),線性鏈表屬于【】。

22.軟件定義時(shí)期主要包括______和需求分析兩個(gè)階段。

23.當(dāng)調(diào)用函數(shù)時(shí),實(shí)參是一個(gè)數(shù)組名,則向函數(shù)傳遞的是【】。

24.若a是血型變量,且a的初值為4,則計(jì)算a+=a-=a*a表達(dá)式后a的值為_(kāi)_____。

25.x、y、x均為int型變量,描述“x、y和z中至少有兩個(gè)為正數(shù)”的表達(dá)式是______。

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

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

2223445666677899101010

刪除后,數(shù)組中的內(nèi)容應(yīng)該是:

2345678910。

請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

#defineN80

infun(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");

}

27.函數(shù)mycmp(char*s,char*t)的功能是比較字符串s和t的大小,當(dāng)s等于t時(shí)返回0,當(dāng)s>t時(shí)返回正值,當(dāng)s<t時(shí)返回負(fù)值。請(qǐng)?zhí)羁铡?/p>

mycmp(char*s,char*t)

{while(*s==*t)

{if(*s=='\0')return0;

++s;++t;

}

return(【】);

}

28.以下程序中函數(shù)f的功能是在數(shù)組x的n個(gè)數(shù)(假定n個(gè)數(shù)互不相同)中找出最大最小數(shù),將其中最小的數(shù)語(yǔ)第一個(gè)數(shù)兌換,把最大的數(shù)語(yǔ)最后一個(gè)數(shù)對(duì)換。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

voidf(intx[],intn)

{intp0,p1,i,j,t,m;

i=j=x[0];p0=p1=0;

for(m=0;m<n;m++)

if(x[m]>i){i=x[m];p0=m;}

elseif(x[m]<j){j=x[m];p1=m;

}

t=x[p0];x[p0]=x[n-1];x[n-1]=t;

t=x[p1];x[p1]=[11];[12]=t;

main()

{inta[10],u;

for(u=0;u<10;u++)scanf("%d",&a[u]);

f(a,10);

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

printf("\n");

}

29.設(shè)有定義:intn,*k=&n;以下語(yǔ)句將利用指針變量k讀寫(xiě)變量n中的內(nèi)容,請(qǐng)將語(yǔ)句補(bǔ)充完整。

scanf(“%d”,______);

printf(“%d\n”,______);

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

fun(intx)

{if(x/2>0)fun(x/2);

printf("%d",x);

}

main()

{fun(6);}

31.表示條件;10<x<100或x<0的C語(yǔ)言表達(dá)式是【】。

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

main()

{inta=10;

a=(3*5,a+4);printf("a=%d\n",a);

}

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

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

35.軟件的需求分析階段的工作,可以概括為四個(gè)方面:【】、需求分析、編寫(xiě)需求規(guī)格說(shuō)明書(shū)和需求評(píng)審。

36.有以下程序:

voidf(inty,int*x)

{y=y+*x;*x=*x+y;}

main()

{intx=2,y=4;

f(y,&x);

ptintf("%d%d\n",x,y);

}

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

37.輸出指針數(shù)組各元素所指的整數(shù)值和它存放的地址值。

#include<stdio.h>

main()

{inti;

inta[5]={1,3,5,7,9};

int*num[5];

int【】;

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

num[i]=【】;

p=num+0;

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

{printf("%d%d\n",【】);

p++;

}

}

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

main()

{intx=1,y=2,z=3;

printf("%d,",x<y?y:x);

printf("%d,",z<y?x++:y++);

printf("%d,%d",x,y);

}

39.已有定義:intx;,執(zhí)行以下語(yǔ)句后的輔出結(jié)果是【】。

x=11/3;y=5;

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

40.函數(shù)mycmp(char*s,char*t)的功能提比較字符串s和t的大小,當(dāng)s等于t時(shí)返回0,當(dāng)s>t返回正值,當(dāng)s<t時(shí)返回負(fù)值。請(qǐng)?zhí)羁铡?/p>

mycmp(char*s,char*t)

{while(*s==*t)

{if(*s=='\0')return0;

++s;++t;

}

return(【】)

}

三、1.選擇題(20題)41.設(shè)有以下說(shuō)明語(yǔ)句typedefstruct{intn;charch[8];}PER;則下面敘述中正確的是

A.PER是結(jié)構(gòu)體變量名

B.PER是結(jié)構(gòu)體類(lèi)型名

C.typedefstruct是結(jié)構(gòu)體類(lèi)型

D.struct是結(jié)構(gòu)體類(lèi)型名

42.結(jié)構(gòu)化程序設(shè)計(jì)的核心和基礎(chǔ)是()。

A.結(jié)構(gòu)化分析方法B.結(jié)構(gòu)化設(shè)計(jì)方法C.結(jié)構(gòu)化設(shè)計(jì)理論D.結(jié)構(gòu)化編程方法

43.若有定義:floatx=1.5;inta=1,b=3,c=2;則正確的switch語(yǔ)句是()。

A.switch(x){case1.0:printf("*\n");case2.0:printf("**\n");

B.switch((iht)x);{case1:printf("*\n");case2:printf("**\n");}

C.switch(a+b){case1:printf("*\n");case2+1:printf("**\n");}

D.switch(a+b){case1:pfintf("*\n");casec:pfintf("**\n");}

44.有以下程序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)

45.下列字符串是合法的標(biāo)識(shí)符的是()。

A._HJB.9_studentC.longD.LINE1

46.以下程序的輸出結(jié)果是______。charcchar(charch){if(ch>='A'&&ch<='z')ch=ch-'A'+'a';returnch;}main(){chars[]="ABC+abc=defDEF",*p=s;while(*p){*p=cchar(*p);p++;}printf("%s\n",s);}

A.abe+ABC=DEFdef

B.abc+abe=defdef

C.abcaABCDEFdef

D.abcabcdefdef

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

A.c1c2

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

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

A.0000001000101000

B.1111110100011001

C.0000001011100010

D.1100000000101000

49.以下程序的輸出結(jié)果是______。#defineSQR(X)X*Xmain(){inta=10,k=2,m=1;a/=SQR(k+m)/SQR(k+m);printf("d\n",a);}

A.16B.2C.9D.1

50.下列工具中為需求分析常用工具的是()。

A.PADB.PFDC.N-SD.DFD

51.可以在C語(yǔ)言程序中用做用戶(hù)標(biāo)識(shí)符的一組標(biāo)識(shí)符是()。

A.voidB.aa123_abcBBNcasC.as+b3D.6f-123DoIfSIG

52.將E-R圖轉(zhuǎn)換到關(guān)系模式時(shí),實(shí)體與實(shí)體間的聯(lián)系可以表示成()。

A.屬性B.關(guān)系C.鍵D.域

53.下列描述中,錯(cuò)誤的一條是______。

A.已知a=3、b=2、c=l,則表達(dá)式(a>b)氣的值為1

B.C語(yǔ)言的表達(dá)式能構(gòu)成語(yǔ)句

C.表達(dá)式(x1=3*5,x1*4),x1+5的值為20

D.表達(dá)式x1=(b=4)+(c=6)的值為6

54.在下列選項(xiàng)中,______不是一個(gè)算法一般應(yīng)該具有的基本特征。

A.確定性B.可行性C.無(wú)窮性D.擁有足夠的情報(bào)

55.設(shè)有關(guān)鍵碼序列(66,13,51,76,81,26,57,69,23),要按關(guān)鍵碼值遞增的次序排序,若采用快速排序法,并以第一個(gè)元素為劃分的基準(zhǔn),那么第一趟劃分后的結(jié)果為()。

A.23,13,51,57,66,26,81,69,76

B.13,23,26,51,57,66,81,76,69

C.23,13,51,57,26,66,81,69,76

D.23,13,51,57,81,26,66,69,76

56.若有以下結(jié)構(gòu)體定義,則______是正確的引用或定義。structexample{intx;inty;}v1;

A.example.x=10

B.examplev2.x=10

C.structv2;v2.x=10

D.structexamplev2={10};

57.軟件需求分析階段的工作可以分為4個(gè)方面:需求獲取、需求分析、編寫(xiě)需求分析說(shuō)明書(shū)和

A.階段性報(bào)告B.需求評(píng)審C.總結(jié)D.都不正確

58.下列程序執(zhí)行后的輸出結(jié)果是voidfunc(int*a,intb[]){b[0]=*a+6;}main(){inta,b[5];a=0;b[0]=3;func(&a,b);printf("%d\n",b[0]);}

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

59.有以下程序:voidfun(char*c,intd){*c=*c+1;d=d+1;printf("%c,%c,",*c,d);}main(){chara='A',b='a';fun(&b,a);printf("%c,%c\n",a,b);}程序運(yùn)行后的輸出結(jié)果是()。

A.B,a,B,aB.a,B,a,BC.A,b,A,bD.b,B,A,b

60.若有定義:inta[2][3];,以下選項(xiàng)中對(duì)a數(shù)組元素正確引用的是A.a[2][!1]B.a[2][3]C.a[0][3]D.a[1>2][!1]

四、選擇題(20題)61.軟件的()設(shè)計(jì)又稱(chēng)總體結(jié)構(gòu)設(shè)計(jì),其主要任務(wù)是建立軟件系統(tǒng)的總體結(jié)構(gòu)。

A.概要B.抽象C.邏輯D.規(guī)劃

62.C語(yǔ)言用_______表示邏輯“真”值。

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

63.(33)分布式數(shù)據(jù)庫(kù)系統(tǒng)不具有的特點(diǎn)是______。

A.分布式

B.數(shù)據(jù)冗余

C.數(shù)據(jù)分布性和邏輯整體性

D.位置透明性和復(fù)制透明性

64.

下列程序中函數(shù)sort()的功能是對(duì)數(shù)組a中的數(shù)據(jù)進(jìn)行由大到小的排序。

#include<stdio.h>

voidsort(inta[],intll)

{inti,j,t;

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

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

if(a[i]<a[j])

{t=a[i];a[i]=a[j];a[j]=t;

}

}

main()

{inta[10]一{1,2,3,4,5,6,7,8,9,10},i;

sort(&a[1],7);

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.10,9,8,7,6,5,4,3,2,1,

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

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

65.在C語(yǔ)言中,合法的長(zhǎng)整型常數(shù)是()。

A.0.123456B.4962717C.9LD.5.321e2

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

67.

68.c語(yǔ)言規(guī)定,在一個(gè)源程序中,main函數(shù)的位置()。

A.必須在最開(kāi)始B.必須在系統(tǒng)調(diào)用的庫(kù)函數(shù)的后面C.可以任意D.必須在最后

69.有以下程序:

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

70.

71.

72.數(shù)字字符0的ASCIl值為48,若有以下程序:

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

A.3,2B.50,2C.2,2D.2,50

73.以下描述錯(cuò)誤的是

A.C程序中,函數(shù)可以直接或間接調(diào)用自己

B.函數(shù)調(diào)用時(shí),函數(shù)名必須與所調(diào)用的函數(shù)名字完全一致

C.函數(shù)說(shuō)明語(yǔ)句中的類(lèi)型必須與函數(shù)返回值的類(lèi)型一致

D.實(shí)參個(gè)數(shù)可以與形參個(gè)數(shù)不一致

74.

75.

76.有以下程序:

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

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

77.有以下程序

78.有以下程序

intf(intn)

{if(n==1)return1;

elsereturnf(n-1)+1;}

main()

{inti,j=0;

for(i=1;i<3;i++)j+=f(i);

printf("%d\n",j);}

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

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

79.

80.設(shè)有定義語(yǔ)句

則以下敘述正確的是().

A.f是指向函數(shù)的指針變量,該函數(shù)具有_個(gè)int類(lèi)型的形參

B.f是基類(lèi)型為int的指針變量

C.f是指向int類(lèi)型一維數(shù)組的指針變量

D.f是函數(shù)名,該函數(shù)的返回值是基類(lèi)型為int類(lèi)型的地址

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)fun的功能是:計(jì)算整數(shù)n的階乘。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.編寫(xiě)函數(shù)proc(),它的功能是:根據(jù)公式求p的值,結(jié)果由函數(shù)值帶回。m與n為兩個(gè)正數(shù)且要求m>;n。p=m!/(n!(m-n)!),例如,m=20,n=10時(shí),運(yùn)行結(jié)果為184756.000000。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:

參考答案

1.A通常,將軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過(guò)程稱(chēng)為軟件生命周期。也就是說(shuō),軟件產(chǎn)品從考慮其概念開(kāi)始,到該軟件產(chǎn)品不能使用為止的整個(gè)時(shí)期都屬于軟件生命周期。

2.D解析:本題考查循環(huán)和指針做函數(shù)參數(shù),程序的功能是將a[0]和a[7]對(duì)換,a[1]和a[6]對(duì)換,a[2]和a[5]對(duì)換,a[3]和a[4]對(duì)換,最后輸出。

3.B

4.C

5.A解析:在函數(shù)體內(nèi)定義一字符型指針并指向形參,然后遍歷其中各字符直到NULL,最后返回字符串首尾地址的差值,即字符串的長(zhǎng)度。

6.AC語(yǔ)言中語(yǔ)法上規(guī)定實(shí)型變量是不能存放整型類(lèi)型的數(shù)據(jù)的,整型數(shù)據(jù)也不能存放實(shí)型數(shù)據(jù)。是為了避免類(lèi)型轉(zhuǎn)換之間可能會(huì)發(fā)生的錯(cuò)誤。

7.C解析:fprintf函數(shù)工作時(shí),多個(gè)數(shù)據(jù)間不會(huì)自珈口分隔符,選項(xiàng)A錯(cuò)誤;浮點(diǎn)數(shù)的輸出格式是“%5.0f”表明其小數(shù)部分輸出0位,即沒(méi)有輸出,所以選項(xiàng)B也是錯(cuò)誤的。

8.A

9.AC語(yǔ)言中規(guī)定運(yùn)算符的優(yōu)先順序:一元算術(shù)運(yùn)算符一>二元算術(shù)運(yùn)算符一>關(guān)系運(yùn)算符一>邏輯運(yùn)算符一>賦值運(yùn)算符,A項(xiàng)中為邏輯運(yùn)算符,B項(xiàng)和c項(xiàng)都為關(guān)系運(yùn)算符,D項(xiàng)為一元運(yùn)算符。因此最低的是A項(xiàng)。

10.D解析:C語(yǔ)言把文件看成是一個(gè)字符(字節(jié))的序列,即由一個(gè)一個(gè)字符(字節(jié))的數(shù)據(jù)順序組成。根據(jù)數(shù)據(jù)的組織形式,可分為ASCII文件和二進(jìn)制文件。ASCII文件又稱(chēng)文本文件,它的每一個(gè)字節(jié)放一個(gè)ASCII代碼,代表一個(gè)字符。二進(jìn)制文件是把內(nèi)存中的數(shù)據(jù)按其在內(nèi)存中的存儲(chǔ)形式原樣輸出到磁盤(pán)上存放。

11.A

12.D

13.C解析:數(shù)據(jù)處理的最小單位是數(shù)據(jù)項(xiàng);由若干數(shù)據(jù)項(xiàng)組成數(shù)據(jù)元素;而數(shù)據(jù)是指能夠被計(jì)算機(jī)識(shí)別、存儲(chǔ)和加工處理的信息載體;數(shù)據(jù)結(jié)構(gòu)是指數(shù)據(jù)之間的相互關(guān)系和數(shù)據(jù)運(yùn)算。故正確答案為選項(xiàng)C)。

14.A解析:/*與*/之間的信息稱(chēng)為注釋信息,在C語(yǔ)言中,允許在任何能夠插入空格符的位置插入注釋?zhuān)獵語(yǔ)言的注釋不能進(jìn)行嵌套,故選項(xiàng)A正確:在C語(yǔ)言中,函數(shù)體是從花括號(hào){開(kāi)始,到花括號(hào)}結(jié)束。但沒(méi)有規(guī)定花括號(hào){和}只能作為函數(shù)體定界符,故選項(xiàng)B錯(cuò)誤;選項(xiàng)C中前半句是正確的,C程序由一個(gè)或多個(gè)函數(shù)所組成,但不是所有的函數(shù)都由用戶(hù)自己命名,有些函數(shù),比如主函數(shù)main()就不能由用戶(hù)來(lái)命名,故選C不正確;在C語(yǔ)言中明確規(guī)定每條語(yǔ)句以分號(hào);結(jié)束,分號(hào)是語(yǔ)句不可缺少的一部分,故選項(xiàng)D不正確。所以,4個(gè)選項(xiàng)中選項(xiàng)A符合題意。

15.C

16.C

17.D解析:本題考查指向字符串指針的運(yùn)算方法。執(zhí)行p=s+1后,指針變量p就指向字符串中的第二個(gè)字符“B”,然后輸出字符串“BCD”并換行;下面繼續(xù)執(zhí)行循環(huán)語(yǔ)句,指針變量p指向下一個(gè)字符“C”,輸出字符串“CD”,最后一次循環(huán),p指向字符“D”,輸出字符串“D”。

18.B

19.C解析:本題定義了一個(gè)包含兩個(gè)元素(data[0]、data[1])的結(jié)構(gòu)體數(shù)組data,其中data[0].x=1;data[0].y=10;data[1].x=2;\u3000data[1].y=20。在主函數(shù)中,定義了一個(gè)指向結(jié)構(gòu)體數(shù)組的結(jié)構(gòu)體指針變量p,使得p指向結(jié)構(gòu)體數(shù)組的首地址,所以p->y訪問(wèn)的是第一個(gè)鮚構(gòu)體數(shù)組元素的第二個(gè)值,即data[0].y;(++p)->x訪問(wèn)的是第二個(gè)結(jié)構(gòu)體數(shù)組元素的第一個(gè)值,即\u3000data[1].x,所以程序輸出結(jié)果為10,2。

20.D在程序中指針變量P初始指向a[3],執(zhí)行P減1后,P指向a[2],語(yǔ)句y=*P的作用是把a(bǔ)[2]的值賦給變量y,所以輸出為y=3。

21.存儲(chǔ)結(jié)構(gòu)

22.可行性研究可行性研究解析:軟件生命周期一般包括可行性研究與需求分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試、交付使用及維護(hù)等,還可以將軟件生命周期分為三個(gè)階段:①軟件定義階段:可行性研究和需求分析;②軟件開(kāi)發(fā)階段:設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試;③軟件運(yùn)行維護(hù)階段:交付使用和維護(hù)。

23.數(shù)組的首地址數(shù)組的首地址解析:在函數(shù)中,可以通過(guò)指針變量來(lái)引用調(diào)用函數(shù)中對(duì)應(yīng)的數(shù)組元素,此操作是通過(guò)傳遞數(shù)組的首地址來(lái)實(shí)現(xiàn)的。

24.-24-24解析:本題考查賦值運(yùn)算符a+=b等價(jià)于a=a+b;a-=a*a等價(jià)于a-a-a*a=4-4*4=-12:a+=a,即a=a+a=-24。

25.((x>0)&&<y>0))‖(x>0)&&(z>0)‖y>0)&&(z>0))((x>0)&&<y>0))‖(x>0)&&(z>0)‖y>0)&&(z>0))解析:題目要求“x、y和z中至少有兩個(gè)為正數(shù)”,即x、y和x這3個(gè)數(shù)中必須有兩個(gè)是正數(shù),且這3個(gè)數(shù)中的哪兩個(gè)數(shù)都有可能是正數(shù),所以它們之間是或的關(guān)系。

26.!=returnj!=\r\nreturnj解析:本題程序的流程是:讓i,j都從1開(kāi)始其中j用于控制刪除后剩下的數(shù)中的下標(biāo),i用于搜索原數(shù)組中的元素。j始終是新數(shù)組已有元素中最后一個(gè)元素的下一個(gè)元素的下標(biāo),所以if()中的條件是a[j-1)!=a[i],其中a[j-1]就是新數(shù)組中的最后一個(gè)元素,若條件成立則表示出現(xiàn)了不同的值,所以a[i]要留下到新數(shù)組中。注本題中i,j的初值都要從1開(kāi)始。該算法只能用于數(shù)組已排序的題目中。

27.*s-*t*s-*t解析:本題考查比較字符串的大小。函數(shù)的兩個(gè)形參是兩個(gè)字符指針變量,指針變量的值是字符串的首地址,*s和*t表示s和t指向的第一個(gè)字符,在while循環(huán)中,通過(guò)s和t指針的移動(dòng),不斷改變所指字符,通過(guò)返回s和t的第一個(gè)不同字符的ASCII碼的差值*s-*t得到結(jié)果。

28.x[0]x[0]x[0]x[0]解析:函數(shù)f()通過(guò)for循環(huán)逐個(gè)比較數(shù)組x中的元素,循環(huán)結(jié)束后,p0和p1分別表示最大值和最小值在數(shù)組中的下標(biāo)位置,然后按照題意將最大值x[p0]和數(shù)組的最后一個(gè)元素x[n-1)交換位置,再將最小值x[p1]和第一個(gè)元素(x[0])進(jìn)行交換,所以空白處應(yīng)該填入x[0]。

29.k*kk*k解析:本題考查的知識(shí)點(diǎn)是scarf()函數(shù)和printf()函數(shù)的用法。scanf()函數(shù)有兩個(gè)參數(shù),第一個(gè)參數(shù)是格式控制部分(格式控制部分是字符串,主要由“%”號(hào)和格式字符組成)第二個(gè)參數(shù)是一地址列表(地址列表是由多個(gè)地址組成,可以是變量的地址,也可以是字符串的首地址)。而第一個(gè)空格處位于scanf()函數(shù)的第二個(gè)參數(shù)處,所以,第一個(gè)空應(yīng)該填地址k。printf()函數(shù)有兩個(gè)參數(shù),第一個(gè)參數(shù)是輸出格式字符串(輸出格式字符串是由控制輸出格式的字符和非格式字符組成的,通常是字符常量。非格式字符作為輸出數(shù)據(jù)的間隔,輸出時(shí)原樣輸出)第二個(gè)參數(shù)為一輸出表達(dá)式表(輸出表達(dá)式表是由若干個(gè)需要計(jì)算和輸出的表達(dá)式組成的,表達(dá)式之間用逗號(hào)分隔開(kāi))。而第;個(gè)空位于printf()函數(shù)的第二個(gè)參數(shù)處,所以應(yīng)該填*K。

30.136136解析:本題考核的知識(shí)點(diǎn)是函數(shù)遞歸。主函數(shù)調(diào)用函數(shù)fun(6),由于6/2>0為真遞歸調(diào)用fun(3),接著遞歸調(diào)用fun(1),輸出1,返回上一層輸出3,在返回上一層輸出6。故空格處應(yīng)該填136。

31.(x>10&&x<100)||x<0

32.a=14a=14解析:逗號(hào)表達(dá)式的值是以逗號(hào)分隔的最后一個(gè)表達(dá)式的值。所以題目中的語(yǔ)句a=(3*5,a+4);就等價(jià)于a=a+4;。故本題輸出結(jié)果是a=14。

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

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

35.需求獲取需求獲取解析:軟件的需求分析階段的工作,可以概括為四個(gè)方面:需求獲取、需求分析、編寫(xiě)需求規(guī)格說(shuō)明書(shū)和需求評(píng)審。需求獲取的目的是確定對(duì)目標(biāo)系統(tǒng)的各方面需求;需求分析是對(duì)獲取的需求進(jìn)行分析和綜合,最終給出系統(tǒng)的解決方案和目標(biāo)系統(tǒng)的邏輯模型;編寫(xiě)需求規(guī)格說(shuō)明書(shū)作為需求分析的階段成果,可以為用戶(hù)、分析人員和設(shè)計(jì)人員之間的交流提供方便,可以直接支持目標(biāo)軟件系統(tǒng)的確認(rèn),又可以作為控制軟件開(kāi)發(fā)進(jìn)度的依據(jù);需求評(píng)審是對(duì)需求分析階段的工作進(jìn)行的復(fù)審,驗(yàn)證需求文檔的一致性、可行性、完整性和有效性。

36.8484解析:“值傳遞”指實(shí)參將值傳遞給形參后,實(shí)參與形參再無(wú)聯(lián)系。也就是說(shuō)對(duì)行參的改變將不影響實(shí)參;地址傳遞是指地址或數(shù)組名作為形參時(shí)的參數(shù)傳遞,這種情況下對(duì)形參的改變將對(duì)實(shí)參產(chǎn)生影響。函數(shù)f(y,*x)的作用是讓y的值加上指針x所指向變量的值,讓指針x所指向變量的值加上y的值。由于形參y是傳值的,形參x是傳地址的,故調(diào)用該函數(shù)后,作為實(shí)參y的值將不改變,而實(shí)參x的值將改變,故最后輸出的y值為4,而x的值為8。

37.**pa+I**p*p

38.22132,2,1,3解析:本題考查++,--運(yùn)算符和條件運(yùn)算符的使用。

“表達(dá)式1?表達(dá)式2:表達(dá)式3”的功能是:表達(dá)式1的值若非0,則計(jì)算表達(dá)式2的值,且表達(dá)式2的值為最終結(jié)果;若表達(dá)式1的值為0,則計(jì)算表達(dá)式3的值,且為最終結(jié)果。

本題中,x=1,y=2時(shí),x<y成立,輸出y的值2;y=2,z=3時(shí),z<y不成立,執(zhí)行y++,輸出2后y值增1,所以最后一個(gè)輸出x的值不變?yōu)?,y的值為增加后的3。

39.%d%3

40.*s-*t或-*t+*s*s-*t或-*t+*s解析:函數(shù)的兩個(gè)形參是兩個(gè)字符指針變量,字符串的首地址是指針變量的值,*s和*t表示字符串?dāng)?shù)組s和t的第一個(gè)字符,在while循環(huán)中,是通過(guò)s和t值的不斷變化來(lái)改變指針?biāo)赶虻淖址?,要改變s和t所指不同字符的ASCII碼的差值,必須使用“*s-*t”得出。

41.B解析:本題中,typedef聲明新的類(lèi)型名PER來(lái)代替已有的類(lèi)型名,PER代表上面指定的一個(gè)結(jié)構(gòu)體類(lèi)型,此時(shí),也可以用PER來(lái)定義變量。

42.CC?!窘馕觥拷Y(jié)構(gòu)化程序設(shè)計(jì)的核心和基礎(chǔ)是結(jié)構(gòu)化設(shè)計(jì)理論,其中包括:結(jié)構(gòu)化分析方法、結(jié)構(gòu)化設(shè)計(jì)方法和結(jié)構(gòu)化編程方法。

43.C解析:選項(xiàng)A)中case后面的表達(dá)式為浮點(diǎn)型,選項(xiàng)D)中case后面的表達(dá)式存在字符變量c,故選項(xiàng)A)、D)錯(cuò)誤;在選項(xiàng)B)中,switch后面的表達(dá)式加了分號(hào)顯然有錯(cuò)。

44.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í)滿(mǎn)足第一條if語(yǔ)句的,執(zhí)行后面的continue;該次循環(huán)結(jié)束從頭開(kāi)始下次循環(huán),而i的值為3一直沒(méi)有改變,所以第一條語(yǔ)句始終要執(zhí)行,因此for循環(huán)將一直循環(huán)下去,所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。

45.A解析:標(biāo)識(shí)符是以字母、數(shù)字和下劃線組成的字符串,且只能是字符或下劃線開(kāi)頭,且C語(yǔ)言的關(guān)鍵字不能用作用戶(hù)自定義的標(biāo)識(shí)符。注意:熟記C語(yǔ)言中常用的關(guān)鍵字。

46.B解析:字符數(shù)組元素作函數(shù)參數(shù)是單向的值傳遞。函數(shù)cchar的功能是將大寫(xiě)字母轉(zhuǎn)換為小寫(xiě)字母。主函數(shù)中while循環(huán)語(yǔ)句的條件是判斷指針p當(dāng)前指向的字符是否為空,若不為空,則調(diào)用函數(shù)cchar,即主函數(shù)中通過(guò)循環(huán)語(yǔ)句將字符串'ABC+abc=defDEF'中的大寫(xiě)字母全部轉(zhuǎn)換為小寫(xiě)字母,因此printf的輸出結(jié)果為選項(xiàng)B。

47.A解析:選項(xiàng)A為異或運(yùn)算符,如果參加運(yùn)算的兩個(gè)位相同,結(jié)果為0,否則為1。顯然選項(xiàng)A中參加運(yùn)算c1和c2相同,故其值位0;選項(xiàng)B為位與運(yùn)算,如果參加運(yùn)算的兩位都為1,則結(jié)果為1,否則結(jié)果為0,選項(xiàng)B中參加運(yùn)算的c1和c2都為真,所以結(jié)果為1;選項(xiàng)C為取反運(yùn)算,用來(lái)對(duì)一個(gè)二進(jìn)制取反,顯然c2取反后不為0,選項(xiàng)D為異或運(yùn)算,參加運(yùn)算的兩位只要有一個(gè)為1,那么運(yùn)算結(jié)果為1,顯然參加運(yùn)算的c1和c2都不為0,故運(yùn)算結(jié)果不為0。

48.A解析:本題主要考查按位與運(yùn)算,x=011050的二進(jìn)制形式為0001001000101000,01252的二進(jìn)制形式為0000001010101010,兩者相與得00000010001010000。

49.D解析:本題考查帶參數(shù)的宏調(diào)用。a/=SQR(k+m)/SQR(k+m)進(jìn)行宏替換后得:a=a/(SQR(k+m)/SQR(k+m))=a/(k+m*k+m/k+m*k+m)=10/(2+1*2+1/2+1*2+1)=10/(2+2+0+2+1)=10/7/1。

50.D解析:需求分析常用的工具有數(shù)據(jù)流圖(DFD)、數(shù)據(jù)字典(DD)、判定樹(shù)和判定表。PAD(問(wèn)題分析圖)、PFD(程序流程圖)、N-S(盒式圖)都是詳細(xì)設(shè)計(jì)的常用工具,不是需求分析的工具。

51.B解析:C語(yǔ)言規(guī)定,標(biāo)識(shí)符是由字母、數(shù)字或下劃線組成,并且它的第一個(gè)字符必須是字母或者下劃線。

52.B解析:將E-R圖轉(zhuǎn)換成指定RDBMS中的關(guān)系模式是數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)的主要工作。從E-R圖到關(guān)系模式的轉(zhuǎn)換是比較直接的,實(shí)體和聯(lián)系都可以表示成關(guān)系。

53.D

54.C解析:作為一個(gè)算法,一般應(yīng)具有以下幾個(gè)基本特征。①可行性②確定性③有窮性④擁有足夠的情報(bào)

55.AA)【解析】快速排序是起泡排序的改進(jìn)。在快速排

序中,任取一個(gè)記錄,以它為基準(zhǔn)用交換的方法將所有的記錄分成兩部分,關(guān)鍵碼值比它小的在一部分,關(guān)鍵碼值比它火的在另一部分,再分別對(duì)兩個(gè)部分實(shí)施上述過(guò)程,一直重復(fù)到排序完成。

56.D解析:在定義結(jié)構(gòu)體變量時(shí),不能只用結(jié)構(gòu)體名example或關(guān)鍵字struct進(jìn)行定義,必需要用結(jié)構(gòu)缽類(lèi)型名structexample定義,在引用結(jié)構(gòu)體成員變量時(shí),需要用結(jié)構(gòu)體變量名進(jìn)行引用,所以選D。

57.B解析:本題考查軟件需求分析的四個(gè)階段,分別為需求獲取、需求分析、編寫(xiě)需求分析說(shuō)明書(shū)和需求評(píng)審。

58.A解析:函數(shù)的參數(shù)不僅可以是整型、實(shí)型、字符型等數(shù)據(jù),還可以是指針型。它的作用是將一個(gè)變量的地址傳遞到另一個(gè)函數(shù)中。當(dāng)數(shù)組名作參數(shù)時(shí),如果形參數(shù)組中的各元素的值發(fā)生變化,實(shí)參數(shù)組元素的值也將隨之發(fā)生變化。

59.D解析:程序中定義了

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論