2021-2022年貴州省安順市全國計算機(jī)等級考試C語言程序設(shè)計測試卷一(含答案)_第1頁
2021-2022年貴州省安順市全國計算機(jī)等級考試C語言程序設(shè)計測試卷一(含答案)_第2頁
2021-2022年貴州省安順市全國計算機(jī)等級考試C語言程序設(shè)計測試卷一(含答案)_第3頁
2021-2022年貴州省安順市全國計算機(jī)等級考試C語言程序設(shè)計測試卷一(含答案)_第4頁
2021-2022年貴州省安順市全國計算機(jī)等級考試C語言程序設(shè)計測試卷一(含答案)_第5頁
已閱讀5頁,還剩30頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

2021-2022年貴州省安順市全國計算機(jī)等級考試C語言程序設(shè)計測試卷一(含答案)學(xué)校:________班級:________姓名:________考號:________

一、單選題(20題)1.下列關(guān)于棧敘述正確的是A.棧頂元素最先能被刪除B.棧頂元素最后才能被刪除C.棧底元素永遠(yuǎn)不能被刪除D.以上三種說法都不對

2.有以下程序:#include<stdio.h>main(){inta=7;while(a--);print[("%d\n",a);}程序運(yùn)行后的輸出結(jié)果是()。A.-1B.0C.1D.7

3.具有10個葉子結(jié)點(diǎn)的二叉樹中有()個度為2的結(jié)點(diǎn)。

A.8B.9C.10D.11

4.對n個數(shù)進(jìn)行排序,哪種算法,其時間復(fù)雜度在最壞和最好都是O(nlogn)()

A.快速排序B.希爾排序C.堆排序D.選擇排序

5.已知:intx,y;doublez;則以下語句中錯誤的函數(shù)調(diào)用是()。A.A.scanf("%d,%1x,%1e",&x,&y,&z);

B.scanf("%1d*%d&1f",&x,&y,&z);

C.scanf("%x%*d%o",&x,&y);

D.scanf("%x%o%6.2f",&x,&y,&z);

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

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

7.

8.計算機(jī)系統(tǒng)的組成是______。

A.主機(jī)、外設(shè)B.運(yùn)算器、控制器C.硬件系統(tǒng)和軟件系統(tǒng)D.CPU、內(nèi)存儲器

9.

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

A.一個文件指針,指向待讀取的文件

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

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

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

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

A.數(shù)據(jù)庫系統(tǒng)是一個獨(dú)立的系統(tǒng),不需要操作系統(tǒng)的支持

B.數(shù)據(jù)庫技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問題

C.數(shù)據(jù)庫管理系統(tǒng)就是數(shù)據(jù)庫系統(tǒng)

D.以上3種說法都不對

11.

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

A.C語言語句必須在一行內(nèi)寫完

B.C語言程序中的每一行只能寫一條語句

C.C語言程序中的注釋必須與語句寫在同一行

D.簡單C語言語句必須以分號結(jié)束

13.函數(shù)filecopy的功能是,將fin所指文件中的內(nèi)容輸出到fout所指文件中,但函數(shù)不完整:voidfilecopy(FILE*fin,FILE*fout){charch;ch=getc(fin);while(_______){putc(ch,fout);ch=getc(fin);}}其中下劃線處應(yīng)填入的是()。A.!feof(fin)B.!feof(fout)C.feof(fin)==1D.feof(fout)==1

14.在C語言中,要求運(yùn)算數(shù)必須是整型的運(yùn)算符是()。

A./B.++C.!=D.%

15.以下不合法的用尸標(biāo)識符是()。A.A.804zhangB._hhC.yy614D.If

16.若有定義“intb[8],*p=b;”,則p+6表示()。

A.數(shù)組元素b[6]的值B.數(shù)組元素b[6]的地址C.數(shù)組元素b[7]的地址D.數(shù)組元素b[0]的值加上6

17.

18.設(shè)變量a是整型,f是實(shí)型,i是雙精度型,則表達(dá)式10+'a'+i*f值的數(shù)據(jù)類型為()。

A.intB.floatC.doubleD.不確定

19.有以下程序:#include<stdio.h>main(){charch=‘D’;while(ch>‘A’){ch--;putchar(ch);if(ch==‘A’)break;putchar(ch+1);}}程序運(yùn)行后的輸出結(jié)果是()。

A.CBB.BCAC.CCBBD.CDBCA

20.有以下結(jié)構(gòu)體說明、變量定義和賦值語句:structSTD{charname[10];intage;charsex;}s[5],*ps;ps=&s[0];則下列scanf函數(shù)調(diào)用語句有錯誤的是()。

A.scanf(“%s”,s[0].name);

B.scanf(“%d”,&s[0].age);

C.scanf(“%c”,&(ps->sex));

D.scanf(“%d”,ps->age);

二、2.填空題(20題)21.軟件工程研究的內(nèi)容主要包括:【】技術(shù)和軟件工程管理。

22.對于一棵具有n個結(jié)點(diǎn)的樹,該樹中所有結(jié)點(diǎn)的度為【】。

23.已知字符A的ASCII代碼值為65,以下程序運(yùn)行時若從鍵盤輸入:B33<回車>,則輸出結(jié)果是【】。

#include

main()

{chara,b;

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

a=a-'A'+'0';b=b*2;

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

}

24.在面向?qū)ο蠓椒ㄖ?,類之間共享屬性和操作的機(jī)制稱為______。

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

26.程序測試分為靜態(tài)分析和動態(tài)測試。其中【】是指不執(zhí)行程序,而只是對程序文本進(jìn)行檢查,通過閱讀和討論,分析和發(fā)現(xiàn)程序中的錯誤。

27.已知a為8位二進(jìn)制數(shù),要想通過ab運(yùn)算使a的低5位變反(即0變1,1變0),高3位不變,b的值應(yīng)為【】。

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

#include<stdio.h>

main()

{intx=1,y=0,a=0,b=0;

switch(x)

{case1:

switch(y)

{case0:a++;break;

case1:b++;break;

}

case2:a++;b++;break;

case3:a++;b++;

}

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

}

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

main()

{inta=1,b=2;

a=a+b;b=a-b,a=a-b;

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

}

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

structNODE

{intk;

structNODE*link;

};

main()

{structNODEm[5],*p=m,*q=m+4;

inti=0;

while(p!=q){

p->k=++i;p++;

q->k=i++;q--;

}

q->k=i;

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

printf("\n");

}

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

intm=13;

intfun(intx,inty)

{intm=3;

return(x*y-m);

}

main()

{inta=7,b=5;

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

}

32.下面程序的功能是輸出數(shù)組s中最大元素的下標(biāo),請?zhí)羁铡?/p>

main()

{intk,p,s[]={1,-9,7,2,-10,3};

for(p=0,k=p;p<6;p++)

if(s[p]>s[k])【】

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

33.瀑布模型將軟件生存周期劃分為【】、開發(fā)和運(yùn)行3個階段。

34.以下程序的輸出結(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);

}

35.在面向?qū)ο蟪绦蛟O(shè)計中,從外面看只能看到對象有外部特征,而不知道也無須知道數(shù)據(jù)的具體結(jié)構(gòu)以及實(shí)現(xiàn)操作的算法,這稱為對象的______。

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

main()

{intx;0;

sub(&x,8,1);

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

}

sub(int*a,intn,intk)

{if(k<=n)sub(a,n/2,2*k);

*a+=k;

}

37.若有語句:

inti=-19,j=i%4;

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

則輸出結(jié)果是【】。

38.以下程序輸出矩陣中值為。的元素的行下標(biāo)和列下標(biāo)。行下標(biāo)和列下標(biāo)分別放在同一下標(biāo)的r和c數(shù)組元素中。程序通過調(diào)用隨機(jī)函數(shù)給矩陣賦值。

#defineN5

#include<stdlib.h>

main()

{inta[N][N],i,j,c[N*N],r[N*N],n;

for(i=0,i<N;i++)

for(j=0;j<N;j++)a[i][j]=rand()%5;

n=gindex(【】);

printf("\n\nTheresult:\nn=%d\n",n);

for(i=0;i<n;i++)printf("%4d%4d\n",r[i],c[i]);

}

intgindex(int(*p)[N],int*c,int*r)

{inti,j,k;

【】;

for(i=0;i<N,i++)

for(j=0;j<N;j++)

if(【】==0)

{r[k]=i;c[k]=j;【】;}

return【】;

}

39.軟件測試方法中,黑盒測試法和白盒測試法是常用的方法,其中黑盒測試法主要是用于測試【】。

40.數(shù)據(jù)庫系統(tǒng)在其內(nèi)部分為三級模式,即概念模式、內(nèi)模式和外模式。其中,【】給出了數(shù)據(jù)庫物理存儲結(jié)構(gòu)和物理存取方法。

三、1.選擇題(20題)41.下列敘述中,不屬于測試的特征的是

A.測試的挑剔性B.完全測試的不可能性C.測試的可靠性D.測試的經(jīng)濟(jì)性

42.在數(shù)據(jù)庫設(shè)計中,將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過程屬于()A.需求分析階段B.邏輯設(shè)計階段C.概念設(shè)計階段D.物理設(shè)計階段

43.下列程序執(zhí)行的輸出結(jié)果是()。#include<stdio.h>main(){chara[2][4];strcpy(a,"are");strcpy(a[1],"you");a[0][3]='&';printf("%s\n",a);}

A.are&youB.youC.areD.&

44.有如下程序main(){chars[]="ABCD",*p;for(p=s+1;p<s+4;p++)printf("%s\n",p);}該程序的輸出結(jié)果是

A.ABCDBCDCDDB.ABCDC.BCDD.BCDCDD

45.有以下程序:main(){inti,s=0;for(i=1;i<10;i+=2)s+=i+1;ptintf("%d\n",s);}程序執(zhí)行后的輸出結(jié)果是()。

A.自然數(shù)1~9的累加和B.自然數(shù)1~10的累加和C.自然數(shù)1~9中奇數(shù)之和D.自然數(shù)1~10中偶數(shù)之和

46.有以下程序:int*f(int*x,int*y){if(*x<*y)returnx;elsereturny;}main(){inta=7,b=8,*p,*q,*r;p=&a;q=&b;r=f(p,q);printf("%d,%d,%d\n",*p,*q,*r);}程序運(yùn)行后輸出結(jié)果是______。

A.7,8,8B.7,8,7C.8,7,7D.8,7,8

47.以下正確的實(shí)型常量是()

A.1.2EB.0.579899C.1.2e0.6D.8

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

A.在函數(shù)中必須要有return語句

B.在函數(shù)中可以有多個return語句,但只執(zhí)行其中的一個

C.return語句中必須要有一個表達(dá)式

D.函數(shù)值并不總是通過return語句傳回調(diào)用處

49.執(zhí)行x=5>1+2&&2||2*4<4-!0后,x的值為______。

A.-1B.0C.1D.5

50.若定義:inta=511,*b=&a;則printf(“%d\n”,*B);的輸出結(jié)果為

A.無確定值B.a的地址C.512D.511

51.設(shè)有以下語句:structst{intn;structst*next;};staticstructsta[3]={5,&a[1],7,&a[2],9,'\0'},*p;p=&a[0];則表達(dá)式的值是6的為______。

A.p++->nB.p->n++C.(*p).n++D.++p->n

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

A.charc[]='goodmoming';

B.charc[20]="goodmorning";

C.charc[]={'a','b','c','d'};

D.charc[]={"goodmoming"};

53.有以下程序:main(){intk=5,n=0;do{switch(k){case1:case3:n+=1;k--;break;default:n=0;k--;case2:case4:n+=2;k--;break;}printf("%d",n);}while(k>0&&n<5);}程序運(yùn)行后的輸出結(jié)果是()。

A.235B.235C.2356D.2356

54.以下程序(程序左邊的數(shù)字為附加的行號)______。1#include<str.h>2#include<stdio.h>3main()4{chars[]="string";5puts(s);6strcpy(s,"hello");7printf("%3s\n",s);}

A.沒有錯B.第1行有錯C.第6行有錯D.第7行有錯

55.已有定義:charc;,程序前面已在命令行中包含ctype.h文件,不能用于判斷c中的字符是否為大寫字母的表達(dá)式是

A.isupper?

B.′A′<=c<=′Z′

C.′A′<=c&&c<=′Z′

D.c<=(′z′-32)&&(′a′-32)<=c

56.有以下程序#inclUde<stdio.h>voidfun(int*s,intn1,intn2){inti,j,t;i=n1;j=n2;while(i<j){t=s[i];s[i]=s[j];s[j]=t;i++;j--;}}main(){inta[10]={1,2,3,4,5,6,7,8,9,0},k;fun(a,0,3);fun(a,4

A.0987654321B.4321098765C.5678901234D.0987651234

57.有以下程序:main(){inta=5,b=4,c=3,d=2;if(a>b>c)printf("%d\n",d);elseif((c-1>=d)==1)printf("%d\n",d+1);elseprintf("%d\n",d+2);}執(zhí)行后輸出結(jié)果是______。

A.2B.3C.4D.編譯時有錯,無結(jié)果

58.設(shè)有下列說明語句:strcutstr{intx;floaty;charz;}st;則下列的敘述中不正確的是()。

A.struct是結(jié)構(gòu)體類型的關(guān)鍵字

B.st是結(jié)構(gòu)體類型名

C.x、y、x都是結(jié)構(gòu)體成員名

D.structstr是結(jié)構(gòu)體類型名

59.在下列語句中,其含義為“q為一個指針的函數(shù),該指針指向整型數(shù)據(jù)”的定義語句是()。

A.int**q;B.int(*q)();C.int*q;D.int*q();

60.下列描述中正確的是()。

A.軟件工程只是解決軟件項(xiàng)目的管理問題

B.軟件工程主要解決軟件產(chǎn)品的生產(chǎn)率問題

C.軟件工程的主要思想是強(qiáng)調(diào)在軟件開發(fā)過程中需要應(yīng)用工程化原則

D.軟件工程只是解決軟件開發(fā)中的技術(shù)問題

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

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

A.0B.10C.20D.出錯

62.

63.

64.以下關(guān)于C語言的敘述中正確的是()。

A.C語言中的注釋不可以夾在變量名或關(guān)鍵字的中間

B.C語言中的變量可以在使用之前的任何位置進(jìn)行定義

C.在C語言算術(shù)表達(dá)式的書寫中,運(yùn)算符兩側(cè)的運(yùn)算數(shù)類型必須一致

D.C語言的數(shù)值常量中夾帶空格不影響常量值的正確表示

65.設(shè)循環(huán)隊(duì)列的存儲空間為Q(1:35),初始狀態(tài)為front=rear=35?,F(xiàn)經(jīng)過一系列入隊(duì)與退隊(duì)運(yùn)算后,front=15,rear=15,則循環(huán)隊(duì)列中的元素個數(shù)為()。

A.20B.0或35C.15D.16

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

A.5,5

B.5,11

C.11,11

D.11,5

67.

68.層次型、網(wǎng)狀型和關(guān)系型數(shù)據(jù)庫的劃分原則是()

A.數(shù)據(jù)之間的聯(lián)系方式B.記錄長度C.聯(lián)系的復(fù)雜程度D.文件的大小

69.有以下程序

main()

{

inta[3][2]={0},(*ptr)[2],i,j;

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

{

ptr=a+i;

scanf("%d",ptr);

ptr++;

}

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

{

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

printf("%2d",a[i][j]);

printf("\n");

}

}

若運(yùn)行時輸入:123<回車>,則輸出結(jié)果是

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

A.8B.4C.6D.2

71.現(xiàn)有如下程序段:

則程序段的輸出結(jié)果為()。

A.7,8

B.8,8

C.7,10

D.8,10

72.有三個關(guān)系R,S和T如下:

其中關(guān)系T由關(guān)系R和s通過某種操作得到,該操作為()。

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

73.if語句基本形式是:if(表達(dá)式)語句,以下關(guān)于“表達(dá)式”值的敘述中正確的是()。

A.必須是邏輯值B.必須是整數(shù)值C.必須是正數(shù)D.可以是任意合法的數(shù)值

74.

75.

76.以下程序的輸出結(jié)果是()。main{inta=3:printf("%d\n",(a+a-=a*a));}A.-6B.12C.0D.-12

77.

78.設(shè)有程序段:intk=12:while(k=1)k=k一1;則下列描述中正確的是()。A.while循環(huán)執(zhí)行10次B.循環(huán)是無限循環(huán)C.循環(huán)體語句一次也不執(zhí)行D.循環(huán)體語句執(zhí)行一次

79.以下關(guān)于指針概念不正確的是()。

A.指針變量可以用整數(shù)賦值,但不可以用浮點(diǎn)數(shù)賦值

B.一個變量的地址稱為該變量的指針,一個指針變量只能指向同一類型的變量

C.只有同一類型的變量地址才能放到指向該類型變量的指針變量之中

D.只能將地址賦給指針變量

80.有以下程序:

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

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

五、程序改錯題(1題)81.下列給定程序中,函數(shù)fun()的功能是:將P所指字符串中的所有字符復(fù)制到b中,要求在每復(fù)制3個字符之后插入1個空格。

例如,若給a輸入字符串:“ABCDEFGHIJK”,調(diào)用函數(shù)后,字符數(shù)組b中的內(nèi)容為:“ABCDEFGHIJK”。

請改正程序中的錯誤,使它能得出正確結(jié)果。

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

試題程序:

六、程序設(shè)計題(1題)82.某學(xué)生的記錄由學(xué)號、8門課程成績和平均分組成,學(xué)號和8門課程的成績已在主函數(shù)中給出,請編寫函數(shù)fun,其功能是:求出該學(xué)生的平均分,并放人記錄的ave成員中。

例如,學(xué)生的成績是:85.5,76,69.5,85,91,72,64.5,87.5,則他的平均分應(yīng)為78.875。注意:部分源程序在文件PROGl.C中。

請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun部位中填入你編寫的若干語句。

參考答案

1.A棧是限定只在一端進(jìn)行插入與刪除的線性表,按照“先進(jìn)后出”或“后進(jìn)先出”的原則組織數(shù)據(jù)。棧頂元素總是最后被插入的元素,從而也是最先能被刪除的元素;棧底元素總是最先被插入的元素,從而也是最后才能被刪除的元素。

2.A此題考查a--和--a之間的區(qū)別,當(dāng)while(a--)為真循環(huán)執(zhí)行,a--是執(zhí)行再減1,所以答案選擇A。

3.B

4.C

5.BB項(xiàng)的格式應(yīng)該為scanf("%1d*%d%1f",&x,&y,&z);

6.A

7.B

8.C

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

10.B解析:數(shù)據(jù)庫系統(tǒng)除了數(shù)據(jù)庫管理軟件之外,還必須有其他相關(guān)軟件的支持。這些軟件包括操作系統(tǒng)、編譯系統(tǒng)、應(yīng)用軟件開發(fā)工具等,選項(xiàng)A的說法是錯誤的。數(shù)據(jù)庫具有為各種用戶所共享的特點(diǎn),選項(xiàng)B的說法是正確的。通常將引入數(shù)據(jù)庫技術(shù)的計算機(jī)系統(tǒng)稱為數(shù)據(jù)庫系統(tǒng)。一個數(shù)據(jù)庫系統(tǒng)通常由5個部分組成,包括相關(guān)計算機(jī)的硬件、數(shù)據(jù)庫集合、數(shù)據(jù)庫管理系統(tǒng)、相關(guān)軟件和人員。因此,選項(xiàng)C的說法是錯誤的。

11.B

12.DC語句可以跨行來寫,但是必須以分號結(jié)束,所以A選項(xiàng)錯誤。C語言程序中的一行可以有多條語句,所以B選項(xiàng)錯誤。C語言中的注釋語句可以與原語句放在一行,也可以不放在一行,所以C選項(xiàng)錯誤。故本題答案為D選項(xiàng)。

13.Afilecopy函數(shù)每次從fin文件指針調(diào)用getc函數(shù)讀取一個字符存放到ch中,再通過while循環(huán)調(diào)用putc函數(shù)將ch寫入fout,直到fin指向文件尾部為止。所以while的循環(huán)條件是判斷fin是否到文件尾部。這里使用feof函數(shù)判斷:feof返回值為真時,表示fin指向了文件尾部,否則表示fin未到文件尾部。所以while循環(huán)條件為!feof(fin)。故本題答案為A選項(xiàng)。

14.D解析:/、++和!=的操作數(shù)既可能是整型,又可能是實(shí)型。而%的操作數(shù)只能是整型。

15.AC語言規(guī)定,標(biāo)識符是由字母、數(shù)字或下劃線組成,并且它的第一個字符必須是字母或下劃線。

16.B指針中存放的是變量的地址,指針也可以進(jìn)行增減運(yùn)算,這時指針移動的最小單位是一個存儲單元,而不是一個字節(jié)。所以題中“P+6”指的是將指針向后移動了6個存儲單元,即指向uE63,存放的是b[6]的地址。

17.A

18.C

19.Dputchar函數(shù)的功能是輸出一個字符,由whlie判斷條件和ch初始值可知,只要“ch≠‘A’”,執(zhí)行兩次putchar函數(shù),否則跳出循環(huán)。第1次輸出“CD”,第2次輸出“BC”,第3次輸出“A”后跳出循環(huán)。故本題答案為D選項(xiàng)。

20.D題目中需要輸入一個變量,scanf要求輸入?yún)?shù)為指針,而D選項(xiàng)中“ps->age”為變量,不是指針。故本題答案為D選項(xiàng)。

21.軟件開發(fā)

22.n-1n-1解析:設(shè)該樹中所有結(jié)點(diǎn)的度為x,因?yàn)?,在樹的結(jié)點(diǎn)中,除了根結(jié)點(diǎn)以外,其余結(jié)點(diǎn)都有一個分支進(jìn)入,所以,n=x+1,所以x=n-1。

23.1B1B解析:從鍵盤輸入后,有a=B,b=33。a=a-'A'+'0'='B'-'A'+'0'='1',b=b*2=66,在輸出時均需要把a(bǔ),b轉(zhuǎn)化為字符型,因此輸出為1B。

24.繼承繼承

25.19

26.靜態(tài)分析靜態(tài)分析解析:程序測試分為靜態(tài)分析和動態(tài)測試。其中,靜態(tài)分析是指不執(zhí)行程序,而只是對程序文本進(jìn)行檢查,通過閱讀和討論,分析和發(fā)現(xiàn)程序中的錯誤。

27.1F1F解析:11=0,01=1,實(shí)現(xiàn)了按位的求反。

28.a=2b=1a=2,b=1解析:本題考查了switch結(jié)構(gòu)的內(nèi)容。C語言中,程序執(zhí)行完一個case標(biāo)號的內(nèi)容后,如果沒有break語句,控制結(jié)構(gòu)會轉(zhuǎn)移到下一個case繼續(xù)執(zhí)行,因?yàn)閏ase常量表達(dá)式只是起語句標(biāo)號作用,并不是在該處進(jìn)行條件判斷。本題程序在執(zhí)行完內(nèi)部switch結(jié)構(gòu)后,繼續(xù)執(zhí)行了外部switch結(jié)構(gòu)的case2:分支,最后a和b的值分別為2和1。

29.21

30.1343113431解析:初始化時,指針p指向m[0]的地址,指針q指向m[4]的地址,p!=q滿足循環(huán)條件,執(zhí)行循環(huán)語句,得到m[0].k=1,m[4].k=1,此時i=2,指針p指向m[1]的地址,指針q指向m[3]的地址,p!=q滿足循環(huán)條件,執(zhí)行循環(huán)語句,得到m[1].k=3,k=3,此時i=4,指針q指向m[2]的地址,p==q不滿足循環(huán)條件,則退出循環(huán),m[2].k=4。所以最后輸出為13431。

31.22解析:本題變量m既是外部變量(值是13),又是fun函數(shù)的局部變量(值為3)。函數(shù)fun(x*y-m)的值為7*5-3=32,在main函數(shù)中,fun(a,b)/m中的m應(yīng)取外部變量的值13,因此輸出2。

32.k=p;k=p;解析:為要尋找數(shù)組中的最大元素的下標(biāo),需先預(yù)設(shè)1個臨時最大元素的下標(biāo),并順序逐一考查數(shù)組的元素,當(dāng)發(fā)現(xiàn)當(dāng)前元素比臨時最大元素更大時,就用當(dāng)前元素的下標(biāo)更新臨時最大元素下標(biāo)。直至考查了數(shù)組的全部元素后,這臨時最大元素下標(biāo)就是數(shù)組的最大元素下標(biāo)。通常預(yù)設(shè)的最大元素下標(biāo)是數(shù)組的首元素下標(biāo),考查是從首元素開始順序向后繼元素考查。程序中,存儲臨時最大元素下標(biāo)的變量是k,變量p控制順序考查的循環(huán)控制變量。當(dāng)發(fā)現(xiàn)當(dāng)前元素s[p]比臨時最大元素s[k)更大時,應(yīng)該用p更新k。所以在空框處應(yīng)填入代碼“k=p;”。

33.計劃計劃解析:瀑布模型是B.W.Boehm于1976年提出的。它將軟件生存周期劃分為計劃、開發(fā)、運(yùn)行3個時期,每個時期又分為若干個階段。

34.3535解析:考查swap()函數(shù)。函數(shù)swap(int*a,int*b)的功能是實(shí)現(xiàn)*a和*b中兩個數(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。

35.封裝性封裝性解析:對象具有下列5個基本特點(diǎn):①標(biāo)識惟一性;②分類性:③多態(tài)性;④封裝性;⑤模塊獨(dú)立性好。其中,封裝性是指從外面看只能看到對象的外部特征,對象的內(nèi)部特征即處理能力的實(shí)行和內(nèi)部狀態(tài),對外是不可見的,對象的內(nèi)部狀態(tài)只能由其自身改變。

36.77解析:在主函數(shù)中定義了一個變量x并賦初值0,然后執(zhí)行函數(shù)調(diào)用語句,該語句的執(zhí)行過程為sub(&x,8,1)調(diào)用sub(&a,4,2),sub(&s,4,2)調(diào)用sub(&a,2,4),sub(&a,2,4)中由于2<4,所以if后面括號里的判斷為假,遞歸結(jié)束,執(zhí)行其后的。*a+=k;語句此時x=x+k=0+4+4,回推到上一層調(diào)用函數(shù)sub(Rx,4,2)中,執(zhí)行后面的語句,x=x+k=4+2=6,在回推到最上一層調(diào)用函數(shù)sub(&x,8,1)執(zhí)行后面的語句,x=x+k=6+1=7,所以最后輸出7。

37.-3-3解析:%運(yùn)算符是求兩個數(shù)相除的余數(shù),其結(jié)果與被除數(shù)的符號一致,本題中“-19%4”的值為“-3”。

38.acrk=0p[i][j]k++k

39.軟件外部功能軟件外部功能

40.內(nèi)模式內(nèi)模式解析:內(nèi)模式又稱為物理模式,它給出了數(shù)據(jù)庫物理存儲結(jié)構(gòu)與物理存取方法。

41.C解析:軟件測試的目標(biāo)是在精心控制的環(huán)境下執(zhí)行程序,以發(fā)現(xiàn)程序中的錯誤,給出程序可靠性的鑒定。它有3個方面的重要特征,即測試的挑剔性、完全測試的不可能性及測試的經(jīng)濟(jì)性。其中沒有測試的可靠性這一說法。注意:軟件測試與軟件調(diào)試的概念,以及相應(yīng)的方法。

42.B數(shù)據(jù)庫應(yīng)用系統(tǒng)的邏輯設(shè)計包括數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計、數(shù)據(jù)庫事務(wù)概要設(shè)計和應(yīng)用程序概要設(shè)計三方面。數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計的主要步驟為:將E—R圖轉(zhuǎn)換為初始關(guān)系模式,對初始關(guān)系模式進(jìn)行優(yōu)化,檢查關(guān)系表對數(shù)據(jù)庫事務(wù)的支持性,確定關(guān)系模式完整性約束,設(shè)計基于關(guān)系模式的用戶視圖。

43.A解析:strcpy(a,'are')中數(shù)組名a代表數(shù)組首地址的地址常量,該操作把a(bǔ)re復(fù)制到a中,a[0][3]=\'&\',且strcpy(a[1],'you')把you復(fù)制到a[1]中,故輸出a為“are&you”。

44.D解析:本題考查指向字符串的指針的運(yùn)算方法。指針變量p首先指向字符串中的第一個字符A,執(zhí)行p=s+1后,p指向字符串中的第二個字符B,然后輸出值'BCD'并換行。依次執(zhí)行循環(huán)語句。

45.D解析:本題中,i賦初值為1,并對其每次進(jìn)行加2操作,即i每次均為1~10之間的奇數(shù),s+=i+1,即s=s+i+1,相當(dāng)于s等于原來的s每次加上1~10之間的偶數(shù),直到i<lO不成立;當(dāng)i=1時,s=0+1+1=2;當(dāng)i=3時,s=2+3+1=2+4;當(dāng)i=5時,s=2+4+5+1=2+4+6;當(dāng)i=7時,s=2+4+6+7+1=2+4+6+8;當(dāng)i=9時,s=2+4+6+8+9+1=2+4+6+8+10;當(dāng)i=11時,i<10不成立,結(jié)束循環(huán)。所以,4個選項(xiàng)中選項(xiàng)D符合題意。

46.B解析:f函數(shù)的功能是返回地址為x,y的兩個數(shù)中值鉸的數(shù)的地址,本題輸出結(jié)果是7,8,7。

47.B

48.B

49.C

50.D解析:本題考核的知識點(diǎn)是printf()函數(shù)的輸出格式.本題中先定義了一個int型的變量a并賦初值為511,接著定義了一個指向a的指針變量b,在printf()函數(shù)的輸出格式中,是輸出*b,即輸出指針?biāo)赶蜃兞縜的值為511,因此輸出511。所以,4個選項(xiàng)中D為所選。

51.D解析:本題主要考查結(jié)構(gòu)體變量的定義和應(yīng)用,以及運(yùn)算符的優(yōu)先級。

52.A解析:本題考查兩個概念:①用單引號括起來的一個字符常量只能存放一個字符;②C語言中沒有字符串變量,只能用字符數(shù)組來存儲字符串。

選項(xiàng)A)中一個單引號內(nèi)放了若干個字符是錯誤的:選項(xiàng)B)和選項(xiàng)D)選項(xiàng)中將一個字符串賦值給一個字符數(shù)組是允許的。

53.A解析:do-while語句的特點(diǎn)是先執(zhí)行循環(huán)體,然后再判斷循環(huán)條件是否成立,當(dāng)循環(huán)條件的值為0時循環(huán)結(jié)束。本題中執(zhí)行switch語句,尋找與5匹配的case5分支,沒有尋找到則執(zhí)行default后的語句,n=0,k的值變?yōu)?,繼續(xù)執(zhí)行switch語句,尋找與4匹配的case4分支,找到后開始執(zhí)行其后的語句“n+=2;k--;”,n的值為2,k的值變?yōu)?,遇到break語句跳出該switch語句體。執(zhí)行print語句輸出2;此時n=2,k=3依舊滿足do-while循環(huán)條件,將用同樣的方式再次執(zhí)行switch語句,直到n=5時不再滿足do-while循環(huán)條件退出所有的循環(huán)。

54.B解析:字符串復(fù)制函數(shù)strcpy包含在頭文件string.h中,因此,程序中的第1行文件包含命令是錯誤的。

55.B解析:在本題中,選項(xiàng)B)實(shí)際是先計算關(guān)系表達(dá)式'\'A\'<=c'的值是0還是1,再比較該值與字符\'Z\'之間的大小關(guān)系,顯然不能實(shí)現(xiàn)題目所要求的功能,而選項(xiàng)A)、C)、D)都可以。

56.C解析:函數(shù)fun(int*s,intn1,intn2)的功能是對數(shù)組s中的元素進(jìn)行首尾互相調(diào)換。所以在主函數(shù)中,當(dāng)fun(a,0,3)執(zhí)行完后,數(shù)組a[12]={4,3,2,1,5,6,7,8,9,0};再執(zhí)行fun(a,4,9),數(shù)組a[12]={4,3,2,1,0,9,8,7,6,5};再執(zhí)行fun(a,0,9)后,數(shù)組a[12]={5,6,7,8,9,0,1,2,3,4}。

57.B解析:C語言規(guī)定else總是和離它最近的if語句配對。故第一個else和第一個if配對,第二個else和第二個if配對。首先計算第一個if后面的表達(dá)式“a>b>c”,表達(dá)式“a>b”是為1,表達(dá)式“1>c”為0,所以執(zhí)行else后面的語句。先執(zhí)行if后面的表達(dá)式,“c-1>d”為真,值為1?!?==1”為真,執(zhí)行printf語句。

58.B解析:本題主要考查結(jié)構(gòu)類型的定義:struct是結(jié)構(gòu)體類型的關(guān)鍵字:structstr是結(jié)構(gòu)體類型名;x、y、z都是結(jié)構(gòu)體成員名:st是結(jié)構(gòu)變量名。

59.B解析:本題考查的是指針函數(shù)。指針函數(shù)定義的基本格式為:類型說明符(*函數(shù)名)()。其中,類型說明符表示返回的指針值指向的數(shù)據(jù)類型。

60.C\r\n軟件工程是試圖用工程、科學(xué)和數(shù)學(xué)的原理與方法研制、維護(hù)計算機(jī)軟件的有關(guān)技術(shù)及管理方法。軟件工程的主要思想是強(qiáng)調(diào)在軟件開發(fā)工程中需要應(yīng)用工程化的原則。軟件工程用來解決以下問題:軟件需求的增長得不到滿足、軟件開發(fā)成本和進(jìn)度無法控制、軟件質(zhì)量難以保證、軟件不可維護(hù)或維護(hù)程度低、軟件得成本不斷提高、軟件開發(fā)生產(chǎn)率的提高趕不上硬件的發(fā)展和應(yīng)用需求的增長。軟件項(xiàng)目的管理、軟件產(chǎn)品的生產(chǎn)率、軟件開發(fā)中的技術(shù)都是軟件工程需要解決的部分問題。因此選項(xiàng)C正確。

61.CnlaIloc(sizeof(int))的作用是開辟一個長度為sizeof(int)存儲空間,并通過強(qiáng)制類型轉(zhuǎn)換(int。)將此存儲空間的地址賦給了一個整型的指針變量P。然后執(zhí)行語句·P=n,使得·p的值為10,并通過return返回此值,即a的值為l0。然后在主函數(shù)中輸出a+ftm(10)=10+10=20。

62.A

63.A

64.B解析:C語言中注釋可以放在任何位置,選項(xiàng)A錯誤;C語言中的變量只要在使用之前定義即可,位置可以是使用前的任何位置,故選項(xiàng)B正確;C語言中兩側(cè)數(shù)

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論